def test_bits_read_unpadded(self): stream = six.BytesIO(pfp.utils.binary(chr(int("11110000",2)) + chr(int("10101010", 2)))) bitwrapped = BitwrappedStream(stream) bitwrapped.padded = False res = bitwrapped.read_bits(4) self.assertEqual([1,1,1,1], res) res = bitwrapped.read(1) self.assertEqual(pfp.utils.binary(chr(int("00001010", 2))), res) res = bitwrapped.read_bits(4) self.assertEqual([1,0,1,0], res)
def test_bits_read_unpadded(self): stream = six.BytesIO( pfp.utils.binary( chr(int("11110000", 2)) + chr(int("10101010", 2)))) bitwrapped = BitwrappedStream(stream) bitwrapped.padded = False res = bitwrapped.read_bits(4) self.assertEqual([1, 1, 1, 1], res) res = bitwrapped.read(1) self.assertEqual(pfp.utils.binary(chr(int("00001010", 2))), res) res = bitwrapped.read_bits(4) self.assertEqual([1, 0, 1, 0], res)
def test_bits_read2_padded1(self): stream = six.BytesIO(pfp.utils.binary(chr(int("11110000",2)) + chr(int("10101010", 2)))) bitwrapped = BitwrappedStream(stream) bitwrapped.padded = True res = bitwrapped.read_bits(4) self.assertEqual([1,1,1,1], res) res = bitwrapped.read_bits(3) self.assertEqual([0,0,0], res) res = bitwrapped.read_bits(4) self.assertEqual([0,1,0,1], res) res = bitwrapped.read_bits(5) self.assertEqual([0,1,0,1,0], res)
def test_bits_read2_padded1(self): stream = six.BytesIO( pfp.utils.binary( chr(int("11110000", 2)) + chr(int("10101010", 2)))) bitwrapped = BitwrappedStream(stream) bitwrapped.padded = True res = bitwrapped.read_bits(4) self.assertEqual([1, 1, 1, 1], res) res = bitwrapped.read_bits(3) self.assertEqual([0, 0, 0], res) res = bitwrapped.read_bits(4) self.assertEqual([0, 1, 0, 1], res) res = bitwrapped.read_bits(5) self.assertEqual([0, 1, 0, 1, 0], res)
def test_bits_read2_padded2(self): stream = six.BytesIO(pfp.utils.binary(chr(int("11110000",2)) + chr(int("10101010", 2)))) bitwrapped = BitwrappedStream(stream) bitwrapped.padded = True res = bitwrapped.read_bits(4) self.assertEqual([1,1,1,1], res) next_byte = bitwrapped.read(1) self.assertEqual(pfp.utils.binary(chr(int("10101010", 2))), next_byte)
def test_bits_read2_padded2(self): stream = six.BytesIO( pfp.utils.binary( chr(int("11110000", 2)) + chr(int("10101010", 2)))) bitwrapped = BitwrappedStream(stream) bitwrapped.padded = True res = bitwrapped.read_bits(4) self.assertEqual([1, 1, 1, 1], res) next_byte = bitwrapped.read(1) self.assertEqual(pfp.utils.binary(chr(int("10101010", 2))), next_byte)
def test_tell_bits(self): stream = six.BytesIO(pfp.utils.binary("\x41" + chr(0b11001100))) bitwrapped = BitwrappedStream(stream) res = bitwrapped.read(1) self.assertEqual(res, b"\x41") self.assertEqual(bitwrapped.tell(), 1) self.assertEqual(bitwrapped.tell_bits(), 0) bits = bitwrapped.read_bits(1) self.assertEqual(bits, [1]) self.assertEqual(bitwrapped.tell_bits(), 1) bits = bitwrapped.read_bits(1) self.assertEqual(bits, [1]) self.assertEqual(bitwrapped.tell_bits(), 2) bits = bitwrapped.read_bits(1) self.assertEqual(bits, [0]) self.assertEqual(bitwrapped.tell_bits(), 3)
def test_bits_read1(self): stream = six.BytesIO(pfp.utils.binary(chr(int("01010101", 2)))) bitwrapped = BitwrappedStream(stream) res = bitwrapped.read_bits(8) self.assertEqual([0, 1, 0, 1, 0, 1, 0, 1], res)
def test_bits_read1(self): stream = six.BytesIO(pfp.utils.binary(chr(int("01010101", 2)))) bitwrapped = BitwrappedStream(stream) res = bitwrapped.read_bits(8) self.assertEqual([0,1,0,1,0,1,0,1], res)