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")
|
@pytest.fixture(scope="module")
|
||||||
def kreisel_ergebnisse(alle_ergebnisse):
|
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:
|
if not raus:
|
||||||
pytest.skip("keine Kreisel-Ergebnisse (Lauf vor dem Nachtragen "
|
pytest.skip("keine Kreisel-Ergebnisse (Lauf vor dem Nachtragen "
|
||||||
"weiterer Anlagenteile?)")
|
"weiterer Anlagenteile?)")
|
||||||
|
|||||||
@@ -13,6 +13,7 @@
|
|||||||
;; "typ" ist ein Eingabe-Schritt in exakter Aufruf-Reihenfolge:
|
;; "typ" ist ein Eingabe-Schritt in exakter Aufruf-Reihenfolge:
|
||||||
;; {"typ":"point_abs","wert":[x,y,z]} absoluter Punkt (getpoint)
|
;; {"typ":"point_abs","wert":[x,y,z]} absoluter Punkt (getpoint)
|
||||||
;; {"typ":"point_rel","dL":..,"hz":..} Basispunkt + dL entlang Richtung hz
|
;; {"typ":"point_rel","dL":..,"hz":..} Basispunkt + dL entlang Richtung hz
|
||||||
|
;; {"typ":"point_none"} getpoint ohne Punkt (Enter -> nil)
|
||||||
;; {"typ":"real","wert":..} getreal
|
;; {"typ":"real","wert":..} getreal
|
||||||
;; {"typ":"int","wert":..} getint
|
;; {"typ":"int","wert":..} getint
|
||||||
;; {"typ":"string","wert":".."} getstring
|
;; {"typ":"string","wert":".."} getstring
|
||||||
@@ -53,17 +54,23 @@
|
|||||||
;; Skript-Eintrag (P dL hz) -> Basispunkt + dL entlang Richtung hz (Grad),
|
;; Skript-Eintrag (P dL hz) -> Basispunkt + dL entlang Richtung hz (Grad),
|
||||||
;; sodass die Projektion in vfl-neue-linie-messen
|
;; sodass die Projektion in vfl-neue-linie-messen
|
||||||
;; exakt dL ergibt.
|
;; 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)
|
(defun tlz-getpoint (a b / spec base rad)
|
||||||
(setq spec (tlz-pop))
|
(setq spec (tlz-pop))
|
||||||
(setq base (if (and a (listp a)) a '(0.0 0.0 0.0)))
|
(setq base (if (and a (listp a)) a '(0.0 0.0 0.0)))
|
||||||
(if (and (listp spec) (= (car spec) 'A))
|
(cond
|
||||||
(list (float (cadr spec)) (float (caddr spec)) (float (cadddr spec)))
|
((= spec 'KEIN) nil)
|
||||||
|
((and (listp spec) (= (car spec) 'A))
|
||||||
|
(list (float (cadr spec)) (float (caddr spec)) (float (cadddr spec))))
|
||||||
|
(T
|
||||||
(progn
|
(progn
|
||||||
(setq rad (* (float (caddr spec)) (/ pi 180.0)))
|
(setq rad (* (float (caddr spec)) (/ pi 180.0)))
|
||||||
(list (+ (car base) (* (float (cadr spec)) (cos rad)))
|
(list (+ (car base) (* (float (cadr spec)) (cos rad)))
|
||||||
(+ (cadr base) (* (float (cadr spec)) (sin rad)))
|
(+ (cadr base) (* (float (cadr spec)) (sin rad)))
|
||||||
(caddr base))
|
(caddr base))
|
||||||
)
|
)
|
||||||
|
)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
(defun tlz-getstring (a) (tlz-pop))
|
(defun tlz-getstring (a) (tlz-pop))
|
||||||
@@ -84,6 +91,8 @@
|
|||||||
(setq q (cons (cons 'A (ssg-val schritt "wert")) q)))
|
(setq q (cons (cons 'A (ssg-val schritt "wert")) q)))
|
||||||
((= typ "point_rel")
|
((= typ "point_rel")
|
||||||
(setq q (cons (list 'P (ssg-val schritt "dL") (ssg-val schritt "hz")) q)))
|
(setq q (cons (list 'P (ssg-val schritt "dL") (ssg-val schritt "hz")) q)))
|
||||||
|
((= typ "point_none")
|
||||||
|
(setq q (cons 'KEIN q)))
|
||||||
((= typ "real")
|
((= typ "real")
|
||||||
(setq q (cons (float (ssg-val schritt "wert")) q)))
|
(setq q (cons (float (ssg-val schritt "wert")) q)))
|
||||||
((= typ "int")
|
((= typ "int")
|
||||||
|
|||||||
@@ -272,6 +272,12 @@
|
|||||||
(setq modelspace (vla-get-modelspace new-doc))
|
(setq modelspace (vla-get-modelspace new-doc))
|
||||||
;; Block-Library-Flag zuruecksetzen (Bloecke sind pro Zeichnung neu zu laden)
|
;; Block-Library-Flag zuruecksetzen (Bloecke sind pro Zeichnung neu zu laden)
|
||||||
(setq *lib-initialized* nil)
|
(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)
|
(if (findfile datei)
|
||||||
(progn
|
(progn
|
||||||
|
|||||||
Vendored
+4
@@ -31,6 +31,10 @@
|
|||||||
"wert": "1",
|
"wert": "1",
|
||||||
"kommentar": "getstring AS-Seite (links)"
|
"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",
|
"typ": "string",
|
||||||
"wert": "5",
|
"wert": "5",
|
||||||
|
|||||||
+4
@@ -31,6 +31,10 @@
|
|||||||
"wert": "1",
|
"wert": "1",
|
||||||
"kommentar": "getstring AS-Seite (links)"
|
"kommentar": "getstring AS-Seite (links)"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"typ": "point_none",
|
||||||
|
"kommentar": "getpoint AS-Zufuehrungsachse (2. Punkt, optional seit 2026-10-21) - Enter ohne Punkt"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"typ": "string",
|
"typ": "string",
|
||||||
"wert": "5",
|
"wert": "5",
|
||||||
|
|||||||
Reference in New Issue
Block a user