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)
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))