Commit 742f9555 authored by Riegel's avatar Riegel
Browse files

Test:Rework TransportationObject tests

2 merge requests!28Version 3.17.0 Release,!27TransportationObject model rework
This commit is part of merge request !27. Comments created here will be created in the context of that merge request.
Showing with 336 additions and 169 deletions
+336 -169
...@@ -31,13 +31,9 @@ import static org.mockito.Mockito.when; ...@@ -31,13 +31,9 @@ import static org.mockito.Mockito.when;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import org.citygml4j.core.model.deprecated.core.DeprecatedPropertiesOfAbstractCityObject;
import org.citygml4j.core.model.deprecated.core.DeprecatedPropertiesOfAbstractThematicSurface; import org.citygml4j.core.model.deprecated.core.DeprecatedPropertiesOfAbstractThematicSurface;
import org.citygml4j.core.model.deprecated.transportation.DeprecatedPropertiesOfAbstractTransportationSpace; import org.citygml4j.core.model.deprecated.transportation.DeprecatedPropertiesOfAbstractTransportationSpace;
import org.citygml4j.core.model.deprecated.transportation.TransportationComplex;
import org.citygml4j.core.model.transportation.AbstractTransportationSpace;
import org.citygml4j.core.model.transportation.AuxiliaryTrafficArea;
import org.citygml4j.core.model.transportation.AuxiliaryTrafficSpace;
import org.citygml4j.core.model.transportation.AuxiliaryTrafficSpaceProperty;
import org.citygml4j.core.model.transportation.Intersection; import org.citygml4j.core.model.transportation.Intersection;
import org.citygml4j.core.model.transportation.Railway; import org.citygml4j.core.model.transportation.Railway;
import org.citygml4j.core.model.transportation.Road; import org.citygml4j.core.model.transportation.Road;
...@@ -49,7 +45,6 @@ import org.citygml4j.core.model.transportation.TrafficSpace; ...@@ -49,7 +45,6 @@ import org.citygml4j.core.model.transportation.TrafficSpace;
import org.citygml4j.core.model.transportation.Waterway; import org.citygml4j.core.model.transportation.Waterway;
import org.citygml4j.core.util.geometry.GeometryFactory; import org.citygml4j.core.util.geometry.GeometryFactory;
import org.junit.Test; import org.junit.Test;
import org.mockito.Mock;
import org.mockito.Mockito; import org.mockito.Mockito;
import org.xmlobjects.gml.model.geometry.aggregates.MultiSurfaceProperty; import org.xmlobjects.gml.model.geometry.aggregates.MultiSurfaceProperty;
...@@ -95,280 +90,452 @@ public class TransportationObjectTest { ...@@ -95,280 +90,452 @@ public class TransportationObjectTest {
@Test @Test
public void testReCreateGeometriesWithComposedOf() { public void testReCreateGeometriesTransportationSpace() {
TopLevelTransportFeature to = TopLevelTransportFeature.from(Mockito.mock(Road.class)); Road roadMock = mock(Road.class);
Road roadMock = new Road(); TopLevelTransportFeature top = TopLevelTransportFeature.from(roadMock);
to.setGmlObject(roadMock); top.setGmlObject(roadMock);
TrafficSpaceObject ataTo = new TrafficSpaceObject(TrafficSpaceObject.TrafficSpaceType.AUXILIARY_TRAFFIC_SPACE); TransportSection sectionMock = Mockito.mock(TransportSection.class);
AuxiliaryTrafficSpace ataMock = mock(AuxiliaryTrafficSpace.class); TransportSection intersectionMock = Mockito.mock(TransportSection.class);
ataTo.addGeometry(GeometryTestUtils.createDummyGeometry(GeometryType.MULTI_SURFACE, Lod.LOD2)); TrafficSpaceObject tsMock = Mockito.mock(TrafficSpaceObject.class);
ataTo.setGmlObject(ataMock); TrafficSpaceObject auxTsMock = Mockito.mock(TrafficSpaceObject.class);
roadMock.getAuxiliaryTrafficSpaces().add(new AuxiliaryTrafficSpaceProperty(ataMock));
top.addSection(sectionMock);
to.addAuxTrafficSpace(ataTo); top.addIntersection(intersectionMock);
top.addTrafficSpace(tsMock);
top.addAuxTrafficSpace(auxTsMock);
top.addGeometry(GeometryTestUtils.createDummyGeometry(GeometryType.MULTI_SURFACE, Lod.LOD2));
GeometryFactory factory = GeometryFactory.newInstance(); GeometryFactory factory = GeometryFactory.newInstance();
to.reCreateGeometries(factory, mock(ParserConfiguration.class)); top.reCreateGeometries(factory, mock(ParserConfiguration.class));
verify(ataMock).setLod2MultiSurface(any());
verify(roadMock).setLod2MultiSurface(any());
verify(sectionMock).reCreateGeometries(any(), any());
verify(intersectionMock).reCreateGeometries(any(), any());
verify(tsMock).reCreateGeometries(any(), any());
verify(auxTsMock).reCreateGeometries(any(), any());
}
@Test
public void testReCreateGeometriesTrafficSpace() {
TrafficSpaceObject tso = new TrafficSpaceObject(TrafficSpaceObject.TrafficSpaceType.TRAFFIC_SPACE);
TrafficSpace tsMock = mock(TrafficSpace.class);
tso.setGmlObject(tsMock);
TrafficAreaObject taoMock = Mockito.mock(TrafficAreaObject.class);
tso.addTrafficArea(taoMock);
tso.addGeometry(GeometryTestUtils.createDummyGeometry(GeometryType.MULTI_SURFACE, Lod.LOD2));
GeometryFactory factory = GeometryFactory.newInstance();
tso.reCreateGeometries(factory, mock(ParserConfiguration.class));
verify(tsMock).setLod2MultiSurface(any());
verify(taoMock).reCreateGeometries(any(), any());
} }
@Test
public void testReCreateGeometriesTrafficArea() {
TrafficAreaObject tao = new TrafficAreaObject(TrafficAreaObject.TrafficAreaType.TRAFFIC_AREA);
TrafficArea taMock = mock(TrafficArea.class);
tao.setGmlObject(taMock);
tao.addGeometry(GeometryTestUtils.createDummyGeometry(GeometryType.MULTI_SURFACE, Lod.LOD2));
GeometryFactory factory = GeometryFactory.newInstance();
tao.reCreateGeometries(factory, mock(ParserConfiguration.class));
verify(taMock).setLod2MultiSurface(any());
}
@Test @Test
public void testReCreateGeometriesMultiSurfaceLod0() { public void testReCreateGeometriesMultiSurfaceLod0() {
TopLevelTransportFeature top = TopLevelTransportFeature.from(Mockito.mock(Road.class));
Road roadMock = mock(Road.class); Road roadMock = mock(Road.class);
TopLevelTransportFeature top = TopLevelTransportFeature.from(roadMock);
top.setGmlObject(roadMock); top.setGmlObject(roadMock);
TrafficSpaceObject tsMock = new TrafficSpaceObject(TrafficSpaceObject.TrafficSpaceType.TRAFFIC_SPACE);
TrafficSpaceObject ts = new TrafficSpaceObject(TrafficSpaceObject.TrafficSpaceType.TRAFFIC_SPACE);
TrafficSpace trafficSpaceMock = mock(TrafficSpace.class); TrafficSpace trafficSpaceMock = mock(TrafficSpace.class);
tsMock.setGmlObject(trafficSpaceMock); ts.setGmlObject(trafficSpaceMock);
TrafficAreaObject taMock = new TrafficAreaObject(TrafficAreaObject.TrafficAreaType.TRAFFIC_AREA);
TrafficArea trafficAreaMock = mock(TrafficArea.class);
taMock.setGmlObject(trafficAreaMock);
TrafficAreaObject ataMock = new TrafficAreaObject(TrafficAreaObject.TrafficAreaType.AUXILIARY_TRAFFIC_AREA);
AuxiliaryTrafficArea auxTrafficAreaMock = mock(AuxiliaryTrafficArea.class);
ataMock.setGmlObject(auxTrafficAreaMock);
top.addTrafficSpace(tsMock); TrafficAreaObject ta = new TrafficAreaObject(TrafficAreaObject.TrafficAreaType.TRAFFIC_AREA);
tsMock.addTrafficArea(taMock); TrafficArea trafficAreaMock = mock(TrafficArea.class);
tsMock.addTrafficArea(ataMock); ta.setGmlObject(trafficAreaMock);
taMock.addGeometry(GeometryTestUtils.createDummyGeometry(GeometryType.MULTI_SURFACE, Lod.LOD0));
ataMock.addGeometry(GeometryTestUtils.createDummyGeometry(GeometryType.MULTI_SURFACE, Lod.LOD0));
tsMock.addGeometry(GeometryTestUtils.createDummyGeometry(GeometryType.MULTI_SURFACE, Lod.LOD0));
top.addGeometry(GeometryTestUtils.createDummyGeometry(GeometryType.MULTI_SURFACE, Lod.LOD0)); top.addGeometry(GeometryTestUtils.createDummyGeometry(GeometryType.MULTI_SURFACE, Lod.LOD0));
ts.addGeometry(GeometryTestUtils.createDummyGeometry(GeometryType.MULTI_SURFACE, Lod.LOD0));
ta.addGeometry(GeometryTestUtils.createDummyGeometry(GeometryType.MULTI_SURFACE, Lod.LOD0));
GeometryFactory factory = GeometryFactory.newInstance(); GeometryFactory factory = GeometryFactory.newInstance();
top.reCreateGeometries(factory, mock(ParserConfiguration.class)); top.reCreateGeometries(factory, mock(ParserConfiguration.class));
verify(trafficAreaMock).setLod0MultiSurface(any()); ts.reCreateGeometries(factory, mock(ParserConfiguration.class));
verify(auxTrafficAreaMock).setLod0MultiSurface(any()); ta.reCreateGeometries(factory, mock(ParserConfiguration.class));
verify(trafficSpaceMock).setLod0MultiSurface(any());
verify(roadMock).setLod0MultiSurface(any()); verify(roadMock).setLod0MultiSurface(any());
verify(trafficSpaceMock).setLod0MultiSurface(any());
verify(trafficAreaMock).setLod0MultiSurface(any());
} }
@Test @Test
public void testReCreateGeometriesMultiSurfaceLod1() { public void testReCreateGeometriesMultiSurfaceLod1() {
TopLevelTransportFeature top = TopLevelTransportFeature.from(Mockito.mock(Road.class));
Road roadMock = mock(Road.class); Road roadMock = mock(Road.class);
TopLevelTransportFeature top = TopLevelTransportFeature.from(roadMock);
top.setGmlObject(roadMock); top.setGmlObject(roadMock);
TrafficSpaceObject tsMock = new TrafficSpaceObject(TrafficSpaceObject.TrafficSpaceType.TRAFFIC_SPACE);
TrafficSpace trafficSpaceMock = mock(TrafficSpace.class); TrafficAreaObject ta = new TrafficAreaObject(TrafficAreaObject.TrafficAreaType.TRAFFIC_AREA);
tsMock.setGmlObject(trafficSpaceMock);
TrafficAreaObject taMock = new TrafficAreaObject(TrafficAreaObject.TrafficAreaType.TRAFFIC_AREA);
TrafficArea trafficAreaMock = mock(TrafficArea.class); TrafficArea trafficAreaMock = mock(TrafficArea.class);
taMock.setGmlObject(trafficAreaMock); ta.setGmlObject(trafficAreaMock);
TrafficAreaObject ataMock = new TrafficAreaObject(TrafficAreaObject.TrafficAreaType.AUXILIARY_TRAFFIC_AREA);
AuxiliaryTrafficArea auxTrafficAreaMock = mock(AuxiliaryTrafficArea.class);
ataMock.setGmlObject(auxTrafficAreaMock);
top.addTrafficSpace(tsMock); DeprecatedPropertiesOfAbstractTransportationSpace dSpace = mock(DeprecatedPropertiesOfAbstractTransportationSpace.class);
tsMock.addTrafficArea(taMock); when(roadMock.getDeprecatedProperties()).thenReturn(dSpace);
tsMock.addTrafficArea(ataMock);
taMock.addGeometry(GeometryTestUtils.createDummyGeometry(GeometryType.MULTI_SURFACE, Lod.LOD1)); try {
ataMock.addGeometry(GeometryTestUtils.createDummyGeometry(GeometryType.MULTI_SURFACE, Lod.LOD1)); top.addGeometry(GeometryTestUtils.createDummyGeometry(GeometryType.MULTI_SURFACE, Lod.LOD1));
} catch (IllegalArgumentException e) {
fail("Casting of original GML object to AbstractTransportationSpace should work");
}
ta.addGeometry(GeometryTestUtils.createDummyGeometry(GeometryType.MULTI_SURFACE, Lod.LOD1));
GeometryFactory factory = GeometryFactory.newInstance(); GeometryFactory factory = GeometryFactory.newInstance();
top.reCreateGeometries(factory, mock(ParserConfiguration.class)); top.reCreateGeometries(factory, mock(ParserConfiguration.class));
ta.reCreateGeometries(factory, mock(ParserConfiguration.class));
verify(dSpace).setLod1MultiSurface(any());
verify(trafficAreaMock).setLod1MultiSurface(any()); verify(trafficAreaMock).setLod1MultiSurface(any());
verify(auxTrafficAreaMock).setLod1MultiSurface(any());
} }
@Test @Test
public void testReCreateGeometriesMultiSurfaceLod2() { public void testReCreateGeometriesMultiSurfaceLod2() {
TopLevelTransportFeature top = TopLevelTransportFeature.from(Mockito.mock(Road.class));
Road roadMock = mock(Road.class); Road roadMock = mock(Road.class);
TopLevelTransportFeature top = TopLevelTransportFeature.from(roadMock);
top.setGmlObject(roadMock); top.setGmlObject(roadMock);
TrafficSpaceObject tsMock = new TrafficSpaceObject(TrafficSpaceObject.TrafficSpaceType.TRAFFIC_SPACE);
TrafficSpaceObject ts = new TrafficSpaceObject(TrafficSpaceObject.TrafficSpaceType.TRAFFIC_SPACE);
TrafficSpace trafficSpaceMock = mock(TrafficSpace.class); TrafficSpace trafficSpaceMock = mock(TrafficSpace.class);
tsMock.setGmlObject(trafficSpaceMock); ts.setGmlObject(trafficSpaceMock);
TrafficAreaObject taMock = new TrafficAreaObject(TrafficAreaObject.TrafficAreaType.TRAFFIC_AREA);
TrafficArea trafficAreaMock = mock(TrafficArea.class);
taMock.setGmlObject(trafficAreaMock);
TrafficAreaObject ataMock = new TrafficAreaObject(TrafficAreaObject.TrafficAreaType.AUXILIARY_TRAFFIC_AREA);
AuxiliaryTrafficArea auxTrafficAreaMock = mock(AuxiliaryTrafficArea.class);
ataMock.setGmlObject(auxTrafficAreaMock);
top.addTrafficSpace(tsMock); TrafficAreaObject ta = new TrafficAreaObject(TrafficAreaObject.TrafficAreaType.TRAFFIC_AREA);
tsMock.addTrafficArea(taMock); TrafficArea trafficAreaMock = mock(TrafficArea.class);
tsMock.addTrafficArea(ataMock); ta.setGmlObject(trafficAreaMock);
taMock.addGeometry(GeometryTestUtils.createDummyGeometry(GeometryType.MULTI_SURFACE, Lod.LOD2));
ataMock.addGeometry(GeometryTestUtils.createDummyGeometry(GeometryType.MULTI_SURFACE, Lod.LOD2));
tsMock.addGeometry(GeometryTestUtils.createDummyGeometry(GeometryType.MULTI_SURFACE, Lod.LOD2));
top.addGeometry(GeometryTestUtils.createDummyGeometry(GeometryType.MULTI_SURFACE, Lod.LOD2)); top.addGeometry(GeometryTestUtils.createDummyGeometry(GeometryType.MULTI_SURFACE, Lod.LOD2));
ts.addGeometry(GeometryTestUtils.createDummyGeometry(GeometryType.MULTI_SURFACE, Lod.LOD2));
ta.addGeometry(GeometryTestUtils.createDummyGeometry(GeometryType.MULTI_SURFACE, Lod.LOD2));
GeometryFactory factory = GeometryFactory.newInstance(); GeometryFactory factory = GeometryFactory.newInstance();
top.reCreateGeometries(factory, mock(ParserConfiguration.class)); top.reCreateGeometries(factory, mock(ParserConfiguration.class));
verify(trafficAreaMock).setLod2MultiSurface(any()); ts.reCreateGeometries(factory, mock(ParserConfiguration.class));
verify(auxTrafficAreaMock).setLod2MultiSurface(any()); ta.reCreateGeometries(factory, mock(ParserConfiguration.class));
verify(trafficSpaceMock).setLod2MultiSurface(any());
verify(roadMock).setLod2MultiSurface(any()); verify(roadMock).setLod2MultiSurface(any());
verify(trafficSpaceMock).setLod2MultiSurface(any());
verify(trafficAreaMock).setLod2MultiSurface(any());
} }
@Test @Test
public void testReCreateGeometriesMultiSurfaceLod3() { public void testReCreateGeometriesMultiSurfaceLod3() {
TopLevelTransportFeature top = TopLevelTransportFeature.from(Mockito.mock(Road.class));
Road roadMock = mock(Road.class); Road roadMock = mock(Road.class);
TopLevelTransportFeature top = TopLevelTransportFeature.from(roadMock);
top.setGmlObject(roadMock); top.setGmlObject(roadMock);
TrafficSpaceObject tsMock = new TrafficSpaceObject(TrafficSpaceObject.TrafficSpaceType.TRAFFIC_SPACE);
TrafficSpaceObject ts = new TrafficSpaceObject(TrafficSpaceObject.TrafficSpaceType.TRAFFIC_SPACE);
TrafficSpace trafficSpaceMock = mock(TrafficSpace.class); TrafficSpace trafficSpaceMock = mock(TrafficSpace.class);
tsMock.setGmlObject(trafficSpaceMock); ts.setGmlObject(trafficSpaceMock);
TrafficAreaObject taMock = new TrafficAreaObject(TrafficAreaObject.TrafficAreaType.TRAFFIC_AREA);
TrafficArea trafficAreaMock = mock(TrafficArea.class);
taMock.setGmlObject(trafficAreaMock);
TrafficAreaObject ataMock = new TrafficAreaObject(TrafficAreaObject.TrafficAreaType.AUXILIARY_TRAFFIC_AREA);
AuxiliaryTrafficArea auxTrafficAreaMock = mock(AuxiliaryTrafficArea.class);
ataMock.setGmlObject(auxTrafficAreaMock);
top.addTrafficSpace(tsMock); TrafficAreaObject ta = new TrafficAreaObject(TrafficAreaObject.TrafficAreaType.TRAFFIC_AREA);
tsMock.addTrafficArea(taMock); TrafficArea trafficAreaMock = mock(TrafficArea.class);
tsMock.addTrafficArea(ataMock); ta.setGmlObject(trafficAreaMock);
taMock.addGeometry(GeometryTestUtils.createDummyGeometry(GeometryType.MULTI_SURFACE, Lod.LOD3));
ataMock.addGeometry(GeometryTestUtils.createDummyGeometry(GeometryType.MULTI_SURFACE, Lod.LOD3));
tsMock.addGeometry(GeometryTestUtils.createDummyGeometry(GeometryType.MULTI_SURFACE, Lod.LOD3));
top.addGeometry(GeometryTestUtils.createDummyGeometry(GeometryType.MULTI_SURFACE, Lod.LOD3)); top.addGeometry(GeometryTestUtils.createDummyGeometry(GeometryType.MULTI_SURFACE, Lod.LOD3));
ts.addGeometry(GeometryTestUtils.createDummyGeometry(GeometryType.MULTI_SURFACE, Lod.LOD3));
ta.addGeometry(GeometryTestUtils.createDummyGeometry(GeometryType.MULTI_SURFACE, Lod.LOD3));
GeometryFactory factory = GeometryFactory.newInstance(); GeometryFactory factory = GeometryFactory.newInstance();
top.reCreateGeometries(factory, mock(ParserConfiguration.class)); top.reCreateGeometries(factory, mock(ParserConfiguration.class));
verify(trafficAreaMock).setLod3MultiSurface(any()); ts.reCreateGeometries(factory, mock(ParserConfiguration.class));
verify(auxTrafficAreaMock).setLod3MultiSurface(any()); ta.reCreateGeometries(factory, mock(ParserConfiguration.class));
verify(trafficSpaceMock).setLod3MultiSurface(any());
verify(roadMock).setLod3MultiSurface(any()); verify(roadMock).setLod3MultiSurface(any());
verify(trafficSpaceMock).setLod3MultiSurface(any());
verify(trafficAreaMock).setLod3MultiSurface(any());
} }
@Test @Test
public void testReCreateGeometriesMultiSurfaceLod4() { public void testReCreateGeometriesMultiSurfaceLod4() {
TopLevelTransportFeature top = TopLevelTransportFeature.from(Mockito.mock(Road.class));
Road roadMock = mock(Road.class); Road roadMock = mock(Road.class);
TopLevelTransportFeature top = TopLevelTransportFeature.from(roadMock);
top.setGmlObject(roadMock); top.setGmlObject(roadMock);
TrafficSpaceObject tsMock = new TrafficSpaceObject(TrafficSpaceObject.TrafficSpaceType.TRAFFIC_SPACE);
TrafficSpace trafficSpaceMock = mock(TrafficSpace.class);
tsMock.setGmlObject(trafficSpaceMock);
TrafficAreaObject taMock = new TrafficAreaObject(TrafficAreaObject.TrafficAreaType.TRAFFIC_AREA);
TrafficArea trafficAreaMock = mock(TrafficArea.class);
taMock.setGmlObject(trafficAreaMock);
TrafficAreaObject ataMock = new TrafficAreaObject(TrafficAreaObject.TrafficAreaType.AUXILIARY_TRAFFIC_AREA);
AuxiliaryTrafficArea auxTrafficAreaMock = mock(AuxiliaryTrafficArea.class);
ataMock.setGmlObject(auxTrafficAreaMock);
top.addTrafficSpace(tsMock);
tsMock.addTrafficArea(taMock);
tsMock.addTrafficArea(ataMock);
DeprecatedPropertiesOfAbstractThematicSurface dSpace = mock(DeprecatedPropertiesOfAbstractThematicSurface.class); TrafficAreaObject ta = new TrafficAreaObject(TrafficAreaObject.TrafficAreaType.TRAFFIC_AREA);
when(trafficAreaMock.getDeprecatedProperties()).thenReturn(dSpace); TrafficArea trafficAreaMock = mock(TrafficArea.class);
DeprecatedPropertiesOfAbstractThematicSurface adSpace = mock(DeprecatedPropertiesOfAbstractThematicSurface.class); ta.setGmlObject(trafficAreaMock);
when(auxTrafficAreaMock.getDeprecatedProperties()).thenReturn(adSpace);
taMock.addGeometry(GeometryTestUtils.createDummyGeometry(GeometryType.MULTI_SURFACE, Lod.LOD4)); DeprecatedPropertiesOfAbstractTransportationSpace dSpace = mock(DeprecatedPropertiesOfAbstractTransportationSpace.class);
ataMock.addGeometry(GeometryTestUtils.createDummyGeometry(GeometryType.MULTI_SURFACE, Lod.LOD4)); when(roadMock.getDeprecatedProperties()).thenReturn(dSpace);
DeprecatedPropertiesOfAbstractThematicSurface dArea = mock(DeprecatedPropertiesOfAbstractThematicSurface.class);
when(trafficAreaMock.getDeprecatedProperties()).thenReturn(dArea);
ta.addGeometry(GeometryTestUtils.createDummyGeometry(GeometryType.MULTI_SURFACE, Lod.LOD4));
try {
top.addGeometry(GeometryTestUtils.createDummyGeometry(GeometryType.MULTI_SURFACE, Lod.LOD4));
} catch (IllegalArgumentException e) {
fail("Casting of original GML object to AbstractTransportationSpace should work");
}
GeometryFactory factory = GeometryFactory.newInstance(); GeometryFactory factory = GeometryFactory.newInstance();
top.reCreateGeometries(factory, mock(ParserConfiguration.class)); top.reCreateGeometries(factory, mock(ParserConfiguration.class));
ta.reCreateGeometries(factory, mock(ParserConfiguration.class));
verify(dSpace).setLod4MultiSurface(any()); verify(dSpace).setLod4MultiSurface(any());
verify(adSpace).setLod4MultiSurface(any()); verify(dArea).setLod4MultiSurface(any());
}
@Test
public void testContainsErrorTransportationSpace() {
Road roadMock = mock(Road.class);
TopLevelTransportFeature top = TopLevelTransportFeature.from(roadMock);
top.setGmlObject(roadMock);
TransportSection sectionMock = Mockito.mock(TransportSection.class);
TransportSection intersectionMock = Mockito.mock(TransportSection.class);
TrafficSpaceObject tsMock = Mockito.mock(TrafficSpaceObject.class);
TrafficSpaceObject auxTsMock = Mockito.mock(TrafficSpaceObject.class);
top.addSection(sectionMock);
top.addIntersection(intersectionMock);
top.addTrafficSpace(tsMock);
top.addAuxTrafficSpace(auxTsMock);
top.addCheckResult(new CheckResult(CheckId.C_GE_P_HOLE_OUTSIDE, ResultStatus.ERROR, mock(CheckError.class)));
assertTrue(top.containsError(CheckId.C_GE_P_HOLE_OUTSIDE));
assertFalse(top.containsError(CheckId.C_GE_P_INNER_RINGS_NESTED));
verify(sectionMock).containsError(any());
verify(intersectionMock).containsError(any());
verify(tsMock).containsError(any());
verify(auxTsMock).containsError(any());
} }
@Test
public void testContainsErrorTrafficSpace() {
TrafficSpaceObject tso = new TrafficSpaceObject(TrafficSpaceObject.TrafficSpaceType.TRAFFIC_SPACE);
TrafficSpace tsMock = mock(TrafficSpace.class);
tso.setGmlObject(tsMock);
TrafficAreaObject taMock = mock(TrafficAreaObject.class);
tso.addTrafficArea(taMock);
tso.addCheckResult(new CheckResult(CheckId.C_GE_P_HOLE_OUTSIDE, ResultStatus.ERROR, mock(CheckError.class)));
assertTrue(tso.containsError(CheckId.C_GE_P_HOLE_OUTSIDE));
assertFalse(tso.containsError(CheckId.C_GE_P_INNER_RINGS_NESTED));
verify(taMock).containsError(any());
}
@Test @Test
public void testContainsError() { public void testContainsErrorTrafficArea() {
TrafficAreaObject ta = new TrafficAreaObject(TrafficAreaObject.TrafficAreaType.TRAFFIC_AREA); TrafficAreaObject tao = new TrafficAreaObject(TrafficAreaObject.TrafficAreaType.TRAFFIC_AREA);
ta.addCheckResult(new CheckResult(CheckId.C_GE_P_HOLE_OUTSIDE, ResultStatus.ERROR, mock(CheckError.class))); TrafficArea taMock = mock(TrafficArea.class);
assertTrue(ta.containsError(CheckId.C_GE_P_HOLE_OUTSIDE)); tao.setGmlObject(taMock);
assertFalse(ta.containsError(CheckId.C_GE_P_INNER_RINGS_NESTED));
tao.addCheckResult(new CheckResult(CheckId.C_GE_P_HOLE_OUTSIDE, ResultStatus.ERROR, mock(CheckError.class)));
assertTrue(tao.containsError(CheckId.C_GE_P_HOLE_OUTSIDE));
assertFalse(tao.containsError(CheckId.C_GE_P_INNER_RINGS_NESTED));
}
@Test
public void testClearAllContainedCheckResultsTransportationSpace() {
Road roadMock = mock(Road.class);
TopLevelTransportFeature top = TopLevelTransportFeature.from(roadMock);
top.setGmlObject(roadMock);
TransportSection sectionMock = Mockito.mock(TransportSection.class);
TransportSection intersectionMock = Mockito.mock(TransportSection.class);
TrafficSpaceObject tsMock = Mockito.mock(TrafficSpaceObject.class);
TrafficSpaceObject auxTsMock = Mockito.mock(TrafficSpaceObject.class);
top.addSection(sectionMock);
top.addIntersection(intersectionMock);
top.addTrafficSpace(tsMock);
top.addAuxTrafficSpace(auxTsMock);
assertFalse(top.containsError(CheckId.C_GE_P_HOLE_OUTSIDE));
top.addCheckResult(new CheckResult(CheckId.C_GE_P_HOLE_OUTSIDE, ResultStatus.ERROR, mock(CheckError.class)));
assertTrue(top.containsError(CheckId.C_GE_P_HOLE_OUTSIDE));
top.clearAllContainedCheckResults();
assertFalse(top.containsError(CheckId.C_GE_P_HOLE_OUTSIDE));
verify(sectionMock).clearAllContainedCheckResults();
verify(intersectionMock).clearAllContainedCheckResults();
verify(tsMock).clearAllContainedCheckResults();
verify(auxTsMock).clearAllContainedCheckResults();
}
@Test
public void testClearAllContainedCheckResultsTrafficSpace() {
TrafficSpaceObject tso = new TrafficSpaceObject(TrafficSpaceObject.TrafficSpaceType.TRAFFIC_SPACE);
TrafficSpace tsMock = mock(TrafficSpace.class);
tso.setGmlObject(tsMock);
TrafficAreaObject taMock = mock(TrafficAreaObject.class);
tso.addTrafficArea(taMock);
assertFalse(tso.containsError(CheckId.C_GE_P_HOLE_OUTSIDE));
tso.addCheckResult(new CheckResult(CheckId.C_GE_P_HOLE_OUTSIDE, ResultStatus.ERROR, mock(CheckError.class)));
assertTrue(tso.containsError(CheckId.C_GE_P_HOLE_OUTSIDE));
tso.clearAllContainedCheckResults();
assertFalse(tso.containsError(CheckId.C_GE_P_HOLE_OUTSIDE));
verify(taMock).clearAllContainedCheckResults();
}
@Test
public void testClearAllContainedCheckResultsTrafficArea() {
TrafficAreaObject tao = new TrafficAreaObject(TrafficAreaObject.TrafficAreaType.TRAFFIC_AREA);
TrafficArea taMock = mock(TrafficArea.class);
tao.setGmlObject(taMock);
assertFalse(tao.containsError(CheckId.C_GE_P_HOLE_OUTSIDE));
tao.addCheckResult(new CheckResult(CheckId.C_GE_P_HOLE_OUTSIDE, ResultStatus.ERROR, mock(CheckError.class)));
assertTrue(tao.containsError(CheckId.C_GE_P_HOLE_OUTSIDE));
tao.clearAllContainedCheckResults();
assertFalse(tao.containsError(CheckId.C_GE_P_HOLE_OUTSIDE));
} }
/*
@Test @Test
public void testContainsErrorInComposesOf() { public void testCollectContainedErrorsTransportationSpace() {
TransportationObject to = new TransportationObject(TransportationType.TRAFFIC_AREA); Road roadMock = mock(Road.class);
TransportationObject to2 = new TransportationObject(TransportationType.TRACK); TopLevelTransportFeature top = TopLevelTransportFeature.from(roadMock);
to.addChild(to2); top.setGmlObject(roadMock);
to2.addCheckResult(new CheckResult(CheckId.C_GE_P_HOLE_OUTSIDE, ResultStatus.ERROR, mock(CheckError.class))); TransportSection sectionMock = Mockito.mock(TransportSection.class);
assertTrue(to.containsError(CheckId.C_GE_P_HOLE_OUTSIDE)); TransportSection intersectionMock = Mockito.mock(TransportSection.class);
assertFalse(to.containsError(CheckId.C_GE_P_INNER_RINGS_NESTED)); TrafficSpaceObject tsMock = Mockito.mock(TrafficSpaceObject.class);
TrafficSpaceObject auxTsMock = Mockito.mock(TrafficSpaceObject.class);
top.addSection(sectionMock);
top.addIntersection(intersectionMock);
top.addTrafficSpace(tsMock);
top.addAuxTrafficSpace(auxTsMock);
top.addCheckResult(new CheckResult(CheckId.C_GE_P_HOLE_OUTSIDE, ResultStatus.ERROR, mock(CheckError.class)));
List<CheckError> errors = new ArrayList<>();
top.collectContainedErrors(errors);
assertEquals(1, errors.size());
verify(sectionMock).collectContainedErrors(errors);
verify(intersectionMock).collectContainedErrors(errors);
verify(tsMock).collectContainedErrors(errors);
verify(auxTsMock).collectContainedErrors(errors);
} }
@Test @Test
public void testClearAllContainedCheckResults() { public void testCollectContainedErrorsTrafficSpace() {
TransportationObject to = new TransportationObject(TransportationType.TRAFFIC_AREA); TrafficSpaceObject tso = new TrafficSpaceObject(TrafficSpaceObject.TrafficSpaceType.TRAFFIC_SPACE);
TransportationObject to2 = mock(TransportationObject.class); TrafficSpace tsMock = mock(TrafficSpace.class);
to.addChild(to2); tso.setGmlObject(tsMock);
assertFalse(to.containsError(CheckId.C_GE_P_HOLE_OUTSIDE)); TrafficAreaObject taMock = mock(TrafficAreaObject.class);
to.addCheckResult(new CheckResult(CheckId.C_GE_P_HOLE_OUTSIDE, ResultStatus.ERROR, mock(CheckError.class)));
assertTrue(to.containsError(CheckId.C_GE_P_HOLE_OUTSIDE)); tso.addTrafficArea(taMock);
to.clearAllContainedCheckResults();
assertFalse(to.containsError(CheckId.C_GE_P_HOLE_OUTSIDE)); tso.addCheckResult(new CheckResult(CheckId.C_GE_P_HOLE_OUTSIDE, ResultStatus.ERROR, mock(CheckError.class)));
verify(to2).clearAllContainedCheckResults(); List<CheckError> errors = new ArrayList<>();
tso.collectContainedErrors(errors);
assertEquals(1, errors.size());
verify(taMock).collectContainedErrors(errors);
} }
@Test @Test
public void testCollectContainedErrors() { public void testCollectContainedErrorsTrafficArea() {
TransportationObject to = new TransportationObject(TransportationType.TRAFFIC_AREA); TrafficAreaObject tao = new TrafficAreaObject(TrafficAreaObject.TrafficAreaType.TRAFFIC_AREA);
TransportationObject to2 = mock(TransportationObject.class); TrafficArea taMock = mock(TrafficArea.class);
to.addChild(to2); tao.setGmlObject(taMock);
to.addCheckResult(new CheckResult(CheckId.C_GE_P_HOLE_OUTSIDE, ResultStatus.ERROR, mock(CheckError.class)));
tao.addCheckResult(new CheckResult(CheckId.C_GE_P_HOLE_OUTSIDE, ResultStatus.ERROR, mock(CheckError.class)));
List<CheckError> errors = new ArrayList<>(); List<CheckError> errors = new ArrayList<>();
to.collectContainedErrors(errors); tao.collectContainedErrors(errors);
assertEquals(1, errors.size()); assertEquals(1, errors.size());
verify(to2).collectContainedErrors(errors);
} }
@Test @Test
public void testUnsetGmlGeometriesRoad() { public void testUnsetGmlGeometriesTransportationSpace() {
TransportationObject to = new TransportationObject(TransportationType.ROAD);
Road r = mock(Road.class); Road r = mock(Road.class);
to.setGmlObject(r); TopLevelTransportFeature top = TopLevelTransportFeature.from(r);
top.setGmlObject(r);
TransportSection mockSection = mock(TransportSection.class);
TransportSection mockInterestSection = mock(TransportSection.class);
TrafficSpaceObject mockSpace = mock(TrafficSpaceObject.class);
TrafficSpaceObject auxMockSpace = mock(TrafficSpaceObject.class);
top.addSection(mockSection);
top.addIntersection(mockInterestSection);
top.addTrafficSpace(mockSpace);
top.addAuxTrafficSpace(auxMockSpace);
DeprecatedPropertiesOfAbstractTransportationSpace dSpace = mock(DeprecatedPropertiesOfAbstractTransportationSpace.class); DeprecatedPropertiesOfAbstractTransportationSpace dSpace = mock(DeprecatedPropertiesOfAbstractTransportationSpace.class);
when(r.getDeprecatedProperties()).thenReturn(dSpace); when(r.getDeprecatedProperties()).thenReturn(dSpace);
dSpace.setLod1MultiSurface(mock(MultiSurfaceProperty.class)); dSpace.setLod1MultiSurface(mock(MultiSurfaceProperty.class));
r.setLod2MultiSurface(mock(MultiSurfaceProperty.class)); r.setLod2MultiSurface(mock(MultiSurfaceProperty.class));
r.setLod3MultiSurface(mock(MultiSurfaceProperty.class)); r.setLod3MultiSurface(mock(MultiSurfaceProperty.class));
dSpace.setLod4MultiSurface(mock(MultiSurfaceProperty.class)); dSpace.setLod4MultiSurface(mock(MultiSurfaceProperty.class));
to.unsetGmlGeometries();
top.unsetGmlGeometries();
assertNull(dSpace.getLod1MultiSurface()); assertNull(dSpace.getLod1MultiSurface());
assertNull(r.getLod2MultiSurface()); assertNull(r.getLod2MultiSurface());
assertNull(r.getLod3MultiSurface()); assertNull(r.getLod3MultiSurface());
assertNull(dSpace.getLod4MultiSurface()); assertNull(dSpace.getLod4MultiSurface());
verify(mockSection).unsetGmlGeometries();
verify(mockInterestSection).unsetGmlGeometries();
verify(mockSpace).unsetGmlGeometries();
verify(auxMockSpace).unsetGmlGeometries();
} }
@Test @Test
public void testUnsetGmlGeometriesTrafficArea() { public void testUnsetGmlGeometriesTrafficSpace() {
TransportationObject to = new TransportationObject(TransportationType.TRAFFIC_AREA); TrafficSpaceObject tso = new TrafficSpaceObject(TrafficSpaceObject.TrafficSpaceType.TRAFFIC_SPACE);
TrafficArea r = mock(TrafficArea.class); TrafficSpace t = mock(TrafficSpace.class);
to.setGmlObject(r); tso.setGmlObject(t);
DeprecatedPropertiesOfAbstractThematicSurface dSpace = mock(DeprecatedPropertiesOfAbstractThematicSurface.class); TrafficAreaObject mockArea = mock(TrafficAreaObject.class);
when(r.getDeprecatedProperties()).thenReturn(dSpace);
r.setLod2MultiSurface(mock(MultiSurfaceProperty.class)); tso.addTrafficArea(mockArea);
r.setLod3MultiSurface(mock(MultiSurfaceProperty.class));
dSpace.setLod4MultiSurface(mock(MultiSurfaceProperty.class)); DeprecatedPropertiesOfAbstractCityObject dSpace = mock(DeprecatedPropertiesOfAbstractCityObject.class);
to.unsetGmlGeometries(); when(t.getDeprecatedProperties()).thenReturn(dSpace);
assertNull(r.getLod2MultiSurface());
assertNull(r.getLod3MultiSurface()); t.setLod0MultiSurface(mock(MultiSurfaceProperty.class));
assertNull(dSpace.getLod4MultiSurface()); t.setLod2MultiSurface(mock(MultiSurfaceProperty.class));
t.setLod3MultiSurface(mock(MultiSurfaceProperty.class));
tso.unsetGmlGeometries();
assertNull(t.getLod0MultiSurface());
assertNull(t.getLod2MultiSurface());
assertNull(t.getLod3MultiSurface());
verify(mockArea).unsetGmlGeometries();
} }
@Test @Test
public void testUnsetGmlGeometriesAuxilliaryTrafficArea() { public void testUnsetGmlGeometriesTrafficArea() {
TransportationObject to = new TransportationObject(TransportationType.AUXILLIARY_TRAFFIC_AREA); TrafficAreaObject ta = new TrafficAreaObject(TrafficAreaObject.TrafficAreaType.TRAFFIC_AREA);
AuxiliaryTrafficArea r = mock(AuxiliaryTrafficArea.class); TrafficArea r = mock(TrafficArea.class);
to.setGmlObject(r); ta.setGmlObject(r);
DeprecatedPropertiesOfAbstractThematicSurface dSpace = mock(DeprecatedPropertiesOfAbstractThematicSurface.class); DeprecatedPropertiesOfAbstractThematicSurface dSpace = mock(DeprecatedPropertiesOfAbstractThematicSurface.class);
when(r.getDeprecatedProperties()).thenReturn(dSpace); when(r.getDeprecatedProperties()).thenReturn(dSpace);
r.setLod0MultiSurface(mock(MultiSurfaceProperty.class));
r.setLod1MultiSurface(mock(MultiSurfaceProperty.class));
r.setLod2MultiSurface(mock(MultiSurfaceProperty.class)); r.setLod2MultiSurface(mock(MultiSurfaceProperty.class));
r.setLod3MultiSurface(mock(MultiSurfaceProperty.class)); r.setLod3MultiSurface(mock(MultiSurfaceProperty.class));
dSpace.setLod4MultiSurface(mock(MultiSurfaceProperty.class)); dSpace.setLod4MultiSurface(mock(MultiSurfaceProperty.class));
to.unsetGmlGeometries();
ta.unsetGmlGeometries();
assertNull(r.getLod0MultiSurface());
assertNull(r.getLod1MultiSurface());
assertNull(r.getLod2MultiSurface()); assertNull(r.getLod2MultiSurface());
assertNull(r.getLod3MultiSurface()); assertNull(r.getLod3MultiSurface());
assertNull(dSpace.getLod4MultiSurface()); assertNull(dSpace.getLod4MultiSurface());
} }
*/
} }
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