]> git.openstreetmap.org Git - nominatim.git/blobdiff - test/python/tokenizer/token_analysis/test_analysis_postcodes.py
enable flake for Python tests
[nominatim.git] / test / python / tokenizer / token_analysis / test_analysis_postcodes.py
index 623bed54a87eadf7b9b5994427af7339635b7698..1eb15a50d98c0d86f9e1171ca02edad761d4b7f2 100644 (file)
@@ -1,8 +1,8 @@
-# SPDX-License-Identifier: GPL-2.0-only
+# SPDX-License-Identifier: GPL-3.0-or-later
 #
 # This file is part of Nominatim. (https://nominatim.org)
 #
 #
 # This file is part of Nominatim. (https://nominatim.org)
 #
-# Copyright (C) 2022 by the Nominatim developer community.
+# Copyright (C) 2025 by the Nominatim developer community.
 # For a full list of authors see the git log.
 """
 Tests for special postcode analysis and variant generation.
 # For a full list of authors see the git log.
 """
 Tests for special postcode analysis and variant generation.
@@ -11,8 +11,8 @@ import pytest
 
 from icu import Transliterator
 
 
 from icu import Transliterator
 
-import nominatim.tokenizer.token_analysis.postcodes as module
-from nominatim.errors import UsageError
+import nominatim_db.tokenizer.token_analysis.postcodes as module
+from nominatim_db.data.place_name import PlaceName
 
 DEFAULT_NORMALIZATION = """ :: NFD ();
                             '🜳' > ' ';
 
 DEFAULT_NORMALIZATION = """ :: NFD ();
                             '🜳' > ' ';
@@ -26,9 +26,10 @@ DEFAULT_TRANSLITERATION = """ ::  Latin ();
                               '🜵' > ' ';
                           """
 
                               '🜵' > ' ';
                           """
 
+
 @pytest.fixture
 def analyser():
 @pytest.fixture
 def analyser():
-    rules = { 'analyzer': 'postcodes'}
+    rules = {'analyzer': 'postcodes'}
     config = module.configure(rules, DEFAULT_NORMALIZATION)
 
     trans = Transliterator.createFromRules("test_trans", DEFAULT_TRANSLITERATION)
     config = module.configure(rules, DEFAULT_NORMALIZATION)
 
     trans = Transliterator.createFromRules("test_trans", DEFAULT_TRANSLITERATION)
@@ -39,22 +40,22 @@ def analyser():
 
 def get_normalized_variants(proc, name):
     norm = Transliterator.createFromRules("test_norm", DEFAULT_NORMALIZATION)
 
 def get_normalized_variants(proc, name):
     norm = Transliterator.createFromRules("test_norm", DEFAULT_NORMALIZATION)
-    return proc.get_variants_ascii(norm.transliterate(name).strip())
+    return proc.compute_variants(norm.transliterate(name).strip())
 
 
 @pytest.mark.parametrize('name,norm', [('12', '12'),
                                        ('A 34 ', 'A 34'),
                                        ('34-av', '34-AV')])
 
 
 @pytest.mark.parametrize('name,norm', [('12', '12'),
                                        ('A 34 ', 'A 34'),
                                        ('34-av', '34-AV')])
-def test_normalize(analyser, name, norm):
-    assert analyser.normalize(name) == norm
+def test_get_canonical_id(analyser, name, norm):
+    assert analyser.get_canonical_id(PlaceName(name=name, kind='', suffix='')) == norm
 
 
 @pytest.mark.parametrize('postcode,variants', [('12345', {'12345'}),
                                                ('AB-998', {'ab 998', 'ab998'}),
                                                ('23 FGH D3', {'23 fgh d3', '23fgh d3',
                                                               '23 fghd3', '23fghd3'})])
 
 
 @pytest.mark.parametrize('postcode,variants', [('12345', {'12345'}),
                                                ('AB-998', {'ab 998', 'ab998'}),
                                                ('23 FGH D3', {'23 fgh d3', '23fgh d3',
                                                               '23 fghd3', '23fghd3'})])
-def test_get_variants_ascii(analyser, postcode, variants):
-    out = analyser.get_variants_ascii(postcode)
+def test_compute_variants(analyser, postcode, variants):
+    out = analyser.compute_variants(postcode)
 
     assert len(out) == len(set(out))
     assert set(out) == variants
 
     assert len(out) == len(set(out))
     assert set(out) == variants