source: SHX/trunk/src/SeismicHandler/tests/test_events.py @ 153

Revision 153, 1.3 KB checked in by marcus, 14 years ago (diff)
  • final renaming Events to Messages
  • Property svn:eol-style set to native
  • Property svn:executable set to *
  • Property svn:keywords set to Author Rev Id Date
Line 
1# -*- coding: utf-8 -*-
2
3from SeismicHandler.core.modules.Messages import Message, MessageService
4import unittest
5
6class eventsTestCase(unittest.TestCase):
7    def setUp(self):
8        self.ret = []
9       
10        self.test = Message("test")
11        self.test2 = Message("test2")
12       
13        MessageService.subscribe([self.test, self.test2], self.returnValue)
14
15    def returnValue(self, *c):
16        """ helper function for event trigger """
17        self.ret.append(c[1])
18
19    def testSubscribe(self):
20        self.assertTrue(self.test in MessageService.events)
21        self.assertTrue(self.test2 in MessageService.events)
22
23    def testTrigger(self):
24        MessageService.trigger(self.test, "one")
25        MessageService.trigger(self.test2, "two")
26
27        self.assertEqual(self.ret, ["one", "two"])
28
29    def testUnsubscribe(self):
30        MessageService.unsubscribe(self.returnValue, self.test)
31        self.assertFalse(self.returnValue in MessageService.events[self.test])
32
33        MessageService.trigger(self.test, "one2")
34        MessageService.trigger(self.test2, "two2")
35
36        self.assertEqual(self.ret, ["two2",])
37
38    def tearDown(self):
39        MessageService.unsubscribe(self.returnValue)
40
41def suite():
42    return unittest.makeSuite(eventsTestCase, 'test')
43
44if __name__ == "__main__":
45    unittest.main(defaultTest='suite')
Note: See TracBrowser for help on using the repository browser.