X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/00e3a752c9a749d2e2a0b8a406dd1b7e8e204765..f92e580293a527d167ddb8b12a2690967c19b26b:/test/python/api/test_results.py diff --git a/test/python/api/test_results.py b/test/python/api/test_results.py index 7ea1fb1f..54a54549 100644 --- a/test/python/api/test_results.py +++ b/test/python/api/test_results.py @@ -8,6 +8,7 @@ Tests for result datatype helper functions. """ import struct +from binascii import hexlify import pytest import pytest_asyncio @@ -17,13 +18,13 @@ import sqlalchemy as sa from nominatim.api import SourceTable, DetailedResult, Point import nominatim.api.results as nresults -class FakeCentroid: - def __init__(self, x, y): - self.data = struct.pack("=biidd", 1, 0x20000001, 4326, - x, y) +def mkpoint(x, y): + return hexlify(struct.pack("=biidd", 1, 0x20000001, 4326, x, y)).decode('utf-8') class FakeRow: def __init__(self, **kwargs): + if 'parent_place_id' not in kwargs: + kwargs['parent_place_id'] = None for k, v in kwargs.items(): setattr(self, k, v) self._mapping = kwargs @@ -36,7 +37,7 @@ def test_minimal_detailed_result(): assert res.lon == 23.1 assert res.lat == 0.5 - assert res.calculated_importance() == pytest.approx(0.0000001) + assert res.calculated_importance() == pytest.approx(0.00001) def test_detailed_result_custom_importance(): res = DetailedResult(SourceTable.PLACEX, @@ -58,9 +59,9 @@ def test_create_row_none(func): @pytest.mark.parametrize('func', (nresults.create_from_osmline_row, nresults.create_from_tiger_row)) def test_create_row_with_housenumber(func): - row = FakeRow(place_id = 2345, osm_id = 111, housenumber = 4, - address = None, postcode = '99900', country_code = 'xd', - centroid = FakeCentroid(0, 0)) + row = FakeRow(place_id=2345, osm_type='W', osm_id=111, housenumber=4, + address=None, postcode='99900', country_code='xd', + centroid=mkpoint(0, 0)) res = func(row, DetailedResult) @@ -72,10 +73,10 @@ def test_create_row_with_housenumber(func): @pytest.mark.parametrize('func', (nresults.create_from_osmline_row, nresults.create_from_tiger_row)) def test_create_row_without_housenumber(func): - row = FakeRow(place_id=2345, osm_id=111, + row = FakeRow(place_id=2345, osm_type='W', osm_id=111, startnumber=1, endnumber=11, step=2, address=None, postcode='99900', country_code='xd', - centroid=FakeCentroid(0, 0)) + centroid=mkpoint(0, 0)) res = func(row, DetailedResult)