Exemple #1
0
    def test_bitposition(self):
        reader = BitStreamReader(bytes(1), 7)
        reader.bitposition = 0
        self.assertEqual(0, reader.bitposition)
        reader.bitposition = 7
        self.assertEqual(7, reader.bitposition)

        with self.assertRaises(PythonRuntimeException):
            reader.bitposition = 8
        with self.assertRaises(PythonRuntimeException):
            reader.bitposition = -1

        reader.bitposition = 0
        self.assertEqual(0, reader.bitposition)
Exemple #2
0
    def test_bitposition(self):
        writer = BitStreamWriter()
        writer.write_bits(0xaaaa, 16)
        self.assertEqual(16, writer.bitposition)
        writer.write_bits(0xff, 8)
        self.assertEqual(24, writer.bitposition)

        reader = BitStreamReader(buffer=writer.byte_array)
        self.assertEqual(0xaaaa, reader.read_bits(16))
        self.assertEqual(16, reader.bitposition)
        reader.bitposition = 8
        self.assertEqual(8, reader.bitposition)
        self.assertEqual(0xaaff, reader.read_bits(16))
        reader.bitposition = 13
        self.assertEqual(13, reader.bitposition)
        self.assertEqual(0x02, reader.read_bits(3))
        self.assertEqual(16, reader.bitposition)
        self.assertEqual(0xff, reader.read_bits(8))
        self.assertEqual(24, reader.bitposition)
        reader.bitposition = 0
        self.assertEqual(0, reader.bitposition)
        self.assertEqual(0xaaaaff, reader.read_bits(24))