summaryrefslogtreecommitdiff
path: root/test/src/mbgl/test/stub_geometry_tile_feature.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'test/src/mbgl/test/stub_geometry_tile_feature.hpp')
-rw-r--r--test/src/mbgl/test/stub_geometry_tile_feature.hpp34
1 files changed, 34 insertions, 0 deletions
diff --git a/test/src/mbgl/test/stub_geometry_tile_feature.hpp b/test/src/mbgl/test/stub_geometry_tile_feature.hpp
new file mode 100644
index 0000000000..21d198a96b
--- /dev/null
+++ b/test/src/mbgl/test/stub_geometry_tile_feature.hpp
@@ -0,0 +1,34 @@
+#include <mbgl/tile/geometry_tile_data.hpp>
+#include <mbgl/util/feature.hpp>
+
+namespace mbgl {
+
+class StubGeometryTileFeature : public GeometryTileFeature {
+public:
+ StubGeometryTileFeature(PropertyMap properties_)
+ : properties(std::move(properties_)) {
+ }
+
+ PropertyMap properties;
+ optional<FeatureIdentifier> id = {};
+ FeatureType type = FeatureType::Point;
+ GeometryCollection geometry = {};
+
+ FeatureType getType() const override {
+ return type;
+ }
+
+ optional<FeatureIdentifier> getID() const override {
+ return id;
+ }
+
+ optional<Value> getValue(const std::string& key) const override {
+ return properties.count(key) ? properties.at(key) : optional<Value>();
+ }
+
+ GeometryCollection getGeometries() const override {
+ return geometry;
+ }
+};
+
+} // namespace mbgl