package jumptest.junit; import junit.framework.TestCase; import com.vividsolutions.jts.geom.Coordinate; import com.vividsolutions.jump.warp.AffineTransform; public class AffineTransformTestCase extends TestCase { public AffineTransformTestCase(String Name_) { super(Name_); } public static void main(String[] args) { String[] testCaseName = {AffineTransformTestCase.class.getName()}; junit.textui.TestRunner.main(testCaseName); } public void test1() { Coordinate a1 = new Coordinate(10, 10); Coordinate a2 = new Coordinate(20, 0); Coordinate b1 = new Coordinate(10, 20); Coordinate b2 = new Coordinate(20, 30); Coordinate c1 = new Coordinate(20, 20); Coordinate c2 = new Coordinate(30, 20); AffineTransform f = new AffineTransform(a1, a2, b1, b2, c1, c2); assertEquals(a2, f.transform(a1)); assertEquals(b2, f.transform(b1)); assertEquals(c2, f.transform(c1)); } public void test2() { Coordinate a1 = new Coordinate(0, 10); Coordinate a2 = new Coordinate(0, 20); Coordinate b1 = new Coordinate(10, 10); Coordinate b2 = new Coordinate(20, 20); Coordinate c1 = new Coordinate(10, 0); Coordinate c2 = new Coordinate(20, 0); AffineTransform f = new AffineTransform(a1, a2, b1, b2, c1, c2); assertEquals(new Coordinate(10, 10), f.transform(new Coordinate(5, 5))); } public void test3() { Coordinate a1 = new Coordinate(1, 0); Coordinate a2 = new Coordinate(1, 0); Coordinate b1 = new Coordinate(2, 0); Coordinate b2 = new Coordinate(3, 0); Coordinate c1 = new Coordinate(3, 0); Coordinate c2 = new Coordinate(2, 0); try { new AffineTransform(a1, a2, b1, b2, c1, c2); assertTrue(false); } catch (RuntimeException e) { assertTrue(e.toString().indexOf("singular") > -1); } } public void testRotate90() { assertEquals(new Coordinate(10, 0), AffineTransform.rotate90(new Coordinate(0, 0), new Coordinate(0, 10))); assertEquals(new Coordinate(10, 0), AffineTransform.rotate90(new Coordinate(10, 10), new Coordinate(20, 10))); } }