package org.deegree.igeo.modules.georef; import java.io.File; import java.io.IOException; import java.net.URISyntaxException; import java.net.URL; import org.deegree.igeo.modules.georef.ControlPointModel.Point; import org.junit.Assert; import org.junit.Before; import org.junit.Test; public class TestControlPointModelTest { private File inFile; private File saveFile; @Before public void setup() throws URISyntaxException { URL loadUrl = TestControlPointModelTest.class.getResource( "/loadPointsFromFileTest" ); saveFile = new File( loadUrl.getPath() + "SaveTest" ); inFile = new File( loadUrl.toURI() ); } @Test public void testSavePointsToFile() throws IOException { ControlPointModel mdl = new ControlPointModel(); Point pointToBeSaved = newPoint(); mdl.getPoints().add( pointToBeSaved ); mdl.savePointsToFile( saveFile ); mdl.removeAll(); mdl.loadPointsFromFile( saveFile ); Point actualPoint = mdl.getPoints().get( 0 ); comparePoints( pointToBeSaved, actualPoint ); } @Test public void testLoadPointsFromFile() throws IOException { ControlPointModel mdl = new ControlPointModel(); mdl.loadPointsFromFile( inFile ); Point actualPoint = mdl.getPoints().get( 0 ); Point expectedPoint = newPoint(); comparePoints( expectedPoint, actualPoint ); } private static Point newPoint() { Point p = new Point(); p.x0 = 1d; p.y0 = 2d; p.x1 = 3d; p.y1 = 4d; return p; } private static void comparePoints( Point expectedPoint, Point actualPoint ) { Assert.assertEquals( expectedPoint.x0, actualPoint.x0, 0.0001 ); Assert.assertEquals( expectedPoint.y0, actualPoint.y0, 0.0001 ); Assert.assertEquals( expectedPoint.x1, actualPoint.x1, 0.0001 ); Assert.assertEquals( expectedPoint.y1, actualPoint.y1, 0.0001 ); } }