mirror of
https://git.anonymousland.org/anonymousland/synapse.git
synced 2025-05-03 22:44:49 -04:00
Optionally measure size of cache by sum of length of values
This commit is contained in:
parent
95a22ae194
commit
2fae34bd2c
5 changed files with 66 additions and 21 deletions
|
@ -232,3 +232,28 @@ class LruCacheCallbacksTestCase(unittest.TestCase):
|
|||
self.assertEquals(m1.call_count, 1)
|
||||
self.assertEquals(m2.call_count, 0)
|
||||
self.assertEquals(m3.call_count, 1)
|
||||
|
||||
|
||||
class LruCacheSizedTestCase(unittest.TestCase):
|
||||
|
||||
def test_evict(self):
|
||||
cache = LruCache(5, size_callback=len)
|
||||
cache["key1"] = [0]
|
||||
cache["key2"] = [1, 2]
|
||||
cache["key3"] = [3]
|
||||
cache["key4"] = [4]
|
||||
|
||||
self.assertEquals(cache["key1"], [0])
|
||||
self.assertEquals(cache["key2"], [1, 2])
|
||||
self.assertEquals(cache["key3"], [3])
|
||||
self.assertEquals(cache["key4"], [4])
|
||||
self.assertEquals(len(cache), 5)
|
||||
|
||||
cache["key5"] = [5, 6]
|
||||
|
||||
self.assertEquals(len(cache), 4)
|
||||
self.assertEquals(cache.get("key1"), None)
|
||||
self.assertEquals(cache.get("key2"), None)
|
||||
self.assertEquals(cache["key3"], [3])
|
||||
self.assertEquals(cache["key4"], [4])
|
||||
self.assertEquals(cache["key5"], [5, 6])
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue