1 | // License: GPL. For details, see LICENSE file.
|
---|
2 | package org.openstreetmap.josm.data.coor;
|
---|
3 |
|
---|
4 | import static org.junit.Assert.assertEquals;
|
---|
5 |
|
---|
6 | import org.junit.Test;
|
---|
7 |
|
---|
8 | /**
|
---|
9 | * Test the {@link EastNorth} class
|
---|
10 | * @author Michael Zangl
|
---|
11 | * @since 10915
|
---|
12 | */
|
---|
13 | public class EastNorthTest {
|
---|
14 |
|
---|
15 | /**
|
---|
16 | * Test {@link EastNorth#interpolate(EastNorth, double)}
|
---|
17 | */
|
---|
18 | @Test
|
---|
19 | public void testInterpolate() {
|
---|
20 | EastNorth en1 = new EastNorth(0, 0);
|
---|
21 | EastNorth en2 = new EastNorth(30, 60);
|
---|
22 | EastNorth en3 = new EastNorth(-70, -40);
|
---|
23 | // east:
|
---|
24 | assertEquals(15, en1.interpolate(en2, 0.5).east(), 1e-10);
|
---|
25 | assertEquals(0, en1.interpolate(en2, 0).east(), 1e-10);
|
---|
26 | assertEquals(30, en1.interpolate(en2, 1).east(), 1e-10);
|
---|
27 | assertEquals(0, en3.interpolate(en2, .7).east(), 1e-10);
|
---|
28 | // north
|
---|
29 | assertEquals(30, en1.interpolate(en2, 0.5).north(), 1e-10);
|
---|
30 | assertEquals(0, en1.interpolate(en2, 0).north(), 1e-10);
|
---|
31 | assertEquals(60, en1.interpolate(en2, 1).north(), 1e-10);
|
---|
32 | assertEquals(0, en3.interpolate(en2, .4).north(), 1e-10);
|
---|
33 | }
|
---|
34 |
|
---|
35 | /**
|
---|
36 | * Test {@link EastNorth#getCenter(EastNorth)}
|
---|
37 | */
|
---|
38 | @Test
|
---|
39 | public void testGetCenter() {
|
---|
40 | EastNorth en1 = new EastNorth(0, 0);
|
---|
41 | EastNorth en2 = new EastNorth(30, 60);
|
---|
42 | EastNorth en3 = new EastNorth(-70, -40);
|
---|
43 |
|
---|
44 | assertEquals(15, en1.getCenter(en2).east(), 1e-10);
|
---|
45 | assertEquals(15, en2.getCenter(en1).east(), 1e-10);
|
---|
46 | assertEquals(-20, en3.getCenter(en2).east(), 1e-10);
|
---|
47 |
|
---|
48 | assertEquals(30, en1.getCenter(en2).north(), 1e-10);
|
---|
49 | assertEquals(30, en2.getCenter(en1).north(), 1e-10);
|
---|
50 | assertEquals(10, en3.getCenter(en2).north(), 1e-10);
|
---|
51 | }
|
---|
52 | }
|
---|