/* * 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.IOException; import java.io.Reader; import java.io.StringReader; import java.io.StringWriter; import java.io.Writer; import javax.xml.parsers.ParserConfigurationException; import org.locationtech.jts.geom.Geometry; import org.locationtech.jts.geom.GeometryFactory; import org.locationtech.jts.geom.PrecisionModel; import org.xml.sax.SAXException; import junit.framework.TestCase; /** * Test Case framework for GML unit tests. * * @author David Zwiers, Vivid Solutions. * @author Martin Davis */ public abstract class WritingTestCase extends TestCase { /** * @param arg */ public WritingTestCase(String arg){ super(arg); } protected StringWriter sw = null; protected Writer getWriter(){ sw = new StringWriter(); sw.write("<?xml version='1.0' encoding='UTF-8'?>\n"); return sw; } protected Reader getReader() throws IOException{ sw.flush(); sw.close(); String s = sw.toString(); // System.out.println(s); return new StringReader(s); } protected static PrecisionModel precisionModel = new PrecisionModel(1000); protected static GeometryFactory geometryFactory = new GeometryFactory(precisionModel); protected void checkRoundTrip(Geometry g) throws SAXException, IOException, ParserConfigurationException { GMLWriter out = new GMLWriter(); out.setPrefix(null); out.setNamespace(true); out.setSrsName("foo"); // this markup is not currently work with GMLReader // out.setCustomElements(new String[] { "<test>1</test>" } ); out.write(g, getWriter()); //System.out.println(sw.toString()); GMLReader in = new GMLReader(); Geometry g2 = in.read(getReader(), geometryFactory); // System.out.println((pt==null?"NULL":pt.toString())); // System.out.println((pt2==null?"NULL":pt2.toString())); assertTrue("The input Geometry is not the same as the output Geometry", g .equalsExact(g2)); } }