示例#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