diff options
author | rsudev <rasch@munin-soft.de> | 2013-07-06 15:08:08 +0200 |
---|---|---|
committer | rsudev <rasch@munin-soft.de> | 2013-07-06 15:08:08 +0200 |
commit | 7595b69b01a2e43befb2565a23a9b3f6c8736160 (patch) | |
tree | d26e3fcdb1c218eaf232dfdc215f227680c38ae6 /tests/src/cgeo/geocaching/SearchResultTest.java | |
parent | 06e089bd300a3967f1c50d6509bdc8a0b792bdad (diff) | |
download | cgeo-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.java | 58 |
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")); + } } |