# Copyright 2020 (c) Anna Schumaker. from . import publisher import unittest class TestPublisher(unittest.TestCase): def on_test(self, text): self.test_arg = text def test_publisher_init(self): pub = publisher.Publisher() self.assertIsInstance(pub.subscribers, set) self.assertEqual(pub.subscribers, set()) def test_publisher_register(self): pub = publisher.Publisher() pub.register(self.on_test) self.assertEqual(pub.subscribers, { self.on_test }) pub.unregister(self.on_test) self.assertEqual(pub.subscribers, set()) pub.subscribers = set([ 1, 2, 3 ]) pub.reset() self.assertEqual(pub.subscribers, set()) def test_publisher_publish(self): pub = publisher.Publisher() pub.register(self.on_test) pub.publish("Test Arg") self.assertEqual(self.test_arg, "Test Arg")