diff options
author | Ivo van Dongen <ivovandongen@users.noreply.github.com> | 2016-08-23 14:57:55 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-08-23 14:57:55 +0200 |
commit | df3b44531e1c2a95edd2a035d3744f34ebb8d0e9 (patch) | |
tree | 2eb0ae3e4a3b793767643831cd8063aeab56075d /test/style/conversion | |
parent | 50da6e5e715f0356f430fba176dea13d15fe9d52 (diff) | |
download | qtlocation-mapboxgl-df3b44531e1c2a95edd2a035d3744f34ebb8d0e9.tar.gz |
[core] #6071 - extract GeoJSONOptions conversion from GeoJSONSource conversion
* [core] geojson_options - retain original error message
* [core] tests - initial style conversion stub methods
* [core] geojsonoptions conversion - initial unit tests
* [core] tests - fix forward reference issue
* [core] geojsonoptions conversion - unit tests
* [core] geojsonoptions conversion - renamed Holder to Value
Diffstat (limited to 'test/style/conversion')
-rw-r--r-- | test/style/conversion/geojson_options.cpp | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/test/style/conversion/geojson_options.cpp b/test/style/conversion/geojson_options.cpp new file mode 100644 index 0000000000..46a2aa950b --- /dev/null +++ b/test/style/conversion/geojson_options.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); +} |