update
This commit is contained in:
@@ -166,3 +166,96 @@ def test_gemessene_befunde_haengen_am_ausschnitt(datenordner):
|
||||
text = pruefung.inhalt(karte, befunde)
|
||||
assert "Gemessen, bitte neu schreiben:" in text
|
||||
assert "Mehr als 3 Wörter" in text
|
||||
|
||||
|
||||
def test_funktionstitel_braucht_ein_verb():
|
||||
"""Ohne Verb steht dort ein Bereich oder ein Zustand — nichts Testbares."""
|
||||
for titel in ("Galerie im Modal", "Preis aktualisiert", "In den Warenkorb",
|
||||
"Modal tastaturgesteuert"):
|
||||
assert _probleme(_pruefe("funktion", "titel", titel)) \
|
||||
== ["Kein Verb im Infinitiv am Ende"], titel
|
||||
|
||||
|
||||
def test_gute_funktionstitel_bleiben_unberuehrt():
|
||||
for titel in ("Feature anlegen", "Anzeigemodus umschalten", "Option wählen",
|
||||
"Nächsten Rückschritt anzeigen", "Karten prüfen", "Stand umschalten",
|
||||
"Projekt aufrufen", "Bildergalerie bedienen", "PDF hochladen"):
|
||||
assert _pruefe("funktion", "titel", titel) == [], titel
|
||||
|
||||
|
||||
def test_kartentitel_darf_ohne_verb_stehen():
|
||||
"""Eine Karte ist ein Gegenstand, keine Handlung."""
|
||||
assert _pruefe("feature", "titel", "Karten prüfen") == []
|
||||
assert _pruefe("feature", "titel", "Darkmode") == []
|
||||
|
||||
|
||||
ABLAUF = "- Vollmodus öffnen\n- LMB auf Regeln\n- Text ändern\n- Regeln angepasst"
|
||||
|
||||
|
||||
def test_ein_ablauf_geht_durch():
|
||||
assert _pruefe("funktion", "testen", ABLAUF) == []
|
||||
|
||||
|
||||
def test_zweiter_ablauf_wird_gemeldet():
|
||||
"""So entstand „Bildergalerie bedienen": blättern, Miniatur, Großansicht in einem."""
|
||||
zwei = ("- Zurück-Button klicken\n- Vorheriges Bild erscheint\n"
|
||||
"- Miniaturbild klicken\n- Zugehöriges Bild erscheint")
|
||||
b = _pruefe("funktion", "testen", zwei)
|
||||
assert _probleme(b) == ["Zweiter Ablauf in einer Funktion"]
|
||||
assert b[0]["original"] == "Miniaturbild klicken"
|
||||
|
||||
|
||||
def test_nominalstil_ist_eine_handlung():
|
||||
"""„Bestätigen im Modal" hat das Verb vorn — sonst gälte es als Ergebnis."""
|
||||
text = ("- RMB auf Featurecard\n- Klick auf \"Feature entfernen\"\n"
|
||||
"- Bestätigen im Modal\n- Feature entfernt")
|
||||
assert _pruefe("funktion", "testen", text) == []
|
||||
|
||||
|
||||
def test_mehrzahl_auf_en_ist_kein_verb():
|
||||
"""Deutsche Mehrzahl endet auch auf -en — nur Anfang und Ende zählen."""
|
||||
text = "- LMB auf Icon\n- Fehlerhafte Karten rot markiert"
|
||||
assert _pruefe("funktion", "testen", text) == []
|
||||
|
||||
|
||||
def test_zeilenfehler_haben_vorrang():
|
||||
"""Erst die Zeilen in Ordnung bringen; zwei Vorschläge je Feld wären nicht
|
||||
unabhängig anwendbar."""
|
||||
text = "- Auch klicken.\n- Ergebnis da\n- Weiter klicken"
|
||||
assert _probleme(_pruefe("funktion", "testen", text)) \
|
||||
== ["Satzzeichen am Zeilenende, Füllwort „auch“"]
|
||||
|
||||
|
||||
def test_funktion_ohne_jedes_feld_ist_leer():
|
||||
"""Ein bloßer Titel beschreibt nichts — der Prüfer stülpt ihn über alles."""
|
||||
b = struktur.befunde("funktion", {"titel": "Modal steuern", "ziel": "",
|
||||
"regeln": "", "testen": ""})
|
||||
assert _probleme(b) == ["Funktion ohne Ziel, Regeln und Testen"]
|
||||
|
||||
|
||||
def test_ein_einziges_feld_genuegt():
|
||||
for feld in ("ziel", "regeln", "testen"):
|
||||
felder = {"titel": "Modal steuern", "ziel": "", "regeln": "", "testen": ""}
|
||||
felder[feld] = "Etwas tun" if feld == "ziel" else "- Etwas tun"
|
||||
assert struktur.befunde("funktion", felder) == [], feld
|
||||
|
||||
|
||||
def test_einzelnes_feld_loest_nichts_aus():
|
||||
"""Beim Prüfen eines Feldes sagt das Fehlen der anderen nichts."""
|
||||
assert struktur.befunde("funktion", {"titel": "Modal steuern"}) == []
|
||||
|
||||
|
||||
def test_kartenebene_darf_leer_sein():
|
||||
assert struktur.befunde("feature", {"titel": "Darkmode", "badge": "kern",
|
||||
"ziel": "", "regeln": ""}) == []
|
||||
|
||||
|
||||
def test_platzhalter_ist_kein_inhalt():
|
||||
"""`<testschritt>` erfüllt jede Formregel und sagt trotzdem nichts."""
|
||||
assert struktur._umschreiben("funktion", "testen", "<testschritt>")
|
||||
assert struktur._umschreiben("funktion", "regeln", "Noch offen ...")
|
||||
assert struktur._umschreiben("funktion", "regeln", "TODO klären")
|
||||
|
||||
|
||||
def test_kleiner_als_ist_kein_platzhalter():
|
||||
assert not struktur._umschreiben("funktion", "regeln", "Wert 3 < 5")
|
||||
|
||||
Reference in New Issue
Block a user