Move tree check balance to a class (#99)

This commit is contained in:
Donne Martin
2016-09-07 05:46:47 -04:00
committed by GitHub
parent dfeb7f4d80
commit d1d1abd3db
3 changed files with 98 additions and 89 deletions

View File

@@ -6,33 +6,34 @@ class TestCheckBalance(object):
@raises(Exception)
def test_check_balance_empty(self):
check_balance(None)
bst = BstBalance(None)
bst.check_balance()
def test_check_balance(self):
node = Node(5)
assert_equal(check_balance(node), True)
bst = BstBalance(Node(5))
assert_equal(bst.check_balance(), True)
insert(node, 3)
insert(node, 8)
insert(node, 1)
insert(node, 4)
assert_equal(check_balance(node), True)
bst.insert(3)
bst.insert(8)
bst.insert(1)
bst.insert(4)
assert_equal(bst.check_balance(), True)
node = Node(5)
insert(node, 3)
insert(node, 8)
insert(node, 9)
insert(node, 10)
assert_equal(check_balance(node), False)
bst = BstBalance(Node(5))
bst.insert(3)
bst.insert(8)
bst.insert(9)
bst.insert(10)
assert_equal(bst.check_balance(), False)
node = Node(3)
insert(node, 2)
insert(node, 1)
insert(node, 5)
insert(node, 4)
insert(node, 6)
insert(node, 7)
assert_equal(check_balance(node), False)
bst = BstBalance(Node(3))
bst.insert(2)
bst.insert(1)
bst.insert(5)
bst.insert(4)
bst.insert(6)
bst.insert(7)
assert_equal(bst.check_balance(), True)
print('Success: test_check_balance')