fix(tests): Linienzug-Testdaten, HundM05-Zusatzobjekte, Nummernzaehler je Testzeichnung
- TEST_LINIENZUG: seit 1cc163d/cccd362 fragt Modus 1 nach der AS-Seite die optionale Zufuehrungsachse ab. Der Test mockt get* direkt (keine Replay-Queue), die neue Punktfrage verschluckte die naechste Antwort und der Lauf desynchronisierte (FEHLER, 21 Schritte offen). Neuer Schritt-Typ "point_none" (getpoint -> nil) und in beiden Linienzug-Testdaten nach der AS-Seite eingetragen. - test_hundm05.py: Zusatzobjekt-Ergebnisse filterten nur kind "kreisel" - Separatoren/Scanner/BTMT (kind "sensor") fehlten, test_je_objekt_ein_ ergebnis schlug faelschlich fehl. - SSG_RUN_ALL_TESTS: #VF/#GF/#Kreisel/#Eckrad_LetzteNr vor jedem Test auf 0. Der Lauf bleibt im Namensraum des Startdokuments, die Zaehler liefen sonst ueber alle Tests weiter (VF_5/Kreisel12 in frischer Zeichnung) und machten jeden Referenz-Diff von der Testreihenfolge abhaengig. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -59,7 +59,11 @@ def spec_ergebnisse(alle_ergebnisse):
|
||||
|
||||
@pytest.fixture(scope="module")
|
||||
def kreisel_ergebnisse(alle_ergebnisse):
|
||||
raus = [r for r in alle_ergebnisse if r.get("kind") == "kreisel"]
|
||||
"""Ergebnisse ALLER nachgetragenen Anlagenteile (Gegenstueck zu
|
||||
kreisel_objekte) - nicht nur kind "kreisel": Separatoren, Scanner und
|
||||
BTMT kommen als kind "sensor" zurueck. Der Name ist historisch."""
|
||||
raus = [r for r in alle_ergebnisse
|
||||
if r.get("kind", "linienzug") != "linienzug"]
|
||||
if not raus:
|
||||
pytest.skip("keine Kreisel-Ergebnisse (Lauf vor dem Nachtragen "
|
||||
"weiterer Anlagenteile?)")
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
;; "typ" ist ein Eingabe-Schritt in exakter Aufruf-Reihenfolge:
|
||||
;; {"typ":"point_abs","wert":[x,y,z]} absoluter Punkt (getpoint)
|
||||
;; {"typ":"point_rel","dL":..,"hz":..} Basispunkt + dL entlang Richtung hz
|
||||
;; {"typ":"point_none"} getpoint ohne Punkt (Enter -> nil)
|
||||
;; {"typ":"real","wert":..} getreal
|
||||
;; {"typ":"int","wert":..} getint
|
||||
;; {"typ":"string","wert":".."} getstring
|
||||
@@ -53,17 +54,23 @@
|
||||
;; Skript-Eintrag (P dL hz) -> Basispunkt + dL entlang Richtung hz (Grad),
|
||||
;; sodass die Projektion in vfl-neue-linie-messen
|
||||
;; exakt dL ergibt.
|
||||
;; Skript-Eintrag KEIN -> nil (Enter ohne Punkt, z.B. optionale
|
||||
;; AS-Zufuehrungsachse nicht gesetzt)
|
||||
(defun tlz-getpoint (a b / spec base rad)
|
||||
(setq spec (tlz-pop))
|
||||
(setq base (if (and a (listp a)) a '(0.0 0.0 0.0)))
|
||||
(if (and (listp spec) (= (car spec) 'A))
|
||||
(list (float (cadr spec)) (float (caddr spec)) (float (cadddr spec)))
|
||||
(cond
|
||||
((= spec 'KEIN) nil)
|
||||
((and (listp spec) (= (car spec) 'A))
|
||||
(list (float (cadr spec)) (float (caddr spec)) (float (cadddr spec))))
|
||||
(T
|
||||
(progn
|
||||
(setq rad (* (float (caddr spec)) (/ pi 180.0)))
|
||||
(list (+ (car base) (* (float (cadr spec)) (cos rad)))
|
||||
(+ (cadr base) (* (float (cadr spec)) (sin rad)))
|
||||
(caddr base))
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(defun tlz-getstring (a) (tlz-pop))
|
||||
@@ -84,6 +91,8 @@
|
||||
(setq q (cons (cons 'A (ssg-val schritt "wert")) q)))
|
||||
((= typ "point_rel")
|
||||
(setq q (cons (list 'P (ssg-val schritt "dL") (ssg-val schritt "hz")) q)))
|
||||
((= typ "point_none")
|
||||
(setq q (cons 'KEIN q)))
|
||||
((= typ "real")
|
||||
(setq q (cons (float (ssg-val schritt "wert")) q)))
|
||||
((= typ "int")
|
||||
|
||||
@@ -272,6 +272,12 @@
|
||||
(setq modelspace (vla-get-modelspace new-doc))
|
||||
;; Block-Library-Flag zuruecksetzen (Bloecke sind pro Zeichnung neu zu laden)
|
||||
(setq *lib-initialized* nil)
|
||||
;; Nummernzaehler zuruecksetzen: der Lauf bleibt im LISP-Namensraum des
|
||||
;; Startdokuments, die Zaehler (max aus Zeichnung UND Zaehler, +1) liefen
|
||||
;; sonst ueber alle Tests weiter - VF_5/Kreisel12 statt VF_1/Kreisel1 in
|
||||
;; einer frischen Zeichnung, die Namen hingen damit von der
|
||||
;; Testreihenfolge ab und jeder Referenz-Diff wurde unruhig.
|
||||
(setq #VF_LetzteNr 0 #GF_LetzteNr 0 #Kreisel_LetzteNr 0 #Eckrad_LetzteNr 0)
|
||||
|
||||
(if (findfile datei)
|
||||
(progn
|
||||
|
||||
Vendored
+4
@@ -31,6 +31,10 @@
|
||||
"wert": "1",
|
||||
"kommentar": "getstring AS-Seite (links)"
|
||||
},
|
||||
{
|
||||
"typ": "point_none",
|
||||
"kommentar": "getpoint AS-Zufuehrungsachse (2. Punkt, optional seit 2026-10-21) - Enter ohne Punkt, Kette laeuft wie frueher ueber den naechsten Klick"
|
||||
},
|
||||
{
|
||||
"typ": "string",
|
||||
"wert": "5",
|
||||
|
||||
+4
@@ -31,6 +31,10 @@
|
||||
"wert": "1",
|
||||
"kommentar": "getstring AS-Seite (links)"
|
||||
},
|
||||
{
|
||||
"typ": "point_none",
|
||||
"kommentar": "getpoint AS-Zufuehrungsachse (2. Punkt, optional seit 2026-10-21) - Enter ohne Punkt"
|
||||
},
|
||||
{
|
||||
"typ": "string",
|
||||
"wert": "5",
|
||||
|
||||
Reference in New Issue
Block a user