From e83fd258b4293fc0acd4d8d11db9631b1a852163 Mon Sep 17 00:00:00 2001 From: Dominic Burger Date: Mon, 18 Dec 2023 17:06:32 +0100 Subject: [PATCH] Add description for fail case XTF files --- README.md | 46 +++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 45 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index e7502ca..4f44331 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,6 @@ Der Runner funktioniert generisch auf einer entsprechenden Verzeichnisstruktur m TestSuiteA ModelToTest.ili Successful_Data.xtf - (ilivalidator-config.toml) ModelA.TopicA.ClassA.Constraint1 FailCase-1.xtf FailCase-2.xtf @@ -17,6 +16,7 @@ TestSuiteA FailCase-1.xtf … Output + Successful_Data.log ModelA.TopicA.ClassA.Constraint1 FailCase-1_Merged.xtf FailCase-1.log @@ -26,3 +26,47 @@ Der Runner kann mit folgendem Befehl ausgeführt werden: ```bash java -jar interlis-testbed-runner.jar --validator ``` + +Der Runner führt dabei folgende Schritte aus: +- Die XTF-Datei der Basisdaten wird geprüft und muss gemäss Modell gültig sein +- Jede XTF-Datei für einen Fail-Case wird mit den Basisdaten zusammengefügt und im Output-Ordner abgelegt +- Es wird geprüft, dass die zusammengefügten XTF-Dateien gemäss Modell ungültig sind und jeweils mindestens ein Fehler für den Constraint in der Log-Datei vorhanden ist (der Constraint-Name entspricht dabei dem Ordner-Namen vom Fail-Case) + +## Aufbau der XTF-Dateien für Failcases +Der Runner kann INTERLIS XTF-Dateien ohne XML-Namespaces oder mit INTERLIS 2.4 Namespace verarbeiten. +Die Header-Section kann bei den Fail-Case Dateien weggelassen werden, da sie von den Basisdaten übernommen wird. + +### Hinzufügen oder ersetzen von Elementen +Um für einen Fail-Case ein Objekt zu einem Basket hinzuzufügen oder zu überschreiben, kann es wie in einer XTF-Datei üblich beschrieben werden. +Falls das Objekt mit der angegebenen `TID` im Basket vorhanden ist, wird es mit den hier definierten Attributen überschrieben, ansonsten zum Basket hinzugefügt. + +Beispiel `FailCase.xtf` (INTERLIS 2.4): +```xml + + + + + + + + + + + +``` + +### Entfernen von Elementen +Um für einen Fail-Case ein Objekt aus einem Basket oder einen kompletten Basket zu entfernen, kann dem Element ein `delete`-Attribut hinzugefügt werden. + +Beispiel `FailCase.xtf` (INTERLIS 2.4): +```xml + + + + + + + + + +```