def test_encode_decode(bpc, prec): for _i in range(100): lng, lat = rand_lng(), rand_lat() code = hilbert.encode(lng, lat, precision=prec, bits_per_char=bpc) lng_code, lat_code, lng_err, lat_err = hilbert.decode_exactly(code, bits_per_char=bpc) assert lng == pytest.approx(lng_code, abs=lng_err) assert lat == pytest.approx(lat_code, abs=lat_err) assert (lng_code, lat_code) == hilbert.decode(code, bits_per_char=bpc)
def test_decode_empty(bpc): assert (0, 0) == hilbert.decode('', bits_per_char=bpc) assert (0, 0, 180, 90) == hilbert.decode_exactly('', bits_per_char=bpc)