mirror of
https://github.com/jlengrand/Observer.git
synced 2026-03-10 08:31:23 +00:00
Re validates tests
Tests are now passing again. What's the next step ? => working on sending only to correct Observer
This commit is contained in:
13
Observer.py
13
Observer.py
@@ -50,10 +50,13 @@ class Observer():
|
|||||||
Automatically called each time Observer receives a notification.
|
Automatically called each time Observer receives a notification.
|
||||||
A notification updates message value
|
A notification updates message value
|
||||||
"""
|
"""
|
||||||
if not isinstance(message, str):
|
ut = ObsUtility()
|
||||||
|
mess = json.loads(message)
|
||||||
|
|
||||||
|
if ut.is_json_valid(message):
|
||||||
|
self.message = message
|
||||||
|
else:
|
||||||
raise TypeError("Expected string for message")
|
raise TypeError("Expected string for message")
|
||||||
self.message = message
|
|
||||||
#print "%s received %s" % (self.name, message)
|
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
"""
|
"""
|
||||||
@@ -111,7 +114,7 @@ class Observable():
|
|||||||
#print "sent %s to %s" % (mess, str(observer))
|
#print "sent %s to %s" % (mess, str(observer))
|
||||||
observer.update(mess)
|
observer.update(mess)
|
||||||
|
|
||||||
def set_val(self, val=None):
|
def set_val(self, val):
|
||||||
"""
|
"""
|
||||||
Shall be used for automatic polling.
|
Shall be used for automatic polling.
|
||||||
Sets current Observable value and notifies update to subscribers.
|
Sets current Observable value and notifies update to subscribers.
|
||||||
@@ -128,7 +131,6 @@ class Observable():
|
|||||||
|
|
||||||
|
|
||||||
class ObsUtility():
|
class ObsUtility():
|
||||||
# JSON Stuff
|
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
@@ -141,7 +143,6 @@ class ObsUtility():
|
|||||||
"""
|
"""
|
||||||
# json is valid
|
# json is valid
|
||||||
mess = json.loads(val)
|
mess = json.loads(val)
|
||||||
|
|
||||||
# Cheks for the presence of tags
|
# Cheks for the presence of tags
|
||||||
try:
|
try:
|
||||||
#simply access all
|
#simply access all
|
||||||
|
|||||||
@@ -63,7 +63,7 @@ class TestObserver(unittest.TestCase):
|
|||||||
|
|
||||||
# tests message and update
|
# tests message and update
|
||||||
self.assertEquals(self.myObserver1.message, None)
|
self.assertEquals(self.myObserver1.message, None)
|
||||||
new_message = "new_message"
|
new_message = '{"name": "Bob","group": "","type": "","data": 42}'
|
||||||
self.myObserver1.update(new_message)
|
self.myObserver1.update(new_message)
|
||||||
self.assertEquals(self.myObserver1.message, 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([4, 2]))
|
||||||
@@ -109,21 +109,21 @@ class TestObserver(unittest.TestCase):
|
|||||||
self.assertRaises(ValueError, lambda: self.myObservable.unsubscribe(self.myObserver1)) # already removed
|
self.assertRaises(ValueError, lambda: self.myObservable.unsubscribe(self.myObserver1)) # already removed
|
||||||
self.assertRaises(TypeError, lambda: self.myObservable.unsubscribe("Georges"))
|
self.assertRaises(TypeError, lambda: self.myObservable.unsubscribe("Georges"))
|
||||||
|
|
||||||
# def testNotify(self):
|
def testNotify(self):
|
||||||
# self.myObservable.subscribe(self.myObserver1)
|
self.myObservable.subscribe(self.myObserver1)
|
||||||
# self.myObservable.subscribe(self.myObserver2)
|
self.myObservable.subscribe(self.myObserver2)
|
||||||
|
|
||||||
# test = "R2D2"
|
test = '{"name": "R2D2","group": "","type": "","data": 42}'
|
||||||
# self.myObservable.set_val(test)
|
self.myObservable.set_val(test)
|
||||||
# self.assertEquals(self.myObserver1.message, test)
|
self.assertEquals(self.myObserver1.message, test)
|
||||||
# self.assertEquals(self.myObserver2.message, test)
|
self.assertEquals(self.myObserver2.message, test)
|
||||||
|
|
||||||
|
|
||||||
# self.myObservable.unsubscribe(self.myObserver1)
|
self.myObservable.unsubscribe(self.myObserver1)
|
||||||
# test2 = "C3PO"
|
test2 = '{"name": "C3PO","group": "","type": "","data": 42}'
|
||||||
# self.myObservable.set_val(test2 )
|
self.myObservable.set_val(test2 )
|
||||||
# self.assertEquals(self.myObserver1.message, test)
|
self.assertEquals(self.myObserver1.message, test)
|
||||||
# self.assertEquals(self.myObserver2.message, test2)
|
self.assertEquals(self.myObserver2.message, test2)
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
|||||||
Reference in New Issue
Block a user