/* * Copyright 2010, 2011, 2012 mapsforge.org * * This program is free software: you can redistribute it and/or modify it under the * terms of the GNU Lesser General Public License as published by the Free Software * Foundation, either version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, but WITHOUT ANY * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License along with * this program. If not, see <http://www.gnu.org/licenses/>. */ package org.mapsforge.map.reader; import java.io.File; import org.junit.Assert; import org.junit.Test; import org.mapsforge.core.model.Tile; import org.mapsforge.core.util.MercatorProjection; import org.mapsforge.map.reader.header.FileOpenResult; public class MapDatabaseEmptyTest { private static final File MAP_FILE = new File("src/test/resources/empty/output.map"); private static final byte ZOOM_LEVEL_MAX = 25; @Test public void executeQueryTest() { MapDatabase mapDatabase = new MapDatabase(); FileOpenResult fileOpenResult = mapDatabase.openFile(MAP_FILE); Assert.assertTrue(fileOpenResult.getErrorMessage(), mapDatabase.hasOpenFile()); Assert.assertTrue(fileOpenResult.getErrorMessage(), fileOpenResult.isSuccess()); for (byte zoomLevel = 0; zoomLevel <= ZOOM_LEVEL_MAX; ++zoomLevel) { long tileX = MercatorProjection.longitudeToTileX(1, zoomLevel); long tileY = MercatorProjection.latitudeToTileY(1, zoomLevel); Tile tile = new Tile(tileX, tileY, zoomLevel); MapReadResult mapReadResult = mapDatabase.readMapData(tile); Assert.assertTrue(mapReadResult.pointOfInterests.isEmpty()); Assert.assertTrue(mapReadResult.ways.isEmpty()); } mapDatabase.closeFile(); Assert.assertFalse(mapDatabase.hasOpenFile()); } }