diff options
Diffstat (limited to 'test/storage/offline.cpp')
-rw-r--r-- | test/storage/offline.cpp | 57 |
1 files changed, 39 insertions, 18 deletions
diff --git a/test/storage/offline.cpp b/test/storage/offline.cpp index 0faaabc298..c65e6eef42 100644 --- a/test/storage/offline.cpp +++ b/test/storage/offline.cpp @@ -5,50 +5,71 @@ using namespace mbgl; +using OfflineTilePyramidRegionDefinition = OfflineFixedGeometryRegionDefinition<LatLngBounds>; + static const LatLngBounds sanFrancisco = LatLngBounds::hull({ 37.6609, -122.5744 }, { 37.8271, -122.3204 }); static const LatLngBounds sanFranciscoWrapped = LatLngBounds::hull({ 37.6609, 238.5744 }, { 37.8271, 238.3204 }); -TEST(OfflineTilePyramidRegionDefinition, TileCoverEmpty) { - OfflineTilePyramidRegionDefinition region("", LatLngBounds::empty(), 0, 20, 1.0); +TEST(OfflineRegionDefinition, TileCoverEmpty) { + OfflineTilePyramidRegionDefinition region("", LatLngBounds::empty(), {0, 20}, 1.0); - EXPECT_EQ((std::vector<CanonicalTileID>{}), region.tileCover(SourceType::Vector, 512, { 0, 22 })); + EXPECT_EQ((std::vector<CanonicalTileID>{}), tileCover(region, SourceType::Vector, 512, { 0, 22 })); } -TEST(OfflineTilePyramidRegionDefinition, TileCoverZoomIntersection) { - OfflineTilePyramidRegionDefinition region("", sanFrancisco, 2, 2, 1.0); +TEST(OfflineRegionDefinition, TileCoverZoomIntersection) { + OfflineTilePyramidRegionDefinition region("", sanFrancisco, {2, 2}, 1.0); EXPECT_EQ((std::vector<CanonicalTileID>{ { 2, 0, 1 } }), - region.tileCover(SourceType::Vector, 512, { 0, 22 })); + tileCover(region, SourceType::Vector, 512, { 0, 22 })); - EXPECT_EQ((std::vector<CanonicalTileID>{}), region.tileCover(SourceType::Vector, 512, { 3, 22 })); + EXPECT_EQ((std::vector<CanonicalTileID>{}), tileCover(region, SourceType::Vector, 512, { 3, 22 })); } -TEST(OfflineTilePyramidRegionDefinition, TileCoverTileSize) { - OfflineTilePyramidRegionDefinition region("", LatLngBounds::world(), 0, 0, 1.0); +TEST(OfflineRegionDefinition, TileCoverTileSize) { + OfflineTilePyramidRegionDefinition region("", LatLngBounds::world(), {0, 0}, 1.0); EXPECT_EQ((std::vector<CanonicalTileID>{ { 0, 0, 0 } }), - region.tileCover(SourceType::Vector, 512, { 0, 22 })); + tileCover(region, SourceType::Vector, 512, { 0, 22 })); EXPECT_EQ((std::vector<CanonicalTileID>{ { 1, 0, 0 }, { 1, 0, 1 }, { 1, 1, 0 }, { 1, 1, 1 } }), - region.tileCover(SourceType::Vector, 256, { 0, 22 })); + tileCover(region, SourceType::Vector, 256, { 0, 22 })); } -TEST(OfflineTilePyramidRegionDefinition, TileCoverZoomRounding) { - OfflineTilePyramidRegionDefinition region("", sanFrancisco, 0.6, 0.7, 1.0); +TEST(OfflineRegionDefinition, TileCoverZoomRounding) { + OfflineTilePyramidRegionDefinition region("", sanFrancisco, {0.6, 0.7}, 1.0); EXPECT_EQ((std::vector<CanonicalTileID>{ { 0, 0, 0 } }), - region.tileCover(SourceType::Vector, 512, { 0, 22 })); + tileCover(region, SourceType::Vector, 512, { 0, 22 })); EXPECT_EQ((std::vector<CanonicalTileID>{ { 1, 0, 0 } }), - region.tileCover(SourceType::Raster, 512, { 0, 22 })); + tileCover(region, SourceType::Raster, 512, { 0, 22 })); } -TEST(OfflineTilePyramidRegionDefinition, TileCoverWrapped) { - OfflineTilePyramidRegionDefinition region("", sanFranciscoWrapped, 0, 0, 1.0); +TEST(OfflineRegionDefinition, TileCoverWrapped) { + OfflineTilePyramidRegionDefinition region("", sanFranciscoWrapped, {0, 0}, 1.0); EXPECT_EQ((std::vector<CanonicalTileID>{ { 0, 0, 0 } }), - region.tileCover(SourceType::Vector, 512, { 0, 22 })); + tileCover(region, SourceType::Vector, 512, { 0, 22 })); +} + +TEST(OfflinePolygonRegionDefinition, EncodeDecode) { + Polygon<double> polygon { { + { 1, 1, }, + { 2, 2, }, + { 1.5, 2.5 } + } }; + OfflineFixedGeometryRegionDefinition<Polygon<double>> region("", polygon, { 2, 2 }, 1.0); + + auto encoded = encodeOfflineRegionDefinition(region); + auto decoded = decodeOfflineRegionDefinition(encoded).get<OfflineFixedGeometryRegionDefinition<Polygon<double>>>(); + + EXPECT_EQ(region.maxZoom, decoded.maxZoom); + EXPECT_EQ(region.minZoom, decoded.minZoom); + EXPECT_EQ(region.pixelRatio, decoded.pixelRatio); + EXPECT_EQ(region.styleURL, decoded.styleURL); + EXPECT_EQ(region.geometry, decoded.geometry); } + |