X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/fb0ebb5bf053e146a56c7e8c6727aa99c6de39f8..9025b0ec78bd770e74a1bed85c8d2e43ce5f571a:/test/python/test_tools_sp_csv_loader.py?ds=inline diff --git a/test/python/test_tools_sp_csv_loader.py b/test/python/test_tools_sp_csv_loader.py index aac8593b..80d5989e 100644 --- a/test/python/test_tools_sp_csv_loader.py +++ b/test/python/test_tools_sp_csv_loader.py @@ -1,22 +1,19 @@ """ Tests for methods of the SPCsvLoader class. """ -from nominatim.errors import UsageError import pytest -from pathlib import Path -from nominatim.tools.special_phrases.sp_csv_loader import SPCsvLoader -TEST_BASE_DIR = Path(__file__) / '..' / '..' +from nominatim.errors import UsageError +from nominatim.tools.special_phrases.sp_csv_loader import SPCsvLoader def test_parse_csv(sp_csv_loader): """ Test method parse_csv() Should return the right SpecialPhrase objects. """ - phrases = sp_csv_loader.parse_csv(sp_csv_loader.csv_path) + phrases = sp_csv_loader.parse_csv() assert check_phrases_content(phrases) - def test_next(sp_csv_loader): """ Test objects returned from the next() method. @@ -33,10 +30,10 @@ def test_check_csv_validity(sp_csv_loader): different exception than .csv is given. """ sp_csv_loader.csv_path = 'test.csv' - sp_csv_loader.check_csv_validity(sp_csv_loader.csv_path) + sp_csv_loader.check_csv_validity() sp_csv_loader.csv_path = 'test.wrong' with pytest.raises(UsageError): - assert sp_csv_loader.check_csv_validity(sp_csv_loader.csv_path) + assert sp_csv_loader.check_csv_validity() def check_phrases_content(phrases): """ @@ -44,16 +41,20 @@ def check_phrases_content(phrases): the right phrases of the sp_csv_test.csv special phrases. """ return len(phrases) > 1 \ - and any(p.p_label == 'Billboard' and p.p_class == 'advertising' and p.p_type == 'billboard' + and any(p.p_label == 'Billboard' + and p.p_class == 'advertising' + and p.p_type == 'billboard' and p.p_operator == '-' for p in phrases) \ - and any(p.p_label == 'Zip Lines' and p.p_class == 'aerialway' and p.p_type == 'zip_line' + and any(p.p_label == 'Zip Lines' + and p.p_class == 'aerialway' + and p.p_type == 'zip_line' and p.p_operator == '-' for p in phrases) @pytest.fixture -def sp_csv_loader(): +def sp_csv_loader(src_dir): """ Return an instance of SPCsvLoader. """ - csv_path = (TEST_BASE_DIR / 'testdata' / 'sp_csv_test.csv').resolve() + csv_path = (src_dir / 'test' / 'testdata' / 'sp_csv_test.csv').resolve() loader = SPCsvLoader(csv_path) return loader