Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit eac4c29

Browse files
author
Siddharta Govindaraj
committed
Hand written mock
1 parent 243002c commit eac4c29

File tree

2 files changed

+28
-0
lines changed

2 files changed

+28
-0
lines changed

stock_alerter/event.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
import unittest
2+
3+
from ..event import Event
4+
5+
6+
class EventTest(unittest.TestCase):
7+
def test_a_listener_is_notified_when_an_event_is_raised(self):
8+
called = False
9+
def listener():
10+
nonlocal called
11+
called = True
12+
13+
event = Event()
14+
event.connect(listener)
15+
event.fire()
16+
self.assertTrue(called)

0 commit comments

Comments
 (0)