Strukturtests auf alle Kanten und alle Elemente ausweiten (#16)
- test_referenzmodelle.py: kreuzungen() prüft alle Sequenz- und Nachrichtenflüsse gegen Aufgaben, Ereignisse (Kreis), Gateways (Raute) und Datenelemente und liefert alle Funde. Neuer Test je Modell unter beispiele/ (auch Syntaxbeispiele): keine unbekannte Kreuzung. - Bekannte Fälle je Kreuzung in BEKANNTE_KREUZUNGEN, jeder mit eigenem xfail(strict=True)-Test: #12 (Rücksprung durch S5 in beispiel_lanes), #13 (Nachrichtenfluss durch S5 in beispiel_lanes und durch S24 im Referenzmodell). - test_keine_kante_fuehrt_durchs_innere_eines_gateways entfällt: Die neue Prüfung deckt Gateways mit derselben Rautengeometrie ab und meldet mehr. Gegenprobe am Stand vor #8: alle sieben Kreuzungen auf einmal gefunden. - Selbsttest der Prüfung und test_ausweichabstand_liegt_in_beiden_layouts _im_freien_gang (bindet AUSWEICHABSTAND an DEFAULT_SIZE und Abstände). - AGENTS.md: xfail-Ausnahme gilt für alle Modelle unter beispiele/, je Fehler einzeln. Anleitung, Fallstricke, STATUS nachgezogen. - Tests: python -m pytest -q -> 97 bestanden, 3 xfail (#12, #13). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -31,6 +31,10 @@ Skills sind übernommen, alles QGIS- und Plugin-Spezifische ist entfernt. Kern i
|
||||
|
||||
## Erledigt
|
||||
|
||||
- 25.09.2026 **Strukturtests für alle Kanten und Elemente** (#16): alle Sequenz- und Nachrichtenflüsse aller
|
||||
Beispiele gegen alle Elemente, alle Funde auf einmal; bekannte Fälle je Kreuzung als `xfail` (#12, #13).
|
||||
`AUSWEICHABSTAND` per Test an die Layout-Maße gebunden. xfail-Regel in `AGENTS.md` auf alle Beispiele erweitert.
|
||||
|
||||
- 25.09.2026 **XOR-Gateways zeigen ihr „X“** (#15): `isMarkerVisible="true"` an der Diagrammform jedes
|
||||
exklusiven Gateways; alle Beispiele neu erzeugt.
|
||||
|
||||
|
||||
@@ -16,9 +16,12 @@ Kurz, konkret, mit Datum und Quelle. Neue Einträge oben in der passenden Rubrik
|
||||
Die Achse liegt **im Gang direkt vor der Ziel-Spalte** (Abstand 85 zur Mitte), **nicht in der Mitte zwischen
|
||||
Quelle und Ziel**: Liegen die beiden zwei Spalten auseinander, steht dort eine Aufgabe (im Referenzmodell S43).
|
||||
(#8, 25.09.2026)
|
||||
- **Die Strukturtests melden nur die erste Kreuzung.** `_kante_kreuzt_gateway()` bricht beim ersten Fund ab. Im
|
||||
Referenzmodell stand deshalb nur S12→S13 im Issue, tatsächlich liefen fünf Kanten durch Gateways. Nach einem
|
||||
Layout-Fix alle Kanten gegen alle Elemente prüfen, nicht nur den gemeldeten Fall. (#8, 25.09.2026)
|
||||
- **Bekannte Layoutfehler je Kreuzung als xfail, nie je Modell.** Stünde ein ganzes Modell auf `xfail`, bliebe
|
||||
jede neue Kreuzung darin unsichtbar, solange der alte Fehler besteht. Deshalb prüft
|
||||
`test_keine_unbekannte_kante_fuehrt_durch_ein_element` alle Kanten gegen alle Elemente und meldet alle Funde
|
||||
außer den Paaren in `BEKANNTE_KREUZUNGEN`. Jedes dieser Paare hat einen eigenen strikten xfail-Test. Anlass: Die
|
||||
alte Gateway-Prüfung brach beim ersten Fund ab; bei #8 stand nur S12→S13 im Issue, tatsächlich waren es sieben
|
||||
Kreuzungen. (#16, 25.09.2026)
|
||||
- **Zusammenführende Gateways brauchen eine Beschriftung mit Zuständigkeit**, sonst landen sie in der Lane
|
||||
„Nicht zugeordnet“ (`split_lane()` braucht Text nach dem Doppelpunkt). In BPMN bleiben Zusammenführungen
|
||||
üblicherweise unbeschriftet – ein Fall für eine spätere Konverteränderung. (23.09.2026, Referenzmodell)
|
||||
|
||||
Reference in New Issue
Block a user