aboutsummaryrefslogtreecommitdiffstats
path: root/tests/src/cgeo/geocaching/SearchResultTest.java
diff options
context:
space:
mode:
authorrsudev <rasch@munin-soft.de>2013-07-06 15:08:08 +0200
committerrsudev <rasch@munin-soft.de>2013-07-06 15:08:08 +0200
commit7595b69b01a2e43befb2565a23a9b3f6c8736160 (patch)
treed26e3fcdb1c218eaf232dfdc215f227680c38ae6 /tests/src/cgeo/geocaching/SearchResultTest.java
parent06e089bd300a3967f1c50d6509bdc8a0b792bdad (diff)
downloadcgeo-7595b69b01a2e43befb2565a23a9b3f6c8736160.zip
cgeo-7595b69b01a2e43befb2565a23a9b3f6c8736160.tar.gz
cgeo-7595b69b01a2e43befb2565a23a9b3f6c8736160.tar.bz2
Fixes #2826, Found caches shown on live map
Implemented detection and filtering for vanishing caches Added testcases for new functionality
Diffstat (limited to 'tests/src/cgeo/geocaching/SearchResultTest.java')
-rw-r--r--tests/src/cgeo/geocaching/SearchResultTest.java58
1 files changed, 58 insertions, 0 deletions
diff --git a/tests/src/cgeo/geocaching/SearchResultTest.java b/tests/src/cgeo/geocaching/SearchResultTest.java
index 8fcd188..9bce5a5 100644
--- a/tests/src/cgeo/geocaching/SearchResultTest.java
+++ b/tests/src/cgeo/geocaching/SearchResultTest.java
@@ -1,8 +1,10 @@
package cgeo.geocaching;
+import android.os.Parcel;
import android.test.AndroidTestCase;
import java.util.HashSet;
+import java.util.Set;
public class SearchResultTest extends AndroidTestCase {
public static void testCreateFromGeocodes() {
@@ -14,4 +16,60 @@ public class SearchResultTest extends AndroidTestCase {
assertEquals(2, searchResult.getTotal());
assertTrue(searchResult.getGeocodes().contains("GC12345"));
}
+
+ public static void testParcel() {
+ final Set<String> geocodes = new HashSet<String>();
+ geocodes.add("GC12345");
+ geocodes.add("GC23456");
+ geocodes.add("GC34567");
+ final SearchResult search = new SearchResult(geocodes);
+ geocodes.clear();
+ geocodes.add("GC45678");
+ geocodes.add("GC56789");
+ search.addFilteredGeocodes(geocodes);
+
+ Parcel parcel = Parcel.obtain();
+ search.writeToParcel(parcel, 0);
+ // reset to ready for reading
+ parcel.setDataPosition(0);
+
+ final SearchResult receive = new SearchResult(parcel);
+
+ parcel.recycle();
+
+ assertEquals(3, receive.getCount());
+ assertEquals(2, receive.getFilteredGeocodes().size());
+
+ assertTrue(receive.getGeocodes().contains("GC12345"));
+ assertFalse(receive.getGeocodes().contains("GC45678"));
+
+ assertFalse(receive.getFilteredGeocodes().contains("GC12345"));
+ assertTrue(receive.getFilteredGeocodes().contains("GC45678"));
+ }
+
+ public static void testAddSearchResult() {
+ final Set<String> geocodes = new HashSet<String>();
+ geocodes.add("GC12345");
+ geocodes.add("GC23456");
+ geocodes.add("GC34567");
+ final SearchResult search = new SearchResult(geocodes);
+ geocodes.clear();
+ geocodes.add("GC45678");
+ geocodes.add("GC56789");
+ search.addFilteredGeocodes(geocodes);
+
+ final SearchResult newSearch = new SearchResult();
+ newSearch.addGeocode("GC01234");
+ newSearch.addSearchResult(search);
+
+ assertEquals(4, newSearch.getCount());
+ assertEquals(2, newSearch.getFilteredGeocodes().size());
+
+ assertTrue(newSearch.getGeocodes().contains("GC12345"));
+ assertTrue(newSearch.getGeocodes().contains("GC01234"));
+ assertFalse(newSearch.getGeocodes().contains("GC45678"));
+
+ assertFalse(newSearch.getFilteredGeocodes().contains("GC12345"));
+ assertTrue(newSearch.getFilteredGeocodes().contains("GC45678"));
+ }
}