Hand writing a simple mock
To start with, let us look at the code for the Event
class so that we can understand what the tests need to do. The following code is in the file event.py
in the source directory:
class Event: """A generic class that provides signal/slot functionality""" def __init__(self): self.listeners = [] def connect(self, listener): self.listeners.append(listener) def fire(self, *args, **kwargs): for listener in self.listeners: listener(*args, **kwargs)
The way this code works is fairly simple. Classes that want to get notified of the event should call the connect
method and pass a function. This will register the function for the event. Then, when the event is fired using the fire
method, all the registered functions will be notified of the event. The following is a walk-through of how this class is used:
>>> def handle_event(num): ... print("I got number {0}".format...