@MediumTest
    @Test
    public void testSearchByViewport() {
        withMockedFilters(() -> {

            final GC3FJ5F mockedCache = new GC3FJ5F();
            CgeoTestUtils.removeCache(mockedCache.getGeocode());

            final Viewport viewport = new Viewport(mockedCache, 0.003, 0.003);

            // check coords
            final SearchResult search = ConnectorFactory.searchByViewport(viewport, null);
            assertThat(search).isNotNull();
            assertThat(search.getGeocodes()).contains(mockedCache.getGeocode());
            final Geocache parsedCache = DataStore.loadCache(mockedCache.getGeocode(), LoadFlags.LOAD_CACHE_OR_DB);
            assert parsedCache != null;
            assertThat(parsedCache).isNotNull();
            assertThat(mockedCache.getCoords()).isEqualTo(parsedCache.getCoords());

        });
    }
Test {@link ConnectorFactory#searchByViewport(Viewport, GeocacheFilter)}
main/src/androidTest/java/cgeo/geocaching/CgeoApplicationTest.java