public virtual void GetMapFileInfoTest()
        {
            MapFile mapFile = new MapFile(MAP_FILE);

            MapFileInfo mapFileInfo = mapFile.MapFileInfo;

            mapFile.Close();

            Assert.AreEqual(BOUNDING_BOX, mapFileInfo.BoundingBox);
            Assert.AreEqual(FILE_SIZE, mapFileInfo.FileSize);
            Assert.AreEqual(FILE_VERSION, mapFileInfo.FileVersion);
            Assert.AreEqual(MAP_DATE, mapFileInfo.MapDate);
            Assert.AreEqual(NUMBER_OF_SUBFILES, mapFileInfo.NumberOfSubFiles);
            Assert.AreEqual(PROJECTION_NAME, mapFileInfo.ProjectionName);
            Assert.AreEqual(TILE_PIXEL_SIZE, mapFileInfo.TilePixelSize);

            Assert.AreEqual(0, mapFileInfo.PoiTags.Length);
            Assert.AreEqual(0, mapFileInfo.WayTags.Length);

            Assert.False(mapFileInfo.DebugFile);
            Assert.AreEqual(START_POSITION, mapFileInfo.StartPosition);
            Assert.AreEqual(START_ZOOM_LEVEL, mapFileInfo.StartZoomLevel);
            Assert.AreEqual(LANGUAGES_PREFERENCE, mapFileInfo.LanguagesPreference);
            Assert.AreEqual(COMMENT, mapFileInfo.Comment);
            Assert.AreEqual(CREATED_BY, mapFileInfo.CreatedBy);
        }
        public virtual void ExecuteQueryTest()
        {
            MapFile mapFile = new MapFile(MAP_FILE);

            MapFileInfo mapFileInfo = mapFile.MapFileInfo;

            Assert.True(mapFileInfo.DebugFile);

            for (sbyte zoomLevel = ZOOM_LEVEL_MIN; zoomLevel <= ZOOM_LEVEL_MAX; ++zoomLevel)
            {
                int  tileX = MercatorProjection.LongitudeToTileX(0.04, zoomLevel);
                int  tileY = MercatorProjection.LatitudeToTileY(0.04, zoomLevel);
                Tile tile  = new Tile(tileX, tileY, zoomLevel, 256);

                MapReadResult mapReadResult = mapFile.ReadMapData(tile);

                Assert.AreEqual(1, mapReadResult.PointOfInterests.Count);
                Assert.AreEqual(1, mapReadResult.Ways.Count);

                CheckPointOfInterest(mapReadResult.PointOfInterests[0]);
                CheckWay(mapReadResult.Ways[0]);
            }

            mapFile.Close();
        }