def test_miss_getting_old_items(self): instance = LRUCache(3, 1) # 1 millisecond lifetime for cache items instance.set(self.__test_url, self.__test_data) cache_size = instance.size() sleep(2) # wait 2 seconds result = instance.get(self.__test_url) self.assertFalse(result) self.assertEqual(cache_size - 1, instance.size())
def test_set_cache_item(self): instance = LRUCache(3, 1000 * 60 * 60) # 1 hour lifetime for items cache_size = instance.size() ref_to_original_set = LRUCache.set instance.set(self.__test_url, self.__test_data) LRUCache.set = ref_to_original_set self.assertEqual(cache_size + 1, instance.size()) result = instance.get(self.__test_url) self.assertEqual(self.__test_data, result)
def test_hit_when_getting_freshly_inserted_items(self): instance = LRUCache(3, 1000 * 60 * 60) # 1 hour lifetime for items instance.set(self.__test_url, self.__test_data) result = instance.get(self.__test_url) self.assertEqual(self.__test_data, result)