| from cachetools import MRUCache |
| from . import CacheTestMixin |
| class MRUCacheTest(unittest.TestCase, CacheTestMixin): |
| def test_evict__writes_only(self): |
| cache = MRUCache(maxsize=2) |
| cache[3] = 3 # Evicts 1 because nothing's been used yet |
| assert 1 not in cache, "Wrong key was evicted. Should have been '1'." |
| def test_evict__with_access(self): |
| cache = MRUCache(maxsize=2) |
| assert 2 not in cache, "Wrong key was evicted. Should have been '2'." |
| def test_evict__with_delete(self): |
| cache = MRUCache(maxsize=2) |
| cache[3] = 3 # Doesn't evict anything because we just deleted 2 |
| cache[4] = 4 # Should evict 1 as we just accessed it with __contains__ |