31 lines
914 B
Python
31 lines
914 B
Python
# 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")
|