From 950921d1c15efbcb7e5e87d3944c237cae8938ab Mon Sep 17 00:00:00 2001 From: Marco Jacob Date: Sat, 9 Mar 2013 20:07:33 +0100 Subject: adding StaticMapsProviderTest --- .../cgeo/geocaching/StaticMapsProviderTest.java | 62 ++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 tests/src/cgeo/geocaching/StaticMapsProviderTest.java (limited to 'tests/src/cgeo/geocaching/StaticMapsProviderTest.java') diff --git a/tests/src/cgeo/geocaching/StaticMapsProviderTest.java b/tests/src/cgeo/geocaching/StaticMapsProviderTest.java new file mode 100644 index 0000000..be3520d --- /dev/null +++ b/tests/src/cgeo/geocaching/StaticMapsProviderTest.java @@ -0,0 +1,62 @@ +package cgeo.geocaching; + +import cgeo.geocaching.enumerations.WaypointType; +import cgeo.geocaching.files.LocalStorage; +import cgeo.geocaching.geopoint.Geopoint; + +import java.io.File; + +import junit.framework.TestCase; + +public class StaticMapsProviderTest extends TestCase { + + public static void testDownloadStaticMaps() { + final double lat = 52.354176d; + final double lon = 9.745685d; + String geocode = "GCTEST1"; + + boolean backupStoreWP = Settings.isStoreOfflineWpMaps(); + Settings.setStoreOfflineMaps(true); + try { + Geopoint gp = new Geopoint(lat + 0.25d, lon + 0.25d); + Geocache cache = new Geocache(); + cache.setGeocode(geocode); + cache.setCoords(gp); + cache.setCacheId(String.valueOf(1)); + + Waypoint theFinal = new Waypoint("Final", WaypointType.FINAL, false); + Geopoint finalGp = new Geopoint(lat + 0.25d + 1, lon + 0.25d + 1); + theFinal.setCoords(finalGp); + theFinal.setId(1); + cache.addOrChangeWaypoint(theFinal, false); + + Waypoint trailhead = new Waypoint("Trail head", WaypointType.TRAILHEAD, false); + Geopoint trailheadGp = new Geopoint(lat + 0.25d + 2, lon + 0.25d + 2); + trailhead.setCoords(trailheadGp); + trailhead.setId(2); + cache.addOrChangeWaypoint(trailhead, false); + + StaticMapsProvider.downloadMaps(cache); + + try { + Thread.sleep(10000); + } catch (InterruptedException e) { + fail(); + } + assertTrue(StaticMapsProvider.hasStaticMap(cache)); + assertTrue(StaticMapsProvider.hasStaticMapForWaypoint(geocode, theFinal)); + assertTrue(StaticMapsProvider.hasStaticMapForWaypoint(geocode, trailhead)); + + // waypoint static maps hashcode dependent + trailhead.setCoords(new Geopoint(lat + 0.24d + 2, lon + 0.25d + 2)); + assertFalse(StaticMapsProvider.hasStaticMapForWaypoint(geocode, trailhead)); + } finally { + Settings.setStoreOfflineWpMaps(backupStoreWP); + File cacheDir = LocalStorage.getStorageDir(geocode); + if (!cacheDir.delete()) { + cacheDir.deleteOnExit(); + } + } + } + +} -- cgit v1.1