diff --git a/README.md b/README.md index 6ab9d73..1219376 100644 --- a/README.md +++ b/README.md @@ -86,7 +86,7 @@ Multi-Domain Task Force ``` Ersetzungen ohne Treffer werden gemeldet (Tippfehler im Glossar). -`ramstein.glossar.txt` ist ein Beispiel für eine Rede über die US Air Base Ramstein. +`ramstein.glossar.txt` und `magdeburg.glossar.txt` sind Beispiele zu den Testdaten. ## Testdaten @@ -95,7 +95,7 @@ Ersetzungen ohne Treffer werden gemeldet (Tippfehler im Glossar). für das Programm): - `ramstein.de.*`: Rede über die US Air Base Ramstein (mit Glossar `ramstein.glossar.txt`) -- `magdeburg.de-orig.*`: Rede in Magdeburg (noch ohne Glossar) +- `magdeburg.de-orig.*`: Rede in Magdeburg (mit Glossar `magdeburg.glossar.txt`) ```bash ./vtt2txt.py -i "testdaten/*.vtt" # erzeugt alle .txt neu @@ -112,8 +112,8 @@ python3 -m pytest ``` Die Tests brauchen kein Ollama: Modellaufrufe werden durch Fakes ersetzt. Geprüft -werden Abschnittsbildung, Glossar (inkl. „jede Ersetzung in `ramstein.glossar.txt` -trifft die Testdaten“), Streaming-Auswertung, Absatzgliederung (Text bleibt +werden Abschnittsbildung, Glossar (inkl. „jede Ersetzung in den Beispiel-Glossaren +trifft ihre Testdaten“), Streaming-Auswertung, Absatzgliederung (Text bleibt unverändert, 3–10 Sätze), Zwischenspeicher/Fortsetzen und die Kommandozeile. `tests/test_vtt2txt.py` prüft die VTT-Umwandlung: jede `.vtt` in `testdaten/` ergibt genau die zugehörige `.txt`, echte Wiederholungen bleiben erhalten, diff --git a/tests/test_rede_korrigieren.py b/tests/test_rede_korrigieren.py index f34c079..8215453 100644 --- a/tests/test_rede_korrigieren.py +++ b/tests/test_rede_korrigieren.py @@ -107,10 +107,15 @@ def test_build_system_appends_terms(): assert "- Kreml\n- Egon Bahr" in system -def test_sample_glossary_replacements_all_match(capsys): - """Every rule in ramstein.glossar.txt must hit the sample transcript.""" - _, replacements = rk.read_glossary(GLOSSARY) - rk.apply_replacements(flat(SAMPLE.read_text(encoding="utf-8")), replacements) +@pytest.mark.parametrize("glossary, sample", [ + ("ramstein.glossar.txt", "ramstein.de.txt"), + ("magdeburg.glossar.txt", "magdeburg.de-orig.txt"), +]) +def test_sample_glossary_replacements_all_match(capsys, glossary, sample): + """Every rule in a sample glossary must hit its sample transcript.""" + _, replacements = rk.read_glossary(REPO / glossary) + text = (REPO / "testdaten" / sample).read_text(encoding="utf-8") + rk.apply_replacements(flat(text), replacements) assert "ohne Treffer" not in capsys.readouterr().out