bt2: add boolean field class and field support
[babeltrace.git] / tests / bindings / python / bt2 / test_field.py
index b17c175bca363c5b624e7a24286abf2e26f9f6fd..174ae2d9ca9d44839099d795dd2d43fd3d34e892 100644 (file)
@@ -1077,6 +1077,52 @@ def _inject_numeric_testing_methods(cls):
         )
 
 
+class BoolFieldTestCase(_TestNumericField, unittest.TestCase):
+    def _create_fc(self, tc):
+        return tc.create_bool_field_class()
+
+    def setUp(self):
+        self._tc = get_default_trace_class()
+        self._def = _create_field(self._tc, self._create_fc(self._tc))
+        self._def.value = True
+        self._def_value = True
+        self._def_new_value = False
+
+    def test_assign_true(self):
+        raw = True
+        self._def.value = raw
+        self.assertEqual(self._def, raw)
+
+    def test_assign_false(self):
+        raw = False
+        self._def.value = raw
+        self.assertEqual(self._def, raw)
+
+    def test_assign_field_true(self):
+        field = _create_field(self._tc, self._create_fc(self._tc))
+        raw = True
+        field.value = raw
+        self._def.value = field
+        self.assertEqual(self._def, raw)
+
+    def test_assign_field_false(self):
+        field = _create_field(self._tc, self._create_fc(self._tc))
+        raw = False
+        field.value = raw
+        self._def.value = field
+        self.assertEqual(self._def, raw)
+
+    def test_assign_invalid_type(self):
+        with self.assertRaises(TypeError):
+            self._def.value = 17
+
+    def test_str_op(self):
+        self.assertEqual(str(self._def), str(self._def_value))
+
+
+_inject_numeric_testing_methods(BoolFieldTestCase)
+
+
 class _TestIntegerFieldCommon(_TestNumericField):
     def test_assign_true(self):
         raw = True
@@ -1391,7 +1437,7 @@ class _TestArrayFieldCommon:
 
     def test_getitem(self):
         field = self._def[1]
-        self.assertIs(type(field), bt2.field._SignedIntegerField)
+        self.assertIs(type(field), bt2._SignedIntegerField)
         self.assertEqual(field, 1847)
 
     def test_eq(self):
@@ -1600,7 +1646,7 @@ class StructureFieldTestCase(unittest.TestCase):
 
     def test_getitem(self):
         field = self._def['A']
-        self.assertIs(type(field), bt2.field._SignedIntegerField)
+        self.assertIs(type(field), bt2._SignedIntegerField)
         self.assertEqual(field, -1872)
 
     def test_member_at_index_out_of_bounds_after(self):
This page took 0.024453 seconds and 4 git commands to generate.