def test_predecessor_withCompareFunctionAndKeyInBST_shouldReturnInOrderPredecessorOfGivenKey( self): bst = AVLTree(self.cmp) for i in range(10): bst.put([i, 0], 0) for i in range(10): if i == 0: self.assertIsNone(bst.predecessor([i, 0])) else: self.assertEqual([i - 1, 0], bst.predecessor([i, 0]))
def test_predecessor_withKeyInBST_shouldReturnInOrderPredecessorOfGivenKey( self): bst = AVLTree() for i in range(10): bst.put(i, 0) for i in range(10): if i == 0: self.assertIsNone(bst.predecessor(i)) else: self.assertEqual(i - 1, bst.predecessor(i))
def test_predecessor_withCompareFunctionAndKeyNotInBST_shouldReturnNone( self): bst = AVLTree(self.cmp) bst.put([1, 0], 0) bst.put([2, 0], 0) self.assertIsNone(bst.predecessor([4, 0]))
def test_predecessor_withKeyNotInBST_shouldReturnNone(self): bst = AVLTree() bst.put(1, 0) bst.put(2, 0) self.assertIsNone(bst.predecessor(4))