diff options
Diffstat (limited to 'tests/src/cgeo/geocaching/geopoint/GeoPointParserTest.java')
-rw-r--r-- | tests/src/cgeo/geocaching/geopoint/GeoPointParserTest.java | 42 |
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); } } |