lib: Give TagStores a reset() function

Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
This commit is contained in:
Anna Schumaker 2021-06-21 13:28:30 -04:00
parent 7b6b4051ee
commit 0b7d505688
2 changed files with 17 additions and 0 deletions

View File

@ -32,3 +32,9 @@ class TagStore:
with self.lock:
self.store.pop(t.name)
self.Removed.publish(t)
def reset(self):
with self.lock:
self.store.clear()
self.Added.reset()
self.Removed.reset()

View File

@ -56,3 +56,14 @@ class TestTagStore(unittest.TestCase):
store.remove(tag)
self.assertNotIn("test", store.store.keys())
def test_tag_store_reset(self):
store = tagstore.TagStore()
tag = store.add("test", 1)
store.Added.register(self.on_store_added)
store.Removed.register(self.on_store_removed)
store.reset()
self.assertNotIn(tag.name, store.store.keys())
self.assertEqual(store.Added.subscribers, set())
self.assertEqual(store.Removed.subscribers, set())