Exemplo n.º 1
0
    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)
Exemplo n.º 2
0
    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)