Ejemplo n.º 1
0
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
Ejemplo n.º 2
0
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
Ejemplo n.º 3
0
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
Ejemplo n.º 7
0
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
Ejemplo n.º 8
0
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
Ejemplo n.º 10
0
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
Ejemplo n.º 11
0
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
Ejemplo n.º 13
0
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
Ejemplo n.º 14
0
def test_inorder():
    tree = BinarySearchTree(5)
    tree.add(3)
    tree.add(19)
    assert tree.in_order() == [3, 5, 19]
Ejemplo n.º 15
0
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
Ejemplo n.º 17
0
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
Ejemplo n.º 19
0
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
Ejemplo n.º 20
0
def test_tree_with_root():
    tree = BinarySearchTree('test')
    assert tree.root.value == 'test'
Ejemplo n.º 21
0
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
Ejemplo n.º 22
0
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
Ejemplo n.º 24
0
def test_create_binary_search_tree():
    tree = BinarySearchTree()
    assert tree
Ejemplo n.º 25
0
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
Ejemplo n.º 27
0
def test_empty_tree():
    tree = BinarySearchTree()
    assert isinstance(tree, BinarySearchTree)
    assert tree.root is None
Ejemplo n.º 28
0
def test_add_to_empty_bst_again():
    tree = BinarySearchTree()
    tree.add(7)
    actual = tree.root.value
    expected = 7
    assert actual == expected
Ejemplo n.º 29
0
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