示例#1
0
    def test_add(self):
        avl = AVLTree(50, AVLTree(17, None, AVLTree(23, None, None)),
                      AVLTree(72, None, None))

        avl = avl.add(13).add(-1).add(100).add(200).add(300).add(40).add(39)

        expected_itered = sorted(
            [50, 17, 23, 72, 13, -1, 100, 200, 300, 40, 39], reverse=True)
        actual_itered = list(avl)

        self.assertEqual(actual_itered, expected_itered)
示例#2
0
    def test_remove_add_balanced(self):
        tree = AVLTree(4, None, None)
        tree.add(1).add(2).add(3).add(4).add(7).add(9).pop(4).pop(9).add(
            20).add(-2).add(21).add(-3).pop(-3)

        self.assertTrue(tree.is_balanced())