X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/75c631f08093d0cc7330d313bd3bb58cb2c1924b..fe873ad0e2fb8beb6d5f2a3acf8613a300ed2f53:/test/python/tokenizer/sanitizers/test_strip_brace_terms.py diff --git a/test/python/tokenizer/sanitizers/test_strip_brace_terms.py b/test/python/tokenizer/sanitizers/test_strip_brace_terms.py index 50af2449..7fa0a018 100644 --- a/test/python/tokenizer/sanitizers/test_strip_brace_terms.py +++ b/test/python/tokenizer/sanitizers/test_strip_brace_terms.py @@ -1,44 +1,56 @@ +# SPDX-License-Identifier: GPL-2.0-only +# +# This file is part of Nominatim. (https://nominatim.org) +# +# Copyright (C) 2022 by the Nominatim developer community. +# For a full list of authors see the git log. """ Tests for the sanitizer that handles braced suffixes. """ import pytest from nominatim.tokenizer.place_sanitizer import PlaceSanitizer -from nominatim.indexer.place_info import PlaceInfo +from nominatim.data.place_info import PlaceInfo -def run_sanitizer_on(**kwargs): - place = PlaceInfo({'name': kwargs}) - name, _ = PlaceSanitizer([{'step': 'strip-brace-terms'}]).process_names(place) +class TestStripBrace: - return sorted([(p.name, p.kind, p.suffix) for p in name]) + @pytest.fixture(autouse=True) + def setup_country(self, def_config): + self.config = def_config + def run_sanitizer_on(self, **kwargs): + place = PlaceInfo({'name': kwargs}) + name, _ = PlaceSanitizer([{'step': 'strip-brace-terms'}], self.config).process_names(place) -def test_no_braces(): - assert run_sanitizer_on(name='foo', ref='23') == [('23', 'ref', None), - ('foo', 'name', None)] + return sorted([(p.name, p.kind, p.suffix) for p in name]) -def test_simple_braces(): - assert run_sanitizer_on(name='Halle (Saale)', ref='3')\ - == [('3', 'ref', None), ('Halle', 'name', None), ('Halle (Saale)', 'name', None)] - assert run_sanitizer_on(name='ack ( bar')\ - == [('ack', 'name', None), ('ack ( bar', 'name', None)] + def test_no_braces(self): + assert self.run_sanitizer_on(name='foo', ref='23') == [('23', 'ref', None), + ('foo', 'name', None)] -def test_only_braces(): - assert run_sanitizer_on(name='(maybe)') == [('(maybe)', 'name', None)] + def test_simple_braces(self): + assert self.run_sanitizer_on(name='Halle (Saale)', ref='3')\ + == [('3', 'ref', None), ('Halle', 'name', None), ('Halle (Saale)', 'name', None)] + assert self.run_sanitizer_on(name='ack ( bar')\ + == [('ack', 'name', None), ('ack ( bar', 'name', None)] -def test_double_braces(): - assert run_sanitizer_on(name='a((b))') == [('a', 'name', None), - ('a((b))', 'name', None)] - assert run_sanitizer_on(name='a (b) (c)') == [('a', 'name', None), - ('a (b) (c)', 'name', None)] + def test_only_braces(self): + assert self.run_sanitizer_on(name='(maybe)') == [('(maybe)', 'name', None)] -def test_no_names(): + def test_double_braces(self): + assert self.run_sanitizer_on(name='a((b))') == [('a', 'name', None), + ('a((b))', 'name', None)] + assert self.run_sanitizer_on(name='a (b) (c)') == [('a', 'name', None), + ('a (b) (c)', 'name', None)] + + +def test_no_names(def_config): place = PlaceInfo({'address': {'housenumber': '3'}}) - name, address = PlaceSanitizer([{'step': 'strip-brace-terms'}]).process_names(place) + name, address = PlaceSanitizer([{'step': 'strip-brace-terms'}], def_config).process_names(place) assert not name assert len(address) == 1