コード例 #1
0
def test_balance_4_nodes_delete():
    tree = Bst()
    for i in [3, 1, 0, 2]:
        tree.insert(i)
        assert tree.balance() in [-1, 0, 1]
    tree.delete(0)
    assert tree.balance() in [-1, 0, 1]
コード例 #2
0
def test_balance_3_nodes_delete(tree_list):
    tree = Bst()
    for i in tree_list:
        tree.insert(i)
    for i in range(3):
        tree.delete(i)
    assert tree.balance() in [1, 0, -1]
コード例 #3
0
def test_balance_4_nodes_insert(tree_list):
    tree = Bst()
    for i in tree_list:
        tree.insert(i)
    tree.delete(0)
    tree.delete(1)
    tree.delete(2)
    assert not tree.contains(2)
コード例 #4
0
def test_three():
    tree = Bst()
    tree.insert(3)
    tree.insert(2)
    tree.insert(4)
    tree.insert(4.5)
    tree.insert(5)
    tree.delete(2)
    assert not tree.contains(2)
コード例 #5
0
def test_balance_6_nodes_insert(tree_list):
    tree = Bst()
    for i in tree_list:
        tree.insert(i)
        assert tree.balance() in [-1, 0, 1]
    for i in range(5):
        tree.delete(i)
        assert not tree.contains(i)
        assert tree.balance() in [-1, 0, 1]
コード例 #6
0
def test_balance1():
    tree = Bst()
    lst = [5, 3, 2, 4, 1, 0]
    for i in lst:
        tree.insert(i)
    assert list(tree.breadth_first()) == [3, 1, 5, 0, 2, 4]
    tree.delete(0)
    assert list(tree.breadth_first()) == [3, 1, 5, 2, 4]
    tree.delete(1)
    assert list(tree.breadth_first()) == [3, 2, 5, 4]
    tree.delete(2)
    assert not tree.contains(2)