/**
* 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.model.geom;
import static org.junit.Assert.*;
import org.junit.Test;
import chunmap.model.coord.Coordinate2D;
import chunmap.model.coord.CPoint;
/**
* @author chunquedong
*
*/
public class LinearRingTest {
/**
* {@link chunmap.model.geom.Ring#containIn(chunmap.model.geom.CPoint)}
* 的测试方法。
*/
@Test
public void testContain() {
WktReader wkt = new WktReader();
Geometry g = wkt.read("LINESTRING(1 2,3 1,4 0,3 -2,0 0,1 2)");
Ring lr = ((LineString) g).toLinearRing();
CPoint p1 = new Coordinate2D(1, 0);
CPoint p2 = new Coordinate2D(1, 2);
CPoint p3 = new Coordinate2D(2, 3);
CPoint p4 = new Coordinate2D(0.5, 1);
assertTrue(lr.containIn(p1));
assertTrue(lr.containIn(p2));
assertTrue(!lr.containIn(p3));
assertTrue(lr.containIn(p4));
}
@Test
public void testContainLineStringIn() {
WktReader wkt = new WktReader();
Geometry g = wkt.read("LINESTRING(1 2,3 1,4 0,3 -2,0 0,1 2)");
Ring lr = ((LineString) g).toLinearRing();
Geometry g2 = wkt.read("LINESTRING(3 1,1 2,0 0)");
LineString l2 = (LineString) g2;
assertTrue(lr.containLineStringIn(l2));
assertTrue(lr.clockwise());
}
}