From 652722134c0d18dbe77dd952903a71ae14755d27 Mon Sep 17 00:00:00 2001 From: rsudev Date: Sat, 23 Nov 2013 22:12:24 +0100 Subject: Implements stable keys for opencaching waypoints additionally extend ex- and import (gpx) to also contain visited and userdefined. --- tests/res/raw/ocddd2.gpx | 133 +++++++++++++++++++++ .../cgeo/geocaching/export/GpxSerializerTest.java | 10 +- .../src/cgeo/geocaching/files/GPXImporterTest.java | 23 ++++ 3 files changed, 165 insertions(+), 1 deletion(-) create mode 100644 tests/res/raw/ocddd2.gpx (limited to 'tests') diff --git a/tests/res/raw/ocddd2.gpx b/tests/res/raw/ocddd2.gpx new file mode 100644 index 0000000..9ce18b1 --- /dev/null +++ b/tests/res/raw/ocddd2.gpx @@ -0,0 +1,133 @@ + + + Cache listing generated from Opencaching.de + This is a waypoint file generated from Opencaching.de + Opencaching.de + contact@opencaching.de + http://www.opencaching.de + Opencaching.de - Geocaching in Deutschland, Oesterreich und der Schweiz + + cache, geocache, opencaching, waypoint + + + OCDDD2 + Kaiserstein und Grabhügel Ludwigsburg + www.opencaching.de + http://www.opencaching.de/viewcache.php?cacheid=159890 + Kaiserstein und Grabhügel Ludwigsburg + Geocache + Geocache|Virtual Cache + + Kaiserstein und Grabhügel Ludwigsburg + Emmett + Emmett + Virtual Cache + Virtual + + Only loggable at Opencaching + Parking available + Available at all times + Seasonal access + + 1.5 + 1.5 + Germany + Baden-Württemberg + Virtueller Cache am Römerhügelweg Ludwigsburg + Im Süden der Stadt Ludwigsburg am heutigen Römerhügelweg liegen zwei Stellen, an denen zum Gedenken an zu ihrer Zeit gesellschaftlich bedeutende Menschen gebaut wurde.<br /> +<br /> +Zum einen der inzwischen abgetragene Grabhügel aus der späten Hallstattzeit, 6. Jahrhundert v. Chr. Informationen über ihn findet Ihr vor Ort.<br /> +<br /> +Zum anderen gegenüber ein Kaiserstein. Zwischen 1867 und 1918 wurden im deutschsprachigen Raum mehr als 1000 Kaiser-Wilhelm-Denkmäler errichtet.<br /> +<br /> +Um den Code zum Loggen zu erhalten, sucht vor Ort die Antworten auf folgende Fragen:<br /> +1. Am Kaiserstein (N 48 53.050 E 009 10.596) ist eine metallene Tafel angebracht. Wieviele Buchstaben hat die letzte Zeile ihrer Inschrift?<br /> +2. Südlich des Wasserturms ist eine Tafel mit 2 numerierten Abbildungen zu sehen (N 48 53.070 E 009 10.594). Was ist das 2. Wort der 8. Zeile des (unteren) Abschnittes links der Abbildung 2?<br /> +3. An der Rückseite des Kaisersteins steht eine Sitzgelegenheit. Wieviele Beine hat sie?<br /> +Der Code besteht aus den 3 Antworten, direkt hintereinandergeschrieben (Beispiel für das Format: 48Cache9 ).<br /> +<br /> +Parkmöglichkeiten: N 48 53.125 E 009 10.224 oder N 48 53.023 E 009 10.870 abends und am Wochenende, siehe Beschilderung<br /> +<br /> +Viel Spaß!<p><em>© <a href='http://www.opencaching.de/viewprofile.php?userid=114440' target='_blank'>Emmett</a>, <a href='http://www.opencaching.de/viewcache.php?cacheid=159890' target='_blank'>Opencaching.de</a>, <a href='http://creativecommons.org/licenses/by-nc-nd/3.0/de/' target='_blank'>CC BY-NC-ND</a>, Stand: 10.11.2013; alle Logeinträge © jeweiliger Autor</em></p> +<br /> + + + 2013-03-05T00:00:00Z + Found it + andierdbeere + <p>Dankeschön für die Suche!</p> +<p>Habe den Cache am ersten schönen Frühlingstag gemacht!</p> +<p>Andi</p> + + + 2012-10-20T00:00:00Z + Found it + Lazumako + Geschafft!!! <br /> +:-) + + + 2012-05-12T00:00:00Z + Found it + R2-D2 + <p>War mein erster Cache überhaupt.</p> +<p>Hat echt Spaß gemacht. Gut für Grundschulkinder geeignet.</p> +<p>12.05.2012</p> +<p>R2-D2</p> + + + + + + + + + OCDDD2-1 + Parkmöglichkeit + Parkplatz + http://www.opencaching.de/viewcache.php?cacheid=159890 + OCDDD2 Kaiserstein und Grabhügel Ludwigsburg + Parking Area + Waypoint|Parking Area + + OCDDD2 + + + + + OCDDD2-2 + Parkmöglichkeit abends und am Wochenende + Parkplatz + http://www.opencaching.de/viewcache.php?cacheid=159890 + OCDDD2 Kaiserstein und Grabhügel Ludwigsburg + Parking Area + Waypoint|Parking Area + + OCDDD2 + + + + + OCDDD2-3 + Tafel + Station oder Referenzpunkt + http://www.opencaching.de/viewcache.php?cacheid=159890 + OCDDD2 Kaiserstein und Grabhügel Ludwigsburg + Flag, Green + Waypoint|Flag, Green + + OCDDD2 + + + + 01 + Ttt + Wegpunkt 4 + Question to Answer + Waypoint|Question to Answer + + OCDDD2 + + true + + \ No newline at end of file diff --git a/tests/src/cgeo/geocaching/export/GpxSerializerTest.java b/tests/src/cgeo/geocaching/export/GpxSerializerTest.java index 5c83b35..9e3c3a4 100644 --- a/tests/src/cgeo/geocaching/export/GpxSerializerTest.java +++ b/tests/src/cgeo/geocaching/export/GpxSerializerTest.java @@ -22,7 +22,15 @@ public class GpxSerializerTest extends AbstractResourceInstrumentationTestCase { public static void testWriteEmptyGPX() throws Exception { final StringWriter writer = new StringWriter(); new GpxSerializer().writeGPX(Collections. emptyList(), writer, null); - assertEquals("", writer.getBuffer().toString()); + assertEquals("" + + "", + writer.getBuffer().toString()); } public void testProgressReporting() throws IOException, ParserException { diff --git a/tests/src/cgeo/geocaching/files/GPXImporterTest.java b/tests/src/cgeo/geocaching/files/GPXImporterTest.java index 8f5d821..ee42d23 100644 --- a/tests/src/cgeo/geocaching/files/GPXImporterTest.java +++ b/tests/src/cgeo/geocaching/files/GPXImporterTest.java @@ -80,6 +80,29 @@ public class GPXImporterTest extends AbstractResourceInstrumentationTestCase { assertTrue(cache.getWaypoints().isEmpty()); } + public void testImportOcGpx() throws IOException { + final String geocode = "OCDDD2"; + removeCacheCompletely(geocode); + final File ocddd2 = new File(tempDir, "ocddd2.gpx"); + copyResourceToFile(R.raw.ocddd2, ocddd2); + + final GPXImporter.ImportGpxFileThread importThread = new GPXImporter.ImportGpxFileThread(ocddd2, listId, importStepHandler, progressHandler); + runImportThread(importThread); + + assertEquals(4, importStepHandler.messages.size()); + final Iterator 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_STATIC_MAPS, iMsg.next().what); + assertEquals(GPXImporter.IMPORT_STEP_FINISHED, iMsg.next().what); + final SearchResult search = (SearchResult) importStepHandler.messages.get(3).obj; + assertEquals(Collections.singletonList(geocode), new ArrayList(search.getGeocodes())); + final Geocache cache = DataStore.loadCache(geocode, LoadFlags.LOAD_CACHE_OR_DB); + assertCacheProperties(cache); + + assertEquals("Incorrect number of waypoints imported", 4, cache.getWaypoints().size()); + } + private void runImportThread(GPXImporter.ImportThread importThread) { importThread.start(); try { -- cgit v1.1