Thanks to visit codestin.com Credit goes to github.com
We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 243002c commit eac4c29Copy full SHA for eac4c29
stock_alerter/event.py
@@ -0,0 +1,12 @@
1
+class Event:
2
+ """A generic class that provides signal/slot functionality"""
3
+
4
+ def __init__(self):
5
+ self.listeners = []
6
7
+ def connect(self, listener):
8
+ self.listeners.append(listener)
9
10
+ def fire(self, *args, **kwargs):
11
+ for listener in self.listeners:
12
+ listener(*args, **kwargs)
stock_alerter/tests/test_event.py
@@ -0,0 +1,16 @@
+import unittest
+from ..event import Event
+class EventTest(unittest.TestCase):
+ def test_a_listener_is_notified_when_an_event_is_raised(self):
+ called = False
+ def listener():
+ nonlocal called
+ called = True
13
+ event = Event()
14
+ event.connect(listener)
15
+ event.fire()
16
+ self.assertTrue(called)
0 commit comments