test(normalizer): cover AliasIndex unambiguous first-name resolution

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
Marcel
2026-05-25 14:07:20 +02:00
parent 53457d9319
commit 29087319e6

View File

@@ -71,3 +71,14 @@ def test_alias_index_suggestion():
idx = persons.AliasIndex(people) idx = persons.AliasIndex(people)
sid, score = idx.suggest("Hans Wittkop") # typo sid, score = idx.suggest("Hans Wittkop") # typo
assert sid == people[0].person_id and score >= config.FUZZY_SUGGEST_THRESHOLD assert sid == people[0].person_id and score >= config.FUZZY_SUGGEST_THRESHOLD
def test_alias_index_first_name_only_when_unambiguous():
people = persons.parse_register([
{"last_name": "Cram", "first_name": "Clara"},
{"last_name": "de Gruyter", "first_name": "Walter"},
{"last_name": "Cram", "first_name": "Walter"}, # 2nd "Walter" -> first name ambiguous
])
idx = persons.AliasIndex(people)
assert idx.resolve("Clara") == people[0].person_id # unique first name resolves
assert idx.resolve("Walter") is None # ambiguous first name does NOT resolve
assert idx.display(people[0].person_id) == "Clara Cram"