Oberfläche für Standard von Varioförder und Gefällestrecke bauen lassen

This commit is contained in:
2026-07-20 15:39:17 +02:00
parent 27ab8b4875
commit 5c28db9e91
14 changed files with 1285 additions and 143 deletions
+23 -5
View File
@@ -82,14 +82,30 @@ class TestGefaellestreckeStatus:
)
def test_alle_modus1_gebaut(self):
"""Alle vier Modus-1-Richtungen (hz=0/90/180/270) muessen GEBAUT sein."""
"""Alle Modus-1-Testfaelle (Richtungs-Sweep + 30-Grad-Variante) muessen GEBAUT sein."""
erwartet = [t["test_id"] for t in self.tests if t["modus"] == 1]
modus1 = [r for r in self.results if r["modus"] == 1]
assert len(modus1) == 4, f"Erwartet 4 Modus-1-Testfaelle, gefunden {len(modus1)}"
assert len(modus1) == len(erwartet), (
f"Erwartet {len(erwartet)} Modus-1-Testfaelle, gefunden {len(modus1)}"
)
for r in modus1:
assert r["status"] == "GEBAUT", (
f'{r["test_id"]}: erwartet GEBAUT, ist "{r["status"]}"'
)
def test_modus1_30grad_gebaut(self):
"""Die per Dialog waehlbare 30-Grad-Element-Variante (M1_w30) muss GEBAUT sein."""
r = self.results_by_id.get("M1_w30")
if r is None:
pytest.skip("M1_w30 nicht in Ergebnissen (aeltere Testdaten?)")
assert r["status"] == "GEBAUT", (
f'M1_w30: erwartet GEBAUT, ist "{r["status"]}"'
)
assert r.get("as_winkel") == "30" and r.get("es_winkel") == "30", (
f'M1_w30: Element-Winkel sollten 30 sein, sind '
f'AS={r.get("as_winkel")} ES={r.get("es_winkel")}'
)
def test_modus2_und_modus3_gebaut(self):
"""Modus 2 und Modus 3 muessen GEBAUT sein."""
for test_id in ("M2_hz000", "M3_hz270"):
@@ -179,10 +195,12 @@ class TestGefaellestreckeModusKonsistenz:
self.tests_by_id = {t["test_id"]: t for t in self.testdata if "test_id" in t}
def test_modus1_richtungsunabhaengig(self):
"""Alle vier Modus-1-Richtungen muessen dieselbe Hoehe/Winkel liefern,
da nur die Fahrtrichtung (hz), nicht die Geometrie variiert."""
"""Die vier Modus-1-Richtungen (90-Grad-Elemente) muessen dieselbe Hoehe/Winkel
liefern, da nur die Fahrtrichtung (hz), nicht die Geometrie variiert. Die
30-Grad-Variante (M1_w30) ist bewusst ausgenommen (andere Element-Masse)."""
modus1 = [r for r in self.results
if r["modus"] == 1 and r["status"] == "GEBAUT"]
if r["modus"] == 1 and r["status"] == "GEBAUT"
and r.get("as_winkel", "90") == "90"]
assert len(modus1) >= 2, "Zu wenige Modus-1-Ergebnisse fuer Vergleich"
referenz = modus1[0]
for r in modus1[1:]: