class IntegrityStructure(Structure): a = fields.Integer(size=2) b = fields.Integer(size=1) c = fields.Integer(size=1) d = fields.Integer(size=2) e = fields.Integer(size=4) checksum = fields.CheckSum(size=2)
def test_signed(self): field = fields.Integer(size=1, signed=True) self.assertEqual(field.encode(127), b'\x7f') self.assertEqual(field.encode(-127), b'\x81') # Values higher than 127 can't be encoded with self.assertRaises(ValueError): field.encode(128)
def test_unsigned(self): field = fields.Integer(size=1, signed=False) self.assertEqual(field.encode(127), b'\x7f') self.assertEqual(field.encode(128), b'\x80') # Negative values can't be encoded with self.assertRaises(ValueError): field.encode(-127) # Values higher than 255 can't be encoded with self.assertRaises(ValueError): field.encode(256)
class ReservedStructure(Structure): a = fields.Integer(size=1) fields.Reserved(size=1) b = fields.Integer(size=1)
def setUp(self): self.field = fields.List(fields.Integer(size=1), size=4)
def setUp(self): self.field = fields.Integer(size=1)