Ignore:
Timestamp:
2016-08-29T18:21:41+02:00 (8 years ago)
Author:
michael2402
Message:

Trim interpolate in EastNorth/LatLon for performance and add comment explaining it. Added unit tests.

Location:
trunk/test/unit/org/openstreetmap/josm/data/coor
Files:
1 added
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/test/unit/org/openstreetmap/josm/data/coor/LatLonTest.java

    r10758 r10915  
    165165        assertEquals("2115070.3250722", c.lonToString(CoordinateFormat.EAST_NORTH));
    166166    }
     167
     168    /**
     169     * Test {@link LatLon#interpolate(LatLon, double)}
     170     * @since 10915
     171     */
     172    @Test
     173    public void testInterpolate() {
     174        LatLon ll1 = new LatLon(0, 0);
     175        LatLon ll2 = new LatLon(30, 60);
     176        LatLon ll3 = new LatLon(-70, -40);
     177        // lat:
     178        assertEquals(15, ll1.interpolate(ll2, 0.5).lat(), 1e-10);
     179        assertEquals(0, ll1.interpolate(ll2, 0).lat(), 1e-10);
     180        assertEquals(30, ll1.interpolate(ll2, 1).lat(), 1e-10);
     181        assertEquals(0, ll3.interpolate(ll2, .7).lat(), 1e-10);
     182        // lon
     183        assertEquals(30, ll1.interpolate(ll2, 0.5).lon(), 1e-10);
     184        assertEquals(0, ll1.interpolate(ll2, 0).lon(), 1e-10);
     185        assertEquals(60, ll1.interpolate(ll2, 1).lon(), 1e-10);
     186        assertEquals(0, ll3.interpolate(ll2, .4).lon(), 1e-10);
     187    }
     188
     189    /**
     190     * Test {@link LatLon#getCenter(LatLon)}
     191     * @since 10915
     192     */
     193    @Test
     194    public void testGetCenter() {
     195        LatLon ll1 = new LatLon(0, 0);
     196        LatLon ll2 = new LatLon(30, 60);
     197        LatLon ll3 = new LatLon(-70, -40);
     198
     199        assertEquals(15, ll1.getCenter(ll2).lat(), 1e-10);
     200        assertEquals(15, ll2.getCenter(ll1).lat(), 1e-10);
     201        assertEquals(-20, ll3.getCenter(ll2).lat(), 1e-10);
     202
     203        assertEquals(30, ll1.getCenter(ll2).lon(), 1e-10);
     204        assertEquals(30, ll2.getCenter(ll1).lon(), 1e-10);
     205        assertEquals(10, ll3.getCenter(ll2).lon(), 1e-10);
     206    }
    167207}
Note: See TracChangeset for help on using the changeset viewer.