Index: trunk/test/unit/org/openstreetmap/josm/data/coor/EastNorthTest.java
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/data/coor/EastNorthTest.java	(revision 10915)
+++ trunk/test/unit/org/openstreetmap/josm/data/coor/EastNorthTest.java	(revision 10915)
@@ -0,0 +1,52 @@
+// License: GPL. For details, see LICENSE file.
+package org.openstreetmap.josm.data.coor;
+
+import static org.junit.Assert.assertEquals;
+
+import org.junit.Test;
+
+/**
+ * Test the {@link EastNorth} class
+ * @author Michael Zangl
+ * @since 10915
+ */
+public class EastNorthTest {
+
+    /**
+     * Test {@link EastNorth#interpolate(EastNorth, double)}
+     */
+    @Test
+    public void testInterpolate() {
+        EastNorth en1 = new EastNorth(0, 0);
+        EastNorth en2 = new EastNorth(30, 60);
+        EastNorth en3 = new EastNorth(-70, -40);
+        // east:
+        assertEquals(15, en1.interpolate(en2, 0.5).east(), 1e-10);
+        assertEquals(0, en1.interpolate(en2, 0).east(), 1e-10);
+        assertEquals(30, en1.interpolate(en2, 1).east(), 1e-10);
+        assertEquals(0, en3.interpolate(en2, .7).east(), 1e-10);
+        // north
+        assertEquals(30, en1.interpolate(en2, 0.5).north(), 1e-10);
+        assertEquals(0, en1.interpolate(en2, 0).north(), 1e-10);
+        assertEquals(60, en1.interpolate(en2, 1).north(), 1e-10);
+        assertEquals(0, en3.interpolate(en2, .4).north(), 1e-10);
+    }
+
+    /**
+     * Test {@link EastNorth#getCenter(EastNorth)}
+     */
+    @Test
+    public void testGetCenter() {
+        EastNorth en1 = new EastNorth(0, 0);
+        EastNorth en2 = new EastNorth(30, 60);
+        EastNorth en3 = new EastNorth(-70, -40);
+
+        assertEquals(15, en1.getCenter(en2).east(), 1e-10);
+        assertEquals(15, en2.getCenter(en1).east(), 1e-10);
+        assertEquals(-20, en3.getCenter(en2).east(), 1e-10);
+
+        assertEquals(30, en1.getCenter(en2).north(), 1e-10);
+        assertEquals(30, en2.getCenter(en1).north(), 1e-10);
+        assertEquals(10, en3.getCenter(en2).north(), 1e-10);
+    }
+}
Index: trunk/test/unit/org/openstreetmap/josm/data/coor/LatLonTest.java
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/data/coor/LatLonTest.java	(revision 10910)
+++ trunk/test/unit/org/openstreetmap/josm/data/coor/LatLonTest.java	(revision 10915)
@@ -165,3 +165,43 @@
         assertEquals("2115070.3250722", c.lonToString(CoordinateFormat.EAST_NORTH));
     }
+
+    /**
+     * Test {@link LatLon#interpolate(LatLon, double)}
+     * @since 10915
+     */
+    @Test
+    public void testInterpolate() {
+        LatLon ll1 = new LatLon(0, 0);
+        LatLon ll2 = new LatLon(30, 60);
+        LatLon ll3 = new LatLon(-70, -40);
+        // lat:
+        assertEquals(15, ll1.interpolate(ll2, 0.5).lat(), 1e-10);
+        assertEquals(0, ll1.interpolate(ll2, 0).lat(), 1e-10);
+        assertEquals(30, ll1.interpolate(ll2, 1).lat(), 1e-10);
+        assertEquals(0, ll3.interpolate(ll2, .7).lat(), 1e-10);
+        // lon
+        assertEquals(30, ll1.interpolate(ll2, 0.5).lon(), 1e-10);
+        assertEquals(0, ll1.interpolate(ll2, 0).lon(), 1e-10);
+        assertEquals(60, ll1.interpolate(ll2, 1).lon(), 1e-10);
+        assertEquals(0, ll3.interpolate(ll2, .4).lon(), 1e-10);
+    }
+
+    /**
+     * Test {@link LatLon#getCenter(LatLon)}
+     * @since 10915
+     */
+    @Test
+    public void testGetCenter() {
+        LatLon ll1 = new LatLon(0, 0);
+        LatLon ll2 = new LatLon(30, 60);
+        LatLon ll3 = new LatLon(-70, -40);
+
+        assertEquals(15, ll1.getCenter(ll2).lat(), 1e-10);
+        assertEquals(15, ll2.getCenter(ll1).lat(), 1e-10);
+        assertEquals(-20, ll3.getCenter(ll2).lat(), 1e-10);
+
+        assertEquals(30, ll1.getCenter(ll2).lon(), 1e-10);
+        assertEquals(30, ll2.getCenter(ll1).lon(), 1e-10);
+        assertEquals(10, ll3.getCenter(ll2).lon(), 1e-10);
+    }
 }
