/* * Copyright (c) 2016 Vivid Solutions. * * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * and Eclipse Distribution License v. 1.0 which accompanies this distribution. * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html * and the Eclipse Distribution License is available at * * http://www.eclipse.org/org/documents/edl-v10.php. */ package org.locationtech.jts.io.gml2; import java.io.FileReader; import java.io.IOException; import javax.xml.parsers.ParserConfigurationException; import org.locationtech.jts.geom.Geometry; import org.locationtech.jts.geom.GeometryCollection; import org.locationtech.jts.geom.GeometryFactory; import org.locationtech.jts.geom.LineString; import org.locationtech.jts.geom.MultiLineString; import org.locationtech.jts.geom.MultiPoint; import org.locationtech.jts.geom.MultiPolygon; import org.locationtech.jts.geom.Point; import org.locationtech.jts.geom.Polygon; import org.locationtech.jts.geom.PrecisionModel; import org.xml.sax.SAXException; import junit.framework.TestCase; public class GMLReaderTestCase extends TestCase { private static final String TEST_DIR = "bin/data/"; public GMLReaderTestCase(String arg0) { super(arg0); // TODO Auto-generated constructor stub } protected static PrecisionModel precisionModel = new PrecisionModel(1000); protected static GeometryFactory geometryFactory = new GeometryFactory(precisionModel); public void testPointRead() throws SAXException, IOException, ParserConfigurationException{ FileReader fr = new FileReader(TEST_DIR + "points.xml"); GMLReader gr = new GMLReader(); Geometry g = gr.read(fr,geometryFactory); GeometryCollection gc = (GeometryCollection)g; assertTrue(gc.getNumGeometries() == 25); for(int i=0;i<25;i++){ Point p = (Point) gc.getGeometryN(i); assertNotNull(p); } } public void testLineStringRead() throws SAXException, IOException, ParserConfigurationException{ FileReader fr = new FileReader(TEST_DIR + "linestrings.xml"); GMLReader gr = new GMLReader(); Geometry g = gr.read(fr,geometryFactory); GeometryCollection gc = (GeometryCollection)g; assertTrue(gc.getNumGeometries() == 25); for(int i=0;i<25;i++){ LineString ls = (LineString) gc.getGeometryN(i); assertNotNull(ls); } } public void testPolygonRead() throws SAXException, IOException, ParserConfigurationException{ FileReader fr = new FileReader(TEST_DIR + "polygons.xml"); GMLReader gr = new GMLReader(); Geometry g = gr.read(fr,geometryFactory); GeometryCollection gc = (GeometryCollection)g; assertTrue(gc.getNumGeometries() == 25); for(int i=0;i<25;i++){ Polygon p = (Polygon) gc.getGeometryN(i); assertNotNull(p); } } public void testMultiPointRead() throws SAXException, IOException, ParserConfigurationException{ FileReader fr = new FileReader(TEST_DIR + "multipoints.xml"); GMLReader gr = new GMLReader(); Geometry g = gr.read(fr,geometryFactory); GeometryCollection gc = (GeometryCollection)g; assertTrue(gc.getNumGeometries() == 25); for(int i=0;i<25;i++){ MultiPoint p = (MultiPoint) gc.getGeometryN(i); assertNotNull(p); } } public void testMultiLineStringRead() throws SAXException, IOException, ParserConfigurationException{ FileReader fr = new FileReader(TEST_DIR + "multilinestrings.xml"); GMLReader gr = new GMLReader(); Geometry g = gr.read(fr,geometryFactory); GeometryCollection gc = (GeometryCollection)g; assertTrue(gc.getNumGeometries() == 25); for(int i=0;i<25;i++){ MultiLineString ls = (MultiLineString) gc.getGeometryN(i); assertNotNull(ls); } } public void testMultiPolygonRead() throws SAXException, IOException, ParserConfigurationException{ FileReader fr = new FileReader(TEST_DIR + "multipolygons.xml"); GMLReader gr = new GMLReader(); Geometry g = gr.read(fr,geometryFactory); GeometryCollection gc = (GeometryCollection)g; assertTrue(gc.getNumGeometries() == 25); for(int i=0;i<25;i++){ MultiPolygon p = (MultiPolygon) gc.getGeometryN(i); assertNotNull(p); } } }