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

Test:Rework TransportationObject tests

parent d755dd63
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); TrafficAreaObject ta = new TrafficAreaObject(TrafficAreaObject.TrafficAreaType.TRAFFIC_AREA);
tsMock.addTrafficArea(taMock); TrafficArea trafficAreaMock = mock(TrafficArea.class);
tsMock.addTrafficArea(ataMock); ta.setGmlObject(trafficAreaMock);
DeprecatedPropertiesOfAbstractThematicSurface dSpace = mock(DeprecatedPropertiesOfAbstractThematicSurface.class); DeprecatedPropertiesOfAbstractTransportationSpace dSpace = mock(DeprecatedPropertiesOfAbstractTransportationSpace.class);
when(trafficAreaMock.getDeprecatedProperties()).thenReturn(dSpace); when(roadMock.getDeprecatedProperties()).thenReturn(dSpace);
DeprecatedPropertiesOfAbstractThematicSurface adSpace = mock(DeprecatedPropertiesOfAbstractThematicSurface.class); DeprecatedPropertiesOfAbstractThematicSurface dArea = mock(DeprecatedPropertiesOfAbstractThematicSurface.class);
when(auxTrafficAreaMock.getDeprecatedProperties()).thenReturn(adSpace); when(trafficAreaMock.getDeprecatedProperties()).thenReturn(dArea);
taMock.addGeometry(GeometryTestUtils.createDummyGeometry(GeometryType.MULTI_SURFACE, Lod.LOD4)); ta.addGeometry(GeometryTestUtils.createDummyGeometry(GeometryType.MULTI_SURFACE, Lod.LOD4));
ataMock.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 @Test
public void testContainsErrorInComposesOf() { public void testClearAllContainedCheckResultsTransportationSpace() {
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);
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 @Test
public void testClearAllContainedCheckResults() { public void testClearAllContainedCheckResultsTrafficSpace() {
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)); assertFalse(tso.containsError(CheckId.C_GE_P_HOLE_OUTSIDE));
verify(to2).clearAllContainedCheckResults(); 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 testCollectContainedErrors() { public void testCollectContainedErrorsTransportationSpace() {
TransportationObject to = new TransportationObject(TransportationType.TRAFFIC_AREA); Road roadMock = mock(Road.class);
TransportationObject to2 = mock(TransportationObject.class); TopLevelTransportFeature top = TopLevelTransportFeature.from(roadMock);
to.addChild(to2); top.setGmlObject(roadMock);
to.addCheckResult(new CheckResult(CheckId.C_GE_P_HOLE_OUTSIDE, ResultStatus.ERROR, mock(CheckError.class))); 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)));
List<CheckError> errors = new ArrayList<>(); List<CheckError> errors = new ArrayList<>();
to.collectContainedErrors(errors); top.collectContainedErrors(errors);
assertEquals(1, errors.size()); assertEquals(1, errors.size());
verify(to2).collectContainedErrors(errors);
verify(sectionMock).collectContainedErrors(errors);
verify(intersectionMock).collectContainedErrors(errors);
verify(tsMock).collectContainedErrors(errors);
verify(auxTsMock).collectContainedErrors(errors);
} }
@Test
public void testCollectContainedErrorsTrafficSpace() {
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)));
List<CheckError> errors = new ArrayList<>();
tso.collectContainedErrors(errors);
assertEquals(1, errors.size());
verify(taMock).collectContainedErrors(errors);
}
@Test
public void testCollectContainedErrorsTrafficArea() {
TrafficAreaObject tao = new TrafficAreaObject(TrafficAreaObject.TrafficAreaType.TRAFFIC_AREA);
TrafficArea taMock = mock(TrafficArea.class);
tao.setGmlObject(taMock);
tao.addCheckResult(new CheckResult(CheckId.C_GE_P_HOLE_OUTSIDE, ResultStatus.ERROR, mock(CheckError.class)));
List<CheckError> errors = new ArrayList<>();
tao.collectContainedErrors(errors);
assertEquals(1, errors.size());
}
@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