bt2: field.py: raise ValueError when setting out of range value to Integer
[babeltrace.git] / tests / bindings / python / bt2 / test_field.py
index a0ff8e7639398088326c2b3c621475ede49d2928..ecf0194c3b7d589b036a82bf364f17e26a9e8be8 100644 (file)
@@ -1284,12 +1284,35 @@ class _TestIntegerFieldCommon(_TestNumericField):
         field.value = (2 ** 53) + 1
         self.assertEqual(field, raw)
 
-    def test_assign_uint_invalid_neg(self):
-        uint_fc = self._tc.create_unsigned_integer_field_class(32)
+    def test_assign_uint_out_of_range(self):
+        uint_fc = self._tc.create_unsigned_integer_field_class(8)
         field = _create_field(self._tc, uint_fc)
 
-        with self.assertRaises(ValueError):
-            field.value = -23
+        with self.assertRaises(ValueError) as ctx:
+            field.value = 256
+        self.assertEqual(
+            str(ctx.exception), 'Value 256 is outside valid range [0, 255]'
+        )
+
+        with self.assertRaises(ValueError) as ctx:
+            field.value = -1
+        self.assertEqual(str(ctx.exception), 'Value -1 is outside valid range [0, 255]')
+
+    def test_assign_int_out_of_range(self):
+        int_fc = self._tc.create_signed_integer_field_class(8)
+        field = _create_field(self._tc, int_fc)
+
+        with self.assertRaises(ValueError) as ctx:
+            field.value = 128
+        self.assertEqual(
+            str(ctx.exception), 'Value 128 is outside valid range [-128, 127]'
+        )
+
+        with self.assertRaises(ValueError) as ctx:
+            field.value = -129
+        self.assertEqual(
+            str(ctx.exception), 'Value -129 is outside valid range [-128, 127]'
+        )
 
     def test_str_op(self):
         self.assertEqual(str(self._def), str(self._def_value))
@@ -2338,3 +2361,7 @@ class VariantFieldTestCase(unittest.TestCase):
         other_field.selected_option_index = 2
         other_field.value = 14.4245
         self.assertEqual(str(field), str(other_field))
+
+
+if __name__ == '__main__':
+    unittest.main()
This page took 0.024426 seconds and 4 git commands to generate.