def test_determine_node_to_add_to_smaller_value_one_left_child_exists( self): bt = BinaryTree() bt.root = Node(4) bt.root.left_child = Node(3) node_to_add_to = bt._determine_node_to_add_to(bt.root, 2) self.assertEqual(bt.root.left_child, node_to_add_to)
def test_determine_node_to_add_to_larger_value_one_right_child_exists( self): bt = BinaryTree() bt.root = Node(4) bt.root.right_child = Node(8) node_to_add_to = bt._determine_node_to_add_to(bt.root, 5) self.assertEqual(bt.root.right_child, node_to_add_to)
def test_determine_node_to_add_to_multiple_nodes_exist(self): bt = BinaryTree() bt.root = Node(4) bt.root.left_child = Node(2) bt.root.right_child = Node(6) bt.root.left_child.right_child = Node(3) bt.root.right_child.left_child = Node(4) bt.root.right_child.right_child = Node(8) # test 1 node_to_add_to = bt._determine_node_to_add_to(bt.root, 5) self.assertEqual(bt.root.right_child.left_child, node_to_add_to) # test 2 node_to_add_to = bt._determine_node_to_add_to(bt.root, 1) self.assertEqual(bt.root.left_child, node_to_add_to) # test 3 node_to_add_to = bt._determine_node_to_add_to(bt.root, 2) self.assertEqual(bt.root.left_child.right_child, node_to_add_to) # test 4 node_to_add_to = bt._determine_node_to_add_to(bt.root, 9) self.assertEqual(bt.root.right_child.right_child, node_to_add_to)
def test_determine_node_to_add_to_root_only_larger_value(self): bt = BinaryTree() bt.root = Node(4) node_to_add_to = bt._determine_node_to_add_to(bt.root, 5) self.assertEqual(bt.root, node_to_add_to)