def test_1(Tree): node1 = TNode(1) binary_tree = BinaryTree(node1) list = binary_tree.breadth_first_traversal() actual = list.__str__() expected = '1-' assert actual == expected
def test_add_right_and_left(): tree = BinaryTree() tree.root = Node(10) tree.root.left = Node(3) tree.root.right = Node(15) actual = f"{tree.root.value}, {tree.root.left.value}, {tree.root.right.value}" expected = "10, 3, 15" assert actual == expected
def test_add_left_and_right(): tree = BinaryTree() tree.root = Node(111) tree.left = Node(11) tree.right = Node(1) actual = f"{tree.root.value}, {tree.left.value}, {tree.right.value}" expected = "111, 11, 1" assert actual == expected
def test_can_successfully_add_a_left_child_and_right_child_to_a_single_root_node(): new_tree = BinaryTree() new_tree.root = Node(1) new_tree.root.left = Node(2) new_tree.root.right = Node(3) expected = [1, 2, 3] actual = new_tree.preOrder() assert expected == actual
def test_tree_add_children_to_single_root(): expected = [2, 5, 6] node = Node(5) node.left = Node(2) node.right = Node(6) btt = BinaryTree(node) actual = btt.inOrder() assert actual == expected
def test_3(): node1 = TNode(1) binary_tree = BinaryTree(node1) maximum = binary_tree.find_maximum_value() actual = maximum expected = 1 assert actual == expected
def test_tree_inorder(): tree = BinaryTree() tree.root = Node(1) tree.root.left = Node(11) tree.root.right = Node(2) tree.root.left.left = Node(111) tree.root.right.right = Node(22) actual = tree.in_order() expected = [111, 11, 1, 2, 22] assert actual == expected
def test_tree_preorder(): tree = BinaryTree() tree.root = Node(1) tree.root.left = Node(11) tree.root.right = Node(111) tree.root.left.left = Node(1111) tree.root.left.right = Node(11111) actual = tree.pre_order() expected = [1, 11, 1111, 11111, 111] assert actual == expected
def test_postorder(): tree = BinaryTree() tree.root = Node(50) tree.root.left = Node(30) tree.root.right = Node(70) tree.root.left.left = Node(20) tree.root.left.right = Node(40) actual = tree.post_order() expected = [20, 40, 30, 70, 50] assert actual == expected
def test_1(): node1 = TNode(1) node1.left = TNode(2) node1.right = TNode(3) binary_tree = BinaryTree(node1) maximum = binary_tree.find_maximum_value() actual = maximum expected = 3 assert actual == expected
def test_tree_postorder(): tree = BinaryTree() tree.root = Node(1) tree.root.left = Node(11) tree.root.right = Node(2) tree.root.left.left = Node(111) tree.root.left.right = Node(112) actual = tree.post_order() expected = [111, 112, 11, 2, 1] assert actual == expected
def binary_tree3(): tree3 = BinaryTree() tree3.root = Node(2) tree3.root.left = Node(18) tree3.root.right = Node(6) tree3.root.left.right = Node(8) tree3.root.left.right.left = Node(20) tree3.root.left.right.right = Node(12) tree3.root.right.right = Node(14) tree3.root.right.right.left = Node(16) return tree3
def binary_tree(): tree = BinaryTree() tree.root = Node(1) tree.root.left = Node(5) tree.root.right = Node(10) tree.root.left.right = Node(25) tree.root.left.right.left = Node(13) tree.root.left.right.right = Node(15) tree.root.right.right = Node(9) tree.root.right.right.left = Node(4) return tree
def test_can_successfully_return_a_collection_from_a_postorder_traversal(): new_tree = BinaryTree() new_tree.root = Node("A") new_tree.root.left = Node("B") new_tree.root.right = Node("C") new_tree.root.right.left = Node("F") new_tree.root.left.left = Node("D") new_tree.root.left.right = Node("E") expected = ["D", "E", "B", "F", "C", "A"] actual = new_tree.postOrder() assert expected == actual
def test_find_max_value(): reg_tree = BinaryTree() reg_tree.add(1) reg_tree.add(2) reg_tree.add(5) reg_tree.add(3) reg_tree.add(6) assert reg_tree.max_value() == 6
def test_breadth_first(): reg_tree = BinaryTree() reg_tree.add(1) reg_tree.add(2) reg_tree.add(5) reg_tree.add(3) reg_tree.add(6) assert BinaryTree.breadth_first(reg_tree) == [1,2,5,3,6]
def binary_tree2(): tree2= BinaryTree() tree2.root = Node(1) tree2.root.left = Node(15) tree2.root.right = Node(12) tree2.root.left.right = Node(23) tree2.root.left.right.left = Node(3) tree2.root.left.right.right = Node(55) tree2.root.right.right = Node(19) tree2.root.right.right.left = Node(34) return tree2
def test_instantiate_tree(): tree = BinaryTree() tree.root = Node(2) tree.root.left = Node(7) tree.root.left.left = Node(2) tree.root.left.right = Node(6) tree.root.left.right.left = Node(5) tree.root.left.right.right = Node(11) tree.root.right = Node(5) tree.root.right.right = Node(9) tree.root.right.right.left = Node(4) actual = tree.find_maximum_value() expected = 11 assert actual == expected
def test_6 (): node1 = TNode(1) node1.left = TNode(2) node1.right = TNode(3) node1.right.left = TNode(5) node1.right.right = TNode(4) node1.left.right = TNode(6) node1.left.left = TNode(7) binary_tree = BinaryTree(node1) actual = binary_tree.postOrder().__str__() expected = '-> 1 -> 3 -> 4 -> 5 -> 2 -> 6 -> 7 -> None' assert actual == expected
def test_add_regular_binary_tree(): reg_tree = BinaryTree() reg_tree.add(1) reg_tree.add(2) reg_tree.add(5) reg_tree.add(3) reg_tree.add(6) assert (reg_tree.root.value == 1) and (reg_tree.root.left.value == 2) and (reg_tree.root.right.value == 5) and (reg_tree.root.left.right.value == 6)
def test_find_max_value_within_tree(): test_node = Node(1) test_node.left = Node(2) test_node.right = Node(3) test_node.left.left = Node(4) test_node.left.right = Node(5) test_node.right.left = Node(6) test_node.right.right = Node(7) test_tree = BinaryTree(test_node) expected = 7 actual = test_tree.find_maximum_value() assert actual == expected
def test_2(): node1 = TNode(1) node1.left = TNode(2) node1.right = TNode(3) node1.right.left = TNode(5) node1.right.right = TNode(4) node1.left.right = TNode(88) node1.left.left = TNode(7) binary_tree = BinaryTree(node1) maximum = binary_tree.find_maximum_value() actual = maximum expected = 88 assert actual == expected
def test_dupes_tree2(): tree2 = BinaryTree() #tree2 tree2.root = Node(1) #left tree2.root.left = Node(3) tree2.root.left.left = Node(15) tree2.root.left.right = Node(12) tree2.root.left.right.left = Node(15) # right tree2.root.right = Node(20) tree2.root.right.left = Node(23) tree2.root.right.right = Node(11) tree2.root.right.right.left = Node(2) tree2.root.right.right.right = Node(12) return tree2
def test_dupes_tree1(): tree1 = BinaryTree() #tree1 tree1.root = Node(1) #left tree1.root.left = Node(1) tree1.root.left.left = Node(5) tree1.root.left.right = Node(10) tree1.root.left.right.left = Node(5) # right tree1.root.right = Node(20) tree1.root.right.left = Node(2) tree1.root.right.right = Node(14) tree1.root.right.right.left = Node(2) tree1.root.right.right.right = Node(100) return tree1
def test_breadth_first(): test_node = Node(1) test_node.left = Node(2) test_node.right = Node(3) test_node.left.left = Node(4) test_node.left.right = Node(5) test_node.right.left = Node(6) test_node.right.right = Node(7) test_tree = BinaryTree(test_node) actual = test_tree.breadth_first() expected = [1, 2, 3, 4, 5, 6, 7] assert actual == expected
def test_build_tree2(): tree2 = BinaryTree() #tree2 tree2.root = Node(42) #left tree2.root.left = Node(100) tree2.root.left.left = Node(15) tree2.root.left.right = Node(160) tree2.root.left.right.left = Node(125) tree2.root.left.right.right = Node(175) # right tree2.root.right = Node(600) tree2.root.right.left = Node(200) tree2.root.right.right = Node(350) tree2.root.right.right.left = Node(4) tree2.root.right.right.right = Node(500) return tree2
def test_build_tree1(): tree1 = BinaryTree() #tree1 tree1.root = Node(150) #left tree1.root.left = Node(100) tree1.root.left.left = Node(75) tree1.root.left.right = Node(160) tree1.root.left.right.left = Node(125) tree1.root.left.right.right = Node(175) # right tree1.root.right = Node(250) tree1.root.right.left = Node(200) tree1.root.right.right = Node(350) tree1.root.right.right.left = Node(300) tree1.root.right.right.right = Node(500) return tree1
def tree_test(): node1 = Node(1) node1.left = Node(2) node1.left.right = Node(7) node1.left.left = Node(9) node1.right = Node(3) node1.right.left = Node(4) node1.right.right = Node(5) binary_tree = BinaryTree(node1) return binary_tree
def test_2 (): node = TNode(1) binary_tree = BinaryTree(node) actual = binary_tree.root expected = node assert actual == expected actual = binary_tree.root.value expected = 1 assert actual == expected
def test_3 (): node = TNode(1) node.left = TNode(2) node.right = TNode(3) binary_tree = BinaryTree(node) actual = binary_tree.root.left.value expected = 2 assert actual == expected actual = binary_tree.root.right.value expected = 3 assert actual == expected