From 54b990eb33e87b44127e2f9baf35fd38588fffc1 Mon Sep 17 00:00:00 2001 From: Chris Loer Date: Thu, 9 Nov 2017 13:24:43 -0800 Subject: [PATCH] [core] Update unit tests for viewport collision. Add 'GridIndex' unit test. --- cmake/test-files.cmake | 2 +- test/api/annotations.test.cpp | 8 +-- test/fixtures/api/query_style.json | 12 ++-- test/fixtures/map/offline/expected.png | Bin 47843 -> 48705 bytes test/gl/bucket.test.cpp | 4 +- test/tile/annotation_tile.test.cpp | 95 ------------------------- test/tile/geojson_tile.test.cpp | 2 - test/tile/vector_tile.test.cpp | 5 +- test/util/grid_index.test.cpp | 53 ++++++++++++++ 9 files changed, 71 insertions(+), 110 deletions(-) delete mode 100644 test/tile/annotation_tile.test.cpp create mode 100644 test/util/grid_index.test.cpp diff --git a/cmake/test-files.cmake b/cmake/test-files.cmake index 319790f05..f29165023 100644 --- a/cmake/test-files.cmake +++ b/cmake/test-files.cmake @@ -116,7 +116,6 @@ set(MBGL_TEST_FILES test/text/quads.test.cpp # tile - test/tile/annotation_tile.test.cpp test/tile/geojson_tile.test.cpp test/tile/geometry_tile_data.test.cpp test/tile/raster_tile.test.cpp @@ -128,6 +127,7 @@ set(MBGL_TEST_FILES test/util/async_task.test.cpp test/util/dtoa.test.cpp test/util/geo.test.cpp + test/util/grid_index.test.cpp test/util/http_timeout.test.cpp test/util/image.test.cpp test/util/mapbox.test.cpp diff --git a/test/api/annotations.test.cpp b/test/api/annotations.test.cpp index 9e622f780..f3d270c45 100644 --- a/test/api/annotations.test.cpp +++ b/test/api/annotations.test.cpp @@ -366,8 +366,8 @@ TEST(Annotations, QueryFractionalZoomLevels) { test.map.addAnnotationImage(namedMarker("default_marker")); std::vector ids; - for (int longitude = 0; longitude < 10; ++longitude) { - for (int latitude = 0; latitude < 10; ++latitude) { + for (int longitude = 0; longitude < 10; longitude += 2) { + for (int latitude = 0; latitude < 10; latitude += 2) { ids.push_back(test.map.addAnnotation(SymbolAnnotation { { double(latitude), double(longitude) }, "default_marker" })); } } @@ -399,8 +399,8 @@ TEST(Annotations, VisibleFeatures) { test.map.setLatLngZoom({ 5, 5 }, 3); std::vector ids; - for (int longitude = 0; longitude < 10; ++longitude) { - for (int latitude = 0; latitude <= 10; ++latitude) { + for (int longitude = 0; longitude < 10; longitude += 2) { + for (int latitude = 0; latitude <= 10; latitude += 2) { ids.push_back(test.map.addAnnotation(SymbolAnnotation { { double(latitude), double(longitude) }, "default_marker" })); } } diff --git a/test/fixtures/api/query_style.json b/test/fixtures/api/query_style.json index 2e499c383..fd147f789 100644 --- a/test/fixtures/api/query_style.json +++ b/test/fixtures/api/query_style.json @@ -67,7 +67,8 @@ "type": "symbol", "source": "source1", "layout": { - "icon-image": "test-icon" + "icon-image": "test-icon", + "icon-allow-overlap": true } }, { @@ -75,7 +76,8 @@ "type": "symbol", "source": "source2", "layout": { - "icon-image": "test-icon" + "icon-image": "test-icon", + "icon-allow-overlap": true } }, { @@ -83,7 +85,8 @@ "type": "symbol", "source": "source3", "layout": { - "icon-image": "test-icon" + "icon-image": "test-icon", + "icon-allow-overlap": true } }, { @@ -91,7 +94,8 @@ "type": "symbol", "source": "source4", "layout": { - "icon-image": "test-icon" + "icon-image": "test-icon", + "icon-allow-overlap": true } } ] diff --git a/test/fixtures/map/offline/expected.png b/test/fixtures/map/offline/expected.png index 973c4102da600b8a1f395a3f5928244439fae9ea..0005137ae3550956626ab09e9248e77d7346f782 100644 GIT binary patch literal 48705 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�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 E0Y symbolInstances; gl::Context context; - SymbolBucket bucket { layout, {}, 16.0f, 1.0f, 0, sdfIcons, iconsNeedLinear }; + SymbolBucket bucket { layout, {}, 16.0f, 1.0f, 0, sdfIcons, iconsNeedLinear, sortFeaturesByY, std::move(symbolInstances) }; ASSERT_FALSE(bucket.hasIconData()); ASSERT_FALSE(bucket.hasTextData()); ASSERT_FALSE(bucket.hasCollisionBoxData()); diff --git a/test/tile/annotation_tile.test.cpp b/test/tile/annotation_tile.test.cpp deleted file mode 100644 index 8f3f90392..000000000 --- a/test/tile/annotation_tile.test.cpp +++ /dev/null @@ -1,95 +0,0 @@ -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include - -using namespace mbgl; - -class AnnotationTileTest { -public: - FakeFileSource fileSource; - TransformState transformState; - util::RunLoop loop; - ThreadPool threadPool { 1 }; - style::Style style { loop, fileSource, 1 }; - AnnotationManager annotationManager { style }; - HeadlessBackend backend; - BackendScope scope { backend }; - ImageManager imageManager; - GlyphManager glyphManager { fileSource }; - - TileParameters tileParameters { - 1.0, - MapDebugOptions(), - transformState, - threadPool, - fileSource, - MapMode::Continuous, - annotationManager, - imageManager, - glyphManager, - 0 - }; -}; - -// Don't query stale collision tile -TEST(AnnotationTile, Issue8289) { - AnnotationTileTest test; - AnnotationTile tile(OverscaledTileID(0, 0, 0), test.tileParameters); - - auto data = std::make_unique(); - data->addLayer("test")->addFeature(0, FeatureType::Point, GeometryCollection()); - - // Simulate layout and placement of a symbol layer. - tile.onLayout(GeometryTile::LayoutResult { - std::unordered_map>(), - std::make_unique(), - std::move(data), - }, 0); - - auto collisionTile = std::make_unique(PlacementConfig()); - - IndexedSubfeature subfeature { 0, "", "", 0 }; - CollisionFeature feature(GeometryCoordinates(), Anchor(0, 0, 0, 0), -5, 5, -5, 5, 1, 0, style::SymbolPlacementType::Point, subfeature, CollisionFeature::AlignmentType::Curved); - collisionTile->insertFeature(feature, 0, true); - collisionTile->placeFeature(feature, false, false); - - tile.onPlacement(GeometryTile::PlacementResult { - std::unordered_map>(), - std::move(collisionTile), - {}, - {}, - }, 0); - - // Simulate a second layout with empty data. - tile.onLayout(GeometryTile::LayoutResult { - std::unordered_map>(), - std::make_unique(), - std::make_unique(), - }, 0); - - std::unordered_map> result; - GeometryCoordinates queryGeometry {{ Point(0, 0) }}; - TransformState transformState; - RenderedQueryOptions options; - - tile.queryRenderedFeatures(result, queryGeometry, transformState, {}, options); - - EXPECT_TRUE(result.empty()); -} - diff --git a/test/tile/geojson_tile.test.cpp b/test/tile/geojson_tile.test.cpp index 953c3b8a5..c05e04bc8 100644 --- a/test/tile/geojson_tile.test.cpp +++ b/test/tile/geojson_tile.test.cpp @@ -66,7 +66,6 @@ TEST(GeoJSONTile, Issue7648) { tile.setLayers({{ layer.baseImpl }}); tile.setObserver(&observer); - tile.setPlacementConfig({}); while (!tile.isComplete()) { test.loop.runOnce(); @@ -93,7 +92,6 @@ TEST(GeoJSONTile, Issue9927) { GeoJSONTile tile(OverscaledTileID(0, 0, 0), "source", test.tileParameters, features); tile.setLayers({{ layer.baseImpl }}); - tile.setPlacementConfig({}); while (!tile.isComplete()) { test.loop.runOnce(); diff --git a/test/tile/vector_tile.test.cpp b/test/tile/vector_tile.test.cpp index 7e8b659b7..9d42f7ae7 100644 --- a/test/tile/vector_tile.test.cpp +++ b/test/tile/vector_tile.test.cpp @@ -11,7 +11,6 @@ #include #include #include -#include #include #include #include @@ -71,12 +70,13 @@ TEST(VectorTile, Issue7615) { VectorTile tile(OverscaledTileID(0, 0, 0), "source", test.tileParameters, test.tileset); style::SymbolLayer symbolLayer("symbol", "source"); + std::vector symbolInstances; auto symbolBucket = std::make_shared( style::SymbolLayoutProperties::PossiblyEvaluated(), std::map< std::string, std::pair>(), - 16.0f, 1.0f, 0.0f, false, false); + 16.0f, 1.0f, 0.0f, false, false, false, std::move(symbolInstances)); // Simulate placement of a symbol layer. tile.onPlacement(GeometryTile::PlacementResult { @@ -84,7 +84,6 @@ TEST(VectorTile, Issue7615) { symbolLayer.getID(), symbolBucket }}, - nullptr, {}, {}, }, 0); diff --git a/test/util/grid_index.test.cpp b/test/util/grid_index.test.cpp new file mode 100644 index 000000000..b0a4e581a --- /dev/null +++ b/test/util/grid_index.test.cpp @@ -0,0 +1,53 @@ +#include +#include + +#include + +using namespace mbgl; + +TEST(GridIndex, IndexesFeatures) { + GridIndex grid(100, 100, 10); + grid.insert(0, {{4, 10}, {6, 30}}); + grid.insert(1, {{4, 10}, {30, 12}}); + grid.insert(2, {{-10, 30}, {5, 35}}); + + EXPECT_EQ(grid.query({{4, 10}, {5, 11}}), (std::vector{0, 1})); + EXPECT_EQ(grid.query({{24, 10}, {25, 11}}), (std::vector{1})); + EXPECT_EQ(grid.query({{40, 40}, {100, 100}}), (std::vector{})); + EXPECT_EQ(grid.query({{-6, 0}, {3, 100}}), (std::vector{2})); + EXPECT_EQ(grid.query({{-1000, -1000}, {1000, 1000}}), (std::vector{0, 1, 2})); +} + +TEST(GridIndex, DuplicateKeys) { + GridIndex grid(100, 100, 10); + #define KEY 123 + grid.insert(KEY, {{3, 4}, {4, 4}}); + grid.insert(KEY, {{13, 13}, {14, 14}}); + grid.insert(KEY, {{23, 23}, {24, 24}}); + + EXPECT_EQ(grid.query({{0, 0}, {30, 30}}), (std::vector{KEY, KEY, KEY})); +} + +TEST(GridIndex, CircleCircle) { + GridIndex grid(100, 100, 10); + grid.insert(0, {{50, 50}, 10}); + grid.insert(1, {{60, 60}, 15}); + grid.insert(2, {{-10, 110}, 20}); + + EXPECT_TRUE(grid.hitTest({{55, 55}, 2})); + EXPECT_FALSE(grid.hitTest({{10, 10}, 10})); + EXPECT_TRUE(grid.hitTest({{0, 100}, 10})); + EXPECT_TRUE(grid.hitTest({{80, 60}, 10})); +} + +TEST(GridIndex, CircleBox) { + GridIndex grid(100, 100, 10); + grid.insert(0, {{50, 50}, 10}); + grid.insert(1, {{60, 60}, 15}); + grid.insert(2, {{-10, 110}, 20}); + + EXPECT_EQ(grid.query({{45, 45}, {55, 55}}), (std::vector{0, 1})); + EXPECT_EQ(grid.query({{0, 0}, {30, 30}}), (std::vector{})); + EXPECT_EQ(grid.query({{0, 80}, {20, 100}}), (std::vector{2})); +} +