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_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_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_bst(): bst = BinarySearchTree() one = Node(15) two = Node(12) three = Node(25) four = Node(24) five = Node(29) six = Node(36) bst.root = one one.left = two one.right = three three.left = four three.right = five five.right = six return bst
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 tree_intersection(tree1, tree2): list1 = BinarySearchTree.pre_order(tree1) answer_key = [] for i in list1: if tree2.contains(i): answer_key.append(i) return answer_key
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_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_bst_contains_false(): hal = BinarySearchTree() jarvis = Node(9) mr_robot = Node(3) dva = Node(4) navi = Node(5) gdi = Node(7) nod = Node(2) ghost = Node(6) winter = Node(1) navi.left = nod navi.right = gdi nod.left = winter nod.right = dva dva.left = mr_robot gdi.left = ghost gdi.right = jarvis hal.root = navi actual = hal.contains(8) assert actual == False
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_inorder(): tree = BinarySearchTree(5) tree.add(3) tree.add(19) assert tree.in_order() == [3, 5, 19]
def test_postorder(): tree = BinarySearchTree(5) tree.add(3) tree.add(19) assert tree.post_order() == [3, 19, 5]
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_preorder(): tree = BinarySearchTree(5) tree.add(3) tree.add(19) assert tree.pre_order() == [5, 3, 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_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_tree_with_root(): tree = BinarySearchTree('test') assert tree.root.value == 'test'
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_add_left_and_right_node(): tree = BinarySearchTree() tree.add(3) actual = tree.root.value expected = 3 assert actual == expected
def test_bst_instance(): hal = BinarySearchTree() assert hal.root == None hal.root = Node(9) assert hal.root.value == 9
def test_create_binary_search_tree(): tree = BinarySearchTree() assert tree
def test_binary_search_tree_has_root(): tree = BinarySearchTree() assert tree.root is None
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_empty_tree(): tree = BinarySearchTree() assert isinstance(tree, BinarySearchTree) assert tree.root is None
def test_add_to_empty_bst_again(): tree = BinarySearchTree() tree.add(7) actual = tree.root.value expected = 7 assert actual == expected
def test_tree_compare_three(): tree1 = BinarySearchTree() tree1.add(5) tree1.add(2) tree1.add(3) tree1.add(2) tree1.add(1) tree1.add(2) tree1.add(4) tree2 = BinarySearchTree() tree2.add(12) tree2.add(22) tree2.add(24) actual = tree_intersection(tree1, tree2) expected = [] assert actual == expected
def test_add_empty_bst(): hal = BinarySearchTree() assert hal.root == None hal.add(18) assert hal.root.value == 18