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
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
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
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
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
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
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
def test_balance_empty_list(): """Test returns 0 if tree is empty.""" from bst import Bst new_bst = Bst() assert new_bst.balance() == 0