X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=tests%2Fbindings%2Fpython%2Fbt2%2Ftest_field.py;fp=tests%2Fbindings%2Fpython%2Fbt2%2Ftest_field.py;h=a0ff8e7639398088326c2b3c621475ede49d2928;hb=dda659b36bc8a3a9f477d6bbc57cb7eb10c614a6;hp=cdacd7ffa63971e462029877080ef744a58dc58a;hpb=3b75a1f2d5226a056e4e14a08c37edfac7b78336;p=babeltrace.git diff --git a/tests/bindings/python/bt2/test_field.py b/tests/bindings/python/bt2/test_field.py index cdacd7ff..a0ff8e76 100644 --- a/tests/bindings/python/bt2/test_field.py +++ b/tests/bindings/python/bt2/test_field.py @@ -660,6 +660,18 @@ class _TestNumericField: def test_str_op(self): self.assertEqual(str(self._def), str(self._def_value)) + def test_hash_op(self): + with self.assertRaises(TypeError): + hash(self._def) + + def test_const_hash_op(self): + self.assertEqual(hash(self._def_const), hash(self._def_value)) + + def test_const_hash_dict(self): + my_dict = {} + my_dict[self._def_const] = 'my_value' + self.assertEqual(my_dict[self._def_value], 'my_value') + def test_eq_none(self): # Ignore this lint error: # E711 comparison to None should be 'if cond is None:' @@ -1287,6 +1299,10 @@ _inject_numeric_testing_methods(_TestIntegerFieldCommon) class SignedIntegerFieldTestCase(_TestIntegerFieldCommon, unittest.TestCase): + @staticmethod + def _const_value_setter(field): + field.value = 17 + def _create_fc(self, tc): return tc.create_signed_integer_field_class(25) @@ -1297,10 +1313,17 @@ class SignedIntegerFieldTestCase(_TestIntegerFieldCommon, unittest.TestCase): self._def = _create_field(self._tc, self._create_fc(self._tc)) self._def.value = 17 self._def_value = 17 + self._def_const = _create_const_field( + self._tc, self._create_fc(self._tc), self._const_value_setter + ) self._def_new_value = -101 class SignedEnumerationFieldTestCase(_TestIntegerFieldCommon, unittest.TestCase): + @staticmethod + def _const_value_setter(field): + field.value = 17 + def _create_fc(self, tc): fc = tc.create_signed_enumeration_field_class(32) fc.add_mapping('something', bt2.SignedIntegerRangeSet([(17, 17)])) @@ -1318,6 +1341,9 @@ class SignedEnumerationFieldTestCase(_TestIntegerFieldCommon, unittest.TestCase) self._def = _create_field(self._tc, self._create_fc(self._tc)) self._def.value = 17 self._def_value = 17 + self._def_const = _create_const_field( + self._tc, self._create_fc(self._tc), self._const_value_setter + ) self._def_new_value = -101 def test_str_op(self): @@ -1342,6 +1368,10 @@ class SignedEnumerationFieldTestCase(_TestIntegerFieldCommon, unittest.TestCase) class RealFieldTestCase(_TestNumericField, unittest.TestCase): + @staticmethod + def _const_value_setter(field): + field.value = 52.7 + def _create_fc(self, tc): return tc.create_real_field_class() @@ -1349,6 +1379,9 @@ class RealFieldTestCase(_TestNumericField, unittest.TestCase): self._tc = get_default_trace_class() self._field = _create_field(self._tc, self._create_fc(self._tc)) self._def = _create_field(self._tc, self._create_fc(self._tc)) + self._def_const = _create_const_field( + self._tc, self._tc.create_real_field_class(), self._const_value_setter + ) self._def.value = 52.7 self._def_value = 52.7 self._def_new_value = -17.164857 @@ -1541,6 +1574,18 @@ class StringFieldTestCase(unittest.TestCase): self._def_value += to_append self.assertEqual(self._def, self._def_value) + def test_hash_op(self): + with self.assertRaises(TypeError): + hash(self._def) + + def test_const_hash_op(self): + self.assertEqual(hash(self._def_const), hash(self._def_value)) + + def test_const_hash_dict(self): + my_dict = {} + my_dict[self._def_const] = 'my_value' + self.assertEqual(my_dict[self._def_value], 'my_value') + class _TestArrayFieldCommon: def _modify_def(self):