aboutsummaryrefslogtreecommitdiffstats
path: root/tests/src/cgeo/geocaching/connector/gc/WaypointsTest.java
blob: 19acd7ca6edacb1242e7c719e490a0a190827b5b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
package cgeo.geocaching.connector.gc;

import cgeo.CGeoTestCase;
import cgeo.geocaching.DataStore;
import cgeo.geocaching.Geocache;
import cgeo.geocaching.SearchResult;
import cgeo.geocaching.enumerations.LoadFlags;
import cgeo.geocaching.utils.CancellableHandler;

import android.os.Message;

public class WaypointsTest extends CGeoTestCase {

    public static final CancellableHandler handler = new CancellableHandler() {
        @Override
        protected void handleRegularMessage(final Message message) {
            // Dummy
        }
    };

    private static Geocache downloadCache(final String geocode) {
        final SearchResult searchResult = Geocache.searchByGeocode(geocode, null, 0, true, handler);
        assertEquals(1, searchResult.getCount());
        return searchResult.getFirstCacheFromResult(LoadFlags.LOAD_WAYPOINTS);
    }

    public static void testDownloadWaypoints() {
        // Check that repeated loads of "GC33HXE" hold the right number of waypoints (issue #2430).
        final String GEOCODE = "GC33HXE";
        DataStore.removeCache(GEOCODE, LoadFlags.REMOVE_ALL);
        assertEquals(9, downloadCache(GEOCODE).getWaypoints().size());
        assertEquals(9, downloadCache(GEOCODE).getWaypoints().size());
    }

}