aboutsummaryrefslogtreecommitdiffstats
path: root/tests/src/cgeo/geocaching/geopoint
diff options
context:
space:
mode:
authorSamuel Tardieu <sam@rfc1149.net>2012-04-12 13:49:07 +0200
committerSamuel Tardieu <sam@rfc1149.net>2012-04-12 14:52:25 +0200
commitb2e4b01c77a129a2173a32b5fbb1d7a9de167508 (patch)
treec8ee25e8bbffa9efc78012be55cca0e881e2d500 /tests/src/cgeo/geocaching/geopoint
parentc4e4ed5268ef46b22e9e2204ce3ececdb3b090f5 (diff)
downloadcgeo-b2e4b01c77a129a2173a32b5fbb1d7a9de167508.zip
cgeo-b2e4b01c77a129a2173a32b5fbb1d7a9de167508.tar.gz
cgeo-b2e4b01c77a129a2173a32b5fbb1d7a9de167508.tar.bz2
Tests: add tests for Viewport
Diffstat (limited to 'tests/src/cgeo/geocaching/geopoint')
-rw-r--r--tests/src/cgeo/geocaching/geopoint/ViewportTest.java72
1 files changed, 72 insertions, 0 deletions
diff --git a/tests/src/cgeo/geocaching/geopoint/ViewportTest.java b/tests/src/cgeo/geocaching/geopoint/ViewportTest.java
new file mode 100644
index 0000000..1bcac5f
--- /dev/null
+++ b/tests/src/cgeo/geocaching/geopoint/ViewportTest.java
@@ -0,0 +1,72 @@
+package cgeo.geocaching.geopoint;
+
+import android.test.AndroidTestCase;
+
+public class ViewportTest extends AndroidTestCase {
+
+ final private static Viewport vpRef = new Viewport(-1.0, 3.0, -2.0, 4.0);
+
+ public static void assertBounds(final Viewport vp) {
+ assertEquals(new Geopoint(1.0, 1.0), vp.center);
+ assertEquals(new Geopoint(3.0, 4.0), vp.topRight);
+ assertEquals(new Geopoint(-1.0, -2.0), vp.bottomLeft);
+ }
+
+ public static void testCreationBounds() {
+ assertBounds(new Viewport(new Geopoint(-1.0, -2.0), new Geopoint(3.0, 4.0)));
+ assertBounds(new Viewport(new Geopoint(3.0, 4.0), new Geopoint(-1.0, -2.0)));
+ assertBounds(new Viewport(new Geopoint(-1.0, 4.0), new Geopoint(3.0, -2.0)));
+ assertBounds(new Viewport(new Geopoint(3.0, -2.0), new Geopoint(-1.0, 4.0)));
+ }
+
+ public static void testCreationCenter() {
+ assertBounds(new Viewport(new Geopoint(1.0, 1.0), 4.0, 6.0));
+ }
+
+ public static void testCreationSeparate() {
+ assertBounds(vpRef);
+ }
+
+ public static void testMinMax() {
+ assertEquals(-1.0, vpRef.getLatitudeMin());
+ assertEquals(3.0, vpRef.getLatitudeMax());
+ assertEquals(-2.0, vpRef.getLongitudeMin());
+ assertEquals(4.0, vpRef.getLongitudeMax());
+ }
+
+ public static void testSpans() {
+ assertEquals(4.0, vpRef.getLatitudeSpan());
+ assertEquals(6.0, vpRef.getLongitudeSpan());
+ }
+
+ public static void testInViewport() {
+ assertFalse(vpRef.isInViewport(new Geopoint(-2.0, -2.0)));
+ assertFalse(vpRef.isInViewport(new Geopoint(4.0, 4.0)));
+ assertTrue(vpRef.isInViewport(new Geopoint(0.0, 0.0)));
+ assertTrue(vpRef.isInViewport(new Geopoint(-1.0, -2.0)));
+ assertTrue(vpRef.isInViewport(new Geopoint(3.0, 4.0)));
+ }
+
+ public static void testSqlWhere() {
+ assertEquals("latitude >= -1.0 and latitude <= 3.0 and longitude >= -2.0 and longitude <= 4.0", vpRef.sqlWhere());
+ }
+
+ public static void testEquals() {
+ assertEquals(vpRef, vpRef);
+ assertEquals(vpRef, new Viewport(vpRef.bottomLeft, vpRef.topRight));
+ assertFalse(vpRef.equals(new Viewport(new Geopoint(0.0, 0.0), 1.0, 1.0)));
+ }
+
+ public static void testResize() {
+ assertEquals(vpRef, vpRef.resize(1.0));
+ assertEquals(new Viewport(new Geopoint(-3.0, -5.0), new Geopoint(5.0, 7.0)), vpRef.resize(2.0));
+ assertEquals(new Viewport(new Geopoint(0.0, -0.5), new Geopoint(2.0, 2.5)), vpRef.resize(0.5));
+ }
+
+ public static void testIncludes() {
+ assertTrue(vpRef.includes(vpRef));
+ assertTrue(vpRef.includes(vpRef.resize(0.5)));
+ assertFalse(vpRef.includes(vpRef.resize(2.0)));
+ }
+
+}