def test_invalid_unpack(self): """Test unpacking invalid enum values.""" field = ('a', 'b', SimpleEnum) # signed byte: -128, 127 out = ElementEnum.valid(field) self.assertTrue(out) elem = ElementEnum(field) test_values = [ (b'\xFF', -1), (b'\x03', 3), (b'\x7F', 127), (b'\x10', 16), (b'\x80', -128), ] # msg = '{} is not a valid {}' for (in_val, out_val) in test_values: with self.subTest((in_val, out_val)): # pylint: disable=no-member # with self.assertRaises(ValueError) as cm: with self.assertRaises(ValueError): elem.unpack({}, in_val)
def test_valid_unpack(self): """Test unpacking valid enum values.""" field = ('a', 'b', SimpleEnum) # signed byte: -128, 127 out = ElementEnum.valid(field) self.assertTrue(out) elem = ElementEnum(field) test_values = [ (SimpleEnum.zero, b'\x00'), (SimpleEnum.one, b'\x01'), (SimpleEnum.two, b'\x02'), ] for (out_val, in_val) in test_values: with self.subTest((out_val, in_val)): # pylint: disable=no-member (ret, unused) = elem.unpack({}, in_val) self.assertEqual(unused, b'') self.assertEqual(ret, out_val)