def test_del_should_do_no_op_when_key_not_found(self): lru_cache = LRUCache(3) lru_cache.put(1, "abc") lru_cache.put(2, "edf") lru_cache.put(3, "ghi") lru_cache.delete(4) self.assertEqual(lru_cache._get_head_value(), "ghi", "Failed")
def test_del_should_remove_key_value(self): lru_cache = LRUCache(3) lru_cache.put(1, "abc") lru_cache.put(2, "edf") lru_cache.put(3, "ghi") #deleting head lru_cache.delete(3) self.assertEqual(lru_cache._get_head_key(), 2, "Failed") self.assertEqual(lru_cache._get_head_value(), "edf", "Failed") self.assertIsNone(lru_cache.get(3), "Failed") #deleting tail lru_cache.put(3, "ghi") lru_cache.delete(1) self.assertEqual(lru_cache._get_tail_key(), 2, "Failed")