g722_1_mod/tests/test.py
2023-07-03 11:44:32 -05:00

17 lines
5.6 KiB
Python

import g722_1_mod as m
raw_data = b"\x00\x00\xff\xff\x02\x00\xfe\xff\x01\x00\xff\xff\x01\x00\xff\xff\x02\x00\xfd\xff\x03\x00\xfd\xff\x03\x00\xfd\xff\x02\x00\xff\xff\x00\x00\x01\x00\xff\xff\xff\xff\x03\x00\xfc\xff\x04\x00\xfc\xff\x03\x00\xfe\xff\x03\x00\xfc\xff\x04\x00\xfc\xff\x02\x00\x01\x00\xfd\xff\x04\x00\xfb\xff\x05\x00\xfc\xff\x02\x00\x00\x00\xfd\xff\x06\x00\xf9\xff\x06\x00\xfc\xff\x01\x00\x01\x00\xff\xff\x00\x00\x01\x00\xfe\xff\x02\x00\xff\xff\xff\xff\x02\x00\xfe\xff\x02\x00\xfe\xff\x01\x00\x00\x00\x00\x00\x00\x00\xff\xff\x01\x00\x00\x00\x00\x00\x00\x00\xff\xff\x02\x00\xfe\xff\x02\x00\xfd\xff\x03\x00\xfe\xff\x01\x00\x00\x00\xff\xff\x01\x00\xff\xff\x01\x00\xfe\xff\x04\x00\xfb\xff\x05\x00\xfb\xff\x04\x00\xfe\xff\x00\x00\x01\x00\xfe\xff\x03\x00\xfc\xff\x04\x00\xfd\xff\x01\x00\x01\x00\xfd\xff\x03\x00\xfe\xff\x01\x00\x00\x00\xff\xff\x01\x00\x00\x00\xff\xff\x01\x00\xff\xff\x02\x00\xfe\xff\x01\x00\x00\x00\xff\xff\x02\x00\xfd\xff\x03\x00\xfe\xff\x02\x00\xfd\xff\x04\x00\xfc\xff\x04\x00\xfd\xff\x01\x00\x01\x00\xfe\xff\x02\x00\xff\xff\x00\x00\x01\x00\xff\xff\xff\xff\x03\x00\xfc\xff\x05\x00\xfb\xff\x04\x00\xfd\xff\x02\x00\xff\xff\x00\x00\x01\x00\xff\xff\x00\x00\x00\x00\x01\x00\xfe\xff\x02\x00\xff\xff\xff\xff\x03\x00\xfb\xff\x06\x00\xfb\xff\x03\x00\xff\xff\xff\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x01\x00\x00\x00\xff\xff\x02\x00\xfd\xff\x02\x00\x00\x00\xff\xff\x01\x00\xfe\xff\x02\x00\xff\xff\x01\x00\xfe\xff\x02\x00\xfe\xff\x02\x00\xff\xff\xff\xff\x02\x00\xfe\xff\x02\x00\xfe\xff\x02\x00\xfe\xff\x02\x00\xfe\xff\x02\x00\xfe\xff\x02\x00\xfe\xff\x02\x00\xfe\xff\x01\x00\x00\x00\x00\x00\x00\x00\xff\xff\x02\x00\xfd\xff\x04\x00\xfc\xff\x02\x00\x00\x00\x00\x00\xfe\xff\x04\x00\xfb\xff\x04\x00\xfe\xff\x00\x00\x02\x00\xfd\xff\x03\x00\xfd\xff\x03\x00\xfd\xff\x03\x00\xfe\xff\x01\x00\x00\x00\xff\xff\x01\x00\x00\x00\x00\x00\xff\xff\x02\x00\xfd\xff\x03\x00\xfe\xff\x01\x00\xff\xff\x01\x00\xff\xff\x00\x00\x01\x00\xff\xff\x00\x00\x01\x00\xfe\xff\x02\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x02\x00\xfe\xff\x01\x00\x00\x00\xff\xff\x02\x00\xfd\xff\x03\x00\xfd\xff\x04\x00\xfc\xff\x03\x00\xfe\xff\x01\x00\x00\x00\xff\xff\x01\x00\xff\xff\x01\x00\x00\x00\xff\xff\x01\x00\xfe\xff\x02\x00\xff\xff\x01\x00\xfe\xff\x03\x00\xfc\xff\x04\x00\xfc\xff\x03\x00\xfe\xff\x02\x00\xfd\xff\x03\x00\xfd\xff\x02\x00\x00\x00\xfe\xff\x02\x00\xfe\xff\x01\x00\x01\x00\xfe\xff\x02\x00\xfe\xff\x01\x00\x00\x00\x00\x00\x00\x00\x01\x00\xfd\xff\x04\x00\xfc\xff\x04\x00\xfc\xff\x04\x00\xfc\xff\x04\x00\xfc\xff\x03\x00\xfe\xff\x01\x00\x01\x00\xfe\xff\x02\x00\xfd\xff\x03\x00\xfe\xff\x02\x00\xfd\xff\x03\x00\xfd\xff\x03\x00\xfe\xff\x00\x00\x01\x00\xff\xff\x00\x00\x02\x00\xfc\xff\x05\x00\xfc\xff\x02\x00\x00\x00\xfe\xff\x03\x00\xfe\xff\x01\x00\xff\xff\x01\x00\xff\xff\x01\x00\xff\xff\x00\x00\x00\x00\x01\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\xfe\xff\x02\x00\xfe\xff\x02\x00\xff\xff\x00\x00\xff\xff\x01\x00\x00\x00\xff\xff\x02\x00\xfe\xff\x00\x00\x02\x00\xfc\xff\x05\x00\xfb\xff\x05\x00\xfb\xff\x04\x00\xfd\xff\x02\x00\xff\xff\x00\x00\x00\x00\x00\x00\xff\xff\x02\x00\xfe\xff\x02\x00\xfe\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\xfe\xff\x03\x00\xfb\xff\x05\x00\xfd\xff\x02\x00\xfe\xff\x01\x00\x00\x00\xff\xff\x02\x00\xfe\xff\x01\x00\x01\x00\xfd\xff\x03\x00\xfe\xff\x02\x00\xfe\xff\x01\x00\x00\x00\xff\xff\x01\x00\x00\x00\xff\xff\x02\x00\xfe\xff\x01\x00\x00\x00\xff\xff\x01\x00\x00\x00\xff\xff\x01\x00\xff\xff\x01\x00\xfe\xff\x03\x00\xfc\xff\x04\x00\xfe\xff\xff\xff\x03\x00\xfc\xff\x03\x00\xff\xff\xff\xff\x01\x00\x00\x00\xff\xff\x02\x00\xfd\xff\x02\x00\x00\x00\xff\xff\x02\x00\xfe\xff\x01\x00\x00\x00\x00\x00\xff\xff\x01\x00\xff\xff\x01\x00\x00\x00\xff\xff\x00\x00\x01\x00\xff\xff\x01\x00\xff\xff\x00\x00\x01\x00\xff\xff\x01\x00\xff\xff\x01\x00\xfe\xff\x03\x00\xfd\xff\x03\x00\xfd\xff\x02\x00\xfe\xff\x03\x00\xfd\xff\x02\x00\xfe\xff\x01\x00\x01\x00\xff\xff\x00\x00\xff\xff\x02\x00\xfe\xff\x03\x00\xfd\xff\x01\x00\x00\x00\x00\x00\xff\xff\x02\x00\xfe\xff\x01\x00\xff\xff\x01\x00\xff\xff\x01\x00\x00\x00\xff\xff\x02\x00\xfd\xff\x03\x00\xfd\xff\x04\x00\xfc\xff\x03\x00\xfe\xff\x01\x00\xff\xff\x02\x00\xfd\xff\x03\x00\xfe\xff\x01\x00\x00\x00\x00\x00\xff\xff\x01\x00\x00\x00\xff\xff\x01\x00\xff\xff\x00\x00\x01\x00\xff\xff\x00\x00\x00\x00\xff\xff\x02\x00\xfe\xff\x02\x00\xfe\xff\x01\x00\x00\x00\xff\xff\x02\x00\xfd\xff\x03\x00\xfe\xff\x01\x00\xff\xff\x01\x00\xff\xff\x01\x00\xff\xff\x00\x00\x01\x00\xff\xff\x01\x00\xfe\xff\x02\x00\xff\xff\x00\x00\x01\x00\xfe\xff\x02\x00\xfe\xff\x02\x00\xff\xff\x01\x00\xfe\xff\x02\x00\xfd\xff\x04\x00\xfe\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\xfe\xff\x02\x00\xff\xff\x00\x00\x00\x00\x01\x00\xfd\xff\x04\x00\xfc\xff\x04\x00\xfd\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x01\x00\x00\x00\xff\xff\x01\x00\xfe\xff\x02\x00\xfe\xff\x02\x00\xfe\xff\x02\x00\xfe\xff\x01\x00\x00\x00\x00\x00\xff\xff\x01\x00\xff\xff\x01\x00\x00\x00\xff\xff\x01\x00\xff\xff\x00\x00\x02\x00\xfc\xff\x05\x00\xfb\xff\x04\x00\xfd\xff\x02\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\xfd\xff\x04\x00\xfb\xff\x05\x00\xfc\xff\x03\x00\xfe\xff\x00\x00"
benchmark_output = b'P\x1a\x93\xf8P\x00\x00\xfc\xa6\x087\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\xa9s\xe8\xe3\x1b\xe0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb0\x1c\x80\x1e.\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\xc1g\x01\xe2\x96)\xcfc\xd3\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff'
def hexdump(s, n=20):
for i in range(0, len(s), n):
print(" ".join(f"{b:02x}" for b in s[i:i+n]))
print()
hexdump(benchmark_output)
result = m.encode(raw_data, 320, 40)
hexdump(result)
assert result == benchmark_output
print("encoder matches reference")