mirror of
https://github.com/python/cpython.git
synced 2026-01-06 07:22:09 +00:00
bpo-45679: add tuple tests with lru_cache to test_functools (GH-29339)
This commit is contained in:
parent
3d42cd9461
commit
60b5333fa9
2 changed files with 29 additions and 0 deletions
|
|
@ -1495,6 +1495,33 @@ def square(x):
|
|||
self.assertEqual(square.cache_info().hits, 4)
|
||||
self.assertEqual(square.cache_info().misses, 4)
|
||||
|
||||
def test_lru_cache_typed_is_not_recursive(self):
|
||||
cached = self.module.lru_cache(typed=True)(repr)
|
||||
|
||||
self.assertEqual(cached(1), '1')
|
||||
self.assertEqual(cached(True), 'True')
|
||||
self.assertEqual(cached(1.0), '1.0')
|
||||
self.assertEqual(cached(0), '0')
|
||||
self.assertEqual(cached(False), 'False')
|
||||
self.assertEqual(cached(0.0), '0.0')
|
||||
|
||||
self.assertEqual(cached((1,)), '(1,)')
|
||||
self.assertEqual(cached((True,)), '(1,)')
|
||||
self.assertEqual(cached((1.0,)), '(1,)')
|
||||
self.assertEqual(cached((0,)), '(0,)')
|
||||
self.assertEqual(cached((False,)), '(0,)')
|
||||
self.assertEqual(cached((0.0,)), '(0,)')
|
||||
|
||||
class T(tuple):
|
||||
pass
|
||||
|
||||
self.assertEqual(cached(T((1,))), '(1,)')
|
||||
self.assertEqual(cached(T((True,))), '(1,)')
|
||||
self.assertEqual(cached(T((1.0,))), '(1,)')
|
||||
self.assertEqual(cached(T((0,))), '(0,)')
|
||||
self.assertEqual(cached(T((False,))), '(0,)')
|
||||
self.assertEqual(cached(T((0.0,))), '(0,)')
|
||||
|
||||
def test_lru_with_keyword_args(self):
|
||||
@self.module.lru_cache()
|
||||
def fib(n):
|
||||
|
|
|
|||
|
|
@ -0,0 +1,2 @@
|
|||
Add tests with ``tuple`` type with :func:`functools.lru_cache` to
|
||||
``test_functools``.
|
||||
Loading…
Add table
Add a link
Reference in a new issue