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