aboutsummaryrefslogtreecommitdiffstats
path: root/tests/src/cgeo/geocaching/geopoint/DistanceParserTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'tests/src/cgeo/geocaching/geopoint/DistanceParserTest.java')
-rw-r--r--tests/src/cgeo/geocaching/geopoint/DistanceParserTest.java35
1 files changed, 35 insertions, 0 deletions
diff --git a/tests/src/cgeo/geocaching/geopoint/DistanceParserTest.java b/tests/src/cgeo/geocaching/geopoint/DistanceParserTest.java
new file mode 100644
index 0000000..3e8336b
--- /dev/null
+++ b/tests/src/cgeo/geocaching/geopoint/DistanceParserTest.java
@@ -0,0 +1,35 @@
+package cgeo.geocaching.geopoint;
+
+import cgeo.geocaching.geopoint.DistanceParser;
+
+import android.test.AndroidTestCase;
+
+import junit.framework.Assert;
+
+@SuppressWarnings("static-method")
+public class DistanceParserTest extends AndroidTestCase {
+
+ static private final double MM = 1e-6; // 1mm, in kilometers
+
+ public void testFormats() {
+ Assert.assertEquals(1.2, DistanceParser.parseDistance("1200 m", true), MM);
+ Assert.assertEquals(1.2, DistanceParser.parseDistance("1.2 km", true), MM);
+ Assert.assertEquals(0.36576, DistanceParser.parseDistance("1200 ft", true), MM);
+ Assert.assertEquals(1.09728, DistanceParser.parseDistance("1200 yd", true), MM);
+ Assert.assertEquals(1.9312128, DistanceParser.parseDistance("1.2 mi", true), MM);
+ }
+
+ public void testImplicit() {
+ Assert.assertEquals(1.2, DistanceParser.parseDistance("1200", true), MM);
+ Assert.assertEquals(0.36576, DistanceParser.parseDistance("1200", false), MM);
+ }
+
+ public void testComma() {
+ Assert.assertEquals(1.2, DistanceParser.parseDistance("1,2km", true), MM);
+ }
+
+ public void testCase() {
+ Assert.assertEquals(0.36576, DistanceParser.parseDistance("1200 FT", true), MM);
+ }
+
+} \ No newline at end of file