aboutsummaryrefslogtreecommitdiffstats
path: root/tests/src/cgeo/geocaching/test/AbstractResourceInstrumentationTestCase.java
diff options
context:
space:
mode:
Diffstat (limited to 'tests/src/cgeo/geocaching/test/AbstractResourceInstrumentationTestCase.java')
-rw-r--r--tests/src/cgeo/geocaching/test/AbstractResourceInstrumentationTestCase.java17
1 files changed, 17 insertions, 0 deletions
diff --git a/tests/src/cgeo/geocaching/test/AbstractResourceInstrumentationTestCase.java b/tests/src/cgeo/geocaching/test/AbstractResourceInstrumentationTestCase.java
index 304f98d..cb8238f 100644
--- a/tests/src/cgeo/geocaching/test/AbstractResourceInstrumentationTestCase.java
+++ b/tests/src/cgeo/geocaching/test/AbstractResourceInstrumentationTestCase.java
@@ -1,11 +1,14 @@
package cgeo.geocaching.test;
+import cgeo.geocaching.Geocache;
import cgeo.geocaching.SearchResult;
import cgeo.geocaching.StoredList;
import cgeo.geocaching.cgData;
import cgeo.geocaching.enumerations.CacheType;
import cgeo.geocaching.enumerations.LoadFlags;
import cgeo.geocaching.enumerations.LoadFlags.RemoveFlag;
+import cgeo.geocaching.files.GPX10Parser;
+import cgeo.geocaching.files.ParserException;
import android.content.res.Resources;
import android.test.InstrumentationTestCase;
@@ -14,6 +17,7 @@ import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
+import java.util.Collection;
import java.util.EnumSet;
import java.util.Scanner;
@@ -78,4 +82,17 @@ public abstract class AbstractResourceInstrumentationTestCase extends Instrument
protected final int getTemporaryListId() {
return temporaryListId;
}
+
+ final protected Geocache loadCacheFromResource(int resourceId) throws IOException, ParserException {
+ final InputStream instream = getResourceStream(resourceId);
+ try {
+ GPX10Parser parser = new GPX10Parser(StoredList.TEMPORARY_LIST_ID);
+ Collection<Geocache> caches = parser.parse(instream, null);
+ assertNotNull(caches);
+ assertFalse(caches.isEmpty());
+ return caches.iterator().next();
+ } finally {
+ instream.close();
+ }
+ }
}