コード例 #1
0
ファイル: array.py プロジェクト: Qian9/zserio
    def write(writer: BitStreamWriter, value: int) -> None:
        """
        Writes Zserio varint type to the bit stream.

        :param writer: Bit stream where to write.
        :param value: Zserio varint type to write.
        """

        writer.writeVarInt(value)
コード例 #2
0
    def testFile(self):
        testFilename = "BitStreamTest.bin"
        writer = BitStreamWriter()
        writer.writeBits(13, 7)
        writer.writeString(testFilename)
        writer.writeVarInt(-123456)
        writer.toFile(testFilename)

        reader = BitStreamReader.fromFile(testFilename)
        self.assertEqual(13, reader.readBits(7))
        self.assertEqual(testFilename, reader.readString())
        self.assertEqual(-123456, reader.readVarInt())
コード例 #3
0
ファイル: test_bitwriter.py プロジェクト: qixiaoyu718/zserio
 def testWriteVarInt(self):
     writer = BitStreamWriter()
     writer.writeVarInt(0)
     self.assertEqual(b'\x00', writer.getByteArray())
     self.assertEqual(8, writer.getBitPosition())
     writer.writeVarInt(-1 << sum(VARINT_NUM_BITS))
     self.assertEqual(16, writer.getBitPosition())
     self.assertEqual(b'\x00\x80', writer.getByteArray()) # INT64_MIN is encoded as -0
     with self.assertRaises(PythonRuntimeException):
         writer.writeVarInt((-1 << sum(VARINT_NUM_BITS)) - 1)
     with self.assertRaises(PythonRuntimeException):
         writer.writeVarInt(1 << sum(VARINT_NUM_BITS))