[ADD] Testanlage test_system als Nachbau-Vorlage fuer sps_skel

tests/testdata/test_system.json aus sps_skel/data/test_system.dxf
(dxf_anlage_export.py --projekt TestSystem): 9 Kreisel, 10 Separatoren,
BTMT Beladung, SC Entladung. Treiber tests/test_test_system.lsp
(TEST_TEST_SYSTEM, Menue Tests -> Testanlage test_system) nutzt
dematic_arvato:bau-datei, in alltests.json aktiv (save dxf).

[FIX] dxf_anlage_export.py: doppelte Kreisel-IDs (Kreisel einzeln gebaut,
NUMMER beginnt mehrmals bei 1) bekommen die naechste freie Nummer, mit
Hinweis + Test.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-14 10:51:52 +02:00
parent ea0e46a441
commit 1a34a12ab4
9 changed files with 344 additions and 17 deletions
+15
View File
@@ -145,3 +145,18 @@ def test_reihenfolge_vf_vor_gf():
art = ["K" if "abstand" in e else "GF" if "modus" in e else
"VF" if "typ" in e else e["block"] for e in eintraege]
assert art == ["K", "K", "VF", "GF", "Scanner"]
def test_doppelte_kreisel_nummern_werden_eindeutig():
# test_system.dxf: Kreisel einzeln gebaut, NUMMER beginnt jedes Mal bei 1
eins_a = _insert("KREISEL_1_STANDARD_2300", (-3561.74, 994.84, 2000.0), 0.0,
{"NUMMER": "1"})
eins_b = _insert("KREISEL_1_STANDARD_2900", (4940.59, -2303.25, 0.0), 90.0,
{"NUMMER": "1"})
zwei = _insert("KREISEL_2_STANDARD_4500", (4940.03, -7603.25, 0.0), 90.0,
{"NUMMER": "2"})
eintraege, hinweise = dae.baue_eintraege([eins_a, eins_b, zwei], {}, "T")
ids = {k["id"]: k["x"] for k in eintraege}
assert sorted(ids) == ["Kreisel_T_01", "Kreisel_T_02", "Kreisel_T_03"]
assert ids["Kreisel_T_03"] == 4940.59 # der zweite KREISEL_1 weicht aus
assert any("Kreisel_T_03" in h for h in hinweise)