diff options
| author | Samuel Tardieu <sam@rfc1149.net> | 2014-02-28 22:16:13 +0100 |
|---|---|---|
| committer | Samuel Tardieu <sam@rfc1149.net> | 2014-02-28 22:16:13 +0100 |
| commit | 8df3d95d50180e8130342684afadb5d8d95616ac (patch) | |
| tree | e2b2d1d60cb895bcaeedf835d6885a19f716c180 /tests/src/cgeo/geocaching/WaypointTest.java | |
| parent | ce4c2d36b88e126aa245f7549a9a873e761e5c57 (diff) | |
| download | cgeo-8df3d95d50180e8130342684afadb5d8d95616ac.zip cgeo-8df3d95d50180e8130342684afadb5d8d95616ac.tar.gz cgeo-8df3d95d50180e8130342684afadb5d8d95616ac.tar.bz2 | |
fix #3594: personal note parsing is too loose
Diffstat (limited to 'tests/src/cgeo/geocaching/WaypointTest.java')
| -rw-r--r-- | tests/src/cgeo/geocaching/WaypointTest.java | 34 |
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()); + } } |
