mirror of
https://github.com/jlengrand/Observer.git
synced 2026-03-10 08:31:23 +00:00
Adds tests for unsubscribe method
This commit is contained in:
13
Observer.py
13
Observer.py
@@ -95,16 +95,9 @@ class Observable():
|
||||
if not isinstance(observer, Observer):
|
||||
raise TypeError("Unsubscriber must be Observer")
|
||||
|
||||
try:
|
||||
if observer in self.obs_collection:
|
||||
self.obs_collection.remove(observer)
|
||||
#print "%s removed from collection" % (str(observer))
|
||||
else:
|
||||
pass
|
||||
#print "%s not in collection" % (str(observer))
|
||||
|
||||
except TypeError:
|
||||
print "Failed to remove %s" % (str(observer))
|
||||
if not(observer in self.obs_collection):
|
||||
raise ValueError("Observer not subscribed")
|
||||
self.obs_collection.remove(observer)
|
||||
|
||||
def __notify(self, mess):
|
||||
"""
|
||||
|
||||
@@ -86,14 +86,17 @@ class TestObserver(unittest.TestCase):
|
||||
self.assertEquals(len(self.myObservable.obs_collection), 2)
|
||||
|
||||
def testUnsubscribe(self):
|
||||
pass
|
||||
self.myObservable.subscribe(self.myObserver1)
|
||||
self.myObservable.subscribe(self.myObserver2)
|
||||
self.assertEquals(len(self.myObservable.obs_collection), 2)
|
||||
self.myObservable.unsubscribe(self.myObserver1)
|
||||
self.assertEquals(len(self.myObservable.obs_collection), 1)
|
||||
|
||||
self.assertRaises(ValueError, lambda: self.myObservable.unsubscribe(self.myObserver1)) # already removed
|
||||
self.assertRaises(TypeError, lambda: self.myObservable.unsubscribe("Georges"))
|
||||
|
||||
def testNotify(self):
|
||||
pass
|
||||
|
||||
def testNameUnicity(self):
|
||||
pass
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
Reference in New Issue
Block a user