diff --git a/Lisp/vf_linienzug.lsp b/Lisp/vf_linienzug.lsp index 447fffa..0dc0449 100644 --- a/Lisp/vf_linienzug.lsp +++ b/Lisp/vf_linienzug.lsp @@ -5279,11 +5279,13 @@ (t (ssg-textf "vfl-vorschlag-nur-auf" (list (rtos hoehe-auf 2 0)))))))) (princ (ssg-textf "vfl-fehler-rest-nicht-baubar-ohne-vorschlag" (list (rtos hn 2 0) (rtos dL 2 0) (rtos dH 2 0) richtn)))) - ;; Kurze 2-Punkte-Zusammenfassung zusaetzlich als Alert-Popup (nicht - ;; nur im Konsolen-Log) - zweiter Punkt nur, wenn Stufe 2 ueberhaupt + ;; Kurze 2-Punkte-Zusammenfassung zusaetzlich als Meldung (nicht nur + ;; im Konsolen-Log) - zweiter Punkt nur, wenn Stufe 2 ueberhaupt ;; versucht wurde (siehe *vfl-stufe2-min*-vorschlag*, von - ;; vfl-stufe2-diagnose gesetzt). - (alert + ;; vfl-stufe2-diagnose gesetzt). vfl-meldung statt alert: im Bau-Pfad + ;; darf keine modale Box einen Batch-/Headless-Lauf blockieren (zeigt + ;; das Alert nur bei erlaubter GUI, sonst princ - siehe vfl-meldung). + (vfl-meldung (strcat (ssg-textf "vfl-alert-kettenende-p1" (list (rtos dL 2 0) (rtos dH 2 0) richtn)) (cond diff --git a/tests/test_export_separatorliste.py b/tests/test_export_separatorliste.py index 5c279fd..a54b621 100644 --- a/tests/test_export_separatorliste.py +++ b/tests/test_export_separatorliste.py @@ -99,10 +99,15 @@ class TestSeparatorlisteMerkmal: write_separatorliste_merkmale(items, sep_kette_by_key) + # write_separatorliste_merkmale fuellt seit dem Umbau das Top-Level-Feld + # item["trackids"] (CSV-Spalte "TrackIds") mit AS-Ende + Separatoren + + # ES-Ende in Baureihenfolge - NICHT mehr das Merkmal "Separatorlist" mit + # nur den SEP-Eintraegen. AS/ES bekommen ueber build_strecke_schleus_items + # eigene TeileIds (hier 0054/0055), die SEP-Proxies sind 0052/0053. strecke = next(it for it in items if it.get("teileid") == "0010") - assert strecke["merkmale"]["Separatorlist"] == "0052, 0053", ( - f'Separatorlist = {strecke["merkmale"].get("Separatorlist")!r}, ' - f'erwartet "0052, 0053" (Baureihenfolge, AS/ES ausgeschlossen)') + assert strecke.get("trackids") == "0054, 0052, 0053, 0055", ( + f'trackids = {strecke.get("trackids")!r}, ' + f'erwartet "0054, 0052, 0053, 0055" (AS, SEP, SEP, ES in Baureihenfolge)') def test_vertauschte_proxy_reihenfolge_in_items_aendert_nichts(self): """Die Reihenfolge in "items" (bzw. in welcher Reihenfolge die Proxy- @@ -127,15 +132,16 @@ class TestSeparatorlisteMerkmal: write_separatorliste_merkmale(items, sep_kette_by_key) strecke = next(it for it in items if it.get("teileid") == "0010") - assert strecke["merkmale"]["Separatorlist"] == "0052, 0053" + assert strecke.get("trackids") == "0054, 0052, 0053, 0055" def test_strecke_ohne_sepliste_bleibt_unveraendert(self): """Altbestand ohne "sepliste"-XDATA darf kein leeres/kaputtes - Separatorlist-Merkmal bekommen - das Merkmal fehlt einfach.""" + TrackIds-Feld bekommen - das Feld fehlt einfach.""" strecke = { "teileart": "ILS 2.0 Strecke", "teileid": "0020", "merkmale": {"Anzahl_Separator": "0", "Anzahl_Scanner": "0"}, } write_separatorliste_merkmale([strecke], {}) + assert "trackids" not in strecke assert "Separatorlist" not in strecke["merkmale"] diff --git a/tests/test_vf_headless_statisch.py b/tests/test_vf_headless_statisch.py index 29ba88a..f098990 100644 --- a/tests/test_vf_headless_statisch.py +++ b/tests/test_vf_headless_statisch.py @@ -144,7 +144,7 @@ ALERT_ERLAUBT = { "vfl-dlg-modus": 1, # dcl/vfl_edit.dcl fehlt "vfl-dlg-position": 1, # dito "vfl-edit-glied": 1, # "Glied nicht einzeln editierbar" - "vfl-edit-ent": 1, # "kein Journal am Block" + "vfl-edit-ent": 2, # "kein Journal am Block" + alte OBJS-linienzug2 abweisen } @@ -181,21 +181,40 @@ EINGABE_ERLAUBT = { "vflw-wahl-impl": {"new_dialog": 1}, "vflw-gruppe-as-impl": {"new_dialog": 1}, "vflw-gruppe-gefaelle-impl": {"new_dialog": 1}, - "vflw-gruppe-horizontal-impl": {"new_dialog": 1}, "vflw-gruppe-punkt-hoehe-impl": {"new_dialog": 1}, "vflw-gruppe-variokurve-impl": {"new_dialog": 1}, "vflw-gruppe-winkel-seite-impl": {"new_dialog": 1}, "vflw-gruppe-ziel-hoehe-impl": {"new_dialog": 1}, + "vflw-gruppe-gf-laenge-modus-impl": {"new_dialog": 1}, + "vflw-gruppe-gf-steigend-untermodus-impl": {"new_dialog": 1}, + "vflw-gruppe-gf-verteilung-impl": {"new_dialog": 1}, + "vflw-gruppe-ist-kettenende-2opt-impl": {"new_dialog": 1}, + "vflw-gruppe-ja-nein-impl": {"new_dialog": 1}, + "vflw-gruppe-naechstes-element-impl": {"new_dialog": 1}, + "vflw-gruppe-naechstes-im-vf-impl": {"new_dialog": 1}, + "vflw-gruppe-qc-winkel-impl": {"new_dialog": 1}, + "vflw-gruppe-richtung-impl": {"new_dialog": 1}, + "vflw-gruppe-sep-gf-impl": {"new_dialog": 1}, + "vflw-gruppe-startpunkt-typ-impl": {"new_dialog": 1}, + "vflw-gruppe-winkel-hoehen-impl": {"new_dialog": 1}, + "vflw-gruppe-winkel-wahl-impl": {"new_dialog": 1}, + "vflw-m2-lauf-anfang-impl": {"new_dialog": 1}, + "vflw-m2-lauf-abschluss-impl": {"new_dialog": 1}, "vflw-seg-bogen-impl": {"new_dialog": 1}, "vflw-seg-linie-m2-impl": {"new_dialog": 1}, "vflw-seg-linie-m3-impl": {"new_dialog": 1}, + # --- Frage-Dialoge (Ja/Nein bzw. Menue-Gruppen, kein roher get*-Aufruf) --- + "vfl-frage-ist-endpunkt": {"new_dialog": 1}, + "vfl-frage-ist-kettenende": {"new_dialog": 1}, # --- Edit-Dialoge: nur per Doppelklick erreichbar --- "vfl-dlg-modus": {"new_dialog": 1, "alert": 1}, "vfl-dlg-position": {"new_dialog": 1, "alert": 1}, "vfl-glied-as-es-dialog": {"new_dialog": 1, "alert": 1}, "vfl-glied-gf-bogen-dialog": {"new_dialog": 1, "alert": 1}, "vfl-glied-vario-dialog": {"new_dialog": 1, "alert": 1}, - "vfl-edit-ent": {"alert": 1}, + # vfl-edit-ent: alert 1 = "kein Journal", alert 2 = alte OBJS-linienzug2- + # Bloecke abweisen (harter Schnitt, vfl-edit-m2-obsolet). + "vfl-edit-ent": {"alert": 2}, "vfl-edit-glied": {"alert": 1}, "vfl-meldung": {"alert": 1}, # --- reine Benutzer-Befehle (kein Bau-Pfad, nicht journalisiert) --- @@ -205,6 +224,7 @@ EINGABE_ERLAUBT = { "c:Vario_Kette_Merge": {"entsel": 1}, # --- Zeichnung durchsuchen, keine Benutzerfrage --- "vfl-kette-sammle-alle": {"ssget": 1}, + "vfl-ks-aus-hz-an-punkt": {"ssget": 1}, }