X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=tests%2Fbindings%2Fpython%2Fbt2%2Ftest_field.py;h=8252d5eb1c2e1f496bb9cf159e2ca82a100f2968;hb=7e481c9efd8ae221418561c14867807c9e534747;hp=2f4a7a76bac7031b647b680928aa27d4f90c9010;hpb=1abe38ebb67f69f025dfe2d66c1c54b3de476fbe;p=babeltrace.git diff --git a/tests/bindings/python/bt2/test_field.py b/tests/bindings/python/bt2/test_field.py index 2f4a7a76..8252d5eb 100644 --- a/tests/bindings/python/bt2/test_field.py +++ b/tests/bindings/python/bt2/test_field.py @@ -323,9 +323,8 @@ class _TestNumericField: # Tests that the binary operation `op`, when applied to `self._def`, # does not change its value. - @unittest.skip('copy is not implemented') def _test_binop_lhs_value_same(self, op, rhs): - value_before = copy.copy(self._def) + value_before = copy.copy(self._def_value) r, rv = self._binop(op, rhs) self.assertEqual(self._def, value_before) @@ -344,22 +343,31 @@ class _TestNumericField: # `vint` and `vfloat` mean a signed integer value object and a real # value object. - def _test_binop_invalid_unknown(self, op): - if op in _COMP_BINOPS: - self.skipTest('not testing') - + def _test_binop_unknown(self, op): class A: pass - with self.assertRaises(TypeError): - op(self._def, A()) - - def _test_binop_invalid_none(self, op): - if op in _COMP_BINOPS: - self.skipTest('not testing') - - with self.assertRaises(TypeError): - op(self._def, None) + # Operators == and != are defined when comparing the field to an + # arbitrary object. + if op is operator.eq: + self.assertIs(op(self._def, A()), False) + elif op is operator.ne: + self.assertIs(op(self._def, A()), True) + else: + # But not other operators. + with self.assertRaises(TypeError): + op(self._def, A()) + + def _test_binop_none(self, op): + # Operators == and != are defined when comparing the field to None. + if op is operator.eq: + self.assertIs(op(self._def, None), False) + elif op is operator.ne: + self.assertIs(op(self._def, None), True) + else: + # But not other operators. + with self.assertRaises(TypeError): + op(self._def, None) def _test_binop_rhs_false(self, test_cb, op): test_cb(op, False) @@ -726,13 +734,13 @@ def _inject_numeric_testing_methods(cls): for name, binop in _BINOPS: setattr( cls, - test_binop_name('invalid_unknown'), - partialmethod(_TestNumericField._test_binop_invalid_unknown, op=binop), + test_binop_name('unknown'), + partialmethod(_TestNumericField._test_binop_unknown, op=binop), ) setattr( cls, - test_binop_name('invalid_none'), - partialmethod(_TestNumericField._test_binop_invalid_none, op=binop), + test_binop_name('none'), + partialmethod(_TestNumericField._test_binop_none, op=binop), ) setattr( cls,