From 29087319e66619faf0ccc5b3a576fa2557b5fae3 Mon Sep 17 00:00:00 2001 From: Marcel Date: Mon, 25 May 2026 14:07:20 +0200 Subject: [PATCH] test(normalizer): cover AliasIndex unambiguous first-name resolution Co-Authored-By: Claude Opus 4.7 --- tools/import-normalizer/tests/test_persons.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/tools/import-normalizer/tests/test_persons.py b/tools/import-normalizer/tests/test_persons.py index a5c9b0cf..e680f0d4 100644 --- a/tools/import-normalizer/tests/test_persons.py +++ b/tools/import-normalizer/tests/test_persons.py @@ -71,3 +71,14 @@ def test_alias_index_suggestion(): idx = persons.AliasIndex(people) sid, score = idx.suggest("Hans Wittkop") # typo 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"