This commit is contained in:
Team3
2026-07-26 16:00:49 +02:00
parent 714307f93e
commit 6b155affbd
12 changed files with 629 additions and 388 deletions

View File

@@ -11,11 +11,10 @@ Nutzer können sich anmelden.
----------------------------------------
<!-- funktion -->
Anmeldung mit E-Mail
<!-- regel -->
Passwort nie loggen
<!-- regel -->
Sperre nach 5 Fehlversuchen
<!-- flow -->
<!-- regeln -->
- Passwort nie loggen
- Sperre nach 5 Fehlversuchen
<!-- testen -->
- Formular öffnen
- Daten eingeben
<!-- funktion -->
@@ -31,16 +30,33 @@ def test_alle_sektionen():
assert s["funktionen"] == [
{
"text": "Anmeldung mit E-Mail",
"regeln": ["Passwort nie loggen", "Sperre nach 5 Fehlversuchen"],
"flow": "- Formular öffnen\n- Daten eingeben",
"ziel": "",
"regeln": "- Passwort nie loggen\n- Sperre nach 5 Fehlversuchen",
"testen": "- Formular öffnen\n- Daten eingeben",
},
{"text": "Abmeldung", "regeln": [], "flow": ""},
{"text": "Abmeldung", "ziel": "", "regeln": "", "testen": ""},
]
def test_mehrere_flow_bloecke_werden_verbunden():
s = zerlege("<!-- funktion -->\nX\n<!-- flow -->\n- a\n<!-- flow -->\n- b\n")
assert s["funktionen"][0]["flow"] == "- a\n- b"
def test_ziel_nach_funktion_gehoert_zur_funktion():
s = zerlege("<!-- ziel -->\nKarte\n<!-- funktion -->\nX\n<!-- ziel -->\nFunktion\n")
assert s["ziel"] == "Karte"
assert s["funktionen"][0]["ziel"] == "Funktion"
def test_mehrere_testen_bloecke_werden_verbunden():
s = zerlege("<!-- funktion -->\nX\n<!-- testen -->\n- a\n<!-- testen -->\n- b\n")
assert s["funktionen"][0]["testen"] == "- a\n- b"
def test_alter_flow_marker_wird_gelesen():
s = zerlege("<!-- funktion -->\nX\n<!-- flow -->\n- a\n")
assert s["funktionen"][0]["testen"] == "- a"
def test_alte_regel_bloecke_werden_zusammengefuehrt():
s = zerlege("<!-- funktion -->\nX\n<!-- regel -->\na\n<!-- regel -->\nb\n")
assert s["funktionen"][0]["regeln"] == "a\nb"
def test_trenner_zeilen_werden_ignoriert():
@@ -59,10 +75,16 @@ def test_unbekannter_marker_landet_in_sonstiges():
assert s["sonstiges"] == "Geheim"
def test_regel_und_flow_ohne_funktion_landen_in_sonstiges():
s = zerlege("<!-- regel -->\nverwaist\n<!-- flow -->\n- auch\n")
def test_regeln_vor_erster_funktion_gehoeren_zur_karte():
s = zerlege("<!-- regeln -->\n- karte\n<!-- funktion -->\nX\n<!-- regeln -->\n- funktion\n")
assert s["regeln"] == "- karte"
assert s["funktionen"][0]["regeln"] == "- funktion"
def test_testen_ohne_funktion_landet_in_sonstiges():
s = zerlege("<!-- testen -->\n- verwaist\n")
assert s["funktionen"] == []
assert s["sonstiges"] == "verwaist\n\n- auch"
assert s["sonstiges"] == "- verwaist"
def test_doppelter_marker_wird_konkateniert():
@@ -72,7 +94,7 @@ def test_doppelter_marker_wird_konkateniert():
def test_leerer_text():
s = zerlege("")
assert s == {"titel": "", "art": "kern", "ziel": "", "funktionen": [], "sonstiges": ""}
assert s == {"titel": "", "art": "kern", "ziel": "", "regeln": "", "funktionen": [], "sonstiges": ""}
def test_art_optional():