aboutsummaryrefslogtreecommitdiff
path: root/tests/test_lrucache.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_lrucache.py')
-rw-r--r--tests/test_lrucache.py22
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))