From 73ee17af95444920f5d0629bf0528682e0e7dd57 Mon Sep 17 00:00:00 2001 From: Sarah Hoffmann Date: Fri, 11 Jul 2025 10:27:18 +0200 Subject: [PATCH] adapt tests for new function signatures --- test/python/api/search/test_postcode_parser.py | 12 ++++++------ test/python/api/search/test_query.py | 16 ++++++++-------- test/python/api/search/test_token_assignment.py | 7 ++++--- 3 files changed, 18 insertions(+), 17 deletions(-) diff --git a/test/python/api/search/test_postcode_parser.py b/test/python/api/search/test_postcode_parser.py index f7d78857..8c159467 100644 --- a/test/python/api/search/test_postcode_parser.py +++ b/test/python/api/search/test_postcode_parser.py @@ -68,7 +68,7 @@ def mk_query(inp): phrase_split = re.split(r"([ ,:'-])", inp) for word, breakchar in zip_longest(*[iter(phrase_split)]*2, fillvalue='>'): - query.add_node(breakchar, PHRASE_ANY, 0.1, word, word) + query.add_node(breakchar, PHRASE_ANY, word, word) return query @@ -153,9 +153,9 @@ def test_postcode_inside_postcode_phrase(pc_config): query = QueryStruct([]) query.nodes[-1].ptype = PHRASE_STREET - query.add_node(',', PHRASE_STREET, 0.1, '12345', '12345') - query.add_node(',', PHRASE_POSTCODE, 0.1, 'xz', 'xz') - query.add_node('>', PHRASE_POSTCODE, 0.1, '4444', '4444') + query.add_node(',', PHRASE_STREET, '12345', '12345') + query.add_node(',', PHRASE_POSTCODE, 'xz', 'xz') + query.add_node('>', PHRASE_POSTCODE, '4444', '4444') assert parser.parse(query) == {(2, 3, '4444')} @@ -165,7 +165,7 @@ def test_partial_postcode_in_postcode_phrase(pc_config): query = QueryStruct([]) query.nodes[-1].ptype = PHRASE_POSTCODE - query.add_node(' ', PHRASE_POSTCODE, 0.1, '2224', '2224') - query.add_node('>', PHRASE_POSTCODE, 0.1, '12345', '12345') + query.add_node(' ', PHRASE_POSTCODE, '2224', '2224') + query.add_node('>', PHRASE_POSTCODE, '12345', '12345') assert not parser.parse(query) diff --git a/test/python/api/search/test_query.py b/test/python/api/search/test_query.py index 09f25f8e..354d8655 100644 --- a/test/python/api/search/test_query.py +++ b/test/python/api/search/test_query.py @@ -51,15 +51,15 @@ def test_token_range_unimplemented_ops(): def test_query_extract_words(): q = nq.QueryStruct([]) - q.add_node(nq.BREAK_WORD, nq.PHRASE_ANY, 0.1, '12', '') - q.add_node(nq.BREAK_TOKEN, nq.PHRASE_ANY, 0.0, 'ab', '') - q.add_node(nq.BREAK_PHRASE, nq.PHRASE_ANY, 0.0, '12', '') - q.add_node(nq.BREAK_END, nq.PHRASE_ANY, 0.5, 'hallo', '') + q.add_node(nq.BREAK_WORD, nq.PHRASE_ANY, '12', '') + q.add_node(nq.BREAK_TOKEN, nq.PHRASE_ANY, 'ab', '') + q.add_node(nq.BREAK_PHRASE, nq.PHRASE_ANY, '12', '') + q.add_node(nq.BREAK_END, nq.PHRASE_ANY, 'hallo', '') - words = q.extract_words(base_penalty=1.0) + words = q.extract_words() assert set(words.keys()) \ == {'12', 'ab', 'hallo', '12 ab', 'ab 12', '12 ab 12'} - assert sorted(words['12']) == [nq.TokenRange(0, 1, 1.0), nq.TokenRange(2, 3, 1.0)] - assert words['12 ab'] == [nq.TokenRange(0, 2, 1.1)] - assert words['hallo'] == [nq.TokenRange(3, 4, 1.0)] + assert sorted(words['12']) == [nq.TokenRange(0, 1), nq.TokenRange(2, 3)] + assert words['12 ab'] == [nq.TokenRange(0, 2)] + assert words['hallo'] == [nq.TokenRange(3, 4)] diff --git a/test/python/api/search/test_token_assignment.py b/test/python/api/search/test_token_assignment.py index 2ffba335..e45352d7 100644 --- a/test/python/api/search/test_token_assignment.py +++ b/test/python/api/search/test_token_assignment.py @@ -12,8 +12,8 @@ import pytest from nominatim_api.search.query import QueryStruct, Phrase, TokenRange, Token import nominatim_api.search.query as qmod from nominatim_api.search.token_assignment import (yield_token_assignments, - TokenAssignment, - PENALTY_TOKENCHANGE) + TokenAssignment) +from nominatim_api.search.icu_tokenizer import PENALTY_BREAK class MyToken(Token): @@ -28,6 +28,7 @@ def make_query(*args): for btype, ptype, _ in args[1:]: q.add_node(btype, ptype) + q.nodes[-1].penalty = PENALTY_BREAK[btype] q.add_node(qmod.BREAK_END, qmod.PHRASE_ANY) for start, t in enumerate(args): @@ -94,7 +95,7 @@ def test_multiple_simple_words(btype): (btype, qmod.PHRASE_ANY, [(2, qmod.TOKEN_PARTIAL)]), (btype, qmod.PHRASE_ANY, [(3, qmod.TOKEN_PARTIAL)])) - penalty = PENALTY_TOKENCHANGE[btype] + penalty = PENALTY_BREAK[btype] check_assignments(yield_token_assignments(q), TokenAssignment(name=TokenRange(0, 3)), -- 2.39.5