bowl/test/test_rendered_element_cache.py
2019-06-21 12:16:43 +00:00

50 lines
1.5 KiB
Python

import unittest
from bowl import Element, RenderedElementCache
__all__ = ["TestRenderedElementCache"]
class TestRenderedElementCache(unittest.TestCase):
def setUp(self):
self.cache = RenderedElementCache()
self.e1 = Element("e1", None)
self.e2 = Element("e2", "e1")
self.e3 = Element("e3", "xyz")
self.e1_2 = Element("e1", "bla")
def test_adding_and_getting(self):
self.assertEqual(self.cache.get("e1"), None)
self.assertEqual(self.cache.get("e2"), None)
self.cache.add(self.e1)
self.assertEqual(self.cache.get("e1"), self.e1)
self.cache.add(self.e2)
self.assertEqual(self.cache.get("e2"), self.e2)
self.cache.add(self.e1_2)
self.assertEqual(self.cache.get("e1"), self.e1_2)
self.assertEqual(self.cache.get("e3"), None)
self.cache.add(self.e3)
self.assertEqual(self.cache.get("e3"), self.e3)
def test_invalidating(self):
self.assertEqual(self.cache.get("e1"), None)
self.assertEqual(self.cache.get("e2"), None)
self.cache.add(self.e1)
self.cache.add(self.e2)
self.assertEqual(self.cache.get("e1"), self.e1)
self.assertEqual(self.cache.get("e2"), self.e2)
self.cache.invalidate("e1")
self.assertEqual(self.cache.get("e1"), None)
self.assertEqual(self.cache.get("e2"), self.e2)
self.cache.add(self.e1)
self.cache.invalidate_all()
self.assertEqual(self.cache.get("e1"), None)
self.assertEqual(self.cache.get("e2"), None)