diff options
Diffstat (limited to 'tests/src/cgeo/geocaching/location/GeoPointFormatterTest.java')
-rw-r--r-- | tests/src/cgeo/geocaching/location/GeoPointFormatterTest.java | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/tests/src/cgeo/geocaching/location/GeoPointFormatterTest.java b/tests/src/cgeo/geocaching/location/GeoPointFormatterTest.java new file mode 100644 index 0000000..9ae54fa --- /dev/null +++ b/tests/src/cgeo/geocaching/location/GeoPointFormatterTest.java @@ -0,0 +1,35 @@ +package cgeo.geocaching.location; + +import static org.assertj.core.api.Assertions.assertThat; + +import cgeo.geocaching.location.Geopoint; +import cgeo.geocaching.location.GeopointFormatter; +import cgeo.geocaching.utils.Formatter; + +import android.test.AndroidTestCase; + +public class GeoPointFormatterTest extends AndroidTestCase { + + public static void testConfluence() { + // From issue #2624: coordinate is wrong near to a confluence point + final Geopoint point = new Geopoint(49.9999999999999, 5.0); + final String format = GeopointFormatter.format(GeopointFormatter.Format.LAT_LON_DECDEGREE_COMMA, point); + assertThat(format).isEqualTo("50.000000,5.000000"); + final String formatMinute = GeopointFormatter.format(GeopointFormatter.Format.LAT_LON_DECMINUTE_RAW, point); + assertThat(formatMinute).isEqualTo("N 50° 00.000 E 005° 00.000"); + final String formatSecond = GeopointFormatter.format(GeopointFormatter.Format.LAT_LON_DECSECOND, point).replaceAll(",", "."); + assertEquals(formatSecond, "N 50° 00' 00.000\"" + Formatter.SEPARATOR + "E 005° 00' 00.000\"", formatSecond); + } + + public static void testFormat() { + // taken from GC30R6G + final Geopoint point = new Geopoint("N 51° 21.104 E 010° 15.369"); + final String format = GeopointFormatter.format(GeopointFormatter.Format.LAT_LON_DECDEGREE_COMMA, point); + assertEquals(format, "51.351733,10.256150", format); + final String formatMinute = GeopointFormatter.format(GeopointFormatter.Format.LAT_LON_DECMINUTE_RAW, point); + assertEquals(formatMinute, "N 51° 21.104 E 010° 15.369", formatMinute); + final String formatSecond = GeopointFormatter.format(GeopointFormatter.Format.LAT_LON_DECSECOND, point).replaceAll(",", "."); + assertEquals(formatSecond, "N 51° 21' 06.240\"" + Formatter.SEPARATOR + "E 010° 15' 22.140\"", formatSecond); + } + +} |