예제 #1
0
def test_read_unsigned_long():
    # little endian!
    data = b"\x00\x0e\xfc\xda\xb0"
    bs = BitStream(data)
    assert bs.read_bits(4) == 0
    assert bs.read_unsigned_long() == 0xABCDEF00
    assert bs.read_bits(4) == 0
예제 #2
0
def test_read_unsigned_short():
    # little endian!
    data = b"\x0c\xda\xb0"
    bs = BitStream(data)
    assert bs.read_bits(4) == 0
    assert bs.read_unsigned_short() == 0xABCD
    assert bs.read_bits(4) == 0
예제 #3
0
def test_read_unsigned_long():
    # little endian!
    data = b'\x00\x0e\xfc\xda\xb0'
    bs = BitStream(data)
    assert bs.read_bits(4) == 0
    assert bs.read_unsigned_long() == 0xabcdef00
    assert bs.read_bits(4) == 0
예제 #4
0
def test_read_bitshort():
    bs = BitStream(b"\xe0")
    assert bs.read_bit_short() == 256  # 11
    assert bs.read_bit_short() == 0  # 10
    bs = BitStream(b"\x00\xff\xff")
    bs.read_bits(6)
    assert bs.read_bit_short() == -1
    assert BitStream(b"\x7f\x00").read_bit_short() == 252
예제 #5
0
def test_read_bits():
    data = b"\x0f\x0f"
    bs = BitStream(data)
    assert bs.read_bits(4) == 0
    assert bs.read_bits(2) == 3
    assert bs.read_bits(3) == 6
    assert bs.read_bits(4) == 1
    assert bs.read_bits(3) == 7
예제 #6
0
def test_read_signed_byte():
    data = b"\x0f\xf0"
    bs = BitStream(data)
    assert bs.read_bits(4) == 0
    assert bs.read_signed_byte() == -1
예제 #7
0
def test_read_unsigned_byte():
    data = b'\x0f\x0f'
    bs = BitStream(data)
    assert bs.read_bits(4) == 0
    assert bs.read_unsigned_byte() == 0xf0