public virtual void TileXToLongitudeTest() { foreach (int tileSize in TILE_SIZES) { for (sbyte zoomLevel = ZOOM_LEVEL_MIN; zoomLevel <= ZOOM_LEVEL_MAX; ++zoomLevel) { double longitude = MercatorProjection.TileXToLongitude(0, zoomLevel); Assert.AreEqual(LatLongUtils.LONGITUDE_MIN, longitude, 0); longitude = MercatorProjection.TileXToLongitude(0, MercatorProjection.ZoomLevelToScaleFactor(zoomLevel)); Assert.AreEqual(LatLongUtils.LONGITUDE_MIN, longitude, 0); long tileX = MercatorProjection.GetMapSize(zoomLevel, tileSize) / tileSize; longitude = MercatorProjection.TileXToLongitude(tileX, zoomLevel); Assert.AreEqual(LatLongUtils.LONGITUDE_MAX, longitude, 0); tileX = MercatorProjection.GetMapSizeWithScaleFactor(MercatorProjection.ZoomLevelToScaleFactor(zoomLevel), tileSize) / tileSize; longitude = MercatorProjection.TileXToLongitude(tileX, MercatorProjection.ZoomLevelToScaleFactor(zoomLevel)); Assert.AreEqual(LatLongUtils.LONGITUDE_MAX, longitude, 0); } } }