source/projects/proquint/test/test_hypothesis.py

27 lines
802 B
Python
Raw Normal View History

2021-08-04 01:04:23 +00:00
"""Tests based off of round-tripping randomly generated examples."""
from hypothesis import given
from hypothesis.strategies import integers
2021-08-04 06:17:20 +00:00
import proquint
2021-08-04 01:04:23 +00:00
2023-06-05 05:53:00 +00:00
def test_round_trip_16():
for val in range(0, 1<<16):
assert proquint.Proquint.decode(proquint.Proquint.encode(val, 16)) == val
2021-08-04 01:04:23 +00:00
2023-06-05 05:53:00 +00:00
@given(integers(min_value=1<<16, max_value=1 << 32 - 1))
2021-08-04 01:04:23 +00:00
def test_round_trip_32(val):
2021-09-03 04:10:35 +00:00
assert proquint.Proquint.decode(proquint.Proquint.encode(val, 32)) == val
2021-08-04 01:04:23 +00:00
2023-06-05 05:53:00 +00:00
@given(integers(min_value=1<<16, max_value=1 << 64 - 1))
2021-08-04 01:04:23 +00:00
def test_round_trip_64(val):
2021-09-03 04:10:35 +00:00
assert proquint.Proquint.decode(proquint.Proquint.encode(val, 64)) == val
2021-08-04 01:04:23 +00:00
2023-06-05 05:53:00 +00:00
@given(integers(min_value=1<<16, max_value=1 << 512 - 1))
2021-08-04 01:04:23 +00:00
def test_round_trip_512(val):
2021-09-03 04:10:35 +00:00
assert proquint.Proquint.decode(proquint.Proquint.encode(val, 512)) == val
2023-06-05 05:53:00 +00:00