diff options
Diffstat (limited to 'tests/test_lrucache.py')
-rw-r--r-- | tests/test_lrucache.py | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/tests/test_lrucache.py b/tests/test_lrucache.py index da1104d..a4ceb6e 100644 --- a/tests/test_lrucache.py +++ b/tests/test_lrucache.py @@ -8,6 +8,11 @@ def cached(n): return n +@lru_cache(maxsize=2, typed=True) +def cached_typed(n): + return n + + class LRUCacheTest(unittest.TestCase): def test_insert(self): @@ -36,7 +41,24 @@ class LRUCacheTest(unittest.TestCase): self.assertNotIn('b', cache) def test_decorator(self): + self.assertEqual(cached.cache_info(), (0, 0, 2, 0)) self.assertEqual(cached(1), 1) self.assertEqual(cached.cache_info(), (0, 1, 2, 1)) self.assertEqual(cached(1), 1) self.assertEqual(cached.cache_info(), (1, 1, 2, 1)) + self.assertEqual(cached(1.0), 1.0) + self.assertEqual(cached.cache_info(), (2, 1, 2, 1)) + + cached.cache_clear() + self.assertEqual(cached(1), 1) + self.assertEqual(cached.cache_info(), (2, 2, 2, 1)) + + def test_typed_decorator(self): + self.assertEqual(cached_typed(1), 1) + self.assertEqual(cached_typed.cache_info(), (0, 1, 2, 1)) + self.assertEqual(cached_typed(1), 1) + self.assertEqual(cached_typed.cache_info(), (1, 1, 2, 1)) + self.assertEqual(cached_typed(1.0), 1.0) + self.assertEqual(cached_typed.cache_info(), (1, 2, 2, 2)) + self.assertEqual(cached_typed(1.0), 1.0) + self.assertEqual(cached_typed.cache_info(), (2, 2, 2, 2)) |