Commit | Line | Data |
---|---|---|
9cf643d1 PP |
1 | from bt2 import values |
2 | import unittest | |
3 | import copy | |
4 | import bt2 | |
5 | ||
6 | ||
ddfd1165 | 7 | @unittest.skip("this is broken") |
9cf643d1 PP |
8 | class EventClassTestCase(unittest.TestCase): |
9 | def setUp(self): | |
7617a89d SM |
10 | self._context_fc = bt2.StructureFieldClass() |
11 | self._context_fc.append_field('allo', bt2.StringFieldClass()) | |
12 | self._context_fc.append_field('zola', bt2.IntegerFieldClass(18)) | |
13 | self._payload_fc = bt2.StructureFieldClass() | |
14 | self._payload_fc.append_field('zoom', bt2.StringFieldClass()) | |
9cf643d1 PP |
15 | self._ec = bt2.EventClass('my_event') |
16 | self._ec.id = 18 | |
811644b8 PP |
17 | self._ec.emf_uri = 'yes' |
18 | self._ec.log_level = bt2.EventClassLogLevel.INFO | |
7617a89d SM |
19 | self._ec.context_field_class = self._context_fc |
20 | self._ec.payload_field_class = self._payload_fc | |
9cf643d1 | 21 | |
811644b8 | 22 | def tearDown(self): |
7617a89d SM |
23 | del self._context_fc |
24 | del self._payload_fc | |
811644b8 PP |
25 | del self._ec |
26 | ||
9cf643d1 PP |
27 | def test_create(self): |
28 | self.assertEqual(self._ec.name, 'my_event') | |
29 | self.assertEqual(self._ec.id, 18) | |
7617a89d SM |
30 | self.assertEqual(self._ec.context_field_class, self._context_fc) |
31 | self.assertEqual(self._ec.payload_field_class, self._payload_fc) | |
811644b8 PP |
32 | self.assertEqual(self._ec.emf_uri, 'yes') |
33 | self.assertEqual(self._ec.log_level, bt2.EventClassLogLevel.INFO) | |
9cf643d1 PP |
34 | |
35 | def test_create_invalid_no_name(self): | |
36 | with self.assertRaises(TypeError): | |
37 | bt2.EventClass() | |
38 | ||
39 | def test_create_full(self): | |
40 | ec = bt2.EventClass(name='name', id=23, | |
7617a89d SM |
41 | context_field_class=self._context_fc, |
42 | payload_field_class=self._payload_fc, | |
811644b8 PP |
43 | emf_uri='my URI', |
44 | log_level=bt2.EventClassLogLevel.WARNING) | |
9cf643d1 PP |
45 | self.assertEqual(ec.name, 'name') |
46 | self.assertEqual(ec.id, 23) | |
7617a89d SM |
47 | self.assertEqual(ec.context_field_class, self._context_fc) |
48 | self.assertEqual(ec.payload_field_class, self._payload_fc) | |
811644b8 PP |
49 | self.assertEqual(ec.emf_uri, 'my URI') |
50 | self.assertEqual(ec.log_level, bt2.EventClassLogLevel.WARNING) | |
9cf643d1 PP |
51 | |
52 | def test_assign_id(self): | |
53 | self._ec.id = 1717 | |
54 | self.assertEqual(self._ec.id, 1717) | |
55 | ||
56 | def test_assign_invalid_id(self): | |
57 | with self.assertRaises(TypeError): | |
58 | self._ec.id = 'lel' | |
59 | ||
7617a89d SM |
60 | def test_assign_context_field_class(self): |
61 | self._ec.context_field_class = self._payload_fc | |
62 | self.assertEqual(self._ec.context_field_class, self._payload_fc) | |
9cf643d1 | 63 | |
7617a89d SM |
64 | def test_assign_no_context_field_class(self): |
65 | self._ec.context_field_class = None | |
66 | self.assertIsNone(self._ec.context_field_class) | |
9cf643d1 | 67 | |
7617a89d | 68 | def test_assign_invalid_context_field_class(self): |
9cf643d1 | 69 | with self.assertRaises(TypeError): |
7617a89d | 70 | self._ec.context_field_class = 'lel' |
9cf643d1 | 71 | |
7617a89d SM |
72 | def test_assign_payload_field_class(self): |
73 | self._ec.payload_field_class = self._payload_fc | |
74 | self.assertEqual(self._ec.payload_field_class, self._payload_fc) | |
9cf643d1 | 75 | |
7617a89d SM |
76 | def test_assign_no_payload_field_class(self): |
77 | self._ec.payload_field_class = None | |
78 | self.assertIsNone(self._ec.payload_field_class) | |
9cf643d1 | 79 | |
7617a89d | 80 | def test_assign_invalid_payload_field_class(self): |
9cf643d1 | 81 | with self.assertRaises(TypeError): |
7617a89d | 82 | self._ec.payload_field_class = 'lel' |
9cf643d1 PP |
83 | |
84 | def test_stream_class_prop_no_sc(self): | |
85 | self.assertIsNone(self._ec.stream_class) | |
86 | ||
87 | def test_stream_class_prop(self): | |
88 | sc = bt2.StreamClass() | |
89 | sc.add_event_class(self._ec) | |
90 | self.assertEqual(self._ec.stream_class.addr, sc.addr) | |
91 | ||
92 | def _test_copy(self, cpy): | |
93 | self.assertIsNot(cpy, self._ec) | |
94 | self.assertNotEqual(cpy.addr, self._ec.addr) | |
95 | self.assertEqual(cpy, self._ec) | |
96 | ||
97 | def test_copy(self): | |
98 | cpy = copy.copy(self._ec) | |
99 | self._test_copy(cpy) | |
7617a89d SM |
100 | self.assertEqual(self._ec.context_field_class.addr, cpy.context_field_class.addr) |
101 | self.assertEqual(self._ec.payload_field_class.addr, cpy.payload_field_class.addr) | |
9cf643d1 PP |
102 | |
103 | def test_deepcopy(self): | |
104 | cpy = copy.deepcopy(self._ec) | |
105 | self._test_copy(cpy) | |
7617a89d SM |
106 | self.assertNotEqual(self._ec.context_field_class.addr, cpy.context_field_class.addr) |
107 | self.assertNotEqual(self._ec.payload_field_class.addr, cpy.payload_field_class.addr) | |
9cf643d1 | 108 | |
811644b8 PP |
109 | def test_assign_emf_uri(self): |
110 | self._ec.emf_uri = 'salut' | |
111 | self.assertEqual(self._ec.emf_uri, 'salut') | |
9cf643d1 | 112 | |
811644b8 PP |
113 | def test_assign_invalid_emf_uri(self): |
114 | with self.assertRaises(TypeError): | |
115 | self._ec.emf_uri = 23 | |
9cf643d1 | 116 | |
811644b8 PP |
117 | def test_assign_log_level(self): |
118 | self._ec.log_level = bt2.EventClassLogLevel.EMERGENCY | |
119 | self.assertEqual(self._ec.log_level, bt2.EventClassLogLevel.EMERGENCY) | |
9cf643d1 | 120 | |
811644b8 PP |
121 | def test_assign_invalid_log_level(self): |
122 | with self.assertRaises(ValueError): | |
123 | self._ec.log_level = 'zoom' | |
9cf643d1 PP |
124 | |
125 | def test_eq(self): | |
126 | ec1 = bt2.EventClass(name='name', id=23, | |
7617a89d SM |
127 | context_field_class=self._context_fc, |
128 | payload_field_class=self._payload_fc, | |
811644b8 PP |
129 | emf_uri='my URI', |
130 | log_level=bt2.EventClassLogLevel.WARNING) | |
9cf643d1 | 131 | ec2 = bt2.EventClass(name='name', id=23, |
7617a89d SM |
132 | context_field_class=self._context_fc, |
133 | payload_field_class=self._payload_fc, | |
811644b8 PP |
134 | emf_uri='my URI', |
135 | log_level=bt2.EventClassLogLevel.WARNING) | |
9cf643d1 PP |
136 | self.assertEqual(ec1, ec2) |
137 | ||
138 | def test_ne_name(self): | |
139 | ec1 = bt2.EventClass(name='name1', id=23, | |
7617a89d SM |
140 | context_field_class=self._context_fc, |
141 | payload_field_class=self._payload_fc, | |
811644b8 PP |
142 | emf_uri='my URI', |
143 | log_level=bt2.EventClassLogLevel.WARNING) | |
9cf643d1 | 144 | ec2 = bt2.EventClass(name='name', id=23, |
7617a89d SM |
145 | context_field_class=self._context_fc, |
146 | payload_field_class=self._payload_fc, | |
811644b8 PP |
147 | emf_uri='my URI', |
148 | log_level=bt2.EventClassLogLevel.WARNING) | |
9cf643d1 PP |
149 | self.assertNotEqual(ec1, ec2) |
150 | ||
151 | def test_ne_id(self): | |
152 | ec1 = bt2.EventClass(name='name', id=24, | |
7617a89d SM |
153 | context_field_class=self._context_fc, |
154 | payload_field_class=self._payload_fc, | |
811644b8 PP |
155 | emf_uri='my URI', |
156 | log_level=bt2.EventClassLogLevel.WARNING) | |
9cf643d1 | 157 | ec2 = bt2.EventClass(name='name', id=23, |
7617a89d SM |
158 | context_field_class=self._context_fc, |
159 | payload_field_class=self._payload_fc, | |
811644b8 PP |
160 | emf_uri='my URI', |
161 | log_level=bt2.EventClassLogLevel.WARNING) | |
9cf643d1 PP |
162 | self.assertNotEqual(ec1, ec2) |
163 | ||
7617a89d | 164 | def test_ne_context_field_class(self): |
9cf643d1 | 165 | ec1 = bt2.EventClass(name='name', id=23, |
7617a89d SM |
166 | context_field_class=self._payload_fc, |
167 | payload_field_class=self._payload_fc, | |
811644b8 PP |
168 | emf_uri='my URI', |
169 | log_level=bt2.EventClassLogLevel.WARNING) | |
9cf643d1 | 170 | ec2 = bt2.EventClass(name='name', id=23, |
7617a89d SM |
171 | context_field_class=self._context_fc, |
172 | payload_field_class=self._payload_fc, | |
811644b8 PP |
173 | emf_uri='my URI', |
174 | log_level=bt2.EventClassLogLevel.WARNING) | |
9cf643d1 PP |
175 | self.assertNotEqual(ec1, ec2) |
176 | ||
7617a89d | 177 | def test_ne_payload_field_class(self): |
9cf643d1 | 178 | ec1 = bt2.EventClass(name='name', id=23, |
7617a89d SM |
179 | context_field_class=self._context_fc, |
180 | payload_field_class=self._context_fc, | |
811644b8 PP |
181 | emf_uri='my URI', |
182 | log_level=bt2.EventClassLogLevel.WARNING) | |
183 | ec2 = bt2.EventClass(name='name', id=23, | |
7617a89d SM |
184 | context_field_class=self._context_fc, |
185 | payload_field_class=self._payload_fc, | |
811644b8 PP |
186 | emf_uri='my URI', |
187 | log_level=bt2.EventClassLogLevel.WARNING) | |
188 | self.assertNotEqual(ec1, ec2) | |
189 | ||
190 | def test_ne_emf_uri(self): | |
191 | ec1 = bt2.EventClass(name='name', id=23, | |
7617a89d SM |
192 | context_field_class=self._context_fc, |
193 | payload_field_class=self._payload_fc, | |
811644b8 PP |
194 | emf_uri='my URI', |
195 | log_level=bt2.EventClassLogLevel.WARNING) | |
9cf643d1 | 196 | ec2 = bt2.EventClass(name='name', id=23, |
7617a89d SM |
197 | context_field_class=self._context_fc, |
198 | payload_field_class=self._payload_fc, | |
811644b8 PP |
199 | emf_uri='my UR', |
200 | log_level=bt2.EventClassLogLevel.WARNING) | |
9cf643d1 PP |
201 | self.assertNotEqual(ec1, ec2) |
202 | ||
811644b8 | 203 | def test_ne_log_level(self): |
9cf643d1 | 204 | ec1 = bt2.EventClass(name='name', id=23, |
7617a89d SM |
205 | context_field_class=self._context_fc, |
206 | payload_field_class=self._payload_fc, | |
811644b8 PP |
207 | emf_uri='my URI', |
208 | log_level=bt2.EventClassLogLevel.WARNING) | |
9cf643d1 | 209 | ec2 = bt2.EventClass(name='name', id=23, |
7617a89d SM |
210 | context_field_class=self._context_fc, |
211 | payload_field_class=self._payload_fc, | |
811644b8 PP |
212 | emf_uri='my URI', |
213 | log_level=bt2.EventClassLogLevel.ERROR) | |
9cf643d1 PP |
214 | self.assertNotEqual(ec1, ec2) |
215 | ||
216 | def test_eq_invalid(self): | |
217 | self.assertFalse(self._ec == 23) |