Example #1
0
    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)
Example #2
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
Example #3
0
    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)