def test_empty_tree(self, node=None): self.assertTrue(self.a.is_AVLTree(node)) # empty tree is AVL tree self.assertEqual(height(node), 0) # height of empty tree equals 0 node = self.a.delete(node, 5) # removing not existing node should work self.assertEqual(height(node), 0)
def test_for_single_node(self, node=None): key = 2 node = self.a.insert(node, key) self.assertEqual(height(node), 1) # height of single node equals 0 node = self.a.delete(node, 5) self.assertEqual(node.key, key) # removing not existing node self.assertTrue(self.a.is_AVLTree(node)) # must be AVL tree node = self.a.delete(node, key) self.assertEqual(height(node), 0) # removing existing node self.assertEqual(node, None) # node was deleted
def test_insert_right_left(self, node=None): # right rotation 10, then left rotation 20 node = self.a.insert(node, 20) node = self.a.insert(node, 1) node = self.a.insert(node, 10) node = self.a.insert(node, 5) node = self.a.insert(node, 21) node = self.a.insert(node, 7) node = self.a.insert(node, 19) self.assertTrue(self.a.is_AVLTree(node)) self.assertEqual(height(node), 3) self.assertEqual(self.a.get_balance(node), 0)