aboutsummaryrefslogtreecommitdiffstats
path: root/tests/src/cgeo/geocaching/geopoint/GeoPointParserTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'tests/src/cgeo/geocaching/geopoint/GeoPointParserTest.java')
-rw-r--r--tests/src/cgeo/geocaching/geopoint/GeoPointParserTest.java42
1 files changed, 29 insertions, 13 deletions
diff --git a/tests/src/cgeo/geocaching/geopoint/GeoPointParserTest.java b/tests/src/cgeo/geocaching/geopoint/GeoPointParserTest.java
index 95100c9..b6d7c66 100644
--- a/tests/src/cgeo/geocaching/geopoint/GeoPointParserTest.java
+++ b/tests/src/cgeo/geocaching/geopoint/GeoPointParserTest.java
@@ -1,8 +1,8 @@
package cgeo.geocaching.geopoint;
-import android.test.AndroidTestCase;
+import cgeo.geocaching.geopoint.GeopointParser.ParseException;
-import junit.framework.Assert;
+import android.test.AndroidTestCase;
public class GeoPointParserTest extends AndroidTestCase {
@@ -10,18 +10,16 @@ public class GeoPointParserTest extends AndroidTestCase {
private static final double refLatitude = 49.0 + 56.031 / 60.0;
public static void testParseLatitude() {
-
- Assert.assertEquals(refLatitude, GeopointParser.parseLatitude("N 49° 56.031"), 1e-8);
+ assertEquals(refLatitude, GeopointParser.parseLatitude("N 49° 56.031"), 1e-8);
}
public static void testParseLongitude() {
-
- Assert.assertEquals(refLongitude, GeopointParser.parseLongitude("E 8° 38.564"), 1e-8);
+ assertEquals(refLongitude, GeopointParser.parseLongitude("E 8° 38.564"), 1e-8);
}
public static void testFullCoordinates() {
final Geopoint goal = new Geopoint(refLatitude, refLongitude);
- Assert.assertTrue(goal.isEqualTo(GeopointParser.parse("N 49° 56.031 | E 8° 38.564"), 1e-6));
+ assertTrue(goal.isEqualTo(GeopointParser.parse("N 49° 56.031 | E 8° 38.564"), 1e-6));
}
public static void testCoordinateMissingPart() {
@@ -29,28 +27,46 @@ public class GeoPointParserTest extends AndroidTestCase {
Geopoint point = null;
try {
point = GeopointParser.parse("N 49° 56.031");
- } catch (Exception e) {
+ } catch (ParseException e) {
// expected
}
- Assert.assertEquals(null, point);
+ assertEquals(null, point);
}
public static void testSouth() {
- Assert.assertEquals(-refLatitude, GeopointParser.parseLatitude("S 49° 56.031"), 1e-8);
+ assertEquals(-refLatitude, GeopointParser.parseLatitude("S 49° 56.031"), 1e-8);
}
public static void testWest() {
- Assert.assertEquals(-refLongitude, GeopointParser.parseLongitude("W 8° 38.564"), 1e-8);
+ assertEquals(-refLongitude, GeopointParser.parseLongitude("W 8° 38.564"), 1e-8);
}
public static void testLowerCase() {
- Assert.assertEquals(refLongitude, GeopointParser.parseLongitude("e 8° 38.564"), 1e-8);
+ assertEquals(refLongitude, GeopointParser.parseLongitude("e 8° 38.564"), 1e-8);
}
public static void testVariousFormats() {
final Geopoint goal1 = GeopointParser.parse("N 49° 43' 57\" | E 2 12' 35");
final Geopoint goal2 = GeopointParser.parse("N 49 43.95 E2°12.5833333333");
- Assert.assertTrue(goal1.isEqualTo(goal2, 1e-6));
+ assertTrue(goal1.isEqualTo(goal2, 1e-6));
+ }
+
+ public static void testInSentence() {
+ final Geopoint p1 = GeopointParser.parse("Station3: N51 21.523 / E07 02.680");
+ final Geopoint p2 = GeopointParser.parse("N51 21.523", "E07 02.680");
+ assertNotNull(p1);
+ assertNotNull(p2);
+ assertTrue(p1.isEqualTo(p2));
+ }
+
+ public static void testUnrelatedParts() {
+ Geopoint point = null;
+ try {
+ point = GeopointParser.parse("N51 21.523 and some words in between, so there is no relation E07 02.680");
+ } catch (ParseException e) {
+ // expected
+ }
+ assertEquals(null, point);
}
}