diff options
| author | Samuel Tardieu <sam@rfc1149.net> | 2012-04-12 13:49:07 +0200 |
|---|---|---|
| committer | Samuel Tardieu <sam@rfc1149.net> | 2012-04-12 14:52:25 +0200 |
| commit | b2e4b01c77a129a2173a32b5fbb1d7a9de167508 (patch) | |
| tree | c8ee25e8bbffa9efc78012be55cca0e881e2d500 /tests/src/cgeo/geocaching/geopoint | |
| parent | c4e4ed5268ef46b22e9e2204ce3ececdb3b090f5 (diff) | |
| download | cgeo-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.java | 72 |
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))); + } + +} |
