fix: Umlaut-Berichtigung erfasst Komposita und Beugungen, Bezeichner bleiben

Wortstämme aus 252 gespeicherten Läufen, jeder gegen ngerman/american-english
geprüft; Wörter mit _ oder Binnenmajuskel gelten als Bezeichner.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Dieter Schlüter 2026-09-17 14:26:50 +02:00
commit dd7206aee5

View file

@ -293,3 +293,19 @@ def test_numbers_and_words_are_not_mistaken_for_units():
from solving.solver_stage import check_answer_units
run = _run_with_answer("Teil 2 zeigt: x1 = 6, 3 Maschinen, Stufe 2a, am Tag 3 sind alle 5 Aufträge erledigt.")
assert check_answer_units(run, "Plane die Aufträge.") == []
def test_repair_reaches_compounds_and_inflections():
# beobachtet in Portfolio Nr. 2 und nur_formeln (17.09.2026), Stämme gegen ngerman geprüft
from solving.solver_stage import fix_transliterations
text = "Aufgefuehrt: Beitraege, Jahresvolatilitaet, Gesamtstueckzahl, zulaessige Kardinalitaet, vollstaendig."
assert fix_transliterations(text) == ("Aufgeführt: Beiträge, Jahresvolatilität, Gesamtstückzahl, "
"zulässige Kardinalität, vollständig.")
def test_repair_leaves_correct_words_and_identifiers_alone():
from solving.solver_stage import fix_transliterations
richtig = "Die neue Dauer, Quelle, aktuell, Kostenkoeffizient, Bauer, streuen, blue."
assert fix_transliterations(richtig) == richtig
namen = "Bindend: Spaet_zu_Frueh_Verbot und KeinFruehNachSpaet sowie Kapazitaet_M1."
assert fix_transliterations(namen) == namen