aboutsummaryrefslogtreecommitdiffstats
path: root/tests/src/cgeo/geocaching/WaypointTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'tests/src/cgeo/geocaching/WaypointTest.java')
-rw-r--r--tests/src/cgeo/geocaching/WaypointTest.java34
1 files changed, 34 insertions, 0 deletions
diff --git a/tests/src/cgeo/geocaching/WaypointTest.java b/tests/src/cgeo/geocaching/WaypointTest.java
index 3ddc32c..9868f81 100644
--- a/tests/src/cgeo/geocaching/WaypointTest.java
+++ b/tests/src/cgeo/geocaching/WaypointTest.java
@@ -1,9 +1,12 @@
package cgeo.geocaching;
import cgeo.geocaching.enumerations.WaypointType;
+import cgeo.geocaching.geopoint.Geopoint;
import android.test.AndroidTestCase;
+import java.util.Collection;
+
public class WaypointTest extends AndroidTestCase {
public static void testOrder() {
@@ -42,4 +45,35 @@ public class WaypointTest extends AndroidTestCase {
waypoint.setGeocode("p1");
assertEquals("P1", waypoint.getGeocode());
}
+
+ public static void testParseNoWaypointFromNote() {
+ final String note = "1 T 126\n" +
+ "2 B 12\n" +
+ "3 S 630\n" +
+ "4c P 51\n" +
+ "L 1\n" +
+ "E 14\n" +
+ "J 11\n" +
+ "U 12\n" +
+ "D 1\n" +
+ "M 7\n" +
+ "N 5\n" +
+ "5 IFG 257";
+ assertTrue(Waypoint.parseWaypointsFromNote(note).isEmpty());
+ }
+
+ public static void testParseWaypointFromNote() {
+ final String note = "Dummy note\nn 45° 3.5 e 27° 7.5\nNothing else";
+ final Collection<Waypoint> waypoints = Waypoint.parseWaypointsFromNote(note);
+ assertEquals(1, waypoints.size());
+ final Geopoint coords = waypoints.iterator().next().getCoords();
+ assertEquals(45, coords.getLatDeg());
+ assertEquals(3.5, coords.getLatMinRaw());
+ assertEquals(27, coords.getLonDeg());
+ assertEquals(7.5, coords.getLonMinRaw());
+ final String note2 = "Waypoint on two lines\nN 45°3.5\nE 27°7.5\nNothing else";
+ final Collection<Waypoint> waypoints2 = Waypoint.parseWaypointsFromNote(note2);
+ assertEquals(1, waypoints2.size());
+ assertEquals(coords, waypoints2.iterator().next().getCoords());
+ }
}