From c481ae772d7d29a76cefb54a66909bf0cec3eabe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pontus=20Pr=C3=BCzelius?= Date: Fri, 3 Mar 2023 18:21:39 +0100 Subject: [PATCH] feat: added tests for all,clear #2 --- evennia/scripts/tests.py | 35 +++++++++++++++++++++++++++++++++-- 1 file changed, 33 insertions(+), 2 deletions(-) diff --git a/evennia/scripts/tests.py b/evennia/scripts/tests.py index 41affece5f..8694a82057 100644 --- a/evennia/scripts/tests.py +++ b/evennia/scripts/tests.py @@ -12,6 +12,7 @@ from evennia.scripts.tickerhandler import TickerHandler from evennia.scripts.monitorhandler import MonitorHandler import inspect from evennia.scripts.manager import ScriptDBManager +from collections import defaultdict class TestScript(BaseEvenniaTest): def test_create(self): @@ -145,16 +146,16 @@ class TestExtendedLoopingCall(TestCase): def dummy_func(): return 0 + class TestMonitorHandler(TestCase): def setUp(self): self.handler = MonitorHandler() - + def test_add(self): obj = mock.Mock() fieldname = "db_add" callback = dummy_func idstring = "test" - self.assertEquals(inspect.isfunction(callback),True) self.handler.add(obj, fieldname, callback, idstring=idstring) @@ -183,6 +184,36 @@ class TestMonitorHandler(TestCase): self.handler.add(obj, fieldname, callback) self.assertNotIn(fieldname, self.handler.monitors[obj]) + def test_all(self): + obj = [mock.Mock(),mock.Mock()] + fieldname = ["db_all1","db_all2"] + callback = dummy_func + idstring = ["test_all1","test_all2"] + + self.handler.add(obj[0], fieldname[0], callback, idstring=idstring[0]) + self.handler.add(obj[1], fieldname[1], callback, idstring=idstring[1],persistent=True) + + output = self.handler.all() + self.assertEquals(output, + [(obj[0], fieldname[0], idstring[0], False, {}), + (obj[1], fieldname[1], idstring[1], True, {})]) + + def test_clear(self): + obj = mock.Mock() + fieldname = "db_add" + callback = dummy_func + idstring = "test" + + self.handler.add(obj, fieldname, callback, idstring=idstring) + self.assertIn(obj, self.handler.monitors) + + self.handler.clear() + self.assertNotIn(obj, self.handler.monitors) + self.assertEquals(defaultdict(lambda: defaultdict(dict)), self.handler.monitors) + + + +