1import unittest 2 3from cachetools import RRCache 4 5from . import CacheTestMixin 6 7 8class RRCacheTest(unittest.TestCase, CacheTestMixin): 9 10 Cache = RRCache 11 12 def test_rr(self): 13 cache = RRCache(maxsize=2, choice=min) 14 self.assertEqual(min, cache.choice) 15 16 cache[1] = 1 17 cache[2] = 2 18 cache[3] = 3 19 20 self.assertEqual(2, len(cache)) 21 self.assertEqual(2, cache[2]) 22 self.assertEqual(3, cache[3]) 23 self.assertNotIn(1, cache) 24 25 cache[0] = 0 26 self.assertEqual(2, len(cache)) 27 self.assertEqual(0, cache[0]) 28 self.assertEqual(3, cache[3]) 29 self.assertNotIn(2, cache) 30 31 cache[4] = 4 32 self.assertEqual(2, len(cache)) 33 self.assertEqual(3, cache[3]) 34 self.assertEqual(4, cache[4]) 35 self.assertNotIn(0, cache) 36