Пример #1
0
def test_in_order():
    tree = Tree()
    s = 100
    elem = list()
    for i in range(0, s):
        tree.insert(i, i)
        elem.append(i)
    res = tree.in_order()
    assert res == elem
Пример #2
0
def test_remove2():
    tree = Tree()
    l = [38, 13, 51, 10, 25, 40, 84, 12, 37, 66, 89, 95]
    length = len(l)
    while len(l) > 0:
        key = l.pop(0)
        value = chr(key)
        tree.insert(key, value)
    tree.remove(100)
    tree.remove(50)
    tree.remove(14)
    tree.remove(39)
    assert len(tree.in_order()) == length
Пример #3
0
def test_in_order_pre_order_level_order():
    tree = Tree()
    l = [38, 13, 51, 10, 25, 40, 84, 12, 37, 66, 89, 95]
    length = len(l)
    while len(l) > 0:
        key = l.pop(0)
        value = chr(key)
        tree.insert(key, value)
    in_order = tree.in_order()
    pre_order = tree.pre_order()
    level_order = tree.level_order()
    assert in_order == [10, 12, 13, 25, 37, 38, 40, 51, 66, 84, 89, 95]
    assert pre_order == [38, 13, 10, 12, 25, 37, 51, 40, 84, 66, 89, 95]
    assert level_order == [38, 13, 51, 10, 25, 40, 84, 12, 37, 66, 89, 95]
Пример #4
0
def test_remove5():

    tree = Tree()
    l = list()
    s = 100
    for i in range(0, s):
        tree.insert(i, i)

    for i in range(0, s):
        l.append(i)
    random.shuffle(l)

    size = 100
    while len(l) > 1:
        key = l.pop()
        tree.remove(key)
        size -= 1
        assert len(tree.in_order()) == size
        croot = tree.find(key)
        assert croot.key != key