From 8e1945e40662e6db096144c62d8fcb266ec9db3f Mon Sep 17 00:00:00 2001 From: dschlueter Date: Sat, 10 Oct 2026 17:52:56 +0200 Subject: [PATCH] test: Testdaten (Magdeburg-Rede) ins Repo aufnehmen - testdaten/magdeburg.de-orig.vtt (YouTube-Auto-Untertitel) und der daraus mit vtt2txt.py erzeugte Rohtext magdeburg.de-orig.txt - Test: jede Beispiel-VTT ergibt genau ihre .txt Co-Authored-By: Claude Opus 5.5 --- README.md | 14 ++++++++------ tests/test_vtt2txt.py | 7 +++++++ 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index de9f7bd..6ab9d73 100644 --- a/README.md +++ b/README.md @@ -90,13 +90,15 @@ Ersetzungen ohne Treffer werden gemeldet (Tippfehler im Glossar). ## Testdaten -`testdaten/` enthält eine Rede über die US Air Base Ramstein: +`testdaten/` enthält zwei Reden, jeweils als automatische YouTube-Untertitel +(`.vtt`, Original) und daraus mit `vtt2txt.py` gewonnener Rohtext (`.txt`, Eingabe +für das Programm): -- `ramstein.de.vtt`: automatische YouTube-Untertitel (Original) -- `ramstein.de.txt`: daraus gewonnener Rohtext (Eingabe 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) ```bash -./vtt2txt.py -i testdaten/ramstein.de.vtt # erzeugt testdaten/ramstein.de.txt neu +./vtt2txt.py -i "testdaten/*.vtt" # erzeugt alle .txt neu ./rede_korrigieren.py -i testdaten/ramstein.de.txt -g ramstein.glossar.txt # → testdaten/ramstein.de.korrigiert.txt (nicht versioniert) ``` @@ -113,8 +115,8 @@ Die Tests brauchen kein Ollama: Modellaufrufe werden durch Fakes ersetzt. Geprü werden Abschnittsbildung, Glossar (inkl. „jede Ersetzung in `ramstein.glossar.txt` trifft die 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: `testdaten/ramstein.de.vtt` -ergibt genau `testdaten/ramstein.de.txt`, echte Wiederholungen bleiben erhalten, +`tests/test_vtt2txt.py` prüft die VTT-Umwandlung: jede `.vtt` in `testdaten/` +ergibt genau die zugehörige `.txt`, echte Wiederholungen bleiben erhalten, dazu Muster, Ausgabeverzeichnis und Fehlerfälle. ## Zwischenstände diff --git a/tests/test_vtt2txt.py b/tests/test_vtt2txt.py index f4357e7..6dbdc38 100644 --- a/tests/test_vtt2txt.py +++ b/tests/test_vtt2txt.py @@ -82,6 +82,13 @@ def test_main_default_output_matches_sample(sample_copy, monkeypatch, capsys): assert f"Erstellt: {target}" in capsys.readouterr().out +@pytest.mark.parametrize("name", ["ramstein.de", "magdeburg.de-orig"]) +def test_sample_vtt_gives_sample_txt(name): + vtt = (REPO / "testdaten" / f"{name}.vtt").read_text(encoding="utf-8-sig") + txt = (REPO / "testdaten" / f"{name}.txt").read_text(encoding="utf-8") + assert vtt2txt.vtt_to_lines(vtt) == txt.splitlines() + + def test_main_multiple_inputs(sample_copy, monkeypatch): second = sample_copy.with_name("rede.en.vtt") shutil.copy(sample_copy, second)