fix: Glossar-Entwurf – alles auskommentiert, Korrekturlauf gegen Rohtext
Erkenntnisse aus dem ersten echten Lauf (Lahnstein): - Auch „sichere“ Funde des Modells sind oft falsch (Deckmäntelchen → Deckmäntel, Lemmaß → Lebens); daher alle Einträge auskommentiert, sichere zuerst - -k verglich den Text nach dem Glossar mit einer Korrektur ohne Glossar und zeigte verdrehte Paare (Brandt → Brand). Jetzt Vergleich mit dem Rohtext; was ein Glossar-Eintrag ganz oder teilweise erledigt, entfällt - Satzzeichen am Rand werden entfernt, keine Doppelungen mehr Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
5a072deca3
commit
ec5f806a88
1 changed files with 69 additions and 27 deletions
|
|
@ -68,8 +68,10 @@ def test_main_filters_and_formats(raw_file, glossary, monkeypatch, capsys):
|
|||
|
||||
draft = raw_file.with_name("rede.glossar.entwurf.txt").read_text(encoding="utf-8")
|
||||
lines = draft.splitlines()
|
||||
assert "Grotzki => Grotzky" in lines
|
||||
# Everything is commented out, sure findings first
|
||||
assert "# ? Grotzki => Grotzky" in lines
|
||||
assert "# ? Ghard Kocher => Gerhard Kocher" in lines
|
||||
assert lines.index("# ? Grotzki => Grotzky") < lines.index("# ? Ghard Kocher => Gerhard Kocher")
|
||||
for dropped in ("Kremmel", "Nirgendwo", "gut =>", " => x"):
|
||||
assert dropped not in draft
|
||||
assert "Modell test:1b" in lines[0]
|
||||
|
|
@ -89,8 +91,9 @@ def test_main_filters_and_formats(raw_file, glossary, monkeypatch, capsys):
|
|||
def test_correction_changes_are_commented_out(raw_file, glossary, tmp_path, monkeypatch):
|
||||
monkeypatch.setattr(gv.urllib.request, "urlopen", fake_model(ENTRIES[:2]))
|
||||
corrected = tmp_path / "rede.korrigiert.txt"
|
||||
# Corrected without glossary: "Kremmel" became "Kremml" (a model error)
|
||||
corrected.write_text(
|
||||
"Der Kreml und Egon Bahr trafen Host Telchik. Die Rechtsstaat Bahn war gut. "
|
||||
"Der Kremml und Egon Bahr trafen Host Telchik. Die Rechtsstaat Bahn war gut. "
|
||||
"Herr Grotzky und Ghard Kocher sprachen über das gedeihliche Verhältnis.\n",
|
||||
encoding="utf-8",
|
||||
)
|
||||
|
|
@ -100,18 +103,23 @@ def test_correction_changes_are_commented_out(raw_file, glossary, tmp_path, monk
|
|||
lines = out.read_text(encoding="utf-8").splitlines()
|
||||
assert "# ? gedeiliche => gedeihliche (1×)" in lines
|
||||
assert "# ? Rechtsstaatbahn => Rechtsstaat Bahn (1×)" in lines
|
||||
# Already a model suggestion, already in the glossary: not listed twice
|
||||
assert "# ? Kremmel => Kremml (1×)" in lines
|
||||
# Already a model suggestion, or what the glossary does anyway: not listed
|
||||
assert not any("Grotzki => Grotzky (" in line for line in lines)
|
||||
assert not any("Egon Bar =>" in line for line in lines)
|
||||
assert not any("Bar => Bahr" in line for line in lines)
|
||||
|
||||
|
||||
def test_drafted_entries_are_valid_glossary(raw_file, monkeypatch, tmp_path):
|
||||
monkeypatch.setattr(gv.urllib.request, "urlopen", fake_model(ENTRIES[:2]))
|
||||
out = tmp_path / "entwurf.txt"
|
||||
run_main(monkeypatch, "-i", raw_file, "-o", out)
|
||||
terms, replacements = rk.read_glossary(out)
|
||||
assert terms == []
|
||||
assert replacements == [("Grotzki", "Grotzky")]
|
||||
assert rk.read_glossary(out) == ([], []) # nothing active
|
||||
|
||||
# Removing "# ? " turns the lines into glossary entries
|
||||
accepted = tmp_path / "glossar.txt"
|
||||
accepted.write_text(out.read_text(encoding="utf-8").replace("# ? ", ""), encoding="utf-8")
|
||||
_, replacements = rk.read_glossary(accepted)
|
||||
assert replacements == [("Grotzki", "Grotzky"), ("Ghard Kocher", "Gerhard Kocher")]
|
||||
|
||||
|
||||
def test_unreadable_model_answer(raw_file, monkeypatch, tmp_path, capsys):
|
||||
|
|
|
|||
Loading…
Reference in a new issue