def test_delete_updates_length(self): """ Updates the correct length of the cache """ cache = LRUCache(10) cache.add_value(1) before_delete = cache.length() cache.delete_value(1) after_delete = cache.length() self.assertEqual(before_delete, 1) self.assertEqual(after_delete, 0)
def test_delete_sets_front_and_back_to_none(self): """ Sets front and back references to None """ cache = LRUCache(100) cache.add_value(1) cache.delete_value(1) front_value = cache._front back_value = cache._back self.assertEqual(front_value, None) self.assertEqual(back_value, None)
def test_sets_new_front_correctly(self): """ Sets the new front of the cache correctly when deleting the front value """ cache = LRUCache(10) cache.add_value(1) cache.add_value(2) cache.add_value(3) cache.delete_value(3) result = cache._front.get_value() self.assertEqual(result, 2)
def test_sets_new_back_correctly(self): """ Sets the new back of the cache correctly when deleting the back value """ cache = LRUCache(10) cache.add_value(1) cache.add_value(2) cache.add_value(3) cache.delete_value(1) result = cache._back.get_value() self.assertEqual(result, 2)
def test_returns_false_if_not_deleted(self): """ Returns False if the value is not deleted or cannot be found in the cache """ cache = LRUCache(10) result = cache.delete_value(1) self.assertEqual(result, False)
def test_returns_true_if_deleted(self): """ Returns True if the value has been deleted from the cache """ cache = LRUCache(100) cache.add_value(1) result = cache.delete_value(1) self.assertEqual(result, True)