aboutsummaryrefslogtreecommitdiffstats
path: root/tests/src/cgeo/geocaching/files/GPXImporterTest.java
diff options
context:
space:
mode:
authorStephan Merker <merker.stephan@googlemail.com>2011-11-21 22:35:17 +0100
committerStephan Merker <merker.stephan@googlemail.com>2011-11-21 22:37:30 +0100
commitde56503fb781d832e6f8eec656675c289863d894 (patch)
treedefa529667ae45d95232dd5c2c591ae38750b559 /tests/src/cgeo/geocaching/files/GPXImporterTest.java
parent6ac087e09a128e6383e0a13f4ce7b09da8455717 (diff)
downloadcgeo-de56503fb781d832e6f8eec656675c289863d894.zip
cgeo-de56503fb781d832e6f8eec656675c289863d894.tar.gz
cgeo-de56503fb781d832e6f8eec656675c289863d894.tar.bz2
refactored import thread classes
- common GPX10 and GPX11 handling - one zip import implementation is enough
Diffstat (limited to 'tests/src/cgeo/geocaching/files/GPXImporterTest.java')
-rw-r--r--tests/src/cgeo/geocaching/files/GPXImporterTest.java91
1 files changed, 31 insertions, 60 deletions
diff --git a/tests/src/cgeo/geocaching/files/GPXImporterTest.java b/tests/src/cgeo/geocaching/files/GPXImporterTest.java
index 7e9a62c..1ac9a75 100644
--- a/tests/src/cgeo/geocaching/files/GPXImporterTest.java
+++ b/tests/src/cgeo/geocaching/files/GPXImporterTest.java
@@ -14,6 +14,7 @@ import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;
+import java.util.Iterator;
import java.util.List;
public class GPXImporterTest extends AbstractResourceInstrumentationTestCase {
@@ -37,21 +38,6 @@ public class GPXImporterTest extends AbstractResourceInstrumentationTestCase {
assertNull(GPXImporter.getWaypointsFileNameForGpxFileName(".gpx"));
}
- public static void testGetGpxFileNameForZipFileName() {
- assertEquals("1234567.gpx", GPXImporter.getGpxFileNameForZipFileName("1234567.zip"));
- assertEquals("/mnt/sdcard/1234567.gpx", GPXImporter.getGpxFileNameForZipFileName("/mnt/sdcard/1234567.zip"));
- assertEquals("1.gpx", GPXImporter.getGpxFileNameForZipFileName("1.zip"));
- assertEquals("/mnt/sd.card/1.gpx", GPXImporter.getGpxFileNameForZipFileName("/mnt/sd.card/1.zip"));
- assertEquals("1234567.9.gpx", GPXImporter.getGpxFileNameForZipFileName("1234567.9.zip"));
- assertEquals("1234567.gpx", GPXImporter.getGpxFileNameForZipFileName("1234567.ZIP"));
- assertEquals("zip.zip.gpx", GPXImporter.getGpxFileNameForZipFileName("zip.zip.zip"));
- assertEquals("/mnt/sdcard/.gpx", GPXImporter.getGpxFileNameForZipFileName("/mnt/sdcard/.zip"));
- assertEquals("1234567_query.gpx", GPXImporter.getGpxFileNameForZipFileName("1234567_query.zip"));
- assertNull(GPXImporter.getGpxFileNameForZipFileName("123.zap"));
- assertNull(GPXImporter.getGpxFileNameForZipFileName("zip"));
- assertNull(GPXImporter.getGpxFileNameForZipFileName(".zip"));
- }
-
public void testImportGpx() throws IOException {
File gc31j2h = new File(tempDir, "gc31j2h.gpx");
copyResourceToFile(R.raw.gc31j2h, gc31j2h);
@@ -59,11 +45,13 @@ public class GPXImporterTest extends AbstractResourceInstrumentationTestCase {
GPXImporter.ImportGpxFileThread importThread = new GPXImporter.ImportGpxFileThread(gc31j2h, listId, importStepHandler, progressHandler);
runImportThread(importThread);
- assertEquals(3, importStepHandler.messages.size());
- assertEquals(GPXImporter.IMPORT_STEP_READ_FILE, importStepHandler.messages.get(0).what);
- assertEquals(GPXImporter.IMPORT_STEP_STORE_CACHES, importStepHandler.messages.get(1).what);
- assertEquals(GPXImporter.IMPORT_STEP_FINISHED, importStepHandler.messages.get(2).what);
- cgSearch search = (cgSearch) importStepHandler.messages.get(2).obj;
+ assertEquals(4, importStepHandler.messages.size());
+ Iterator<Message> iMsg = importStepHandler.messages.iterator();
+ assertEquals(GPXImporter.IMPORT_STEP_START, iMsg.next().what);
+ assertEquals(GPXImporter.IMPORT_STEP_READ_FILE, iMsg.next().what);
+ assertEquals(GPXImporter.IMPORT_STEP_STORE_CACHES, iMsg.next().what);
+ assertEquals(GPXImporter.IMPORT_STEP_FINISHED, iMsg.next().what);
+ cgSearch search = (cgSearch) importStepHandler.messages.get(3).obj;
assertEquals(Collections.singletonList("GC31J2H"), search.getGeocodes());
cgCache cache = cgeoapplication.getInstance().getCacheByGeocode("GC31J2H");
@@ -92,12 +80,8 @@ public class GPXImporterTest extends AbstractResourceInstrumentationTestCase {
GPXImporter.ImportGpxFileThread importThread = new GPXImporter.ImportGpxFileThread(gc31j2h, listId, importStepHandler, progressHandler);
runImportThread(importThread);
- assertEquals(4, importStepHandler.messages.size());
- assertEquals(GPXImporter.IMPORT_STEP_READ_FILE, importStepHandler.messages.get(0).what);
- assertEquals(GPXImporter.IMPORT_STEP_READ_WPT_FILE, importStepHandler.messages.get(1).what);
- assertEquals(GPXImporter.IMPORT_STEP_STORE_CACHES, importStepHandler.messages.get(2).what);
- assertEquals(GPXImporter.IMPORT_STEP_FINISHED, importStepHandler.messages.get(3).what);
- cgSearch search = (cgSearch) importStepHandler.messages.get(3).obj;
+ assertImportStepMessages(GPXImporter.IMPORT_STEP_START, GPXImporter.IMPORT_STEP_READ_FILE, GPXImporter.IMPORT_STEP_READ_WPT_FILE, GPXImporter.IMPORT_STEP_STORE_CACHES, GPXImporter.IMPORT_STEP_FINISHED);
+ cgSearch search = (cgSearch) importStepHandler.messages.get(4).obj;
assertEquals(Collections.singletonList("GC31J2H"), search.getGeocodes());
cgCache cache = cgeoapplication.getInstance().getCacheByGeocode("GC31J2H");
@@ -105,6 +89,13 @@ public class GPXImporterTest extends AbstractResourceInstrumentationTestCase {
assertEquals(2, cache.getWaypoints().size());
}
+ private void assertImportStepMessages(int... importSteps) {
+ assertEquals(importSteps.length, importStepHandler.messages.size());
+ for (int i = 0; i < importSteps.length; i++) {
+ assertEquals(importSteps[i], importStepHandler.messages.get(i).what);
+ }
+ }
+
public void testImportLoc() throws IOException {
File oc5952 = new File(tempDir, "oc5952.loc");
copyResourceToFile(R.raw.oc5952_loc, oc5952);
@@ -112,11 +103,8 @@ public class GPXImporterTest extends AbstractResourceInstrumentationTestCase {
GPXImporter.ImportLocFileThread importThread = new GPXImporter.ImportLocFileThread(oc5952, listId, importStepHandler, progressHandler);
runImportThread(importThread);
- assertEquals(3, importStepHandler.messages.size());
- assertEquals(GPXImporter.IMPORT_STEP_READ_FILE, importStepHandler.messages.get(0).what);
- assertEquals(GPXImporter.IMPORT_STEP_STORE_CACHES, importStepHandler.messages.get(1).what);
- assertEquals(GPXImporter.IMPORT_STEP_FINISHED, importStepHandler.messages.get(2).what);
- cgSearch search = (cgSearch) importStepHandler.messages.get(2).obj;
+ assertImportStepMessages(GPXImporter.IMPORT_STEP_START, GPXImporter.IMPORT_STEP_READ_FILE, GPXImporter.IMPORT_STEP_STORE_CACHES, GPXImporter.IMPORT_STEP_FINISHED);
+ cgSearch search = (cgSearch) importStepHandler.messages.get(3).obj;
assertEquals(Collections.singletonList("OC5952"), search.getGeocodes());
cgCache cache = cgeoapplication.getInstance().getCacheByGeocode("OC5952");
@@ -135,9 +123,7 @@ public class GPXImporterTest extends AbstractResourceInstrumentationTestCase {
GPXImporter.ImportGpxFileThread importThread = new GPXImporter.ImportGpxFileThread(gc31j2h, listId, importStepHandler, progressHandler);
runImportThread(importThread);
- assertEquals(2, importStepHandler.messages.size());
- assertEquals(GPXImporter.IMPORT_STEP_READ_FILE, importStepHandler.messages.get(0).what);
- assertEquals(GPXImporter.IMPORT_STEP_FINISHED_WITH_ERROR, importStepHandler.messages.get(1).what);
+ assertImportStepMessages(GPXImporter.IMPORT_STEP_START, GPXImporter.IMPORT_STEP_READ_FILE, GPXImporter.IMPORT_STEP_READ_FILE, GPXImporter.IMPORT_STEP_FINISHED_WITH_ERROR);
}
public void testImportGpxCancel() throws IOException {
@@ -148,9 +134,7 @@ public class GPXImporterTest extends AbstractResourceInstrumentationTestCase {
GPXImporter.ImportGpxFileThread importThread = new GPXImporter.ImportGpxFileThread(gc31j2h, listId, importStepHandler, progressHandler);
runImportThread(importThread);
- assertEquals(2, importStepHandler.messages.size());
- assertEquals(GPXImporter.IMPORT_STEP_READ_FILE, importStepHandler.messages.get(0).what);
- assertEquals(GPXImporter.IMPORT_STEP_CANCELED, importStepHandler.messages.get(1).what);
+ assertImportStepMessages(GPXImporter.IMPORT_STEP_START, GPXImporter.IMPORT_STEP_READ_FILE, GPXImporter.IMPORT_STEP_CANCELED);
}
public void testImportGpxAttachment() {
@@ -159,11 +143,8 @@ public class GPXImporterTest extends AbstractResourceInstrumentationTestCase {
GPXImporter.ImportGpxAttachmentThread importThread = new GPXImporter.ImportGpxAttachmentThread(uri, getInstrumentation().getContext().getContentResolver(), listId, importStepHandler, progressHandler);
runImportThread(importThread);
- assertEquals(3, importStepHandler.messages.size());
- assertEquals(GPXImporter.IMPORT_STEP_READ_FILE, importStepHandler.messages.get(0).what);
- assertEquals(GPXImporter.IMPORT_STEP_STORE_CACHES, importStepHandler.messages.get(1).what);
- assertEquals(GPXImporter.IMPORT_STEP_FINISHED, importStepHandler.messages.get(2).what);
- cgSearch search = (cgSearch) importStepHandler.messages.get(2).obj;
+ assertImportStepMessages(GPXImporter.IMPORT_STEP_START, GPXImporter.IMPORT_STEP_READ_FILE, GPXImporter.IMPORT_STEP_STORE_CACHES, GPXImporter.IMPORT_STEP_FINISHED);
+ cgSearch search = (cgSearch) importStepHandler.messages.get(3).obj;
assertEquals(Collections.singletonList("GC31J2H"), search.getGeocodes());
cgCache cache = cgeoapplication.getInstance().getCacheByGeocode("GC31J2H");
@@ -180,12 +161,8 @@ public class GPXImporterTest extends AbstractResourceInstrumentationTestCase {
GPXImporter.ImportGpxZipFileThread importThread = new GPXImporter.ImportGpxZipFileThread(pq7545915, listId, importStepHandler, progressHandler);
runImportThread(importThread);
- assertEquals(4, importStepHandler.messages.size());
- assertEquals(GPXImporter.IMPORT_STEP_READ_FILE, importStepHandler.messages.get(0).what);
- assertEquals(GPXImporter.IMPORT_STEP_READ_WPT_FILE, importStepHandler.messages.get(1).what);
- assertEquals(GPXImporter.IMPORT_STEP_STORE_CACHES, importStepHandler.messages.get(2).what);
- assertEquals(GPXImporter.IMPORT_STEP_FINISHED, importStepHandler.messages.get(3).what);
- cgSearch search = (cgSearch) importStepHandler.messages.get(3).obj;
+ assertImportStepMessages(GPXImporter.IMPORT_STEP_START, GPXImporter.IMPORT_STEP_READ_FILE, GPXImporter.IMPORT_STEP_READ_WPT_FILE, GPXImporter.IMPORT_STEP_STORE_CACHES, GPXImporter.IMPORT_STEP_FINISHED);
+ cgSearch search = (cgSearch) importStepHandler.messages.get(4).obj;
assertEquals(Collections.singletonList("GC31J2H"), search.getGeocodes());
cgCache cache = cgeoapplication.getInstance().getCacheByGeocode("GC31J2H");
@@ -194,15 +171,13 @@ public class GPXImporterTest extends AbstractResourceInstrumentationTestCase {
}
public void testImportGpxZipErr() throws IOException {
- // zip file name doesn't match name of gpx entry
- File pq1 = new File(tempDir, "1.zip");
- copyResourceToFile(R.raw.pq7545915, pq1);
+ File pqError = new File(tempDir, "pq_error.zip");
+ copyResourceToFile(R.raw.pq_error, pqError);
- GPXImporter.ImportGpxZipFileThread importThread = new GPXImporter.ImportGpxZipFileThread(pq1, listId, importStepHandler, progressHandler);
+ GPXImporter.ImportGpxZipFileThread importThread = new GPXImporter.ImportGpxZipFileThread(pqError, listId, importStepHandler, progressHandler);
runImportThread(importThread);
- assertEquals(1, importStepHandler.messages.size());
- assertEquals(GPXImporter.IMPORT_STEP_FINISHED_WITH_ERROR, importStepHandler.messages.get(0).what);
+ assertImportStepMessages(GPXImporter.IMPORT_STEP_START, GPXImporter.IMPORT_STEP_FINISHED_WITH_ERROR);
}
public void testImportGpxZipAttachment() {
@@ -211,12 +186,8 @@ public class GPXImporterTest extends AbstractResourceInstrumentationTestCase {
GPXImporter.ImportGpxZipAttachmentThread importThread = new GPXImporter.ImportGpxZipAttachmentThread(uri, getInstrumentation().getContext().getContentResolver(), listId, importStepHandler, progressHandler);
runImportThread(importThread);
- assertEquals(4, importStepHandler.messages.size());
- assertEquals(GPXImporter.IMPORT_STEP_READ_FILE, importStepHandler.messages.get(0).what);
- assertEquals(GPXImporter.IMPORT_STEP_READ_WPT_FILE, importStepHandler.messages.get(1).what);
- assertEquals(GPXImporter.IMPORT_STEP_STORE_CACHES, importStepHandler.messages.get(2).what);
- assertEquals(GPXImporter.IMPORT_STEP_FINISHED, importStepHandler.messages.get(3).what);
- cgSearch search = (cgSearch) importStepHandler.messages.get(3).obj;
+ assertImportStepMessages(GPXImporter.IMPORT_STEP_START, GPXImporter.IMPORT_STEP_READ_FILE, GPXImporter.IMPORT_STEP_READ_WPT_FILE, GPXImporter.IMPORT_STEP_STORE_CACHES, GPXImporter.IMPORT_STEP_FINISHED);
+ cgSearch search = (cgSearch) importStepHandler.messages.get(4).obj;
assertEquals(Collections.singletonList("GC31J2H"), search.getGeocodes());
cgCache cache = cgeoapplication.getInstance().getCacheByGeocode("GC31J2H");