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