From 6a1fed35915338cdf08a615c5744b2a5493fc441 Mon Sep 17 00:00:00 2001
From: Riegel <alexander.riegel@hft-stuttgart.de>
Date: Tue, 10 Dec 2024 16:52:57 +0100
Subject: [PATCH] Test: Add testcase for CityDoctor validation of zip-files

---
 .../citydoctor2/zip/CityGmlZipArchive.java    |  4 ++++
 .../stuttgart/citydoctor2/zip/ZipTest.java    | 19 ++++++++++++++++---
 2 files changed, 20 insertions(+), 3 deletions(-)

diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/zip/CityGmlZipArchive.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/zip/CityGmlZipArchive.java
index 45101fd..6754015 100644
--- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/zip/CityGmlZipArchive.java
+++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/zip/CityGmlZipArchive.java
@@ -97,4 +97,8 @@ public class CityGmlZipArchive implements Serializable {
     public List<CityGmlZipEntry> getEntries() {
         return entries;
     }
+
+    public void streamValidateCityGml() {
+        return;
+    }
 }
diff --git a/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/zip/ZipTest.java b/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/zip/ZipTest.java
index a92be44..31e73ee 100644
--- a/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/zip/ZipTest.java
+++ b/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/zip/ZipTest.java
@@ -10,8 +10,6 @@ import org.junit.rules.ExpectedException;
 import java.io.IOException;
 import java.nio.file.Files;
 import java.nio.file.Path;
-import java.util.ArrayList;
-import java.util.List;
 
 import static org.junit.Assert.*;
 
@@ -85,7 +83,7 @@ public class ZipTest {
     }
 
     @Test
-    public void testValidation(){
+    public void testXMLValidation(){
         ParserConfiguration valConfig = new ParserConfiguration(8,true);
         CityGmlZipArchive cgmlArch = CityGmlZipArchive.register("src/test/resources/zip/validate.zip");
         assertNotNull(cgmlArch);
@@ -95,6 +93,21 @@ public class ZipTest {
         assertEquals(ZipEntryErrorType.INVALID_CITY_GML_FILE, cgmlArch.getEntry("valFaulty.gml").getErrorType());
     }
 
+    @Test
+    public void testCityDoctorValidation(){
+        CityGmlZipArchive cgmlArch = CityGmlZipArchive.register("src/test/resources/zip/mock_archive.zip");
+        assertNotNull(cgmlArch);
+        cgmlArch.mountArchive(config);
+
+        cgmlArch.streamValidateCityGml();
+        for (CityGmlZipEntry entry: cgmlArch.getEntries()) {
+            assertNotNull(entry);
+            assertNotNull(entry.getModel());
+            assertTrue(entry.getModel().isValidated());
+            assertFalse(entry.getModel().getBuildings().get(0).containsAnyError());
+        }
+    }
+
     @Test
     public void testImplicitParsing(){
         CityGmlZipArchive cgmlArch = CityGmlZipArchive.register("src/test/resources/zip/implicit.zip");
-- 
GitLab