def testReadSignedBits(self): data = [0, 0xff, 1, 127, 0x80] reader = BitStreamReader(bytes(data)) self.assertEqual(0, reader.readSignedBits(8)) self.assertEqual(-1, reader.readSignedBits(8)) # 0xff == -1 self.assertEqual(1, reader.readSignedBits(8)) self.assertEqual(127, reader.readSignedBits(8)) self.assertEqual(-128, reader.readSignedBits(8)) # 0x80 == -128 self.assertEqual(0, reader.readSignedBits(0)) # read 0 bits with self.assertRaises(PythonRuntimeException): reader.readSignedBits(1) # no more bits available with self.assertRaises(PythonRuntimeException): reader.readSignedBits(-1)
def read(self, reader: BitStreamReader, _index: int) -> int: """ Reads signed fixed integer Zserio type from the bit stream. :param reader: Bit stream from which to read. :param _index: Not used. """ return reader.readSignedBits(self._numBits)