diff options
author | Asheem Mamoowala <asheem.mamoowala@mapbox.com> | 2017-12-15 14:50:13 -0800 |
---|---|---|
committer | Asheem Mamoowala <asheem.mamoowala@mapbox.com> | 2018-01-04 15:55:11 -0700 |
commit | ef39e8c25bd8c8c70f54f579a3250f7468a2dc0b (patch) | |
tree | 3200cec867c46ea7de78e16c34ffea86cef68b8d /test | |
parent | 5a0ca6eee6078c50fd74dc8c137fd4c63fb495fc (diff) | |
download | qtlocation-mapboxgl-ef39e8c25bd8c8c70f54f579a3250f7468a2dc0b.tar.gz |
[core] Fix TileRange for wrapped bounds and use for CustomTileLoader instead of LatLngBounds comparisons for tiles.
Diffstat (limited to 'test')
-rw-r--r-- | test/util/tile_range.test.cpp | 48 |
1 files changed, 33 insertions, 15 deletions
diff --git a/test/util/tile_range.test.cpp b/test/util/tile_range.test.cpp index 477170644b..dc8ae28705 100644 --- a/test/util/tile_range.test.cpp +++ b/test/util/tile_range.test.cpp @@ -7,12 +7,13 @@ using namespace mbgl; -TEST(TileRange, Contains) { - { - auto range = util::TileRange::fromLatLngBounds(LatLngBounds::world(), 0); - EXPECT_TRUE(range.contains(CanonicalTileID(0, 0, 0))); - EXPECT_FALSE(range.contains(CanonicalTileID(10, 0, 0))); - } +TEST(TileRange, ContainsWorld) { + auto range = util::TileRange::fromLatLngBounds(LatLngBounds::world(), 0); + EXPECT_TRUE(range.contains(CanonicalTileID(0, 0, 0))); + EXPECT_FALSE(range.contains(CanonicalTileID(10, 0, 0))); +} + +TEST(TileRange, ContainsBoundsFromTile) { { const LatLngBounds bounds{ CanonicalTileID(3, 7, 0) }; auto range = util::TileRange::fromLatLngBounds(bounds, 3); @@ -21,18 +22,35 @@ TEST(TileRange, Contains) { { const LatLngBounds bounds{ CanonicalTileID(10, 162, 395) }; auto range = util::TileRange::fromLatLngBounds(bounds, 10); - EXPECT_TRUE(range.contains(CanonicalTileID(10,162,395))); + EXPECT_TRUE(range.contains(CanonicalTileID(10, 162, 395))); } +} +TEST(TileRange, ContainsIntersectingTiles) { + auto bounds = LatLngBounds::hull({ 37.6609, -122.5744 }, { 37.8271, -122.3204 }); + auto range = util::TileRange::fromLatLngBounds(bounds, 13); + EXPECT_FALSE(range.contains(CanonicalTileID(13, 1316, 3100))); + EXPECT_TRUE(range.contains(CanonicalTileID(13, 1310, 3166))); +} + +TEST(TileRange, ContainsWrappedBounds) { + auto wrappedBounds = LatLngBounds::hull({ 37.6609, 237.6796 }, { 37.8271, 237.4256 }); + auto range = util::TileRange::fromLatLngBounds(wrappedBounds, 13); + EXPECT_FALSE(range.contains(CanonicalTileID(13, 1316, 3100))); + EXPECT_TRUE(range.contains(CanonicalTileID(13, 1310, 3166))); +} + +TEST(TileRange, ContainsBoundsCrossingAntimeridian) { { - auto bounds = LatLngBounds::hull({ 37.6609, -122.5744 }, { 37.8271, -122.3204 }); - auto range = util::TileRange::fromLatLngBounds(bounds, 13); - EXPECT_FALSE(range.contains(CanonicalTileID(13,1316,3100))); - EXPECT_TRUE(range.contains(CanonicalTileID(13, 1310, 3166))); + auto cossingBounds = LatLngBounds::hull({-20.9615, -214.309}, {19.477, -155.830}); + auto range = util::TileRange::fromLatLngBounds(cossingBounds, 1); + EXPECT_TRUE(range.contains(CanonicalTileID(1, 1, 1))); + EXPECT_TRUE(range.contains(CanonicalTileID(1, 0, 0))); } { - auto wrappedBounds = LatLngBounds::hull({ 37.6609, 237.6796 }, { 37.8271, 237.4256 }); - auto range = util::TileRange::fromLatLngBounds(wrappedBounds, 13); - EXPECT_FALSE(range.contains(CanonicalTileID(13,1316,3100))); - EXPECT_TRUE(range.contains(CanonicalTileID(13, 1310, 3166))); + auto cossingBounds = LatLngBounds::hull({-20.9615, -214.309}, {19.477, -155.830}); + auto range = util::TileRange::fromLatLngBounds(cossingBounds, 6); + EXPECT_FALSE(range.contains(CanonicalTileID(6, 55, 34))); + EXPECT_FALSE(range.contains(CanonicalTileID(6, 5, 28))); + EXPECT_TRUE(range.contains(CanonicalTileID(6, 63, 28))); } } |