Commit | Line | Data |
---|---|---|
f6a5e476 PP |
1 | from bt2 import values |
2 | import unittest | |
3 | import copy | |
4 | import bt2 | |
5 | ||
6 | ||
7 | class UserComponentTestCase(unittest.TestCase): | |
8 | @staticmethod | |
9 | def _create_comp(comp_cls, name=None): | |
10 | graph = bt2.Graph() | |
11 | ||
12 | if name is None: | |
13 | name = 'comp' | |
14 | ||
15 | return graph.add_component(comp_cls, name) | |
16 | ||
17 | def test_name(self): | |
18 | class MySink(bt2._UserSinkComponent): | |
19 | def __init__(comp_self, params): | |
20 | self.assertEqual(comp_self.name, 'yaes') | |
21 | ||
22 | def _consume(self): | |
23 | pass | |
24 | ||
25 | comp = self._create_comp(MySink, 'yaes') | |
26 | ||
27 | def test_graph(self): | |
28 | class MySink(bt2._UserSinkComponent): | |
29 | def __init__(comp_self, params): | |
30 | nonlocal graph | |
31 | self.assertEqual(comp_self.graph, graph) | |
32 | ||
33 | def _consume(self): | |
34 | pass | |
35 | ||
36 | graph = bt2.Graph() | |
37 | comp = graph.add_component(MySink, 'lel') | |
38 | del graph | |
39 | ||
40 | def test_class(self): | |
41 | class MySink(bt2._UserSinkComponent): | |
42 | def __init__(comp_self, params): | |
43 | self.assertEqual(comp_self.component_class, MySink) | |
44 | ||
45 | def _consume(self): | |
46 | pass | |
47 | ||
48 | self._create_comp(MySink) | |
49 | ||
50 | def test_addr(self): | |
51 | class MySink(bt2._UserSinkComponent): | |
52 | def __init__(comp_self, params): | |
53 | self.assertIsInstance(comp_self.addr, int) | |
54 | self.assertNotEqual(comp_self.addr, 0) | |
55 | ||
56 | def _consume(self): | |
57 | pass | |
58 | ||
59 | self._create_comp(MySink) | |
60 | ||
61 | def test_finalize(self): | |
62 | finalized = False | |
63 | ||
64 | class MySink(bt2._UserSinkComponent): | |
65 | def _consume(self): | |
66 | pass | |
67 | ||
68 | def _finalize(comp_self): | |
69 | nonlocal finalized | |
70 | finalized = True | |
71 | ||
72 | graph = bt2.Graph() | |
73 | comp = graph.add_component(MySink, 'lel') | |
74 | del graph | |
75 | del comp | |
76 | self.assertTrue(finalized) | |
77 | ||
78 | ||
79 | class GenericComponentTestCase(unittest.TestCase): | |
80 | @staticmethod | |
81 | def _create_comp(comp_cls, name=None): | |
82 | graph = bt2.Graph() | |
83 | ||
84 | if name is None: | |
85 | name = 'comp' | |
86 | ||
87 | return graph.add_component(comp_cls, name) | |
88 | ||
89 | def test_name(self): | |
90 | class MySink(bt2._UserSinkComponent): | |
91 | def _consume(self): | |
92 | pass | |
93 | ||
94 | comp = self._create_comp(MySink, 'yaes') | |
95 | self.assertEqual(comp.name, 'yaes') | |
96 | ||
97 | def test_graph(self): | |
98 | class MySink(bt2._UserSinkComponent): | |
99 | def _consume(self): | |
100 | pass | |
101 | ||
102 | graph = bt2.Graph() | |
103 | comp = graph.add_component(MySink, 'lel') | |
104 | self.assertEqual(comp.graph, graph) | |
105 | ||
106 | def test_class(self): | |
107 | class MySink(bt2._UserSinkComponent): | |
108 | def _consume(self): | |
109 | pass | |
110 | ||
111 | comp = self._create_comp(MySink) | |
112 | self.assertEqual(comp.component_class, MySink) | |
113 | ||
114 | def test_addr(self): | |
115 | class MySink(bt2._UserSinkComponent): | |
116 | def _consume(self): | |
117 | pass | |
118 | ||
119 | comp = self._create_comp(MySink) | |
120 | self.assertIsInstance(comp.addr, int) | |
121 | self.assertNotEqual(comp.addr, 0) |