Пример #1
0
def test_balance_left_two_nodes():
    """Test balance left heavy."""
    from bst import Bst
    new_bst = Bst()
    new_bst.insert(3)
    new_bst.insert(2)
    assert new_bst.balance() == 1
Пример #2
0
def test_balance_right_two_nodes():
    """Test balance right heavy."""
    from bst import Bst
    new_bst = Bst()
    new_bst.insert(3)
    new_bst.insert(4)
    assert new_bst.balance() == -1
Пример #3
0
def test_balance_left_complex():
    """Test a left heavy list with multiple nodes."""
    from bst import Bst
    r = range(10, 0, -1)
    new_bst = Bst()
    for i in r:
        new_bst.insert(i)
    assert new_bst.balance() == 9
Пример #4
0
def test_balance_equal():
    """Test that tree is balanced."""
    from bst import Bst
    new_bst = Bst()
    new_bst.insert(3)
    new_bst.insert(2)
    new_bst.insert(4)
    assert new_bst.balance() == 0
Пример #5
0
def test_balance_equal_complex():
    """Test a balanced list with multiple nodes."""
    from bst import Bst
    r1 = range(5, 0, -1)
    new_bst = Bst()
    for i in r1:
        new_bst.insert(i)
    r2 = range(10, 14)
    for i in r2:
        new_bst.insert(i)
    assert new_bst.balance() == 0
Пример #6
0
def test_balance_left_complex():
    """Test a left heavy list with multiple nodes."""
    from bst import Bst
    r = range(4, -1, -1)
    new_bst = Bst()
    for i in r:
        new_bst.insert(i)
    assert new_bst.balance() == 1
    assert new_bst.head.value == 3
    assert new_bst.head.right.value == 4
    assert new_bst.head.left.value == 1
    assert new_bst.head.left.right.value == 2
    assert new_bst.head.left.left.value == 0
Пример #7
0
def test_balance_equal_complex():
    """Test a balanced list with multiple nodes."""
    from bst import Bst
    r1 = range(5, 0, -1)
    new_bst = Bst()
    for i in r1:
        new_bst.insert(i)
    r2 = range(10, 14)
    for i in r2:
        new_bst.insert(i)
    assert new_bst.balance() == -1
    assert new_bst.head.value == 4
    assert new_bst.head.right.value == 10
    assert new_bst.head.right.left.value == 5
    assert new_bst.head.right.right.value == 12
    assert new_bst.head.right.right.left.value == 11
    assert new_bst.head.right.right.right.value == 13
    assert new_bst.head.left.value == 2
    assert new_bst.head.left.left.value == 1
    assert new_bst.head.left.right.value == 3
Пример #8
0
def test_balance_empty_list():
    """Test returns 0 if tree is empty."""
    from bst import Bst
    new_bst = Bst()
    assert new_bst.balance() == 0