Commit 87dba3fa authored by Riegel's avatar Riegel
Browse files

Merge branch 'dev' into 'master'

CityDoctor Version 3.17.3

See merge request !34
parents 0d2e9fd5 aa9c2a95
Pipeline #11660 passed with stage
in 1 minute and 26 seconds
...@@ -33,6 +33,7 @@ import de.hft.stuttgart.citydoctor2.datastructure.GeometryType; ...@@ -33,6 +33,7 @@ import de.hft.stuttgart.citydoctor2.datastructure.GeometryType;
import de.hft.stuttgart.citydoctor2.datastructure.GmlId; import de.hft.stuttgart.citydoctor2.datastructure.GmlId;
import de.hft.stuttgart.citydoctor2.datastructure.Lod; import de.hft.stuttgart.citydoctor2.datastructure.Lod;
import de.hft.stuttgart.citydoctor2.datastructure.Vertex; import de.hft.stuttgart.citydoctor2.datastructure.Vertex;
import de.hft.stuttgart.citydoctor2.datastructure.Geometry.Orientation;
import de.hft.stuttgart.quality.model.properties.AbstractErrorProperty; import de.hft.stuttgart.quality.model.properties.AbstractErrorProperty;
import de.hft.stuttgart.quality.model.properties.EdgeProperty; import de.hft.stuttgart.quality.model.properties.EdgeProperty;
import de.hft.stuttgart.quality.model.types.AbstractError; import de.hft.stuttgart.quality.model.types.AbstractError;
...@@ -42,7 +43,7 @@ public class PolygonWrongOrientationErrorTest { ...@@ -42,7 +43,7 @@ public class PolygonWrongOrientationErrorTest {
@Test @Test
public void testConvertToQualityAdeDatastructure() { public void testConvertToQualityAdeDatastructure() {
Geometry geom = new Geometry(GeometryType.SOLID, Lod.LOD2); Geometry geom = new Geometry(GeometryType.SOLID, Lod.LOD2, Orientation.OUTWARD);
GmlId geomId = new GmlId("geomId"); GmlId geomId = new GmlId("geomId");
geom.setGmlId(geomId); geom.setGmlId(geomId);
......
...@@ -33,6 +33,7 @@ import de.hft.stuttgart.citydoctor2.datastructure.GeometryType; ...@@ -33,6 +33,7 @@ import de.hft.stuttgart.citydoctor2.datastructure.GeometryType;
import de.hft.stuttgart.citydoctor2.datastructure.GmlId; import de.hft.stuttgart.citydoctor2.datastructure.GmlId;
import de.hft.stuttgart.citydoctor2.datastructure.Lod; import de.hft.stuttgart.citydoctor2.datastructure.Lod;
import de.hft.stuttgart.citydoctor2.datastructure.Vertex; import de.hft.stuttgart.citydoctor2.datastructure.Vertex;
import de.hft.stuttgart.citydoctor2.datastructure.Geometry.Orientation;
import de.hft.stuttgart.quality.model.properties.AbstractErrorProperty; import de.hft.stuttgart.quality.model.properties.AbstractErrorProperty;
import de.hft.stuttgart.quality.model.properties.EdgeProperty; import de.hft.stuttgart.quality.model.properties.EdgeProperty;
import de.hft.stuttgart.quality.model.types.AbstractError; import de.hft.stuttgart.quality.model.types.AbstractError;
...@@ -42,7 +43,7 @@ public class SolidNotClosedErrorTest { ...@@ -42,7 +43,7 @@ public class SolidNotClosedErrorTest {
@Test @Test
public void testConvertToQualityAdeDatastructure() { public void testConvertToQualityAdeDatastructure() {
Geometry geom = new Geometry(GeometryType.SOLID, Lod.LOD2); Geometry geom = new Geometry(GeometryType.SOLID, Lod.LOD2, Orientation.OUTWARD);
GmlId geomId = new GmlId("geomId"); GmlId geomId = new GmlId("geomId");
geom.setGmlId(geomId); geom.setGmlId(geomId);
......
...@@ -33,6 +33,7 @@ import de.hft.stuttgart.citydoctor2.datastructure.GeometryType; ...@@ -33,6 +33,7 @@ import de.hft.stuttgart.citydoctor2.datastructure.GeometryType;
import de.hft.stuttgart.citydoctor2.datastructure.GmlId; import de.hft.stuttgart.citydoctor2.datastructure.GmlId;
import de.hft.stuttgart.citydoctor2.datastructure.Lod; import de.hft.stuttgart.citydoctor2.datastructure.Lod;
import de.hft.stuttgart.citydoctor2.datastructure.Polygon; import de.hft.stuttgart.citydoctor2.datastructure.Polygon;
import de.hft.stuttgart.citydoctor2.datastructure.Geometry.Orientation;
import de.hft.stuttgart.citydoctor2.utils.PolygonIntersection; import de.hft.stuttgart.citydoctor2.utils.PolygonIntersection;
import de.hft.stuttgart.quality.model.properties.AbstractErrorProperty; import de.hft.stuttgart.quality.model.properties.AbstractErrorProperty;
import de.hft.stuttgart.quality.model.types.AbstractError; import de.hft.stuttgart.quality.model.types.AbstractError;
...@@ -43,7 +44,7 @@ public class SolidSelfIntErrorTest { ...@@ -43,7 +44,7 @@ public class SolidSelfIntErrorTest {
@Test @Test
public void testConvertToQualityAdeDatastructure() { public void testConvertToQualityAdeDatastructure() {
Geometry geom = new Geometry(GeometryType.SOLID, Lod.LOD2); Geometry geom = new Geometry(GeometryType.SOLID, Lod.LOD2, Orientation.OUTWARD);
GmlId geomId = new GmlId("geomId"); GmlId geomId = new GmlId("geomId");
geom.setGmlId(geomId); geom.setGmlId(geomId);
Polygon p1 = new ConcretePolygon(); Polygon p1 = new ConcretePolygon();
......
...@@ -30,6 +30,7 @@ import de.hft.stuttgart.citydoctor2.datastructure.Geometry; ...@@ -30,6 +30,7 @@ import de.hft.stuttgart.citydoctor2.datastructure.Geometry;
import de.hft.stuttgart.citydoctor2.datastructure.GeometryType; import de.hft.stuttgart.citydoctor2.datastructure.GeometryType;
import de.hft.stuttgart.citydoctor2.datastructure.GmlId; import de.hft.stuttgart.citydoctor2.datastructure.GmlId;
import de.hft.stuttgart.citydoctor2.datastructure.Lod; import de.hft.stuttgart.citydoctor2.datastructure.Lod;
import de.hft.stuttgart.citydoctor2.datastructure.Geometry.Orientation;
import de.hft.stuttgart.quality.model.properties.AbstractErrorProperty; import de.hft.stuttgart.quality.model.properties.AbstractErrorProperty;
import de.hft.stuttgart.quality.model.types.AbstractError; import de.hft.stuttgart.quality.model.types.AbstractError;
import de.hft.stuttgart.quality.model.types.SolidTooFewPolygonsError; import de.hft.stuttgart.quality.model.types.SolidTooFewPolygonsError;
...@@ -39,7 +40,7 @@ public class TooFewPolygonsErrorTest { ...@@ -39,7 +40,7 @@ public class TooFewPolygonsErrorTest {
@Test @Test
public void testConvertToQualityAdeDatastructure() { public void testConvertToQualityAdeDatastructure() {
Geometry geom = new Geometry(GeometryType.SOLID, Lod.LOD2); Geometry geom = new Geometry(GeometryType.SOLID, Lod.LOD2, Orientation.OUTWARD);
GmlId geomId = new GmlId("geomId"); GmlId geomId = new GmlId("geomId");
geom.setGmlId(geomId); geom.setGmlId(geomId);
......
...@@ -24,7 +24,6 @@ import static org.junit.Assert.assertNotNull; ...@@ -24,7 +24,6 @@ import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull; import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue; import static org.junit.Assert.assertTrue;
import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.doAnswer;
import static org.mockito.Mockito.mock; import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verify;
...@@ -32,9 +31,7 @@ import java.util.ArrayList; ...@@ -32,9 +31,7 @@ import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicInteger;
import de.hft.stuttgart.citydoctor2.utils.visitors.ClearCheckResultsVisitor;
import de.hft.stuttgart.citydoctor2.utils.visitors.GmlGeometryRebuilder; import de.hft.stuttgart.citydoctor2.utils.visitors.GmlGeometryRebuilder;
import de.hft.stuttgart.citydoctor2.utils.visitors.UnsetGeometriesVisitor;
import org.citygml4j.core.model.construction.WallSurface; import org.citygml4j.core.model.construction.WallSurface;
import org.citygml4j.core.model.core.AbstractSpaceBoundaryProperty; import org.citygml4j.core.model.core.AbstractSpaceBoundaryProperty;
import org.citygml4j.core.util.geometry.GeometryFactory; import org.citygml4j.core.util.geometry.GeometryFactory;
...@@ -43,7 +40,7 @@ import org.mockito.Mockito; ...@@ -43,7 +40,7 @@ import org.mockito.Mockito;
import org.xmlobjects.gml.model.geometry.aggregates.MultiSurfaceProperty; import org.xmlobjects.gml.model.geometry.aggregates.MultiSurfaceProperty;
import org.xmlobjects.gml.model.geometry.primitives.SolidProperty; import org.xmlobjects.gml.model.geometry.primitives.SolidProperty;
import de.hft.stuttgart.citydoctor2.check.AbstractCheck; import de.hft.stuttgart.citydoctor2.check.CheckableUtilsVisitor;
import de.hft.stuttgart.citydoctor2.check.CheckError; import de.hft.stuttgart.citydoctor2.check.CheckError;
import de.hft.stuttgart.citydoctor2.check.CheckId; import de.hft.stuttgart.citydoctor2.check.CheckId;
import de.hft.stuttgart.citydoctor2.check.CheckResult; import de.hft.stuttgart.citydoctor2.check.CheckResult;
...@@ -62,7 +59,7 @@ public class AbstractBuildingTest { ...@@ -62,7 +59,7 @@ public class AbstractBuildingTest {
AtomicInteger abCounter = new AtomicInteger(0); AtomicInteger abCounter = new AtomicInteger(0);
AtomicInteger bsCounter = new AtomicInteger(0); AtomicInteger bsCounter = new AtomicInteger(0);
AtomicInteger biCounter = new AtomicInteger(0); AtomicInteger biCounter = new AtomicInteger(0);
AbstractCheck c = new AbstractCheck() { CheckableUtilsVisitor c = new CheckableUtilsVisitor() {
@Override @Override
public void check(AbstractBuilding ab) { public void check(AbstractBuilding ab) {
...@@ -79,7 +76,7 @@ public class AbstractBuildingTest { ...@@ -79,7 +76,7 @@ public class AbstractBuildingTest {
assertEquals(1, bsCounter.intValue()); assertEquals(1, bsCounter.intValue());
assertEquals(0, biCounter.intValue()); assertEquals(0, biCounter.intValue());
AbstractCheck c2 = new AbstractCheck() { CheckableUtilsVisitor c2 = new CheckableUtilsVisitor() {
@Override @Override
public void check(Installation bi) { public void check(Installation bi) {
...@@ -95,6 +92,7 @@ public class AbstractBuildingTest { ...@@ -95,6 +92,7 @@ public class AbstractBuildingTest {
AbstractBuilding ab = createAbstractBuilding(); AbstractBuilding ab = createAbstractBuilding();
BuildingRoom mockRoom = mock(BuildingRoom.class); BuildingRoom mockRoom = mock(BuildingRoom.class);
Installation mockInstallation = mock(Installation.class); Installation mockInstallation = mock(Installation.class);
BuildingConstructiveElement mockConstructiveElement = mock(BuildingConstructiveElement.class);
BuildingRoomFurniture mockBuildingRoomFurniture = mock(BuildingRoomFurniture.class); BuildingRoomFurniture mockBuildingRoomFurniture = mock(BuildingRoomFurniture.class);
BuildingUnit mockBuildingUnit = mock(BuildingUnit.class); BuildingUnit mockBuildingUnit = mock(BuildingUnit.class);
Storey mockStorey = mock(Storey.class); Storey mockStorey = mock(Storey.class);
...@@ -103,18 +101,20 @@ public class AbstractBuildingTest { ...@@ -103,18 +101,20 @@ public class AbstractBuildingTest {
ab.addBuildingRoom(mockRoom); ab.addBuildingRoom(mockRoom);
ab.addBuildingInstallation(mockInstallation); ab.addBuildingInstallation(mockInstallation);
ab.addConstructiveElement(mockConstructiveElement);
ab.addBuildingRoomFurniture(mockBuildingRoomFurniture); ab.addBuildingRoomFurniture(mockBuildingRoomFurniture);
ab.addBuildingUnit(mockBuildingUnit); ab.addBuildingUnit(mockBuildingUnit);
ab.addStorey(mockStorey); ab.addStorey(mockStorey);
ab.addBoundarySurface(mockBSurface); ab.addBoundarySurface(mockBSurface);
ab.addGeometry(mockGeometry); ab.addGeometry(mockGeometry);
AbstractCheck c = new AbstractCheck() { CheckableUtilsVisitor c = new CheckableUtilsVisitor() {
}; };
ab.accept(c); ab.accept(c);
verify(mockRoom).accept(c); verify(mockRoom).accept(c);
verify(mockInstallation).accept(c); verify(mockInstallation).accept(c);
verify(mockConstructiveElement).accept(c);
verify(mockBuildingRoomFurniture).accept(c); verify(mockBuildingRoomFurniture).accept(c);
verify(mockBuildingUnit).accept(c); verify(mockBuildingUnit).accept(c);
verify(mockStorey).accept(c); verify(mockStorey).accept(c);
......
package de.hft.stuttgart.citydoctor2.datastructure; package de.hft.stuttgart.citydoctor2.datastructure;
import de.hft.stuttgart.citydoctor2.check.AbstractCheck; import de.hft.stuttgart.citydoctor2.check.CheckableUtilsVisitor;
import de.hft.stuttgart.citydoctor2.check.CheckError; import de.hft.stuttgart.citydoctor2.check.CheckError;
import de.hft.stuttgart.citydoctor2.check.CheckId; import de.hft.stuttgart.citydoctor2.check.CheckId;
import de.hft.stuttgart.citydoctor2.check.CheckResult; import de.hft.stuttgart.citydoctor2.check.CheckResult;
...@@ -50,7 +50,7 @@ public class AbstractRoomTest { ...@@ -50,7 +50,7 @@ public class AbstractRoomTest {
abRoom.addBoundarySurface(mockBoundarySurface); abRoom.addBoundarySurface(mockBoundarySurface);
abRoom.addGeometry(geometry); abRoom.addGeometry(geometry);
AbstractCheck c = new AbstractCheck() { CheckableUtilsVisitor c = new CheckableUtilsVisitor() {
}; };
abRoom.accept(c); abRoom.accept(c);
......
package de.hft.stuttgart.citydoctor2.datastructure; package de.hft.stuttgart.citydoctor2.datastructure;
import de.hft.stuttgart.citydoctor2.check.AbstractCheck; import de.hft.stuttgart.citydoctor2.check.CheckableUtilsVisitor;
import de.hft.stuttgart.citydoctor2.check.CheckError; import de.hft.stuttgart.citydoctor2.check.CheckError;
import de.hft.stuttgart.citydoctor2.check.CheckId; import de.hft.stuttgart.citydoctor2.check.CheckId;
import de.hft.stuttgart.citydoctor2.check.CheckResult; import de.hft.stuttgart.citydoctor2.check.CheckResult;
...@@ -52,7 +52,7 @@ public class AbstractTunnelTest { ...@@ -52,7 +52,7 @@ public class AbstractTunnelTest {
at.addBoundarySurface(mockBoundarySurface); at.addBoundarySurface(mockBoundarySurface);
at.addGeometry(mockGeometry); at.addGeometry(mockGeometry);
AbstractCheck c = new AbstractCheck() { CheckableUtilsVisitor c = new CheckableUtilsVisitor() {
}; };
at.accept(c); at.accept(c);
......
...@@ -30,7 +30,7 @@ import java.util.ArrayList; ...@@ -30,7 +30,7 @@ import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicInteger;
import de.hft.stuttgart.citydoctor2.utils.visitors.ClearCheckResultsVisitor; import de.hft.stuttgart.citydoctor2.utils.visitors.ClearVisitorResultsVisitor;
import de.hft.stuttgart.citydoctor2.utils.visitors.GmlGeometryRebuilder; import de.hft.stuttgart.citydoctor2.utils.visitors.GmlGeometryRebuilder;
import de.hft.stuttgart.citydoctor2.utils.visitors.UnsetGeometriesVisitor; import de.hft.stuttgart.citydoctor2.utils.visitors.UnsetGeometriesVisitor;
import org.citygml4j.core.model.construction.AbstractConstructionSurface; import org.citygml4j.core.model.construction.AbstractConstructionSurface;
...@@ -41,11 +41,12 @@ import org.junit.Test; ...@@ -41,11 +41,12 @@ import org.junit.Test;
import org.mockito.Mockito; import org.mockito.Mockito;
import org.xmlobjects.gml.model.geometry.aggregates.MultiSurfaceProperty; import org.xmlobjects.gml.model.geometry.aggregates.MultiSurfaceProperty;
import de.hft.stuttgart.citydoctor2.check.AbstractCheck; import de.hft.stuttgart.citydoctor2.check.CheckableUtilsVisitor;
import de.hft.stuttgart.citydoctor2.check.CheckError; import de.hft.stuttgart.citydoctor2.check.CheckError;
import de.hft.stuttgart.citydoctor2.check.CheckId; import de.hft.stuttgart.citydoctor2.check.CheckId;
import de.hft.stuttgart.citydoctor2.check.CheckResult; import de.hft.stuttgart.citydoctor2.check.CheckResult;
import de.hft.stuttgart.citydoctor2.check.ResultStatus; import de.hft.stuttgart.citydoctor2.check.ResultStatus;
import de.hft.stuttgart.citydoctor2.datastructure.Geometry.Orientation;
import de.hft.stuttgart.citydoctor2.parser.ParserConfiguration; import de.hft.stuttgart.citydoctor2.parser.ParserConfiguration;
public class BoundarySurfaceTest { public class BoundarySurfaceTest {
...@@ -58,7 +59,7 @@ public class BoundarySurfaceTest { ...@@ -58,7 +59,7 @@ public class BoundarySurfaceTest {
Opening oMock = Mockito.mock(Opening.class); Opening oMock = Mockito.mock(Opening.class);
bs.addOpening(oMock); bs.addOpening(oMock);
AbstractCheck c = new AbstractCheck() { CheckableUtilsVisitor c = new CheckableUtilsVisitor() {
}; };
bs.accept(c); bs.accept(c);
...@@ -71,7 +72,7 @@ public class BoundarySurfaceTest { ...@@ -71,7 +72,7 @@ public class BoundarySurfaceTest {
Opening oMock = Mockito.mock(Opening.class); Opening oMock = Mockito.mock(Opening.class);
bs.addOpening(oMock); bs.addOpening(oMock);
AtomicInteger bsCounter = new AtomicInteger(0); AtomicInteger bsCounter = new AtomicInteger(0);
AbstractCheck c = new AbstractCheck() { CheckableUtilsVisitor c = new CheckableUtilsVisitor() {
@Override @Override
public void check(BoundarySurface bs) { public void check(BoundarySurface bs) {
...@@ -89,7 +90,7 @@ public class BoundarySurfaceTest { ...@@ -89,7 +90,7 @@ public class BoundarySurfaceTest {
Opening oMock = Mockito.mock(Opening.class); Opening oMock = Mockito.mock(Opening.class);
bs.addOpening(oMock); bs.addOpening(oMock);
AtomicInteger bsCounter = new AtomicInteger(0); AtomicInteger bsCounter = new AtomicInteger(0);
AbstractCheck c = new AbstractCheck() { CheckableUtilsVisitor c = new CheckableUtilsVisitor() {
@Override @Override
public void check(BridgeObject bo) { public void check(BridgeObject bo) {
...@@ -104,7 +105,7 @@ public class BoundarySurfaceTest { ...@@ -104,7 +105,7 @@ public class BoundarySurfaceTest {
@Test @Test
public void testPrepareForChecking() { public void testPrepareForChecking() {
BoundarySurface bs = new BoundarySurface(SurfaceFeatureType.BUILDING, BoundarySurfaceType.WALL, null); BoundarySurface bs = new BoundarySurface(SurfaceFeatureType.BUILDING, BoundarySurfaceType.WALL, null);
Geometry geom = new Geometry(GeometryType.MULTI_SURFACE, Lod.LOD2); Geometry geom = new Geometry(GeometryType.MULTI_SURFACE, Lod.LOD2, Orientation.OUTWARD);
Geometry spyGeom = Mockito.spy(geom); Geometry spyGeom = Mockito.spy(geom);
bs.addGeometry(spyGeom); bs.addGeometry(spyGeom);
bs.prepareForChecking(); bs.prepareForChecking();
...@@ -142,7 +143,7 @@ public class BoundarySurfaceTest { ...@@ -142,7 +143,7 @@ public class BoundarySurfaceTest {
assertFalse(bs.getAllCheckResults().isEmpty()); assertFalse(bs.getAllCheckResults().isEmpty());
bs.addOpening(oMock); bs.addOpening(oMock);
bs.clearAllContainedCheckResults(); bs.clearAllContainedCheckResults();
verify(oMock).accept(any(ClearCheckResultsVisitor.class)); verify(oMock).accept(any(ClearVisitorResultsVisitor.class));
assertTrue(bs.getAllCheckResults().isEmpty()); assertTrue(bs.getAllCheckResults().isEmpty());
} }
......
...@@ -32,21 +32,22 @@ import java.util.ArrayList; ...@@ -32,21 +32,22 @@ import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicInteger;
import de.hft.stuttgart.citydoctor2.utils.visitors.UnsetGeometriesVisitor;
import org.citygml4j.core.model.bridge.AbstractBridge; import org.citygml4j.core.model.bridge.AbstractBridge;
import org.citygml4j.core.model.deprecated.bridge.DeprecatedPropertiesOfAbstractBridge; import org.citygml4j.core.model.deprecated.bridge.DeprecatedPropertiesOfAbstractBridge;
import org.citygml4j.core.util.geometry.GeometryFactory; import org.citygml4j.core.util.geometry.GeometryFactory;
import org.citygml4j.core.visitor.ObjectVisitor; import org.citygml4j.core.visitor.ObjectVisitor;
import org.junit.Test; import org.junit.Test;
import org.mockito.Mockito;
import de.hft.stuttgart.citydoctor2.check.AbstractCheck;
import de.hft.stuttgart.citydoctor2.check.CheckError; import de.hft.stuttgart.citydoctor2.check.CheckError;
import de.hft.stuttgart.citydoctor2.check.CheckId; import de.hft.stuttgart.citydoctor2.check.CheckId;
import de.hft.stuttgart.citydoctor2.check.CheckResult; import de.hft.stuttgart.citydoctor2.check.CheckResult;
import de.hft.stuttgart.citydoctor2.check.CheckableUtilsVisitor;
import de.hft.stuttgart.citydoctor2.check.ResultStatus; import de.hft.stuttgart.citydoctor2.check.ResultStatus;
import de.hft.stuttgart.citydoctor2.datastructure.BridgeObject.BridgeType; import de.hft.stuttgart.citydoctor2.datastructure.BridgeObject.BridgeType;
import de.hft.stuttgart.citydoctor2.datastructure.Geometry.Orientation;
import de.hft.stuttgart.citydoctor2.parser.ParserConfiguration; import de.hft.stuttgart.citydoctor2.parser.ParserConfiguration;
import org.mockito.Mockito; import de.hft.stuttgart.citydoctor2.utils.visitors.UnsetGeometriesVisitor;
public class BridgeObjectTest { public class BridgeObjectTest {
...@@ -58,7 +59,7 @@ public class BridgeObjectTest { ...@@ -58,7 +59,7 @@ public class BridgeObjectTest {
bo.addBoundarySurface(new BoundarySurface(null)); bo.addBoundarySurface(new BoundarySurface(null));
AtomicInteger boCounter = new AtomicInteger(0); AtomicInteger boCounter = new AtomicInteger(0);
AtomicInteger bsCounter = new AtomicInteger(0); AtomicInteger bsCounter = new AtomicInteger(0);
AbstractCheck c = new AbstractCheck() { CheckableUtilsVisitor c = new CheckableUtilsVisitor() {
@Override @Override
public void check(BridgeObject bo) { public void check(BridgeObject bo) {
...@@ -75,7 +76,7 @@ public class BridgeObjectTest { ...@@ -75,7 +76,7 @@ public class BridgeObjectTest {
assertEquals(1, bsCounter.intValue()); assertEquals(1, bsCounter.intValue());
AtomicInteger boCounter2 = new AtomicInteger(0); AtomicInteger boCounter2 = new AtomicInteger(0);
c = new AbstractCheck() { c = new CheckableUtilsVisitor() {
}; };
bo.accept(c); bo.accept(c);
assertEquals(0, boCounter2.intValue()); assertEquals(0, boCounter2.intValue());
...@@ -101,7 +102,7 @@ public class BridgeObjectTest { ...@@ -101,7 +102,7 @@ public class BridgeObjectTest {
bo.addBoundarySurface(bsMock); bo.addBoundarySurface(bsMock);
bo.addGeometry(geomMock); bo.addGeometry(geomMock);
AbstractCheck c = new AbstractCheck() { CheckableUtilsVisitor c = new CheckableUtilsVisitor() {
}; };
bo.accept(c); bo.accept(c);
...@@ -117,7 +118,7 @@ public class BridgeObjectTest { ...@@ -117,7 +118,7 @@ public class BridgeObjectTest {
@Test @Test
public void testPrepareForChecking() { public void testPrepareForChecking() {
BridgeObject bo = new BridgeObject(mock(AbstractBridge.class)); BridgeObject bo = new BridgeObject(mock(AbstractBridge.class));
Geometry geom = new Geometry(GeometryType.MULTI_SURFACE, Lod.LOD2); Geometry geom = new Geometry(GeometryType.MULTI_SURFACE, Lod.LOD2, Orientation.OUTWARD);
Geometry spyGeom = Mockito.spy(geom); Geometry spyGeom = Mockito.spy(geom);
bo.addGeometry(spyGeom); bo.addGeometry(spyGeom);
......
...@@ -26,12 +26,13 @@ import static org.mockito.Mockito.mock; ...@@ -26,12 +26,13 @@ import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.times; import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verify;
import de.hft.stuttgart.citydoctor2.check.AbstractCheck; import de.hft.stuttgart.citydoctor2.check.CheckableUtilsVisitor;
import org.citygml4j.core.model.construction.RoofSurface; import org.citygml4j.core.model.construction.RoofSurface;
import org.junit.Test; import org.junit.Test;
import org.mockito.Mockito; import org.mockito.Mockito;
import org.xmlobjects.gml.model.basictypes.Code; import org.xmlobjects.gml.model.basictypes.Code;
import de.hft.stuttgart.citydoctor2.datastructure.Geometry.Orientation;
import de.hft.stuttgart.citydoctor2.datastructure.LinearRing.LinearRingType; import de.hft.stuttgart.citydoctor2.datastructure.LinearRing.LinearRingType;
import de.hft.stuttgart.citydoctor2.utils.Copy; import de.hft.stuttgart.citydoctor2.utils.Copy;
...@@ -55,7 +56,7 @@ public class BuildingTest { ...@@ -55,7 +56,7 @@ public class BuildingTest {
lr.addVertex(v1); lr.addVertex(v1);
lr.addVertex(v2); lr.addVertex(v2);
lr.addVertex(v1); lr.addVertex(v1);
Geometry geom = new Geometry(GeometryType.SOLID, Lod.LOD0); Geometry geom = new Geometry(GeometryType.SOLID, Lod.LOD0, Orientation.OUTWARD);
geom.addPolygon(p); geom.addPolygon(p);
geom.updateEdgesAndVertices(); geom.updateEdgesAndVertices();
b.addGeometry(geom); b.addGeometry(geom);
...@@ -64,7 +65,7 @@ public class BuildingTest { ...@@ -64,7 +65,7 @@ public class BuildingTest {
RoofSurface rs = new RoofSurface(); RoofSurface rs = new RoofSurface();
rs.setId("testRoof"); rs.setId("testRoof");
BoundarySurface surface = new BoundarySurface(SurfaceFeatureType.BUILDING, BoundarySurfaceType.ROOF, rs); BoundarySurface surface = new BoundarySurface(SurfaceFeatureType.BUILDING, BoundarySurfaceType.ROOF, rs);
Geometry geomSurface = new Geometry(GeometryType.MULTI_SURFACE, Lod.LOD2); Geometry geomSurface = new Geometry(GeometryType.MULTI_SURFACE, Lod.LOD2, Orientation.OUTWARD);
geomSurface.addPolygon(new LinkedPolygon(p, geomSurface)); geomSurface.addPolygon(new LinkedPolygon(p, geomSurface));
geomSurface.updateEdgesAndVertices(); geomSurface.updateEdgesAndVertices();
surface.addGeometry(geomSurface); surface.addGeometry(geomSurface);
...@@ -151,7 +152,7 @@ public class BuildingTest { ...@@ -151,7 +152,7 @@ public class BuildingTest {
bp.addStorey(mockStorey); bp.addStorey(mockStorey);
AbstractCheck c = new AbstractCheck() { CheckableUtilsVisitor c = new CheckableUtilsVisitor() {
}; };
b.accept(c); b.accept(c);
......
package de.hft.stuttgart.citydoctor2.datastructure; package de.hft.stuttgart.citydoctor2.datastructure;
import de.hft.stuttgart.citydoctor2.check.AbstractCheck; import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
import java.util.ArrayList;
import java.util.List;
import org.citygml4j.core.model.core.AbstractCityObject;
import org.citygml4j.core.util.geometry.GeometryFactory;
import org.junit.Before;
import org.junit.Test;
import org.mockito.Mockito;
import de.hft.stuttgart.citydoctor2.check.CheckError; import de.hft.stuttgart.citydoctor2.check.CheckError;
import de.hft.stuttgart.citydoctor2.check.CheckId; import de.hft.stuttgart.citydoctor2.check.CheckId;
import de.hft.stuttgart.citydoctor2.check.CheckResult; import de.hft.stuttgart.citydoctor2.check.CheckResult;
import de.hft.stuttgart.citydoctor2.check.CheckableUtilsVisitor;
import de.hft.stuttgart.citydoctor2.check.ResultStatus; import de.hft.stuttgart.citydoctor2.check.ResultStatus;
import de.hft.stuttgart.citydoctor2.datastructure.Geometry.Orientation;
import de.hft.stuttgart.citydoctor2.parser.ParserConfiguration; import de.hft.stuttgart.citydoctor2.parser.ParserConfiguration;
import de.hft.stuttgart.citydoctor2.utils.visitors.GmlGeometryRebuilder; import de.hft.stuttgart.citydoctor2.utils.visitors.GmlGeometryRebuilder;
import de.hft.stuttgart.citydoctor2.utils.visitors.UnsetGeometriesVisitor; import de.hft.stuttgart.citydoctor2.utils.visitors.UnsetGeometriesVisitor;
import org.citygml4j.core.model.core.AbstractCityObject;
import org.citygml4j.core.util.geometry.GeometryFactory;
import org.junit.Before;
import org.junit.Test;
import org.mockito.Mockito;
import java.util.ArrayList;
import java.util.List;
import static org.junit.Assert.*;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
public class CityObjectTest { public class CityObjectTest {
...@@ -31,7 +36,7 @@ public class CityObjectTest { ...@@ -31,7 +36,7 @@ public class CityObjectTest {
Geometry mockGeometry = mock(Geometry.class); Geometry mockGeometry = mock(Geometry.class);
co.addGeometry(mockGeometry); co.addGeometry(mockGeometry);
AbstractCheck check = new AbstractCheck() { CheckableUtilsVisitor check = new CheckableUtilsVisitor() {
}; };
co.accept(check); co.accept(check);
...@@ -101,10 +106,10 @@ public class CityObjectTest { ...@@ -101,10 +106,10 @@ public class CityObjectTest {
@Test @Test
public void testGetHighestLodGeometry() { public void testGetHighestLodGeometry() {
Geometry geometryLod1 = new Geometry(GeometryType.SOLID, Lod.LOD1); Geometry geometryLod1 = new Geometry(GeometryType.SOLID, Lod.LOD1, Orientation.OUTWARD);
Geometry geometryLod2 = new Geometry(GeometryType.SOLID, Lod.LOD2); Geometry geometryLod2 = new Geometry(GeometryType.SOLID, Lod.LOD2, Orientation.OUTWARD);
Geometry geometryLod3 = new Geometry(GeometryType.SOLID, Lod.LOD3); Geometry geometryLod3 = new Geometry(GeometryType.SOLID, Lod.LOD3, Orientation.OUTWARD);
Geometry geometryLod4 = new Geometry(GeometryType.SOLID, Lod.LOD4); Geometry geometryLod4 = new Geometry(GeometryType.SOLID, Lod.LOD4, Orientation.OUTWARD);
assertNull(co.getHighestLodGeometry()); assertNull(co.getHighestLodGeometry());
co.addGeometry(geometryLod1); co.addGeometry(geometryLod1);
......
package de.hft.stuttgart.citydoctor2.datastructure; package de.hft.stuttgart.citydoctor2.datastructure;
import de.hft.stuttgart.citydoctor2.check.AbstractCheck; import de.hft.stuttgart.citydoctor2.check.CheckableUtilsVisitor;
import de.hft.stuttgart.citydoctor2.check.CheckError; import de.hft.stuttgart.citydoctor2.check.CheckError;
import de.hft.stuttgart.citydoctor2.check.CheckId; import de.hft.stuttgart.citydoctor2.check.CheckId;
import de.hft.stuttgart.citydoctor2.check.CheckResult; import de.hft.stuttgart.citydoctor2.check.CheckResult;
...@@ -30,7 +30,7 @@ public class GenericCityObjectTest { ...@@ -30,7 +30,7 @@ public class GenericCityObjectTest {
gco.addBoundarySurface(mockSurface); gco.addBoundarySurface(mockSurface);
gco.addGeometry(mockGeometry); gco.addGeometry(mockGeometry);
AbstractCheck c = new AbstractCheck() { CheckableUtilsVisitor c = new CheckableUtilsVisitor() {
}; };
gco.accept(c); gco.accept(c);
......
...@@ -32,8 +32,8 @@ import static org.mockito.Mockito.when; ...@@ -32,8 +32,8 @@ import static org.mockito.Mockito.when;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import de.hft.stuttgart.citydoctor2.check.AbstractCheck; import de.hft.stuttgart.citydoctor2.check.CheckableUtilsVisitor;
import de.hft.stuttgart.citydoctor2.utils.visitors.ClearCheckResultsVisitor; import de.hft.stuttgart.citydoctor2.utils.visitors.ClearVisitorResultsVisitor;
import org.citygml4j.core.model.construction.AbstractConstructionSurface; import org.citygml4j.core.model.construction.AbstractConstructionSurface;
import org.citygml4j.core.model.construction.WallSurface; import org.citygml4j.core.model.construction.WallSurface;
import org.citygml4j.core.util.geometry.GeometryFactory; import org.citygml4j.core.util.geometry.GeometryFactory;
...@@ -44,6 +44,7 @@ import de.hft.stuttgart.citydoctor2.check.CheckError; ...@@ -44,6 +44,7 @@ import de.hft.stuttgart.citydoctor2.check.CheckError;
import de.hft.stuttgart.citydoctor2.check.CheckId; import de.hft.stuttgart.citydoctor2.check.CheckId;
import de.hft.stuttgart.citydoctor2.check.CheckResult; import de.hft.stuttgart.citydoctor2.check.CheckResult;
import de.hft.stuttgart.citydoctor2.check.ResultStatus; import de.hft.stuttgart.citydoctor2.check.ResultStatus;
import de.hft.stuttgart.citydoctor2.datastructure.Geometry.Orientation;
import de.hft.stuttgart.citydoctor2.datastructure.LinearRing.LinearRingType; import de.hft.stuttgart.citydoctor2.datastructure.LinearRing.LinearRingType;
import de.hft.stuttgart.citydoctor2.math.Vector3d; import de.hft.stuttgart.citydoctor2.math.Vector3d;
import de.hft.stuttgart.citydoctor2.parser.ParserConfiguration; import de.hft.stuttgart.citydoctor2.parser.ParserConfiguration;
...@@ -58,12 +59,12 @@ public class GeometryTest { ...@@ -58,12 +59,12 @@ public class GeometryTest {
@Test @Test
public void testVisitorPropagation() { public void testVisitorPropagation() {
Geometry geom = new Geometry(GeometryType.SOLID, Lod.LOD0); Geometry geom = new Geometry(GeometryType.SOLID, Lod.LOD0, Orientation.OUTWARD);
ConcretePolygon mockPolygon = mock(ConcretePolygon.class); ConcretePolygon mockPolygon = mock(ConcretePolygon.class);
geom.addPolygon(mockPolygon); geom.addPolygon(mockPolygon);
AbstractCheck c = new AbstractCheck() { CheckableUtilsVisitor c = new CheckableUtilsVisitor() {
}; };
geom.accept(c); geom.accept(c);
...@@ -72,7 +73,7 @@ public class GeometryTest { ...@@ -72,7 +73,7 @@ public class GeometryTest {
@Test @Test
public void testCreate() { public void testCreate() {
Geometry geom = new Geometry(GeometryType.SOLID, Lod.LOD0); Geometry geom = new Geometry(GeometryType.SOLID, Lod.LOD0, Orientation.OUTWARD);
assertNotNull(geom); assertNotNull(geom);
assertSame(GeometryType.SOLID, geom.getType()); assertSame(GeometryType.SOLID, geom.getType());
...@@ -81,7 +82,7 @@ public class GeometryTest { ...@@ -81,7 +82,7 @@ public class GeometryTest {
@Test @Test
public void testAddPolygon() { public void testAddPolygon() {
Geometry geom = new Geometry(GeometryType.SOLID, Lod.LOD0); Geometry geom = new Geometry(GeometryType.SOLID, Lod.LOD0, Orientation.OUTWARD);
Polygon p = new ConcretePolygon(); Polygon p = new ConcretePolygon();
geom.addPolygon(p); geom.addPolygon(p);
...@@ -99,7 +100,7 @@ public class GeometryTest { ...@@ -99,7 +100,7 @@ public class GeometryTest {
var gmlBi = new org.citygml4j.core.model.building.BuildingInstallation(); var gmlBi = new org.citygml4j.core.model.building.BuildingInstallation();
Installation bi = new Installation(); Installation bi = new Installation();
bi.setGmlObject(gmlBi); bi.setGmlObject(gmlBi);
Geometry geom = new Geometry(GeometryType.MULTI_SURFACE, Lod.LOD2); Geometry geom = new Geometry(GeometryType.MULTI_SURFACE, Lod.LOD2, Orientation.OUTWARD);
ConcretePolygon p = new ConcretePolygon(); ConcretePolygon p = new ConcretePolygon();
LinearRing lr = new LinearRing(LinearRingType.EXTERIOR); LinearRing lr = new LinearRing(LinearRingType.EXTERIOR);
...@@ -112,7 +113,7 @@ public class GeometryTest { ...@@ -112,7 +113,7 @@ public class GeometryTest {
bs.addGeometry(geom); bs.addGeometry(geom);
Geometry biGeom = new Geometry(GeometryType.COMPOSITE_SURFACE, Lod.LOD2); Geometry biGeom = new Geometry(GeometryType.COMPOSITE_SURFACE, Lod.LOD2, Orientation.OUTWARD);
biGeom.addPolygon(new LinkedPolygon(p, biGeom)); biGeom.addPolygon(new LinkedPolygon(p, biGeom));
bi.addGeometry(biGeom); bi.addGeometry(biGeom);
...@@ -133,7 +134,7 @@ public class GeometryTest { ...@@ -133,7 +134,7 @@ public class GeometryTest {
ParserConfiguration config = new ParserConfiguration(4, false); ParserConfiguration config = new ParserConfiguration(4, false);
AbstractConstructionSurface abs = new WallSurface(); AbstractConstructionSurface abs = new WallSurface();
BoundarySurface bs = new BoundarySurface(SurfaceFeatureType.BUILDING, BoundarySurfaceType.WALL, abs); BoundarySurface bs = new BoundarySurface(SurfaceFeatureType.BUILDING, BoundarySurfaceType.WALL, abs);
Geometry geom = new Geometry(GeometryType.MULTI_SURFACE, Lod.LOD2); Geometry geom = new Geometry(GeometryType.MULTI_SURFACE, Lod.LOD2, Orientation.OUTWARD);
ConcretePolygon p = new ConcretePolygon(); ConcretePolygon p = new ConcretePolygon();
LinearRing lr = new LinearRing(LinearRingType.EXTERIOR); LinearRing lr = new LinearRing(LinearRingType.EXTERIOR);
...@@ -159,7 +160,7 @@ public class GeometryTest { ...@@ -159,7 +160,7 @@ public class GeometryTest {
var gmlBi = new org.citygml4j.core.model.building.BuildingInstallation(); var gmlBi = new org.citygml4j.core.model.building.BuildingInstallation();
Installation bi = new Installation(); Installation bi = new Installation();
bi.setGmlObject(gmlBi); bi.setGmlObject(gmlBi);
Geometry geom = new Geometry(GeometryType.MULTI_SURFACE, Lod.LOD2); Geometry geom = new Geometry(GeometryType.MULTI_SURFACE, Lod.LOD2, Orientation.OUTWARD);
ConcretePolygon p = new ConcretePolygon(); ConcretePolygon p = new ConcretePolygon();
LinearRing lr = new LinearRing(LinearRingType.EXTERIOR); LinearRing lr = new LinearRing(LinearRingType.EXTERIOR);
...@@ -171,7 +172,7 @@ public class GeometryTest { ...@@ -171,7 +172,7 @@ public class GeometryTest {
p.setPartOfSurface(bs); p.setPartOfSurface(bs);
p.setPartOfInstallation(bi); p.setPartOfInstallation(bi);
Geometry biGeom = new Geometry(GeometryType.COMPOSITE_SURFACE, Lod.LOD2); Geometry biGeom = new Geometry(GeometryType.COMPOSITE_SURFACE, Lod.LOD2, Orientation.OUTWARD);
LinkedPolygon linkedPolygon = new LinkedPolygon(p, biGeom); LinkedPolygon linkedPolygon = new LinkedPolygon(p, biGeom);
biGeom.addPolygon(linkedPolygon); biGeom.addPolygon(linkedPolygon);
bi.addGeometry(biGeom); bi.addGeometry(biGeom);
...@@ -197,7 +198,7 @@ public class GeometryTest { ...@@ -197,7 +198,7 @@ public class GeometryTest {
Installation bi = new Installation(); Installation bi = new Installation();
bi.setGmlObject(gmlBi); bi.setGmlObject(gmlBi);
bi.addBoundarySurface(bs); bi.addBoundarySurface(bs);
Geometry geom2 = new Geometry(GeometryType.MULTI_SURFACE, Lod.LOD2); Geometry geom2 = new Geometry(GeometryType.MULTI_SURFACE, Lod.LOD2, Orientation.OUTWARD);
ConcretePolygon p = new ConcretePolygon(); ConcretePolygon p = new ConcretePolygon();
geom2.addPolygon(p); geom2.addPolygon(p);
LinearRing lr = new LinearRing(LinearRingType.EXTERIOR); LinearRing lr = new LinearRing(LinearRingType.EXTERIOR);
...@@ -210,7 +211,7 @@ public class GeometryTest { ...@@ -210,7 +211,7 @@ public class GeometryTest {
p.setPartOfInstallation(bi); p.setPartOfInstallation(bi);
bs.addGeometry(geom2); bs.addGeometry(geom2);
Geometry geom = new Geometry(GeometryType.SOLID, Lod.LOD2); Geometry geom = new Geometry(GeometryType.SOLID, Lod.LOD2, Orientation.OUTWARD);
Polygon linkedPoly = new LinkedPolygon(p, geom); Polygon linkedPoly = new LinkedPolygon(p, geom);
geom.addPolygon(linkedPoly); geom.addPolygon(linkedPoly);
...@@ -241,7 +242,7 @@ public class GeometryTest { ...@@ -241,7 +242,7 @@ public class GeometryTest {
@Test @Test
public void testSetParent() { public void testSetParent() {
Geometry geom = new Geometry(GeometryType.MULTI_SURFACE, Lod.LOD2); Geometry geom = new Geometry(GeometryType.MULTI_SURFACE, Lod.LOD2, Orientation.OUTWARD);
CityObject co = mock(CityObject.class); CityObject co = mock(CityObject.class);
geom.setParent(co); geom.setParent(co);
assertEquals(co, geom.getParent()); assertEquals(co, geom.getParent());
...@@ -262,7 +263,7 @@ public class GeometryTest { ...@@ -262,7 +263,7 @@ public class GeometryTest {
@Test @Test
public void testSetType() { public void testSetType() {
Geometry geom = new Geometry(GeometryType.MULTI_SURFACE, Lod.LOD2); Geometry geom = new Geometry(GeometryType.MULTI_SURFACE, Lod.LOD2, Orientation.OUTWARD);
geom.setType(GeometryType.SOLID); geom.setType(GeometryType.SOLID);
assertEquals(GeometryType.SOLID, geom.getType()); assertEquals(GeometryType.SOLID, geom.getType());
} }
...@@ -278,7 +279,7 @@ public class GeometryTest { ...@@ -278,7 +279,7 @@ public class GeometryTest {
@Test @Test
public void testContainsError() { public void testContainsError() {
Geometry geom = new Geometry(GeometryType.SOLID, Lod.LOD1); Geometry geom = new Geometry(GeometryType.SOLID, Lod.LOD1, Orientation.OUTWARD);
assertFalse(geom.containsError(CheckId.C_GE_P_HOLE_OUTSIDE)); assertFalse(geom.containsError(CheckId.C_GE_P_HOLE_OUTSIDE));
geom.addCheckResult(new CheckResult(CheckId.C_GE_P_HOLE_OUTSIDE, ResultStatus.ERROR, mock(CheckError.class))); geom.addCheckResult(new CheckResult(CheckId.C_GE_P_HOLE_OUTSIDE, ResultStatus.ERROR, mock(CheckError.class)));
assertTrue(geom.containsError(CheckId.C_GE_P_HOLE_OUTSIDE)); assertTrue(geom.containsError(CheckId.C_GE_P_HOLE_OUTSIDE));
...@@ -293,20 +294,20 @@ public class GeometryTest { ...@@ -293,20 +294,20 @@ public class GeometryTest {
@Test @Test
public void testClearAllContainedCheckResults() { public void testClearAllContainedCheckResults() {
Geometry geom = new Geometry(GeometryType.SOLID, Lod.LOD1); Geometry geom = new Geometry(GeometryType.SOLID, Lod.LOD1, Orientation.OUTWARD);
assertFalse(geom.containsError(CheckId.C_GE_P_HOLE_OUTSIDE)); assertFalse(geom.containsError(CheckId.C_GE_P_HOLE_OUTSIDE));
geom.addCheckResult(new CheckResult(CheckId.C_GE_P_HOLE_OUTSIDE, ResultStatus.ERROR, mock(CheckError.class))); geom.addCheckResult(new CheckResult(CheckId.C_GE_P_HOLE_OUTSIDE, ResultStatus.ERROR, mock(CheckError.class)));
assertTrue(geom.containsError(CheckId.C_GE_P_HOLE_OUTSIDE)); assertTrue(geom.containsError(CheckId.C_GE_P_HOLE_OUTSIDE));
Polygon p = mock(Polygon.class); Polygon p = mock(Polygon.class);
geom.addPolygon(p); geom.addPolygon(p);
geom.clearAllContainedCheckResults(); geom.clearAllContainedCheckResults();
verify(p).accept(any(ClearCheckResultsVisitor.class)); verify(p).accept(any(ClearVisitorResultsVisitor.class));
assertFalse(geom.containsError(CheckId.C_GE_P_HOLE_OUTSIDE)); assertFalse(geom.containsError(CheckId.C_GE_P_HOLE_OUTSIDE));
} }
@Test @Test
public void testCollectContainedErrors() { public void testCollectContainedErrors() {
Geometry geom = new Geometry(GeometryType.SOLID, Lod.LOD1); Geometry geom = new Geometry(GeometryType.SOLID, Lod.LOD1, Orientation.OUTWARD);
assertFalse(geom.containsError(CheckId.C_GE_P_HOLE_OUTSIDE)); assertFalse(geom.containsError(CheckId.C_GE_P_HOLE_OUTSIDE));
geom.addCheckResult(new CheckResult(CheckId.C_GE_P_HOLE_OUTSIDE, ResultStatus.ERROR, mock(CheckError.class))); geom.addCheckResult(new CheckResult(CheckId.C_GE_P_HOLE_OUTSIDE, ResultStatus.ERROR, mock(CheckError.class)));
assertTrue(geom.containsError(CheckId.C_GE_P_HOLE_OUTSIDE)); assertTrue(geom.containsError(CheckId.C_GE_P_HOLE_OUTSIDE));
...@@ -324,7 +325,7 @@ public class GeometryTest { ...@@ -324,7 +325,7 @@ public class GeometryTest {
@Test @Test
public void testContainsAnyError() { public void testContainsAnyError() {
Geometry geom = new Geometry(GeometryType.SOLID, Lod.LOD1); Geometry geom = new Geometry(GeometryType.SOLID, Lod.LOD1, Orientation.OUTWARD);
assertFalse(geom.containsAnyError()); assertFalse(geom.containsAnyError());
geom.addCheckResult(new CheckResult(CheckId.C_GE_P_HOLE_OUTSIDE, ResultStatus.ERROR, mock(CheckError.class))); geom.addCheckResult(new CheckResult(CheckId.C_GE_P_HOLE_OUTSIDE, ResultStatus.ERROR, mock(CheckError.class)));
assertTrue(geom.containsAnyError()); assertTrue(geom.containsAnyError());
...@@ -343,7 +344,7 @@ public class GeometryTest { ...@@ -343,7 +344,7 @@ public class GeometryTest {
@Test @Test
public void testAccept() { public void testAccept() {
Geometry geom = new Geometry(GeometryType.SOLID, Lod.LOD1); Geometry geom = new Geometry(GeometryType.SOLID, Lod.LOD1, Orientation.OUTWARD);
Check c = mock(Check.class); Check c = mock(Check.class);
geom.accept(c); geom.accept(c);
when(c.canExecute(geom)).thenReturn(true); when(c.canExecute(geom)).thenReturn(true);
...@@ -434,7 +435,7 @@ public class GeometryTest { ...@@ -434,7 +435,7 @@ public class GeometryTest {
@Test @Test
public void testContainsPolygon() { public void testContainsPolygon() {
Geometry geom = new Geometry(GeometryType.SOLID, Lod.LOD0); Geometry geom = new Geometry(GeometryType.SOLID, Lod.LOD0, Orientation.OUTWARD);
ConcretePolygon cdPoly = new ConcretePolygon(); ConcretePolygon cdPoly = new ConcretePolygon();
geom.addPolygon(cdPoly); geom.addPolygon(cdPoly);
cdPoly.setGmlId(new GmlId("test1")); cdPoly.setGmlId(new GmlId("test1"));
......
...@@ -18,6 +18,7 @@ ...@@ -18,6 +18,7 @@
*/ */
package de.hft.stuttgart.citydoctor2.datastructure; package de.hft.stuttgart.citydoctor2.datastructure;
import de.hft.stuttgart.citydoctor2.datastructure.Geometry.Orientation;
import de.hft.stuttgart.citydoctor2.datastructure.LinearRing.LinearRingType; import de.hft.stuttgart.citydoctor2.datastructure.LinearRing.LinearRingType;
import org.xmlobjects.gml.model.geometry.primitives.AbstractRing; import org.xmlobjects.gml.model.geometry.primitives.AbstractRing;
import org.xmlobjects.gml.model.geometry.primitives.AbstractSolid; import org.xmlobjects.gml.model.geometry.primitives.AbstractSolid;
...@@ -48,7 +49,7 @@ public class GeometryTestUtils { ...@@ -48,7 +49,7 @@ public class GeometryTestUtils {
} }
public static Geometry createDummyGeometry(GeometryType type, Lod lod) { public static Geometry createDummyGeometry(GeometryType type, Lod lod) {
Geometry geom = new Geometry(type, lod); Geometry geom = new Geometry(type, lod, Orientation.OUTWARD);
ConcretePolygon polygon = new ConcretePolygon(); ConcretePolygon polygon = new ConcretePolygon();
geom.getPolygons().add(polygon); geom.getPolygons().add(polygon);
polygon.setParent(geom); polygon.setParent(geom);
...@@ -68,7 +69,7 @@ public class GeometryTestUtils { ...@@ -68,7 +69,7 @@ public class GeometryTestUtils {
} }
public static Geometry createDummyGeometryWithInnerRingWithNeighboringPolygon(GeometryType type, Lod lod) { public static Geometry createDummyGeometryWithInnerRingWithNeighboringPolygon(GeometryType type, Lod lod) {
Geometry geom = new Geometry(type, lod); Geometry geom = new Geometry(type, lod, Orientation.OUTWARD);
ConcretePolygon polygon = new ConcretePolygon(); ConcretePolygon polygon = new ConcretePolygon();
geom.getPolygons().add(polygon); geom.getPolygons().add(polygon);
polygon.setParent(geom); polygon.setParent(geom);
......
package de.hft.stuttgart.citydoctor2.datastructure; package de.hft.stuttgart.citydoctor2.datastructure;
import de.hft.stuttgart.citydoctor2.check.AbstractCheck; import de.hft.stuttgart.citydoctor2.check.CheckableUtilsVisitor;
import de.hft.stuttgart.citydoctor2.check.CheckError; import de.hft.stuttgart.citydoctor2.check.CheckError;
import de.hft.stuttgart.citydoctor2.check.CheckId; import de.hft.stuttgart.citydoctor2.check.CheckId;
import de.hft.stuttgart.citydoctor2.check.CheckResult; import de.hft.stuttgart.citydoctor2.check.CheckResult;
...@@ -150,7 +150,7 @@ public class ImplicitGeometryTest { ...@@ -150,7 +150,7 @@ public class ImplicitGeometryTest {
AtomicInteger loCounter = new AtomicInteger(0); AtomicInteger loCounter = new AtomicInteger(0);
AbstractCheck c = new AbstractCheck() { CheckableUtilsVisitor c = new CheckableUtilsVisitor() {
@Override @Override
public void check(Polygon lo) { public void check(Polygon lo) {
loCounter.incrementAndGet(); loCounter.incrementAndGet();
......
package de.hft.stuttgart.citydoctor2.datastructure; package de.hft.stuttgart.citydoctor2.datastructure;
import de.hft.stuttgart.citydoctor2.check.AbstractCheck; import de.hft.stuttgart.citydoctor2.check.CheckableUtilsVisitor;
import org.citygml4j.core.model.relief.ReliefFeature; import org.citygml4j.core.model.relief.ReliefFeature;
import org.junit.Test; import org.junit.Test;
...@@ -16,7 +16,7 @@ public class ReliefObjectTest { ...@@ -16,7 +16,7 @@ public class ReliefObjectTest {
TinObject mockTin = mock(TinObject.class); TinObject mockTin = mock(TinObject.class);
relief.addComponent(mockTin); relief.addComponent(mockTin);
AbstractCheck c = new AbstractCheck() { CheckableUtilsVisitor c = new CheckableUtilsVisitor() {
}; };
relief.accept(c); relief.accept(c);
......
package de.hft.stuttgart.citydoctor2.datastructure; package de.hft.stuttgart.citydoctor2.datastructure;
import de.hft.stuttgart.citydoctor2.check.AbstractCheck; import de.hft.stuttgart.citydoctor2.check.CheckableUtilsVisitor;
import de.hft.stuttgart.citydoctor2.check.CheckError; import de.hft.stuttgart.citydoctor2.check.CheckError;
import de.hft.stuttgart.citydoctor2.check.CheckId; import de.hft.stuttgart.citydoctor2.check.CheckId;
import de.hft.stuttgart.citydoctor2.check.CheckResult; import de.hft.stuttgart.citydoctor2.check.CheckResult;
...@@ -32,7 +32,7 @@ public class TinObjectTest { ...@@ -32,7 +32,7 @@ public class TinObjectTest {
tin.addGeometry(mockGeometry); tin.addGeometry(mockGeometry);
AbstractCheck c = new AbstractCheck() { CheckableUtilsVisitor c = new CheckableUtilsVisitor() {
}; };
tin.accept(c); tin.accept(c);
......
package de.hft.stuttgart.citydoctor2.datastructure; package de.hft.stuttgart.citydoctor2.datastructure;
import de.hft.stuttgart.citydoctor2.check.AbstractCheck; import de.hft.stuttgart.citydoctor2.check.CheckableUtilsVisitor;
import de.hft.stuttgart.citydoctor2.check.CheckError; import de.hft.stuttgart.citydoctor2.check.CheckError;
import de.hft.stuttgart.citydoctor2.check.CheckId; import de.hft.stuttgart.citydoctor2.check.CheckId;
import de.hft.stuttgart.citydoctor2.check.CheckResult; import de.hft.stuttgart.citydoctor2.check.CheckResult;
...@@ -54,7 +54,7 @@ public class TopLevelTransportFeatureTest { ...@@ -54,7 +54,7 @@ public class TopLevelTransportFeatureTest {
top.addSection(mockSection); top.addSection(mockSection);
top.addIntersection(mockIntersection); top.addIntersection(mockIntersection);
AbstractCheck c = new AbstractCheck() { CheckableUtilsVisitor c = new CheckableUtilsVisitor() {
}; };
top.accept(c); top.accept(c);
......
package de.hft.stuttgart.citydoctor2.datastructure; package de.hft.stuttgart.citydoctor2.datastructure;
import de.hft.stuttgart.citydoctor2.check.AbstractCheck; import de.hft.stuttgart.citydoctor2.check.CheckableUtilsVisitor;
import de.hft.stuttgart.citydoctor2.check.CheckError; import de.hft.stuttgart.citydoctor2.check.CheckError;
import de.hft.stuttgart.citydoctor2.check.CheckId; import de.hft.stuttgart.citydoctor2.check.CheckId;
import de.hft.stuttgart.citydoctor2.check.CheckResult; import de.hft.stuttgart.citydoctor2.check.CheckResult;
import de.hft.stuttgart.citydoctor2.check.ResultStatus; import de.hft.stuttgart.citydoctor2.check.ResultStatus;
import de.hft.stuttgart.citydoctor2.parser.ParserConfiguration; import de.hft.stuttgart.citydoctor2.parser.ParserConfiguration;
import de.hft.stuttgart.citydoctor2.utils.visitors.ClearCheckResultsVisitor; import de.hft.stuttgart.citydoctor2.utils.visitors.ClearVisitorResultsVisitor;
import org.citygml4j.core.model.core.AbstractSpaceBoundary; import org.citygml4j.core.model.core.AbstractSpaceBoundary;
import org.citygml4j.core.model.core.AbstractUnoccupiedSpace; import org.citygml4j.core.model.core.AbstractUnoccupiedSpace;
import org.citygml4j.core.model.deprecated.core.DeprecatedPropertiesOfAbstractCityObject; import org.citygml4j.core.model.deprecated.core.DeprecatedPropertiesOfAbstractCityObject;
...@@ -37,7 +37,7 @@ public class TrafficSpaceTest { ...@@ -37,7 +37,7 @@ public class TrafficSpaceTest {
TrafficAreaObject areaMock = mock(TrafficAreaObject.class); TrafficAreaObject areaMock = mock(TrafficAreaObject.class);
tso.addTrafficArea(areaMock); tso.addTrafficArea(areaMock);
AbstractCheck c = new AbstractCheck() { CheckableUtilsVisitor c = new CheckableUtilsVisitor() {
}; };
tso.accept(c); tso.accept(c);
...@@ -91,7 +91,7 @@ public class TrafficSpaceTest { ...@@ -91,7 +91,7 @@ public class TrafficSpaceTest {
tso.clearAllContainedCheckResults(); tso.clearAllContainedCheckResults();
assertFalse(tso.containsError(CheckId.C_GE_P_HOLE_OUTSIDE)); assertFalse(tso.containsError(CheckId.C_GE_P_HOLE_OUTSIDE));
verify(taMock).accept(any(ClearCheckResultsVisitor.class)); verify(taMock).accept(any(ClearVisitorResultsVisitor.class));
} }
@Test @Test
......
package de.hft.stuttgart.citydoctor2.datastructure; package de.hft.stuttgart.citydoctor2.datastructure;
import de.hft.stuttgart.citydoctor2.check.AbstractCheck; import de.hft.stuttgart.citydoctor2.check.CheckableUtilsVisitor;
import de.hft.stuttgart.citydoctor2.check.CheckError; import de.hft.stuttgart.citydoctor2.check.CheckError;
import de.hft.stuttgart.citydoctor2.check.CheckId; import de.hft.stuttgart.citydoctor2.check.CheckId;
import de.hft.stuttgart.citydoctor2.check.CheckResult; import de.hft.stuttgart.citydoctor2.check.CheckResult;
...@@ -32,7 +32,7 @@ public class TransportationSpaceTest { ...@@ -32,7 +32,7 @@ public class TransportationSpaceTest {
space.addTrafficSpace(mockSpace); space.addTrafficSpace(mockSpace);
space.addAuxTrafficSpace(auxMockSpace); space.addAuxTrafficSpace(auxMockSpace);
AbstractCheck c = new AbstractCheck() { CheckableUtilsVisitor c = new CheckableUtilsVisitor() {
}; };
space.accept(c); space.accept(c);
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment