From de86c08709b8c42c06c127fa83141e2338921dac Mon Sep 17 00:00:00 2001 From: Dan Allan Date: Wed, 3 Apr 2024 16:54:05 -0400 Subject: [PATCH] Add unit tests for resource cache --- tiled/_tests/test_resource_cache.py | 45 +++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 tiled/_tests/test_resource_cache.py diff --git a/tiled/_tests/test_resource_cache.py b/tiled/_tests/test_resource_cache.py new file mode 100644 index 000000000..2c52b3adc --- /dev/null +++ b/tiled/_tests/test_resource_cache.py @@ -0,0 +1,45 @@ +import cachetools + +from ..adapters.resource_cache import default_resource_cache, with_resource_cache + + +def test_simple_cache(): + counter = 0 + + def f(): + nonlocal counter + counter += 1 + return "some value" + + cache = cachetools.Cache(maxsize=1) + with_resource_cache("test_key", f, _resource_cache=cache) + with_resource_cache("test_key", f, _resource_cache=cache) + assert counter == 1 + + +def test_default_cache(): + counter = 0 + + def f(): + nonlocal counter + counter += 1 + return "some value" + + cache = default_resource_cache() + with_resource_cache("test_key", f, _resource_cache=cache) + with_resource_cache("test_key", f, _resource_cache=cache) + assert counter == 1 + + +def test_cache_zero_size(): + counter = 0 + + def f(): + nonlocal counter + counter += 1 + return "some value" + + cache = cachetools.Cache(maxsize=0) + with_resource_cache("test_key", f, _resource_cache=cache) + with_resource_cache("test_key", f, _resource_cache=cache) + assert counter == 2