package de.westnordost.streetcomplete.util; import android.graphics.Point; import android.graphics.Rect; import junit.framework.TestCase; import java.util.ArrayList; import java.util.List; import de.westnordost.osmapi.map.data.BoundingBox; import de.westnordost.osmapi.map.data.LatLon; import de.westnordost.osmapi.map.data.OsmLatLon; public class SlippyMapMathTest extends TestCase { public void testForthAndBack() { LatLon p = new OsmLatLon(53.0,9.0); Point tile = SlippyMapMath.enclosingTile(p, 15); BoundingBox bbox = SlippyMapMath.asBoundingBox(tile, 15); assertTrue(bbox.getMinLatitude() <= p.getLatitude()); assertTrue(bbox.getMaxLatitude() >= p.getLatitude()); assertTrue(bbox.getMinLongitude() <= p.getLongitude()); assertTrue(bbox.getMaxLongitude() >= p.getLongitude()); Rect r = SlippyMapMath.enclosingTiles(bbox, 15); BoundingBox bbox2 = SlippyMapMath.asBoundingBox(r, 15); assertEquals(bbox, bbox2); } public void testAsTileList() { List<Point> ps = new ArrayList<>(); ps.add(new Point(1,1)); ps.add(new Point(2,1)); ps.add(new Point(1,2)); ps.add(new Point(2,2)); assertEquals(ps, SlippyMapMath.asTileList(new Rect(1,1,2,2))); } }