aboutsummaryrefslogtreecommitdiffstats
path: root/tests/src
diff options
context:
space:
mode:
Diffstat (limited to 'tests/src')
-rw-r--r--tests/src/cgeo/geocaching/CgeoApplicationTest.java40
-rw-r--r--tests/src/cgeo/geocaching/GeocacheTest.java8
-rw-r--r--tests/src/cgeo/geocaching/SettingsTest.java2
-rw-r--r--tests/src/cgeo/geocaching/compatibility/CompatibilityTest.java2
-rw-r--r--tests/src/cgeo/geocaching/connector/ConnectorFactoryTest.java24
-rw-r--r--tests/src/cgeo/geocaching/connector/gc/GCConnectorTest.java10
-rw-r--r--tests/src/cgeo/geocaching/connector/gc/GCParserTest.java16
-rw-r--r--tests/src/cgeo/geocaching/connector/oc/OkapiClientTest.java2
-rw-r--r--tests/src/cgeo/geocaching/connector/trackable/GeokretyConnectorTest.java13
-rw-r--r--tests/src/cgeo/geocaching/connector/trackable/TravelBugConnectorTest.java11
-rw-r--r--tests/src/cgeo/geocaching/enumerations/CacheAttributeTest.java3
-rw-r--r--tests/src/cgeo/geocaching/enumerations/CacheSizeTest.java2
-rw-r--r--tests/src/cgeo/geocaching/enumerations/LogTypeTest.java3
-rw-r--r--tests/src/cgeo/geocaching/enumerations/LogTypeTrackableTest.java6
-rw-r--r--tests/src/cgeo/geocaching/export/ExportTest.java6
-rw-r--r--tests/src/cgeo/geocaching/files/GPXParserTest.java23
-rw-r--r--tests/src/cgeo/geocaching/geopoint/GeoPointParserTest.java16
-rw-r--r--tests/src/cgeo/geocaching/geopoint/ViewportTest.java17
-rw-r--r--tests/src/cgeo/geocaching/network/OAuthTest.java8
-rw-r--r--tests/src/cgeo/geocaching/sorting/DistanceComparatorTest.java2
-rw-r--r--tests/src/cgeo/geocaching/test/AbstractResourceInstrumentationTestCase.java15
-rw-r--r--tests/src/cgeo/geocaching/utils/LogTemplateProviderTest.java4
-rw-r--r--tests/src/cgeo/geocaching/utils/MemorySubjectTest.java79
23 files changed, 167 insertions, 145 deletions
diff --git a/tests/src/cgeo/geocaching/CgeoApplicationTest.java b/tests/src/cgeo/geocaching/CgeoApplicationTest.java
index b9c03a4..1dcd976 100644
--- a/tests/src/cgeo/geocaching/CgeoApplicationTest.java
+++ b/tests/src/cgeo/geocaching/CgeoApplicationTest.java
@@ -114,7 +114,7 @@ public class CgeoApplicationTest extends CGeoTestCase {
public static Geocache testSearchByGeocode(final String geocode) {
final SearchResult search = Geocache.searchByGeocode(geocode, null, 0, true, null);
assertNotNull(search);
- if (Settings.isPremiumMember() || search.getError() == null) {
+ if (Settings.isGCPremiumMember() || search.getError() == null) {
assertEquals(1, search.getGeocodes().size());
assertTrue(search.getGeocodes().contains(geocode));
return DataStore.loadCache(geocode, LoadFlags.LOAD_CACHE_OR_DB);
@@ -140,14 +140,14 @@ public class CgeoApplicationTest extends CGeoTestCase {
*/
private static void withMockedLoginDo(final Runnable runnable) {
final ImmutablePair<String, String> login = Settings.getGcCredentials();
- final String memberStatus = Settings.getMemberStatus();
+ final String memberStatus = Settings.getGCMemberStatus();
try {
runnable.run();
} finally {
// restore user and password
TestSettings.setLogin(login.left, login.right);
- Settings.setMemberStatus(memberStatus);
+ Settings.setGCMemberStatus(memberStatus);
GCLogin.getInstance().login();
}
}
@@ -171,6 +171,8 @@ public class CgeoApplicationTest extends CGeoTestCase {
assertTrue(search.getGeocodes().contains(cache.getGeocode()));
final Geocache searchedCache = search.getFirstCacheFromResult(LoadFlags.LOAD_CACHE_OR_DB);
// coords must be null if the user is not logged in
+ assertNotNull(searchedCache);
+ assert (searchedCache != null); // eclipse bug
assertNull(searchedCache.getCoords());
// premium cache. Not visible to guests
@@ -237,10 +239,10 @@ public class CgeoApplicationTest extends CGeoTestCase {
@Override
public void run() {
- final SearchResult search = GCParser.searchByCoords(new Geopoint("N 52° 24.972 E 009° 35.647"), CacheType.MYSTERY, false, null);
+ final SearchResult search = GCParser.searchByCoords(new Geopoint("N 50° 06.654 E 008° 39.777"), CacheType.MYSTERY, false, null);
assertNotNull(search);
assertTrue(20 <= search.getGeocodes().size());
- assertTrue(search.getGeocodes().contains("GC1RMM2"));
+ assertTrue(search.getGeocodes().contains("GC1HBMY"));
}
});
}
@@ -305,25 +307,25 @@ public class CgeoApplicationTest extends CGeoTestCase {
// check coords for DETAILED
Settings.setLiveMapStrategy(Strategy.DETAILED);
- SearchResult search = ConnectorFactory.searchByViewport(viewport, tokens);
+ SearchResult search = ConnectorFactory.searchByViewport(viewport, tokens).toBlockingObservable().single();
assertNotNull(search);
assertTrue(search.getGeocodes().contains(mockedCache.getGeocode()));
Geocache parsedCache = DataStore.loadCache(mockedCache.getGeocode(), LoadFlags.LOAD_CACHE_OR_DB);
- assertEquals(Settings.isPremiumMember(), mockedCache.getCoords().equals(parsedCache.getCoords()));
- assertEquals(Settings.isPremiumMember(), parsedCache.isReliableLatLon());
+ assertEquals(Settings.isGCPremiumMember(), mockedCache.getCoords().equals(parsedCache.getCoords()));
+ assertEquals(Settings.isGCPremiumMember(), parsedCache.isReliableLatLon());
// check update after switch strategy to FAST
Settings.setLiveMapStrategy(Strategy.FAST);
- Tile.Cache.removeFromTileCache(mockedCache);
+ Tile.cache.removeFromTileCache(mockedCache);
- search = ConnectorFactory.searchByViewport(viewport, tokens);
+ search = ConnectorFactory.searchByViewport(viewport, tokens).toBlockingObservable().single();
assertNotNull(search);
assertTrue(search.getGeocodes().contains(mockedCache.getGeocode()));
parsedCache = DataStore.loadCache(mockedCache.getGeocode(), LoadFlags.LOAD_CACHE_OR_DB);
- assertEquals(Settings.isPremiumMember(), mockedCache.getCoords().equals(parsedCache.getCoords()));
- assertEquals(Settings.isPremiumMember(), parsedCache.isReliableLatLon());
+ assertEquals(Settings.isGCPremiumMember(), mockedCache.getCoords().equals(parsedCache.getCoords()));
+ assertEquals(Settings.isGCPremiumMember(), parsedCache.isReliableLatLon());
} finally {
// restore user settings
@@ -352,11 +354,11 @@ public class CgeoApplicationTest extends CGeoTestCase {
// non premium cache
MockedCache cache = new GC2CJPF();
deleteCacheFromDBAndLogout(cache.getGeocode());
- Tile.Cache.removeFromTileCache(cache);
+ Tile.cache.removeFromTileCache(cache);
Settings.setCacheType(CacheType.ALL);
Viewport viewport = new Viewport(cache, 0.003, 0.003);
- SearchResult search = ConnectorFactory.searchByViewport(viewport, INVALID_TOKEN);
+ SearchResult search = ConnectorFactory.searchByViewport(viewport, INVALID_TOKEN).toBlockingObservable().single();
assertNotNull(search);
assertTrue(search.getGeocodes().contains(cache.getGeocode()));
@@ -364,7 +366,7 @@ public class CgeoApplicationTest extends CGeoTestCase {
final Geocache cacheFromViewport = DataStore.loadCache(cache.getGeocode(), LoadFlags.LOAD_CACHE_OR_DB);
Log.d("cgeoApplicationTest.testSearchByViewportNotLoggedIn: Coords expected = " + cache.getCoords());
Log.d("cgeoApplicationTest.testSearchByViewportNotLoggedIn: Coords actual = " + cacheFromViewport.getCoords());
- assertFalse(cache.getCoords().isEqualTo(cacheFromViewport.getCoords(), 1e-3));
+ assertFalse(cache.getCoords().distanceTo(cacheFromViewport.getCoords()) <= 1e-3);
// depending on the chosen strategy the coords can be reliable or not
assertEquals(testStrategy == Strategy.DETAILED, cacheFromViewport.isReliableLatLon());
@@ -373,11 +375,11 @@ public class CgeoApplicationTest extends CGeoTestCase {
deleteCacheFromDBAndLogout(cache.getGeocode());
viewport = new Viewport(cache, 0.003, 0.003);
- search = ConnectorFactory.searchByViewport(viewport, INVALID_TOKEN);
+ search = ConnectorFactory.searchByViewport(viewport, INVALID_TOKEN).toBlockingObservable().single();
assertNotNull(search);
- // depending on the chosen strategy the cache is part of the search or not
- assertEquals(testStrategy == Strategy.DETAILED, search.getGeocodes().contains(cache.getGeocode()));
+ // In the meantime, premium-member caches are also shown on map when not logged in
+ assertTrue(search.getGeocodes().contains(cache.getGeocode()));
} finally {
Settings.setLiveMapStrategy(strategy);
@@ -423,7 +425,7 @@ public class CgeoApplicationTest extends CGeoTestCase {
GCLogin.getInstance().logout();
// Modify login data to avoid an automatic login again
TestSettings.setLogin("c:geo", "c:geo");
- Settings.setMemberStatus("Basic member");
+ Settings.setGCMemberStatus("Basic member");
}
}
diff --git a/tests/src/cgeo/geocaching/GeocacheTest.java b/tests/src/cgeo/geocaching/GeocacheTest.java
index cdca9b7..b49048b 100644
--- a/tests/src/cgeo/geocaching/GeocacheTest.java
+++ b/tests/src/cgeo/geocaching/GeocacheTest.java
@@ -249,6 +249,14 @@ public class GeocacheTest extends CGeoTestCase {
assertTime("from 11 to 13 " + timeHours, 11, 00);
}
+ public static void testGuessEventTimeShortDescription() {
+ Geocache cache = new Geocache();
+ cache.setType(CacheType.EVENT);
+ cache.setDescription(StringUtils.EMPTY);
+ cache.setShortDescription("text 14:20 text");
+ assertEquals(String.valueOf(14 * 60 + 20), cache.guessEventTimeMinutes());
+ }
+
private static void assertTime(final String description, final int hours, final int minutes) {
final Geocache cache = new Geocache();
cache.setDescription(description);
diff --git a/tests/src/cgeo/geocaching/SettingsTest.java b/tests/src/cgeo/geocaching/SettingsTest.java
index c58db08..90a0209 100644
--- a/tests/src/cgeo/geocaching/SettingsTest.java
+++ b/tests/src/cgeo/geocaching/SettingsTest.java
@@ -27,7 +27,7 @@ public class SettingsTest extends ActivityInstrumentationTestCase2<MainActivity>
public static void testSettings() {
// unfortunately, several other tests depend on being a premium member and will fail if run by a basic member
- assertEquals(GCConstants.MEMBER_STATUS_PM, Settings.getMemberStatus());
+ assertEquals(GCConstants.MEMBER_STATUS_PM, Settings.getGCMemberStatus());
}
public static void testDeviceHasNormalLogin() {
diff --git a/tests/src/cgeo/geocaching/compatibility/CompatibilityTest.java b/tests/src/cgeo/geocaching/compatibility/CompatibilityTest.java
index cd70ffb..651bd08 100644
--- a/tests/src/cgeo/geocaching/compatibility/CompatibilityTest.java
+++ b/tests/src/cgeo/geocaching/compatibility/CompatibilityTest.java
@@ -11,7 +11,7 @@ public class CompatibilityTest extends ActivityInstrumentationTestCase2<MainActi
private MainActivity activity;
public CompatibilityTest() {
- super("cgeo.geocaching", MainActivity.class);
+ super(MainActivity.class);
}
@Override
diff --git a/tests/src/cgeo/geocaching/connector/ConnectorFactoryTest.java b/tests/src/cgeo/geocaching/connector/ConnectorFactoryTest.java
index e41e316..725f718 100644
--- a/tests/src/cgeo/geocaching/connector/ConnectorFactoryTest.java
+++ b/tests/src/cgeo/geocaching/connector/ConnectorFactoryTest.java
@@ -63,8 +63,32 @@ public class ConnectorFactoryTest extends AbstractResourceInstrumentationTestCas
public static void testGetGeocodeFromUrl() {
assertEquals("GC34PLO", ConnectorFactory.getGeocodeFromURL("http://coord.info/GC34PLO"));
+ assertEquals("GC34PLO", ConnectorFactory.getGeocodeFromURL("http://www.coord.info/GC34PLO"));
assertEquals("OX1234", ConnectorFactory.getGeocodeFromURL("http://www.opencaching.com/#!geocache/OX1234"));
+
+ assertEquals("GC12ABC", GCConnector.getInstance().getGeocodeFromUrl("http://coord.info/GC12ABC"));
+ assertEquals("GC12ABC", GCConnector.getInstance().getGeocodeFromUrl("http://www.coord.info/GC12ABC"));
+ assertEquals("GC12ABC", GCConnector.getInstance().getGeocodeFromUrl("http://www.geocaching.com/geocache/GC12ABC_die-muhlen-im-schondratal-muhle-munchau"));
+ assertEquals("GC12ABC", GCConnector.getInstance().getGeocodeFromUrl("http://geocaching.com/geocache/GC12ABC_die-muhlen-im-schondratal-muhle-munchau"));
+
+ // trackable URLs
+ assertNull(GCConnector.getInstance().getGeocodeFromUrl("http://coord.info/TB1234"));
+ assertNull(GCConnector.getInstance().getGeocodeFromUrl("http://www.coord.info/TB1234"));
+
// make sure that a mixture of different connector and geocode is recognized as invalid
assertNull(ConnectorFactory.getGeocodeFromURL("http://www.opencaching.com/#!geocache/" + "GC12345"));
}
+
+ public static void testGetTrackableFromURL() throws Exception {
+ assertEquals("GK78FA", ConnectorFactory.getTrackableFromURL("http://www.geokrety.org/konkret.php?id=30970"));
+ assertEquals("GK78FA", ConnectorFactory.getTrackableFromURL("http://geokrety.org/konkret.php?id=30970"));
+ assertEquals("TB1234", ConnectorFactory.getTrackableFromURL("http://coord.info/TB1234"));
+ assertEquals("TB1234", ConnectorFactory.getTrackableFromURL("http://www.coord.info/TB1234"));
+ assertEquals("TB1234", ConnectorFactory.getTrackableFromURL("http://geocaching.com/track/details.aspx?tracker=TB1234"));
+ assertEquals("TB1234", ConnectorFactory.getTrackableFromURL("http://www.geocaching.com/track/details.aspx?tracker=TB1234"));
+
+ // cache URLs
+ assertNull(ConnectorFactory.getTrackableFromURL("http://coord.info/GC1234"));
+ assertNull(ConnectorFactory.getTrackableFromURL("http://www.coord.info/GC1234"));
+ }
}
diff --git a/tests/src/cgeo/geocaching/connector/gc/GCConnectorTest.java b/tests/src/cgeo/geocaching/connector/gc/GCConnectorTest.java
index a5b9a44..47c3f6f 100644
--- a/tests/src/cgeo/geocaching/connector/gc/GCConnectorTest.java
+++ b/tests/src/cgeo/geocaching/connector/gc/GCConnectorTest.java
@@ -26,7 +26,7 @@ public class GCConnectorTest extends AbstractResourceInstrumentationTestCase {
{
final Viewport viewport = new Viewport(new Geopoint("N 52° 25.369 E 9° 35.499"), new Geopoint("N 52° 25.600 E 9° 36.200"));
- final SearchResult searchResult = ConnectorFactory.searchByViewport(viewport, tokens);
+ final SearchResult searchResult = ConnectorFactory.searchByViewport(viewport, tokens).toBlockingObservable().single();
assertNotNull(searchResult);
assertFalse(searchResult.isEmpty());
assertTrue(searchResult.getGeocodes().contains("GC4ER5H"));
@@ -35,7 +35,7 @@ public class GCConnectorTest extends AbstractResourceInstrumentationTestCase {
{
final Viewport viewport = new Viewport(new Geopoint("N 52° 24.000 E 9° 34.500"), new Geopoint("N 52° 26.000 E 9° 38.500"));
- final SearchResult searchResult = ConnectorFactory.searchByViewport(viewport, tokens);
+ final SearchResult searchResult = ConnectorFactory.searchByViewport(viewport, tokens).toBlockingObservable().single();
assertNotNull(searchResult);
assertTrue(searchResult.getGeocodes().contains("GC4ER5H"));
}
@@ -88,5 +88,11 @@ public class GCConnectorTest extends AbstractResourceInstrumentationTestCase {
public static void testGetGeocodeFromUrl() {
assertNull(GCConnector.getInstance().getGeocodeFromUrl("some string"));
assertEquals("GC12ABC", GCConnector.getInstance().getGeocodeFromUrl("http://coord.info/GC12ABC"));
+ assertEquals("GC12ABC", GCConnector.getInstance().getGeocodeFromUrl("http://www.coord.info/GC12ABC"));
+ assertEquals("GC12ABC", GCConnector.getInstance().getGeocodeFromUrl("http://www.geocaching.com/geocache/GC12ABC_die-muhlen-im-schondratal-muhle-munchau"));
+ assertEquals("GC12ABC", GCConnector.getInstance().getGeocodeFromUrl("http://geocaching.com/geocache/GC12ABC_die-muhlen-im-schondratal-muhle-munchau"));
+
+ assertNull(GCConnector.getInstance().getGeocodeFromUrl("http://coord.info/TB1234"));
+ assertNull(GCConnector.getInstance().getGeocodeFromUrl("http://www.coord.info/TB1234"));
}
}
diff --git a/tests/src/cgeo/geocaching/connector/gc/GCParserTest.java b/tests/src/cgeo/geocaching/connector/gc/GCParserTest.java
index 43b6d01..e6fed94 100644
--- a/tests/src/cgeo/geocaching/connector/gc/GCParserTest.java
+++ b/tests/src/cgeo/geocaching/connector/gc/GCParserTest.java
@@ -21,7 +21,6 @@ import cgeo.test.Compare;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
-import android.os.Handler;
import android.test.suitebuilder.annotation.MediumTest;
import java.util.ArrayList;
@@ -56,6 +55,8 @@ public class GCParserTest extends AbstractResourceInstrumentationTestCase {
assertNotNull(result);
assertEquals(1, result.getCount());
final Geocache cache = result.getFirstCacheFromResult(LoadFlags.LOAD_CACHE_OR_DB);
+ assertNotNull(cache);
+ assert (cache != null); // eclipse bug
assertEquals(cacheName, cache.getName());
}
@@ -155,16 +156,20 @@ public class GCParserTest extends AbstractResourceInstrumentationTestCase {
cache.setGeocode("GC2ZN4G");
// upload coordinates
GCParser.editModifiedCoordinates(cache, new Geopoint("N51 21.544", "E07 02.566"));
- cache.drop(new Handler());
+ cache.dropSynchronous();
final String page = GCParser.requestHtmlPage(cache.getGeocode(), null, "n", "0");
final Geocache cache2 = GCParser.parseCacheFromText(page, null).getFirstCacheFromResult(LoadFlags.LOAD_CACHE_ONLY);
+ assertNotNull(cache2);
+ assert (cache2 != null); // eclipse bug
assertTrue(cache2.hasUserModifiedCoords());
assertEquals(new Geopoint("N51 21.544", "E07 02.566"), cache2.getCoords());
// delete coordinates
GCParser.deleteModifiedCoordinates(cache2);
- cache2.drop(new Handler());
+ cache2.dropSynchronous();
final String page2 = GCParser.requestHtmlPage(cache.getGeocode(), null, "n", "0");
final Geocache cache3 = GCParser.parseCacheFromText(page2, null).getFirstCacheFromResult(LoadFlags.LOAD_CACHE_ONLY);
+ assertNotNull(cache3);
+ assert (cache3 != null); // eclipse bug
assertFalse(cache3.hasUserModifiedCoords());
}
@@ -172,9 +177,10 @@ public class GCParserTest extends AbstractResourceInstrumentationTestCase {
cache.setPersonalNote(note);
cache.setWaypoints(new ArrayList<Waypoint>(), false);
cache.parseWaypointsFromNote();
- assertEquals(expected.length, cache.getWaypoints().size());
+ final List<Waypoint> waypoints = cache.getWaypoints();
+ assertEquals(expected.length, waypoints.size());
for (int i = 0; i < expected.length; i++) {
- assertTrue(expected[i].equals(cache.getWaypoint(i).getCoords()));
+ assertTrue(expected[i].equals(waypoints.get(i).getCoords()));
}
}
diff --git a/tests/src/cgeo/geocaching/connector/oc/OkapiClientTest.java b/tests/src/cgeo/geocaching/connector/oc/OkapiClientTest.java
index aabf1ec..d98e33a 100644
--- a/tests/src/cgeo/geocaching/connector/oc/OkapiClientTest.java
+++ b/tests/src/cgeo/geocaching/connector/oc/OkapiClientTest.java
@@ -40,7 +40,7 @@ public class OkapiClientTest extends CGeoTestCase {
assertEquals(3, cache.getWaypoints().size());
// load again
- cache.refresh(cache.getListId(), null);
+ cache.refreshSynchronous(cache.getListId(), null);
assertEquals(3, cache.getWaypoints().size());
}
diff --git a/tests/src/cgeo/geocaching/connector/trackable/GeokretyConnectorTest.java b/tests/src/cgeo/geocaching/connector/trackable/GeokretyConnectorTest.java
index f08fb6b..d3633cb 100644
--- a/tests/src/cgeo/geocaching/connector/trackable/GeokretyConnectorTest.java
+++ b/tests/src/cgeo/geocaching/connector/trackable/GeokretyConnectorTest.java
@@ -11,4 +11,17 @@ public class GeokretyConnectorTest extends TestCase {
assertFalse(new GeokretyConnector().canHandleTrackable("UNKNOWN"));
}
+ public static void testGetTrackableCodeFromUrl() throws Exception {
+ assertEquals("GK78FA", new GeokretyConnector().getTrackableCodeFromUrl("http://www.geokrety.org/konkret.php?id=30970"));
+ assertEquals("GK78FA", new GeokretyConnector().getTrackableCodeFromUrl("http://geokrety.org/konkret.php?id=30970"));
+ }
+
+ public static void testGeocode() throws Exception {
+ assertEquals("GK97C1", GeokretyConnector.geocode(38849));
+ }
+
+ public static void testGetId() throws Exception {
+ assertEquals(38849, GeokretyConnector.getId("GK97C1"));
+ }
+
}
diff --git a/tests/src/cgeo/geocaching/connector/trackable/TravelBugConnectorTest.java b/tests/src/cgeo/geocaching/connector/trackable/TravelBugConnectorTest.java
index ef2821d..7e85b71 100644
--- a/tests/src/cgeo/geocaching/connector/trackable/TravelBugConnectorTest.java
+++ b/tests/src/cgeo/geocaching/connector/trackable/TravelBugConnectorTest.java
@@ -38,4 +38,15 @@ public class TravelBugConnectorTest extends TestCase {
private static TravelBugConnector getConnector() {
return TravelBugConnector.getInstance();
}
+
+ public static void testGetTrackableCodeFromUrl() throws Exception {
+ assertEquals("TB1234", TravelBugConnector.getInstance().getTrackableCodeFromUrl("http://coord.info/TB1234"));
+ assertEquals("TB1234", TravelBugConnector.getInstance().getTrackableCodeFromUrl("http://www.coord.info/TB1234"));
+ assertEquals("TB1234", TravelBugConnector.getInstance().getTrackableCodeFromUrl("http://geocaching.com/track/details.aspx?tracker=TB1234"));
+ assertEquals("TB1234", TravelBugConnector.getInstance().getTrackableCodeFromUrl("http://www.geocaching.com/track/details.aspx?tracker=TB1234"));
+
+ // do not match coord.info URLs of caches
+ assertNull(TravelBugConnector.getInstance().getTrackableCodeFromUrl("http://coord.info/GC1234"));
+ assertNull(TravelBugConnector.getInstance().getTrackableCodeFromUrl("http://www.coord.info/GC1234"));
+ }
}
diff --git a/tests/src/cgeo/geocaching/enumerations/CacheAttributeTest.java b/tests/src/cgeo/geocaching/enumerations/CacheAttributeTest.java
index 54db279..d126c0b 100644
--- a/tests/src/cgeo/geocaching/enumerations/CacheAttributeTest.java
+++ b/tests/src/cgeo/geocaching/enumerations/CacheAttributeTest.java
@@ -25,7 +25,7 @@ public class CacheAttributeTest extends AndroidTestCase {
public static void testGetL10n() {
final CacheAttribute attribute = CacheAttribute.HIKING;
- // This test is language dependend. It does not make sense to test it
+ // This test is language dependent. It does not make sense to test it
// with every attribute. We just want to know if getL10n works
// correctly
assertFalse("_yes and _no must not have the same translation",
@@ -37,7 +37,6 @@ public class CacheAttributeTest extends AndroidTestCase {
assertTrue("Test cannot be run with this attribute", attribute.gcid >= 0);
assertTrue("Test cannot be run with this attribute", attribute.ocacode >= 0);
assertSame(CacheAttribute.getByRawName(attribute.rawName), attribute);
- assertSame(CacheAttribute.getByGcId(attribute.gcid), attribute);
assertSame(CacheAttribute.getByOcACode(attribute.ocacode), attribute);
}
diff --git a/tests/src/cgeo/geocaching/enumerations/CacheSizeTest.java b/tests/src/cgeo/geocaching/enumerations/CacheSizeTest.java
index 2f11dfc..26a1953 100644
--- a/tests/src/cgeo/geocaching/enumerations/CacheSizeTest.java
+++ b/tests/src/cgeo/geocaching/enumerations/CacheSizeTest.java
@@ -30,8 +30,6 @@ public class CacheSizeTest extends AndroidTestCase {
public static void testGetByIdNumeric() {
assertEquals(CacheSize.REGULAR, CacheSize.getById("3"));
- assertEquals(CacheSize.UNKNOWN, CacheSize.getById("0"));
- assertEquals(CacheSize.UNKNOWN, CacheSize.getById("9"));
assertEquals(CacheSize.UNKNOWN, CacheSize.getById("-1"));
}
}
diff --git a/tests/src/cgeo/geocaching/enumerations/LogTypeTest.java b/tests/src/cgeo/geocaching/enumerations/LogTypeTest.java
index 81ca33b..47879a0 100644
--- a/tests/src/cgeo/geocaching/enumerations/LogTypeTest.java
+++ b/tests/src/cgeo/geocaching/enumerations/LogTypeTest.java
@@ -17,8 +17,7 @@ public class LogTypeTest extends AndroidTestCase {
}
public static void testGetByType() {
- assertEquals(LogType.UNKNOWN, LogType.getByIconName(""));
- assertEquals(LogType.UNKNOWN, LogType.getByIconName(null));
+ assertEquals(LogType.UNKNOWN, LogType.getByType("obviously unknown type"));
assertEquals(LogType.GRABBED_IT, LogType.getByType("grabbed it"));
assertEquals(LogType.GRABBED_IT, LogType.getByType(" gRAbbed IT "));
}
diff --git a/tests/src/cgeo/geocaching/enumerations/LogTypeTrackableTest.java b/tests/src/cgeo/geocaching/enumerations/LogTypeTrackableTest.java
index 667eefb..d6b7d33 100644
--- a/tests/src/cgeo/geocaching/enumerations/LogTypeTrackableTest.java
+++ b/tests/src/cgeo/geocaching/enumerations/LogTypeTrackableTest.java
@@ -1,11 +1,15 @@
package cgeo.geocaching.enumerations;
+import org.apache.commons.lang3.StringUtils;
+
import android.test.AndroidTestCase;
public class LogTypeTrackableTest extends AndroidTestCase {
public static void testFindById() {
- assertEquals(LogTypeTrackable.DO_NOTHING, LogTypeTrackable.findById(12345));
+ for (LogTypeTrackable logTypeTrackable : LogTypeTrackable.values()) {
+ assertTrue(StringUtils.isNotEmpty(logTypeTrackable.getLabel()));
+ }
}
}
diff --git a/tests/src/cgeo/geocaching/export/ExportTest.java b/tests/src/cgeo/geocaching/export/ExportTest.java
index b8f1ffd..b03c9bb 100644
--- a/tests/src/cgeo/geocaching/export/ExportTest.java
+++ b/tests/src/cgeo/geocaching/export/ExportTest.java
@@ -20,9 +20,9 @@ public class ExportTest extends CGeoTestCase {
final Geocache cache = new Geocache();
cache.setGeocode("GCX1234");
final LogEntry log = new LogEntry(1353244820000L, LogType.FOUND_IT, "Hidden in a tree");
- final StringBuilder logStr = new StringBuilder();
- FieldnoteExport.appendFieldNote(logStr, cache, log);
- assertEquals("Non matching export " + logStr.toString(), "GCX1234,2012-11-18T13:20:20Z,Found it,\"Hidden in a tree\"\n", logStr.toString());
+ FieldNotes fieldNotes = new FieldNotes();
+ fieldNotes.add(cache, log);
+ assertEquals("Non matching export " + fieldNotes.getContent(), "GCX1234,2012-11-18T13:20:20Z,Found it,\"Hidden in a tree\"\n", fieldNotes.getContent());
}
public static void testGpxExportSmilies() throws InterruptedException, ExecutionException {
diff --git a/tests/src/cgeo/geocaching/files/GPXParserTest.java b/tests/src/cgeo/geocaching/files/GPXParserTest.java
index dcaad22..9297819 100644
--- a/tests/src/cgeo/geocaching/files/GPXParserTest.java
+++ b/tests/src/cgeo/geocaching/files/GPXParserTest.java
@@ -325,4 +325,27 @@ public class GPXParserTest extends AbstractResourceInstrumentationTestCase {
assertEquals("Wasserleitung", cache.getHint());
}
+ private Geocache getFirstCache(int gpxResourceId) throws IOException, ParserException {
+ final List<Geocache> caches = readGPX10(gpxResourceId);
+ assertNotNull(caches);
+ assertEquals(1, caches.size());
+ final Geocache cache = caches.get(0);
+ return cache;
+ }
+
+ public void testGsakFavPoints() throws IOException, ParserException {
+ final Geocache cache = getFirstCache(R.raw.gc3t1xg_gsak);
+ assertEquals(258, cache.getFavoritePoints());
+ }
+
+ public void testGsakPersonalNote() throws IOException, ParserException {
+ final Geocache cache = getFirstCache(R.raw.gc3t1xg_gsak);
+ assertEquals("Personal Note Test", cache.getPersonalNote());
+ }
+
+ public void testGsakPremium() throws IOException, ParserException {
+ final Geocache cache = getFirstCache(R.raw.gc3t1xg_gsak);
+ assertTrue(cache.isPremiumMembersOnly());
+ }
+
}
diff --git a/tests/src/cgeo/geocaching/geopoint/GeoPointParserTest.java b/tests/src/cgeo/geocaching/geopoint/GeoPointParserTest.java
index c471dfa..1a24609 100644
--- a/tests/src/cgeo/geocaching/geopoint/GeoPointParserTest.java
+++ b/tests/src/cgeo/geocaching/geopoint/GeoPointParserTest.java
@@ -19,7 +19,13 @@ public class GeoPointParserTest extends AndroidTestCase {
public static void testFullCoordinates() {
final Geopoint goal = new Geopoint(refLatitude, refLongitude);
- assertTrue(goal.isEqualTo(GeopointParser.parse("N 49° 56.031 | E 8° 38.564"), 1e-6));
+ assertEquals(goal, GeopointParser.parse("N 49° 56.031 | E 8° 38.564"), 1e-6);
+ }
+
+ private static void assertEquals(final Geopoint expected, Geopoint actual, double tolerance) {
+ assertNotNull(expected);
+ assertNotNull(actual);
+ assertTrue(expected.distanceTo(actual) <= tolerance);
}
public static void testCoordinateMissingPart() {
@@ -48,18 +54,18 @@ public class GeoPointParserTest extends AndroidTestCase {
public static void testVariousFormats() {
final Geopoint goal1 = GeopointParser.parse("N 49° 43' 57\" | E 2 12' 35");
final Geopoint goal2 = GeopointParser.parse("N 49 43.95 E2°12.5833333333");
- assertTrue(goal1.isEqualTo(goal2, 1e-6));
+ assertEquals(goal1, goal2, 1e-6);
}
public static void testParseOurOwnSeparator() {
final Geopoint separator = GeopointParser.parse("N 49° 43' 57\"" + Formatter.SEPARATOR + "E 2 12' 35");
final Geopoint noSeparator = GeopointParser.parse("N 49 43.95 E2°12.5833333333");
- assertTrue(separator.isEqualTo(noSeparator, 1e-6));
+ assertEquals(separator, noSeparator, 1e-6);
}
public static void testInSentence() {
final Geopoint p1 = GeopointParser.parse("Station3: N51 21.523 / E07 02.680");
- final Geopoint p2 = GeopointParser.parse("N51 21.523", "E07 02.680");
+ final Geopoint p2 = GeopointParser.parse("N51 21.523 E07 02.680");
assertNotNull(p1);
assertNotNull(p2);
assertEquals(p1, p2);
@@ -106,6 +112,6 @@ public class GeoPointParserTest extends AndroidTestCase {
}
public static void testEquatorMeridian() {
- assertEquals(new Geopoint(0, 0), GeopointParser.parse("00° 00.000 00° 00.000"));
+ assertEquals(Geopoint.ZERO, GeopointParser.parse("00° 00.000 00° 00.000"));
}
}
diff --git a/tests/src/cgeo/geocaching/geopoint/ViewportTest.java b/tests/src/cgeo/geocaching/geopoint/ViewportTest.java
index 60766b4..11f78ad 100644
--- a/tests/src/cgeo/geocaching/geopoint/ViewportTest.java
+++ b/tests/src/cgeo/geocaching/geopoint/ViewportTest.java
@@ -2,6 +2,8 @@ package cgeo.geocaching.geopoint;
import cgeo.geocaching.ICoordinates;
+import org.eclipse.jdt.annotation.NonNull;
+
import android.test.AndroidTestCase;
import java.util.Collections;
@@ -11,7 +13,8 @@ import java.util.Set;
public class ViewportTest extends AndroidTestCase {
- final private static Viewport vpRef = new Viewport(new Geopoint(-1.0, -2.0), new Geopoint(3.0, 4.0));
+ final private static @NonNull
+ Viewport vpRef = new Viewport(new Geopoint(-1.0, -2.0), new Geopoint(3.0, 4.0));
public static void assertBounds(final Viewport vp) {
assertEquals(new Geopoint(1.0, 1.0), vp.center);
@@ -49,7 +52,7 @@ public class ViewportTest extends AndroidTestCase {
public static void testInViewport() {
assertFalse(vpRef.contains(new Geopoint(-2.0, -2.0)));
assertFalse(vpRef.contains(new Geopoint(4.0, 4.0)));
- assertTrue(vpRef.contains(new Geopoint(0.0, 0.0)));
+ assertTrue(vpRef.contains(Geopoint.ZERO));
assertTrue(vpRef.contains(new Geopoint(-1.0, -2.0)));
assertTrue(vpRef.contains(new Geopoint(3.0, 4.0)));
}
@@ -86,16 +89,6 @@ public class ViewportTest extends AndroidTestCase {
assertFalse(vpRef.includes(vpRef.resize(2.0)));
}
- public static void testExpands() {
- assertEquals(vpRef, vpRef.expand(new Geopoint(0, 0)));
- final Viewport vp1 = vpRef.expand(new Geopoint(-4.0, 0.0));
- assertEquals(new Geopoint(-4.0, -2.0), vp1.bottomLeft);
- assertEquals(new Geopoint(3.0, 4.0), vp1.topRight);
- final Viewport vp2 = vpRef.expand(new Geopoint(-10.0, 10.0));
- assertEquals(new Geopoint(-10.0, -2.0), vp2.bottomLeft);
- assertEquals(new Geopoint(3.0, 10.0), vp2.topRight);
- }
-
public static void testContaining() {
assertNull(Viewport.containing(Collections.singleton((ICoordinates) null)));
final Set<Geopoint> points = new HashSet<Geopoint>();
diff --git a/tests/src/cgeo/geocaching/network/OAuthTest.java b/tests/src/cgeo/geocaching/network/OAuthTest.java
index fa0104f..6888cec 100644
--- a/tests/src/cgeo/geocaching/network/OAuthTest.java
+++ b/tests/src/cgeo/geocaching/network/OAuthTest.java
@@ -1,5 +1,7 @@
package cgeo.geocaching.network;
+import org.eclipse.jdt.annotation.NonNull;
+
import java.util.ArrayList;
import java.util.List;
@@ -26,7 +28,8 @@ public class OAuthTest extends TestCase {
public static void testUnreservedCharactersMustNotBeEncoded() {
for (Character c : UNRESERVED) {
- final String charAsString = String.valueOf(c);
+ final @NonNull
+ String charAsString = String.valueOf(c);
assertEquals("wrong OAuth encoding for " + c, charAsString, OAuth.percentEncode(charAsString));
}
}
@@ -35,7 +38,8 @@ public class OAuthTest extends TestCase {
for (int i = 32; i < 127; i++) {
final Character c = (char) i;
if (!UNRESERVED.contains(c)) {
- final String charAsString = String.valueOf(c);
+ final @NonNull
+ String charAsString = String.valueOf(c);
final String encoded = OAuth.percentEncode(charAsString);
assertFalse("Character '" + charAsString + "' not encoded", charAsString.equals(encoded));
assertTrue(encoded.startsWith("%"));
diff --git a/tests/src/cgeo/geocaching/sorting/DistanceComparatorTest.java b/tests/src/cgeo/geocaching/sorting/DistanceComparatorTest.java
index 2db3f59..0cfee49 100644
--- a/tests/src/cgeo/geocaching/sorting/DistanceComparatorTest.java
+++ b/tests/src/cgeo/geocaching/sorting/DistanceComparatorTest.java
@@ -20,7 +20,7 @@ public class DistanceComparatorTest extends AndroidTestCase {
}
caches.add(cache);
}
- Collections.sort(caches, new DistanceComparator(new Geopoint(0, 0), caches));
+ Collections.sort(caches, new DistanceComparator(Geopoint.ZERO, caches));
}
}
diff --git a/tests/src/cgeo/geocaching/test/AbstractResourceInstrumentationTestCase.java b/tests/src/cgeo/geocaching/test/AbstractResourceInstrumentationTestCase.java
index 12e83cc..e4f8ca5 100644
--- a/tests/src/cgeo/geocaching/test/AbstractResourceInstrumentationTestCase.java
+++ b/tests/src/cgeo/geocaching/test/AbstractResourceInstrumentationTestCase.java
@@ -36,14 +36,19 @@ public abstract class AbstractResourceInstrumentationTestCase extends Instrument
}
protected String getFileContent(int resourceId) {
- final InputStream ins = getResourceStream(resourceId);
- final String result = new Scanner(ins).useDelimiter("\\A").next();
+ Scanner scanner = null;
try {
- ins.close();
- } catch (IOException e) {
+ final InputStream ins = getResourceStream(resourceId);
+ scanner = new Scanner(ins);
+ return scanner.useDelimiter("\\A").next();
+ } catch (Exception e) {
e.printStackTrace();
+ } finally {
+ if (scanner != null) {
+ scanner.close();
+ }
}
- return result;
+ return null;
}
protected void copyResourceToFile(int resourceId, File file) throws IOException {
diff --git a/tests/src/cgeo/geocaching/utils/LogTemplateProviderTest.java b/tests/src/cgeo/geocaching/utils/LogTemplateProviderTest.java
index 5911218..249cbb1 100644
--- a/tests/src/cgeo/geocaching/utils/LogTemplateProviderTest.java
+++ b/tests/src/cgeo/geocaching/utils/LogTemplateProviderTest.java
@@ -10,11 +10,11 @@ public class LogTemplateProviderTest extends TestCase {
public static void testApplyTemplates() {
final String noTemplates = " no templates ";
- assertEquals(noTemplates, LogTemplateProvider.applyTemplates(noTemplates, new LogContext(true)));
+ assertEquals(noTemplates, LogTemplateProvider.applyTemplates(noTemplates, new LogContext(null, null, true)));
// This test can occasionally fail if the current year changes right after the next line.
final String currentYear = Integer.toString(Calendar.YEAR);
- assertTrue(LogTemplateProvider.applyTemplates("[DATE]", new LogContext(true)).contains(currentYear));
+ assertTrue(LogTemplateProvider.applyTemplates("[DATE]", new LogContext(null, null, true)).contains(currentYear));
}
}
diff --git a/tests/src/cgeo/geocaching/utils/MemorySubjectTest.java b/tests/src/cgeo/geocaching/utils/MemorySubjectTest.java
deleted file mode 100644
index ee46950..0000000
--- a/tests/src/cgeo/geocaching/utils/MemorySubjectTest.java
+++ /dev/null
@@ -1,79 +0,0 @@
-package cgeo.geocaching.utils;
-
-import android.test.AndroidTestCase;
-
-public class MemorySubjectTest extends AndroidTestCase {
-
- private static class Observer implements IObserver<Integer> {
- private int times = 0;
- private Integer value;
-
- @Override
- public void update(final Integer data) {
- value = data;
- times++;
- }
- }
-
- private Observer observer;
- private MemorySubject<Integer> memorySubject;
-
- @Override
- public void setUp() throws Exception {
- super.setUp();
- observer = new Observer();
- memorySubject = new MemorySubject<Integer>();
- }
-
- public void testInitial() {
- assertNull(observer.value);
- assertEquals(0, observer.times);
- assertNull(memorySubject.getMemory());
- }
-
- public void testMemory() {
- memorySubject.addObserver(observer);
- memorySubject.notifyObservers(10);
- assertEquals(Integer.valueOf(10), observer.value);
- assertEquals(1, observer.times);
- assertEquals(Integer.valueOf(10), memorySubject.getMemory());
- memorySubject.notifyObservers(20);
- assertEquals(Integer.valueOf(20), observer.value);
- assertEquals(2, observer.times);
- assertEquals(Integer.valueOf(20), memorySubject.getMemory());
- }
-
- public void testAttach() {
- memorySubject.notifyObservers(10);
- assertNull(observer.value);
- assertEquals(0, observer.times);
- memorySubject.addObserver(observer);
- assertEquals(Integer.valueOf(10), observer.value);
- assertEquals(1, observer.times);
- memorySubject.notifyObservers(20);
- assertEquals(Integer.valueOf(20), observer.value);
- assertEquals(2, observer.times);
- }
-
- public void testDetach() {
- memorySubject.addObserver(observer);
- memorySubject.notifyObservers(10);
- assertEquals(Integer.valueOf(10), observer.value);
- assertEquals(1, observer.times);
- assertEquals(Integer.valueOf(10), memorySubject.getMemory());
- memorySubject.deleteObserver(observer);
- memorySubject.notifyObservers(20);
- assertEquals(Integer.valueOf(10), observer.value);
- assertEquals(1, observer.times);
- assertEquals(Integer.valueOf(20), memorySubject.getMemory());
- }
-
- public void testMultiple() {
- final Observer otherObserver = new Observer();
- memorySubject.addObserver(otherObserver);
- testDetach();
- assertEquals(Integer.valueOf(20), otherObserver.value);
- assertEquals(2, otherObserver.times);
- }
-
-}