Skip to content
Prev Previous commit
Next Next commit
Add tests for cache hits and misses with None and default values
  • Loading branch information
Harsh3006 committed Aug 10, 2026
commit 6aa94f9f2ef770c7117285600a42e88a4f5a698f
31 changes: 31 additions & 0 deletions tests/panels/test_cache.py
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,37 @@ def test_hits_and_misses(self):
self.assertEqual(self.panel.hits, 4)
self.assertEqual(self.panel.misses, 2)

def test_cached_none_counts_as_hit(self):
cache.cache.clear()

cache.cache.set("foo", None)
self.assertIsNone(cache.cache.get("foo"))
self.assertEqual(self.panel.hits, 1)
self.assertEqual(self.panel.misses, 0)

def test_missing_key_with_default_counts_as_miss(self):
cache.cache.clear()

self.assertIsNone(cache.cache.get("foo", None))
self.assertEqual(self.panel.hits, 0)
self.assertEqual(self.panel.misses, 1)

def test_missing_key_returns_supplied_default(self):
cache.cache.clear()

self.assertEqual(cache.cache.get("foo", "bar"), "bar")
self.assertEqual(self.panel.hits, 0)
self.assertEqual(self.panel.misses, 1)

Comment thread
Harsh3006 marked this conversation as resolved.
def test_cached_value_equal_to_default_counts_as_hit(self):
cache.cache.clear()

cache.cache.set("foo", "bar")
self.assertEqual(cache.cache.get("foo", "bar"), "bar")

self.assertEqual(self.panel.hits, 1)
self.assertEqual(self.panel.misses, 0)

def test_get_or_set_value(self):
cache.cache.get_or_set("baz", "val")
self.assertEqual(cache.cache.get("baz"), "val")
Expand Down