1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 from twisted.trial import unittest
17 from elisa.core.tests.elisa_test_case import ElisaTestCase
18 from elisa.core.utils import signal
19
21
23 """
24 Create a signal, connect a function to it and emit it.
25 """
26 def test(number, text):
27 self.assertEquals(number, 42)
28 self.assertEquals(text, "boudiou")
29 test.called = True
30
31 test.called = False
32
33 signal1 = signal.Signal('test-signal',int, object)
34 signal1.connect(test)
35
36 signal1.emit(42, "boudiou")
37 self.assertEquals(test.called, True)
38
40 def test(number, text, foo=0):
41 self.assertEquals(number, 42)
42 self.assertEquals(text, "boudiou")
43 self.assertEquals(foo, 0)
44 test.called = True
45
46 test.called = False
47
48 signal1 = signal.Signal('test-signal', int, object, foo=int)
49 signal1.connect(test)
50
51 signal1.emit(42, "boudiou")
52 self.assertEquals(test.called, True)
53
54 self.assertRaises(signal.WrongArgument, signal1.emit, 42, "bar",
55 foo="bar")
56
58 signal1 = signal.Signal('test-signal', int, object)
59 self.assertRaises(TypeError, signal1.connect, object())
60
62 def test(number, text):
63 self.assertEquals(number, 42)
64 self.assertEquals(text, "boudiou")
65 test.called = True
66
67 test.called = False
68
69 signal1 = signal.Signal('test-signal',int, object)
70 signal1.connect(test)
71 signal1.disconnect(test)
72
73 signal1.emit(42, "boudiou")
74 self.assertEquals(test.called, False)
75