def test_add_greater_to_not_empty_bst(): tree = BinarySearchTree() tree.add(5) tree.add(7) actual = tree.root.right.value expected = 7 assert actual == expected
def test_add_lesser_to_not_empty_bst(): tree = BinarySearchTree() tree.add(5) tree.add(2) actual = tree.root.left.value expected = 2 assert actual == expected
def test_add_lesser_then_in_between(): tree = BinarySearchTree() tree.add(5) tree.add(2) tree.add(3) actual = tree.root.left.right.value expected = 3 assert actual == expected
def test_one_interstions(): tree1 = BinarySearchTree() tree1.add(2) tree1.root.left = Node(1) tree1.root.right = Node(3) tree2 = BinarySearchTree() tree2.add(2) tree2.root.left = Node(0) tree2.root.right = Node(4) actual = tree1.tree_intersections(tree2) expect = [2] assert actual == expect
def test_multiple_intersections(): tree1 = BinarySearchTree() tree1.add(2) tree1.root.left = Node(1) tree1.root.right = Node(3) tree2 = BinarySearchTree() tree2.add(2) tree2.root.left = Node(1) tree2.root.right = Node(3) actual = tree1.tree_intersections(tree2) expect = [1, 2, 3] assert actual == expect
def test__tree_compare(): tree1 = BinarySearchTree() tree1.add(5) tree1.add(2) tree1.add(3) tree2 = BinarySearchTree() tree2.add(5) tree2.add(1) tree2.add(4) actual = tree_intersection(tree1, tree2) expected = [5] assert actual == expected
def test_add_duplicate(): hal = BinarySearchTree() hal.add(18) hal.add(9) with pytest.raises(ValueError) as excinfo: hal.add(9) assert '9 already exists in BinarySearchTree' in str(excinfo.value)
def test_add_less_root_more_child(): hal = BinarySearchTree() hal.add(18) hal.add(9) hal.add(12) assert hal.root.left.right.value == 12
def test_add_greater_then_in_between(): tree = BinarySearchTree() tree.add(5) tree.add(10) tree.add(7) actual = tree.root.right.left.value expected = 7 assert actual == expected
def test_bst_contains(): tree = BinarySearchTree() tree.add(5) tree.add(10) tree.add(6) tree.add(7) actual = tree.contains(7) expected = True assert actual == expected
def test_no_intersections(): tree1 = BinarySearchTree() tree1.add(1) tree1.add(2) tree1.add(3) tree2 = BinarySearchTree() tree2.add(4) tree2.add(5) tree2.add(6) actual = tree1.tree_intersections(tree2) expect = [] assert actual == expect
def test_in_order(): tree = BinarySearchTree() tree.add(50) tree.add(25) tree.add(75) tree.add(20) tree.add(80) tree.add(40) """ 50 25 75 20 40 80 """ actual = tree.in_order() expected = [20, 25, 40, 50, 75, 80] assert actual == expected
def test_add_empty_bst(): hal = BinarySearchTree() assert hal.root == None hal.add(18) assert hal.root.value == 18
def test_postorder(): tree = BinarySearchTree(5) tree.add(3) tree.add(19) assert tree.post_order() == [3, 19, 5]
def test_inorder(): tree = BinarySearchTree(5) tree.add(3) tree.add(19) assert tree.in_order() == [3, 5, 19]
def test_preorder(): tree = BinarySearchTree(5) tree.add(3) tree.add(19) assert tree.pre_order() == [5, 3, 19]
def test_add_more_root(): hal = BinarySearchTree() hal.add(18) hal.add(27) assert hal.root.value == 18 assert hal.root.right.value == 27
def test_add_two_nodes(): tree = BinarySearchTree(5) tree.add(3) tree.add(19) assert tree.root.left.value == 3 assert tree.root.right.value == 19
def test_add_more_root_less_child(): hal = BinarySearchTree() hal.add(18) hal.add(27) hal.add(21) assert hal.root.right.left.value == 21
def test_add_left_and_right_node(): tree = BinarySearchTree() tree.add(3) actual = tree.root.value expected = 3 assert actual == expected
def test_add_less_root(): hal = BinarySearchTree() hal.add(18) hal.add(9) assert hal.root.value == 18 assert hal.root.left.value == 9
def test_add_to_empty_bst_again(): tree = BinarySearchTree() tree.add(7) actual = tree.root.value expected = 7 assert actual == expected