def assert_keys_evicted_in_order(cache: LRUCache, keys: list): """Assert that cache keys are evicted in the same order as `keys`.""" keys = keys.copy() for n in range(cache.maxsize, cache.maxsize * 2): cache.set(n, n) assert cache.full() assert keys.pop(0) not in cache for key in keys: assert key in cache
def cache(): _cache = LRUCache(maxsize=10) for n in range(_cache.maxsize): _cache.set(n, n) assert _cache.full() return _cache