Commit b1b1c84f authored by Luna Riegel's avatar Luna Riegel
Browse files

Style: Format code

parent e6686903
......@@ -15,7 +15,6 @@ import de.hft.stuttgart.citydoctor2.parser.CityGmlParser;
import de.hft.stuttgart.citydoctor2.parser.InvalidGmlFileException;
import de.hft.stuttgart.citydoctor2.parser.ParserConfiguration;
import org.citygml4j.core.model.building.AbstractBuilding;
import org.citygml4j.core.visitor.ObjectVisitor;
import org.h2gis.functions.factory.H2GISDBFactory;
import org.junit.Before;
import org.junit.BeforeClass;
......@@ -39,7 +38,7 @@ public class DataBaseHandlerTest {
}
@Before
public void prepareDatabase() {
public void resetDatabase() {
try {
DatabaseHandler.setupFeaturesTable();
} catch (Exception e) {
......@@ -56,148 +55,180 @@ public class DataBaseHandlerTest {
@Test
public void testGetAllFeatures() {
try (Connection con = H2GISDBFactory.openSpatialDataBase("cd_db")) {
Building b = new Building();
b.addGeometry(GeometryTestUtils.createDummyGeometry(GeometryType.SOLID, Lod.LOD0));
Building b2 = new Building();
b2.addGeometry(GeometryTestUtils.createDummyGeometry(GeometryType.SOLID, Lod.LOD2));
Building b3 = new Building();
b3.addGeometry(GeometryTestUtils.createDummyGeometry(GeometryType.SOLID, Lod.LOD3));
Building b = new Building();
b.addGeometry(GeometryTestUtils.createDummyGeometry(GeometryType.SOLID, Lod.LOD0));
Building b2 = new Building();
b2.addGeometry(GeometryTestUtils.createDummyGeometry(GeometryType.SOLID, Lod.LOD2));
Building b3 = new Building();
b3.addGeometry(GeometryTestUtils.createDummyGeometry(GeometryType.SOLID, Lod.LOD3));
DatabaseHandler.marshallCityObject(b);
DatabaseHandler.marshallCityObject(b2);
DatabaseHandler.marshallCityObject(b3);
assertEquals(3, DatabaseHandler.getFeatureCount());
DatabaseHandler.marshallCityObject(b);
DatabaseHandler.marshallCityObject(b2);
DatabaseHandler.marshallCityObject(b3);
assertEquals(3, DatabaseHandler.getFeatureCount());
List<CityObject> objects = DatabaseHandler.getAllCityObjects();
assertEquals(3, objects.size());
assertEquals(3, DatabaseHandler.getFeatureCount());
List<CityObject> objects = DatabaseHandler.getAllCityObjects();
assertEquals(3, objects.size());
assertEquals(3, DatabaseHandler.getFeatureCount());
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
@Test
public void testGetBboxIntersectingObjects() {
try (Connection con = H2GISDBFactory.openSpatialDataBase("cd_db")) {
Building b = new Building();
Building b2 = new Building();
b2.setGmlObject(Mockito.mock(AbstractBuilding.class));
Building b3 = new Building();
Geometry geom = new Geometry(GeometryType.SOLID, Lod.LOD0, Geometry.Orientation.OUTWARD);
ConcretePolygon polygon = new ConcretePolygon();
geom.getPolygons().add(polygon);
polygon.setParent(geom);
LinearRing lr = new LinearRing(LinearRing.LinearRingType.EXTERIOR);
polygon.setExteriorRing(lr);
Vertex v1 = new Vertex(10, 10, 8);
lr.getVertices().add(v1);
Vertex v2 = new Vertex(14, 15, 7);
lr.getVertices().add(v2);
Vertex v3 = new Vertex(14, 15, 3);
lr.getVertices().add(v3);
Vertex v4 = new Vertex(10, 10, 3);
lr.getVertices().add(v4);
lr.getVertices().add(v1);
geom.updateEdgesAndVertices();
b.addGeometry(geom);
Geometry geom2 = new Geometry(GeometryType.SOLID, Lod.LOD0, Geometry.Orientation.OUTWARD);
ConcretePolygon polygon2 = new ConcretePolygon();
geom2.getPolygons().add(polygon2);
polygon2.setParent(geom2);
LinearRing lr2 = new LinearRing(LinearRing.LinearRingType.EXTERIOR);
polygon2.setExteriorRing(lr2);
Vertex v1b2 = new Vertex(6, 6, 8);
lr2.getVertices().add(v1b2);
Vertex v2b2 = new Vertex(11, 13, 7);
lr2.getVertices().add(v2b2);
Vertex v3b2 = new Vertex(11, 13, 3);
lr2.getVertices().add(v3b2);
Vertex v4b2 = new Vertex(6, 6, 3);
lr2.getVertices().add(v4b2);
lr2.getVertices().add(v1b2);
geom2.updateEdgesAndVertices();
b2.addGeometry(geom2);
Geometry geom3 = new Geometry(GeometryType.SOLID, Lod.LOD0, Geometry.Orientation.OUTWARD);
ConcretePolygon polygon3 = new ConcretePolygon();
geom3.getPolygons().add(polygon3);
polygon3.setParent(geom3);
LinearRing lr3 = new LinearRing(LinearRing.LinearRingType.EXTERIOR);
polygon3.setExteriorRing(lr3);
Vertex v1b3 = new Vertex(6, 6, 8);
lr3.getVertices().add(v1b3);
Vertex v2b3 = new Vertex(8, 9, 7);
lr3.getVertices().add(v2b3);
Vertex v3b3 = new Vertex(8, 9, 3);
lr3.getVertices().add(v3b3);
Vertex v4b3 = new Vertex(6, 6, 3);
lr3.getVertices().add(v4b3);
lr3.getVertices().add(v1b3);
geom3.updateEdgesAndVertices();
b3.addGeometry(geom3);
Building b = new Building();
Building b2 = new Building();
b2.setGmlObject(Mockito.mock(AbstractBuilding.class));
Building b3 = new Building();
Building b4 = new Building();
b4.addGeometry(GeometryTestUtils.createDummyGeometry(GeometryType.SOLID, Lod.LOD0));
Geometry geom = new Geometry(GeometryType.SOLID, Lod.LOD0, Geometry.Orientation.OUTWARD);
ConcretePolygon polygon = new ConcretePolygon();
geom.getPolygons().add(polygon);
polygon.setParent(geom);
LinearRing lr = new LinearRing(LinearRing.LinearRingType.EXTERIOR);
polygon.setExteriorRing(lr);
Vertex v1 = new Vertex(10, 10, 8);
lr.getVertices().add(v1);
Vertex v2 = new Vertex(14, 15, 7);
lr.getVertices().add(v2);
Vertex v3 = new Vertex(14, 15, 3);
lr.getVertices().add(v3);
Vertex v4 = new Vertex(10, 10, 3);
lr.getVertices().add(v4);
lr.getVertices().add(v1);
geom.updateEdgesAndVertices();
b.addGeometry(geom);
Geometry geom2 = new Geometry(GeometryType.SOLID, Lod.LOD0, Geometry.Orientation.OUTWARD);
ConcretePolygon polygon2 = new ConcretePolygon();
geom2.getPolygons().add(polygon2);
polygon2.setParent(geom2);
LinearRing lr2 = new LinearRing(LinearRing.LinearRingType.EXTERIOR);
polygon2.setExteriorRing(lr2);
Vertex v1b2 = new Vertex(6, 6, 8);
lr2.getVertices().add(v1b2);
Vertex v2b2 = new Vertex(11, 13, 7);
lr2.getVertices().add(v2b2);
Vertex v3b2 = new Vertex(11, 13, 3);
lr2.getVertices().add(v3b2);
Vertex v4b2 = new Vertex(6, 6, 3);
lr2.getVertices().add(v4b2);
lr2.getVertices().add(v1b2);
geom2.updateEdgesAndVertices();
b2.addGeometry(geom2);
Geometry geom3 = new Geometry(GeometryType.SOLID, Lod.LOD0, Geometry.Orientation.OUTWARD);
ConcretePolygon polygon3 = new ConcretePolygon();
geom3.getPolygons().add(polygon3);
polygon3.setParent(geom3);
LinearRing lr3 = new LinearRing(LinearRing.LinearRingType.EXTERIOR);
polygon3.setExteriorRing(lr3);
Vertex v1b3 = new Vertex(6, 6, 8);
lr3.getVertices().add(v1b3);
Vertex v2b3 = new Vertex(10, 9.999, 7);
lr3.getVertices().add(v2b3);
Vertex v3b3 = new Vertex(10, 9.999, 3);
lr3.getVertices().add(v3b3);
Vertex v4b3 = new Vertex(6, 6, 3);
lr3.getVertices().add(v4b3);
lr3.getVertices().add(v1b3);
geom3.updateEdgesAndVertices();
b3.addGeometry(geom3);
DatabaseHandler.marshallCityObject(b);
DatabaseHandler.marshallCityObject(b2);
DatabaseHandler.marshallCityObject(b3);
DatabaseHandler.marshallCityObject(b4);
assertEquals(4, DatabaseHandler.getFeatureCount());
List<CityObject> objects = DatabaseHandler.getBBoxIntersectingObjects(b);
assertEquals(1, objects.size());
assertEquals(4, DatabaseHandler.getFeatureCount());
assertCityObjectEquality(b2, objects.get(0));
DatabaseHandler.marshallCityObject(b);
DatabaseHandler.marshallCityObject(b2);
DatabaseHandler.marshallCityObject(b3);
assertEquals(3, DatabaseHandler.getFeatureCount());
List<CityObject> objects = DatabaseHandler.getBBoxIntersectingObjects(b);
assertEquals(1, objects.size());
assertEquals(3, DatabaseHandler.getFeatureCount());
assertCityObjectEquality(b2, objects.get(0));
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
@Test
public void testGetBboxBufferIntersectingObjects() {
try (Connection con = H2GISDBFactory.openSpatialDataBase("cd_db")) {
Building b = new Building();
b.addGeometry(GeometryTestUtils.createDummyGeometry(GeometryType.SOLID, Lod.LOD0));
Building b2 = new Building();
b2.setGmlObject(Mockito.mock(AbstractBuilding.class));
Geometry geom = new Geometry(GeometryType.SOLID, Lod.LOD0, Geometry.Orientation.OUTWARD);
ConcretePolygon polygon = new ConcretePolygon();
geom.getPolygons().add(polygon);
polygon.setParent(geom);
LinearRing lr = new LinearRing(LinearRing.LinearRingType.EXTERIOR);
polygon.setExteriorRing(lr);
Vertex v1 = new Vertex(427583.300, 6003501.572, 9.911);
lr.getVertices().add(v1);
Vertex v2 = new Vertex(427583.296, 6003502.570, 9.913);
lr.getVertices().add(v2);
Vertex v3 = new Vertex(427583.296, 6003502.570, 4.297);
lr.getVertices().add(v3);
Vertex v4 = new Vertex(427583.300, 6003502.572, 4.297);
lr.getVertices().add(v4);
lr.getVertices().add(v1);
geom.updateEdgesAndVertices();
b2.addGeometry(geom);
DatabaseHandler.marshallCityObject(b);
DatabaseHandler.marshallCityObject(b2);
assertEquals(2, DatabaseHandler.getFeatureCount());
Building b = new Building();
Building b2 = new Building();
b2.setGmlObject(Mockito.mock(AbstractBuilding.class));
Building b3 = new Building();
Building b4 = new Building();
b4.addGeometry(GeometryTestUtils.createDummyGeometry(GeometryType.SOLID, Lod.LOD0));
Geometry geom = new Geometry(GeometryType.SOLID, Lod.LOD0, Geometry.Orientation.OUTWARD);
ConcretePolygon polygon = new ConcretePolygon();
geom.getPolygons().add(polygon);
polygon.setParent(geom);
LinearRing lr = new LinearRing(LinearRing.LinearRingType.EXTERIOR);
polygon.setExteriorRing(lr);
Vertex v1 = new Vertex(10, 10, 8);
lr.getVertices().add(v1);
Vertex v2 = new Vertex(14, 15, 7);
lr.getVertices().add(v2);
Vertex v3 = new Vertex(14, 15, 3);
lr.getVertices().add(v3);
Vertex v4 = new Vertex(10, 10, 3);
lr.getVertices().add(v4);
lr.getVertices().add(v1);
geom.updateEdgesAndVertices();
b.addGeometry(geom);
Geometry geom2 = new Geometry(GeometryType.SOLID, Lod.LOD0, Geometry.Orientation.OUTWARD);
ConcretePolygon polygon2 = new ConcretePolygon();
geom2.getPolygons().add(polygon2);
polygon2.setParent(geom2);
LinearRing lr2 = new LinearRing(LinearRing.LinearRingType.EXTERIOR);
polygon2.setExteriorRing(lr2);
Vertex v1b2 = new Vertex(6, 6, 8);
lr2.getVertices().add(v1b2);
Vertex v2b2 = new Vertex(9, 9, 7);
lr2.getVertices().add(v2b2);
Vertex v3b2 = new Vertex(9, 9, 3);
lr2.getVertices().add(v3b2);
Vertex v4b2 = new Vertex(6, 6, 3);
lr2.getVertices().add(v4b2);
lr2.getVertices().add(v1b2);
geom2.updateEdgesAndVertices();
b2.addGeometry(geom2);
Geometry geom3 = new Geometry(GeometryType.SOLID, Lod.LOD0, Geometry.Orientation.OUTWARD);
ConcretePolygon polygon3 = new ConcretePolygon();
geom3.getPolygons().add(polygon3);
polygon3.setParent(geom3);
LinearRing lr3 = new LinearRing(LinearRing.LinearRingType.EXTERIOR);
polygon3.setExteriorRing(lr3);
Vertex v1b3 = new Vertex(4, 4, 8);
lr3.getVertices().add(v1b3);
Vertex v2b3 = new Vertex(8.999, 8.999, 7);
lr3.getVertices().add(v2b3);
Vertex v3b3 = new Vertex(8.999, 8.999, 3);
lr3.getVertices().add(v3b3);
Vertex v4b3 = new Vertex(4, 4, 3);
lr3.getVertices().add(v4b3);
lr3.getVertices().add(v1b3);
geom3.updateEdgesAndVertices();
b3.addGeometry(geom3);
DatabaseHandler.marshallCityObject(b);
DatabaseHandler.marshallCityObject(b2);
DatabaseHandler.marshallCityObject(b3);
DatabaseHandler.marshallCityObject(b4);
assertEquals(4, DatabaseHandler.getFeatureCount());
List<CityObject> objects = DatabaseHandler.getBufferIntersectingObjects(b, Math.sqrt(2));
assertEquals(1, objects.size());
assertEquals(4, DatabaseHandler.getFeatureCount());
assertCityObjectEquality(b2, objects.get(0));
List<CityObject> objects = DatabaseHandler.getBufferIntersectingObjects(b, 0.005);
assertEquals(1, objects.size());
assertEquals(2, DatabaseHandler.getFeatureCount());
assertCityObjectEquality(b2, objects.get(0));
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
@Test
......
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