Adds test coverage for update and message fields in Observer

This commit is contained in:
2012-10-24 17:20:09 +02:00
parent 2d1e71c132
commit f856e2e9fc
2 changed files with 15 additions and 3 deletions

View File

@@ -46,9 +46,10 @@ class Observer():
Automatically called each time Observer receives a notification.
A notification updates message value
"""
if message is not None:
self.message = message
#print "%s received %s" % (self.name, message)
if not isinstance(message, str):
raise TypeError("Expected string for message")
self.message = message
#print "%s received %s" % (self.name, message)
def __str__(self):
"""

View File

@@ -36,6 +36,8 @@ class TestObserver(unittest.TestCase):
"""
self.myObservable = obs.Observable()
self.default_mess = "message"
self.name1 = "myObserver1"
self.myObserver1 = obs.Observer(self.name1)
self.name2 = "myObserver2"
@@ -57,6 +59,15 @@ class TestObserver(unittest.TestCase):
self.assertEquals(str(self.myObserver1), self.name1)
self.assertRaises(TypeError, lambda: obs.Observer(42))
# tests message
self.assertEquals(self.myObserver1.message, self.default_mess)
new_message = "new_message"
self.myObserver1.update(new_message)
self.assertEquals(self.myObserver1.message, new_message)
self.assertRaises(TypeError, lambda: self.myObserver1.update([4, 2]))
self.assertRaises(TypeError, lambda: self.myObserver1.update(None))
def testSubscribe(self):