Skip to content

Commit

Permalink
Add unit tests for resource cache
Browse files Browse the repository at this point in the history
  • Loading branch information
danielballan committed Apr 3, 2024
1 parent 907e63f commit de86c08
Showing 1 changed file with 45 additions and 0 deletions.
45 changes: 45 additions & 0 deletions tiled/_tests/test_resource_cache.py
Original file line number Diff line number Diff line change
@@ -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

0 comments on commit de86c08

Please sign in to comment.