aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorBananeweizen <bananeweizen@gmx.de>2012-03-24 07:31:56 +0100
committerBananeweizen <bananeweizen@gmx.de>2012-03-24 07:31:56 +0100
commit2b5a1a7482178ec4773443cb1b0b2a174779a7da (patch)
treeccf1ef23b7da51999fe40a414e65521280de5661 /tests
parent51f56540932d83cb81549b817fccbca495e54c5a (diff)
downloadcgeo-2b5a1a7482178ec4773443cb1b0b2a174779a7da.zip
cgeo-2b5a1a7482178ec4773443cb1b0b2a174779a7da.tar.gz
cgeo-2b5a1a7482178ec4773443cb1b0b2a174779a7da.tar.bz2
refactoring: more encapsulation in SearchResult
Diffstat (limited to 'tests')
-rw-r--r--tests/src/cgeo/geocaching/SearchResultTest.java17
-rw-r--r--tests/src/cgeo/geocaching/cgeoApplicationTest.java6
-rw-r--r--tests/src/cgeo/geocaching/network/ParametersTest.java53
-rw-r--r--tests/src/cgeo/geocaching/test/RegExPerformanceTest.java2
4 files changed, 74 insertions, 4 deletions
diff --git a/tests/src/cgeo/geocaching/SearchResultTest.java b/tests/src/cgeo/geocaching/SearchResultTest.java
new file mode 100644
index 0000000..8fcd188
--- /dev/null
+++ b/tests/src/cgeo/geocaching/SearchResultTest.java
@@ -0,0 +1,17 @@
+package cgeo.geocaching;
+
+import android.test.AndroidTestCase;
+
+import java.util.HashSet;
+
+public class SearchResultTest extends AndroidTestCase {
+ public static void testCreateFromGeocodes() {
+ final HashSet<String> geocodes = new HashSet<String>();
+ geocodes.add("GC12345");
+ geocodes.add("GC23456");
+ final SearchResult searchResult = new SearchResult(geocodes);
+ assertEquals(2, searchResult.getCount());
+ assertEquals(2, searchResult.getTotal());
+ assertTrue(searchResult.getGeocodes().contains("GC12345"));
+ }
+}
diff --git a/tests/src/cgeo/geocaching/cgeoApplicationTest.java b/tests/src/cgeo/geocaching/cgeoApplicationTest.java
index 89c46c4..91d2320 100644
--- a/tests/src/cgeo/geocaching/cgeoApplicationTest.java
+++ b/tests/src/cgeo/geocaching/cgeoApplicationTest.java
@@ -102,7 +102,7 @@ public class cgeoApplicationTest extends ApplicationTestCase<cgeoapplication> {
public static cgCache testSearchByGeocode(final String geocode) {
final SearchResult search = cgBase.searchByGeocode(geocode, null, 0, true, null);
assertNotNull(search);
- if (Settings.isPremiumMember() || search.error == null) {
+ if (Settings.isPremiumMember() || search.getError() == null) {
assertEquals(1, search.getGeocodes().size());
assertTrue(search.getGeocodes().contains(geocode));
return cgeoapplication.getInstance().loadCache(geocode, LoadFlags.LOAD_CACHE_OR_DB);
@@ -118,7 +118,7 @@ public class cgeoApplicationTest extends ApplicationTestCase<cgeoapplication> {
public static void testSearchByGeocodeNotExisting() {
final SearchResult search = cgBase.searchByGeocode("GC123456", null, 0, true, null);
assertNotNull(search);
- assertEquals(search.error, StatusCode.UNPUBLISHED_CACHE);
+ assertEquals(StatusCode.UNPUBLISHED_CACHE, search.getError());
}
/**
@@ -215,7 +215,7 @@ public class cgeoApplicationTest extends ApplicationTestCase<cgeoapplication> {
public static void testSearchByUsername() {
final SearchResult search = cgBase.searchByUsername(null, "blafoo", CacheType.WEBCAM, false);
assertNotNull(search);
- assertEquals(3, search.totalCnt);
+ assertEquals(3, search.getTotal());
assertTrue(search.getGeocodes().contains("GCP0A9"));
}
diff --git a/tests/src/cgeo/geocaching/network/ParametersTest.java b/tests/src/cgeo/geocaching/network/ParametersTest.java
new file mode 100644
index 0000000..4c56f05
--- /dev/null
+++ b/tests/src/cgeo/geocaching/network/ParametersTest.java
@@ -0,0 +1,53 @@
+package cgeo.geocaching.network;
+
+import cgeo.geocaching.network.Parameters;
+
+import android.test.AndroidTestCase;
+
+import java.security.InvalidParameterException;
+
+import junit.framework.Assert;
+
+public class ParametersTest extends AndroidTestCase {
+
+ public static void testException() {
+ try {
+ final Parameters params = new Parameters("aaa", "AAA", "bbb");
+ params.clear(); // this will never be invoked, but suppresses warnings about unused objects
+ Assert.fail("Exception not raised");
+ } catch (InvalidParameterException e) {
+ // Ok
+ }
+ try {
+ final Parameters params = new Parameters("aaa", "AAA");
+ params.put("bbb", "BBB", "ccc");
+ Assert.fail("Exception not raised");
+ } catch (InvalidParameterException e) {
+ // Ok
+ }
+ }
+
+ public static void testMultipleValues() {
+ final Parameters params = new Parameters("aaa", "AAA", "bbb", "BBB");
+ params.put("ccc", "CCC", "ddd", "DDD");
+ Assert.assertEquals("aaa=AAA&bbb=BBB&ccc=CCC&ddd=DDD", params.toString());
+ }
+
+ public static void testSort() {
+ final Parameters params = new Parameters();
+ params.put("aaa", "AAA");
+ params.put("ccc", "CCC");
+ params.put("bbb", "BBB");
+ Assert.assertEquals("aaa=AAA&ccc=CCC&bbb=BBB", params.toString());
+ params.sort();
+ Assert.assertEquals("aaa=AAA&bbb=BBB&ccc=CCC", params.toString());
+ }
+
+ public static void testToString() {
+ final Parameters params = new Parameters();
+ params.put("name", "foo&bar");
+ params.put("type", "moving");
+ Assert.assertEquals("name=foo%26bar&type=moving", params.toString());
+ }
+
+}
diff --git a/tests/src/cgeo/geocaching/test/RegExPerformanceTest.java b/tests/src/cgeo/geocaching/test/RegExPerformanceTest.java
index 0e2619d..552c225 100644
--- a/tests/src/cgeo/geocaching/test/RegExPerformanceTest.java
+++ b/tests/src/cgeo/geocaching/test/RegExPerformanceTest.java
@@ -115,7 +115,7 @@ public class RegExPerformanceTest extends TestCase {
diff2 = parse(page, p2, iterations);
output.add("Time pattern 2:\t" + diff2 + " ms");
}
- Float reduction = new Float((float) diff2 * 100 / diff1);
+ float reduction = (float) diff2 * 100 / diff1;
output.add("New runtime:\t" + String.format("%.1f", reduction) + "%\n");
}