/**
* Copyright (c) 2009-2011, chunquedong(YangJiandong)
*
* This file is part of ChunMap project
* Licensed under the GNU LESSER GENERAL PUBLIC LICENSE(Version >=3)
*
* History:
* 2010-05-05 Jed Young Creation
*/
package chunmap.data.io;
import static org.junit.Assert.*;
import org.junit.Test;
import chunmap.model.geom.Geometry;
import chunmap.model.geom.WktReader;
/**
* @author chunquedong
*
*/
public class WktReaderTest {
/**
* {@link chunmap.model.geom.WktReader#read(java.lang.String)} 的测试方法。
*/
@Test
public void testReadPoint() {
WktReader wkt = new WktReader();
Geometry g = wkt.read("POINT(1230.09 234)");
Geometry g2 = wkt.read(g.toString());
assertTrue(g2.toString().equals("POINT(1230.09 234.0)"));
}
@Test
public void testReadLineString() {
WktReader wkt = new WktReader();
Geometry g = wkt.read("LineString(1230.09 234,334 23)");
Geometry g2 = wkt.read(g.toString());
assertTrue(g2.toString().equals("LINESTRING(1230.09 234.0,334.0 23.0)"));
}
@Test
public void testReadPolygon() {
WktReader wkt = new WktReader();
Geometry g = wkt.read("POLYGON((10 20,1230.09 234,334 23,10 20)"
+ ",(30 20,45 33,23 10,30 20))");
Geometry g2 = wkt.read(g.toString());
assertTrue(g2.toString().equals(
"POLYGON((10.0 20.0,1230.09 234.0,334.0 23.0,10.0 20.0)"
+ ",(30.0 20.0,45.0 33.0,23.0 10.0,30.0 20.0))"));
}
@Test
public void testReadMultiPoint() {
WktReader wkt = new WktReader();
Geometry g = wkt.read("MULTIPOINT(1230.09 234,334 23)");
Geometry g2 = wkt.read(g.toString());
assertTrue(g2.toString().equals("MULTIPOINT(1230.09 234.0,334.0 23.0)"));
}
@Test
public void testReadMultiLineString() {
WktReader wkt = new WktReader();
Geometry g = wkt
.read("MULTILINESTRING((10 20,1230.09 234,334 23,10 20)"
+ ",(30 20,45 33,23 10,30 20))");
Geometry g2 = wkt.read(g.toString());
assertTrue(g2.toString().equals(
"MULTILINESTRING((10.0 20.0,1230.09 234.0,334.0 23.0,10.0 20.0)"
+ ",(30.0 20.0,45.0 33.0,23.0 10.0,30.0 20.0))"));
}
@Test
public void testReadMultiPolygon() {
WktReader wkt = new WktReader();
Geometry g = wkt.read("MULTIPOLYGON(((10 20,40 50,60 70,10 20)),"
+ "((0 0,0 100,100 100,100 0,0 0)))");
Geometry g2 = wkt.read(g.toString());
assertTrue(g2
.toString()
.equals(
"MULTIPOLYGON"
+ "(((10.0 20.0,40.0 50.0,60.0 70.0,10.0 20.0)),"
+ "((0.0 0.0,0.0 100.0,100.0 100.0,100.0 0.0,0.0 0.0)))"));
}
@Test
public void testReadMultiGeometry() {
WktReader wkt = new WktReader();
Geometry g = wkt
.read("GEOMETRYCOLLECTION(MULTIPOLYGON(((10 20,40 50,60 70,10 20)),"
+ "((0 0,0 100,100 100,100 0,0 0))),POINT(1230.09 234))");
Geometry g2 = wkt.read(g.toString());
String s = g2.toString();
assertTrue(s.equals("GEOMETRYCOLLECTION(MULTIPOLYGON"
+ "(((10.0 20.0,40.0 50.0,60.0 70.0,10.0 20.0)),"
+ "((0.0 0.0,0.0 100.0,100.0 100.0,100.0 0.0,0.0 0.0))),POINT(1230.09 234.0))"));
}
}