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 <noreply@anthropic.com>
This commit is contained in:
Dieter Schlüter 2026-10-10 17:52:56 +02:00
commit 8e1945e406
2 changed files with 15 additions and 6 deletions

View file

@ -90,13 +90,15 @@ Ersetzungen ohne Treffer werden gemeldet (Tippfehler im Glossar).
## Testdaten ## 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.*`: Rede über die US Air Base Ramstein (mit Glossar `ramstein.glossar.txt`)
- `ramstein.de.txt`: daraus gewonnener Rohtext (Eingabe für das Programm) - `magdeburg.de-orig.*`: Rede in Magdeburg (noch ohne Glossar)
```bash ```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 ./rede_korrigieren.py -i testdaten/ramstein.de.txt -g ramstein.glossar.txt
# → testdaten/ramstein.de.korrigiert.txt (nicht versioniert) # → 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` werden Abschnittsbildung, Glossar (inkl. „jede Ersetzung in `ramstein.glossar.txt`
trifft die Testdaten“), Streaming-Auswertung, Absatzgliederung (Text bleibt trifft die Testdaten“), Streaming-Auswertung, Absatzgliederung (Text bleibt
unverändert, 3–10 Sätze), Zwischenspeicher/Fortsetzen und die Kommandozeile. unverändert, 3–10 Sätze), Zwischenspeicher/Fortsetzen und die Kommandozeile.
`tests/test_vtt2txt.py` prüft die VTT-Umwandlung: `testdaten/ramstein.de.vtt` `tests/test_vtt2txt.py` prüft die VTT-Umwandlung: jede `.vtt` in `testdaten/`
ergibt genau `testdaten/ramstein.de.txt`, echte Wiederholungen bleiben erhalten, ergibt genau die zugehörige `.txt`, echte Wiederholungen bleiben erhalten,
dazu Muster, Ausgabeverzeichnis und Fehlerfälle. dazu Muster, Ausgabeverzeichnis und Fehlerfälle.
## Zwischenstände ## Zwischenstände

View file

@ -82,6 +82,13 @@ def test_main_default_output_matches_sample(sample_copy, monkeypatch, capsys):
assert f"Erstellt: {target}" in capsys.readouterr().out 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): def test_main_multiple_inputs(sample_copy, monkeypatch):
second = sample_copy.with_name("rede.en.vtt") second = sample_copy.with_name("rede.en.vtt")
shutil.copy(sample_copy, second) shutil.copy(sample_copy, second)