@Test
    public void testMergeLocalUserModifiedCoordsAndServerSideModified() {
        final Geocache stored = new Geocache();
        stored.setGeocode("GC12345");
        stored.setUserModifiedCoords(true);
        stored.setCoords(new Geopoint(40.0, 8.0));
        final Waypoint originalStored = new Waypoint("ORIGINAL", WaypointType.ORIGINAL, false);
        originalStored.setCoords(new Geopoint(42.0, 10.0));
        stored.addOrChangeWaypoint(originalStored, false);
        saveFreshCacheToDB(stored);

        final Geocache download = new Geocache();
        download.setGeocode("GC12345");
        download.setCoords(new Geopoint(41.0, 9.0));
        final Waypoint originalDownloaded = new Waypoint("ORIGINAL", WaypointType.ORIGINAL, false);
        originalDownloaded.setCoords(new Geopoint(43.0, 11.0));
        download.addOrChangeWaypoint(originalDownloaded, false);
        download.setUserModifiedCoords(true);

        download.gatherMissingFrom(stored);

        assertThat(download.hasUserModifiedCoords()).as("merged user modified").isEqualTo(true);
        assertThat(download.getCoords()).as("merged coordinates").isEqualTo(new Geopoint(41.0, 9.0));
        assertThat(download.getWaypoints()).as("merged waypoints").hasSize(1);
        assertThat(download.getOriginalWaypoint().getCoords()).as("merged original wp").isEqualTo(new Geopoint(43.0, 11.0));
    }
Waypoint with empty coordinates exist. Update waypointlist from note.
The waypoint has prefix which does not exist, but name of existing waypoint.
So expected size is 2:
- existing waypoint unchanged
- new waypoint with prefix is added.
main/src/androidTest/java/cgeo/geocaching/models/GeocacheTest.java