3 from utils
import get_default_trace_class
6 class EventClassTestCase(unittest
.TestCase
):
8 self
._tc
= get_default_trace_class()
10 self
._context
_fc
= self
._tc
.create_structure_field_class()
11 self
._context
_fc
.append_field('allo', self
._tc
.create_string_field_class())
12 self
._context
_fc
.append_field('zola', self
._tc
.create_signed_integer_field_class(18))
14 self
._payload
_fc
= self
._tc
.create_structure_field_class()
15 self
._payload
_fc
.append_field('zoom', self
._tc
.create_string_field_class())
17 self
._stream
_class
= self
._tc
.create_stream_class(assigns_automatic_event_class_id
=True)
19 def test_create_default(self
):
20 ec
= self
._stream
_class
.create_event_class()
22 self
.assertIsNone(ec
.name
, 'my_event')
23 self
.assertTrue(type(ec
.id), int)
24 self
.assertIsNone(ec
.specific_context_field_class
)
25 self
.assertIsNone(ec
.payload_field_class
)
26 self
.assertIsNone(ec
.emf_uri
)
27 self
.assertIsNone(ec
.log_level
)
29 def test_create_invalid_id(self
):
30 sc
= self
._tc
.create_stream_class(assigns_automatic_event_class_id
=False)
31 with self
.assertRaises(TypeError):
32 sc
.create_event_class(id='lel')
34 def test_create_specific_context_field_class(self
):
35 fc
= self
._tc
.create_structure_field_class()
36 ec
= self
._stream
_class
.create_event_class(specific_context_field_class
=fc
)
37 self
.assertEqual(ec
.specific_context_field_class
.addr
, fc
.addr
)
39 def test_create_invalid_specific_context_field_class(self
):
40 with self
.assertRaises(TypeError):
41 self
._stream
_class
.create_event_class(specific_context_field_class
='lel')
43 def test_create_payload_field_class(self
):
44 fc
= self
._tc
.create_structure_field_class()
45 ec
= self
._stream
_class
.create_event_class(payload_field_class
=fc
)
46 self
.assertEqual(ec
.payload_field_class
.addr
, fc
.addr
)
48 def test_create_invalid_payload_field_class(self
):
49 with self
.assertRaises(TypeError):
50 self
._stream
_class
.create_event_class(payload_field_class
='lel')
52 def test_create_name(self
):
53 ec
= self
._stream
_class
.create_event_class(name
='viande à chien')
54 self
.assertEqual(ec
.name
, 'viande à chien')
56 def test_create_invalid_name(self
):
57 with self
.assertRaises(TypeError):
58 self
._stream
_class
.create_event_class(name
=2)
60 def test_emf_uri(self
):
61 ec
= self
._stream
_class
.create_event_class(emf_uri
='salut')
62 self
.assertEqual(ec
.emf_uri
, 'salut')
64 def test_create_invalid_emf_uri(self
):
65 with self
.assertRaises(TypeError):
66 self
._stream
_class
.create_event_class(emf_uri
=23)
68 def test_create_log_level(self
):
69 ec
= self
._stream
_class
.create_event_class(log_level
=bt2
.EventClassLogLevel
.EMERGENCY
)
70 self
.assertEqual(ec
.log_level
, bt2
.EventClassLogLevel
.EMERGENCY
)
72 def test_create_invalid_log_level(self
):
73 with self
.assertRaises(ValueError):
74 self
._stream
_class
.create_event_class(log_level
='zoom')
76 def test_stream_class(self
):
77 ec
= self
._stream
_class
.create_event_class()
78 self
.assertEqual(ec
.stream_class
.addr
, self
._stream
_class
.addr
)