|
|
|
@ -12,9 +12,9 @@ from .basic import KlamathError
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def test_parse_bitarray():
|
|
|
|
|
assert(parse_bitarray(b'59') == 13625)
|
|
|
|
|
assert(parse_bitarray(b'\0\0') == 0)
|
|
|
|
|
assert(parse_bitarray(b'\xff\xff') == 65535)
|
|
|
|
|
assert parse_bitarray(b'59') == 13625
|
|
|
|
|
assert parse_bitarray(b'\0\0') == 0
|
|
|
|
|
assert parse_bitarray(b'\xff\xff') == 65535
|
|
|
|
|
|
|
|
|
|
# 4 bytes (too long)
|
|
|
|
|
with pytest.raises(KlamathError):
|
|
|
|
@ -51,12 +51,12 @@ def test_parse_int4():
|
|
|
|
|
|
|
|
|
|
def test_decode_real8():
|
|
|
|
|
# zeroes
|
|
|
|
|
assert(decode_real8(numpy.array([0x0])) == 0)
|
|
|
|
|
assert(decode_real8(numpy.array([1<<63])) == 0) # negative
|
|
|
|
|
assert(decode_real8(numpy.array([0xff << 56])) == 0) # denormalized
|
|
|
|
|
assert decode_real8(numpy.array([0x0])) == 0
|
|
|
|
|
assert decode_real8(numpy.array([1 << 63])) == 0 # negative
|
|
|
|
|
assert decode_real8(numpy.array([0xff << 56])) == 0 # denormalized
|
|
|
|
|
|
|
|
|
|
assert(decode_real8(numpy.array([0x4110 << 48])) == 1.0)
|
|
|
|
|
assert(decode_real8(numpy.array([0xC120 << 48])) == -2.0)
|
|
|
|
|
assert decode_real8(numpy.array([0x4110 << 48])) == 1.0
|
|
|
|
|
assert decode_real8(numpy.array([0xC120 << 48])) == -2.0
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def test_parse_real8():
|
|
|
|
@ -73,36 +73,36 @@ def test_parse_real8():
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def test_parse_ascii():
|
|
|
|
|
# # empty data Now allowed!
|
|
|
|
|
# with pytest.raises(KlamathError):
|
|
|
|
|
# parse_ascii(b'')
|
|
|
|
|
# # empty data Now allowed!
|
|
|
|
|
# with pytest.raises(KlamathError):
|
|
|
|
|
# parse_ascii(b'')
|
|
|
|
|
|
|
|
|
|
assert(parse_ascii(b'12345') == b'12345')
|
|
|
|
|
assert(parse_ascii(b'12345\0') == b'12345') # strips trailing null byte
|
|
|
|
|
assert parse_ascii(b'12345') == b'12345'
|
|
|
|
|
assert parse_ascii(b'12345\0') == b'12345' # strips trailing null byte
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def test_pack_bitarray():
|
|
|
|
|
packed = pack_bitarray(321)
|
|
|
|
|
assert(len(packed) == 2)
|
|
|
|
|
assert(packed == struct.pack('>H', 321))
|
|
|
|
|
assert len(packed) == 2
|
|
|
|
|
assert packed == struct.pack('>H', 321)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def test_pack_int2():
|
|
|
|
|
packed = pack_int2((3, 2, 1))
|
|
|
|
|
assert(len(packed) == 3*2)
|
|
|
|
|
assert(packed == struct.pack('>3h', 3, 2, 1))
|
|
|
|
|
assert(pack_int2([-3, 2, -1]) == struct.pack('>3h', -3, 2, -1))
|
|
|
|
|
assert len(packed) == 3 * 2
|
|
|
|
|
assert packed == struct.pack('>3h', 3, 2, 1)
|
|
|
|
|
assert pack_int2([-3, 2, -1]) == struct.pack('>3h', -3, 2, -1)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def test_pack_int4():
|
|
|
|
|
packed = pack_int4((3, 2, 1))
|
|
|
|
|
assert(len(packed) == 3*4)
|
|
|
|
|
assert(packed == struct.pack('>3l', 3, 2, 1))
|
|
|
|
|
assert(pack_int4([-3, 2, -1]) == struct.pack('>3l', -3, 2, -1))
|
|
|
|
|
assert len(packed) == 3 * 4
|
|
|
|
|
assert packed == struct.pack('>3l', 3, 2, 1)
|
|
|
|
|
assert pack_int4([-3, 2, -1]) == struct.pack('>3l', -3, 2, -1)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def test_encode_real8():
|
|
|
|
|
assert(encode_real8(numpy.array([0.0])) == 0)
|
|
|
|
|
assert encode_real8(numpy.array([0.0])) == 0
|
|
|
|
|
arr = numpy.array((1.0, -2.0, 1e-9, 1e-3, 1e-12))
|
|
|
|
|
assert_array_equal(decode_real8(encode_real8(arr)), arr)
|
|
|
|
|
|
|
|
|
@ -110,10 +110,10 @@ def test_encode_real8():
|
|
|
|
|
def test_pack_real8():
|
|
|
|
|
reals = (0, 1, -1, 0.5, 1e-9, 1e-3, 1e-12)
|
|
|
|
|
packed = pack_real8(reals)
|
|
|
|
|
assert(len(packed) == len(reals) * 8)
|
|
|
|
|
assert len(packed) == len(reals) * 8
|
|
|
|
|
assert_array_equal(parse_real8(packed), reals)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def test_pack_ascii():
|
|
|
|
|
assert(pack_ascii(b'4321') == b'4321')
|
|
|
|
|
assert(pack_ascii(b'321') == b'321\0')
|
|
|
|
|
assert pack_ascii(b'4321') == b'4321'
|
|
|
|
|
assert pack_ascii(b'321') == b'321\0'
|
|
|
|
|