Example #1
0
    def test_max_withNotEmptyBST_shouldReturnMaxKeyFromBST(self):
        bst = AVLTree()
        bst.put("A", 1)
        self.assertEqual("A", bst.max())

        bst.put("B", 2)
        self.assertEqual("B", bst.max())

        bst.put("C", 3)
        self.assertEqual("C", bst.max())

        bst.put("D", 4)
        self.assertEqual("D", bst.max())

        bst.delete_max()
        self.assertEqual("C", bst.max())

        bst.delete_max()
        self.assertEqual("B", bst.max())

        bst.delete_max()
        self.assertEqual("A", bst.max())
Example #2
0
    def test_max_withCompareFunctionAndNotEmptyBST_shouldReturnMaxKeyFromBST(
            self):
        bst = AVLTree(self.cmp)
        bst.put([0, 1], 1)
        self.assertEqual([0, 1], bst.max())

        bst.put([0, 2], 2)
        self.assertEqual([0, 2], bst.max())

        bst.put([0, 3], 3)
        self.assertEqual([0, 3], bst.max())

        bst.put([0, 4], 4)
        self.assertEqual([0, 4], bst.max())

        bst.delete_max()
        self.assertEqual([0, 3], bst.max())

        bst.delete_max()
        self.assertEqual([0, 2], bst.max())

        bst.delete_max()
        self.assertEqual([0, 1], bst.max())