summaryrefslogtreecommitdiff
path: root/test/style/conversion/geojson_options.test.cpp
diff options
context:
space:
mode:
authorKonstantin Käfer <mail@kkaefer.com>2016-09-28 11:45:33 +0200
committerKonstantin Käfer <mail@kkaefer.com>2016-09-28 16:34:22 +0200
commit3f3fc7b7723698e44427e2a14a2f4906832800bf (patch)
tree5acadfa4d77817c41f612c89c93925a149cbcfc0 /test/style/conversion/geojson_options.test.cpp
parenta8b007daa0e85ea4b1a4898fd591d55d0117cc85 (diff)
downloadqtlocation-mapboxgl-3f3fc7b7723698e44427e2a14a2f4906832800bf.tar.gz
[test] add .test.cpp suffix to test case files
Diffstat (limited to 'test/style/conversion/geojson_options.test.cpp')
-rw-r--r--test/style/conversion/geojson_options.test.cpp68
1 files changed, 68 insertions, 0 deletions
diff --git a/test/style/conversion/geojson_options.test.cpp b/test/style/conversion/geojson_options.test.cpp
new file mode 100644
index 0000000000..46a2aa950b
--- /dev/null
+++ b/test/style/conversion/geojson_options.test.cpp
@@ -0,0 +1,68 @@
+#include <mbgl/test/util.hpp>
+
+#include <mbgl/style/conversion.hpp>
+#include <mbgl/style/conversion/geojson_options.hpp>
+#include <mbgl/test/conversion_stubs.hpp>
+
+#include <mbgl/platform/log.hpp>
+
+using namespace mbgl::style;
+using namespace mbgl::style::conversion;
+
+TEST(GeoJSONOptions, Basic) {
+ ValueMap map;
+ Value raw(map);
+ Result<GeoJSONOptions> converted = convert<GeoJSONOptions>(raw);
+ ASSERT_TRUE((bool) converted);
+}
+
+TEST(GeoJSONOptions, ErrorHandling) {
+ ValueMap map {{"maxzoom", "should not be a string"}};
+ Value raw(map);
+ Result<GeoJSONOptions> converted = convert<GeoJSONOptions>(raw);
+ ASSERT_FALSE((bool) converted);
+}
+
+TEST(GeoJSONOptions, RetainsDefaults) {
+ ValueMap map;
+ Value raw(map);
+ GeoJSONOptions converted = *convert<GeoJSONOptions>(raw);
+ GeoJSONOptions defaults;
+
+ //GeoJSON-VT
+ ASSERT_EQ(converted.maxzoom, defaults.maxzoom);
+ ASSERT_EQ(converted.buffer, defaults.buffer);
+ ASSERT_EQ(converted.tolerance, defaults.tolerance);
+
+ //Supercluster
+ ASSERT_EQ(converted.cluster, defaults.cluster);
+ ASSERT_EQ(converted.clusterRadius, defaults.clusterRadius);
+ ASSERT_EQ(converted.clusterMaxZoom, defaults.clusterMaxZoom);
+}
+
+
+TEST(GeoJSONOptions, FullConversion) {
+ ValueMap map {
+ //GeoJSON-VT
+ {"maxzoom", 1},
+ {"buffer", 2},
+ {"tolerance", 3},
+
+ //Supercluster
+ {"cluster", true},
+ {"clusterRadius", 4},
+ {"clusterMaxZoom", 5}
+ };
+ Value raw(map);
+ GeoJSONOptions converted = *convert<GeoJSONOptions>(raw);
+
+ //GeoJSON-VT
+ ASSERT_EQ(converted.maxzoom, 1);
+ ASSERT_EQ(converted.buffer, 2);
+ ASSERT_EQ(converted.tolerance, 3);
+
+ //Supercluster
+ ASSERT_EQ(converted.cluster, true);
+ ASSERT_EQ(converted.clusterRadius, 4);
+ ASSERT_EQ(converted.clusterMaxZoom, 5);
+}