summaryrefslogtreecommitdiff
path: root/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/geometry/GeoJsonConversionTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/geometry/GeoJsonConversionTest.java')
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/geometry/GeoJsonConversionTest.java39
1 files changed, 38 insertions, 1 deletions
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/geometry/GeoJsonConversionTest.java b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/geometry/GeoJsonConversionTest.java
index 90b82d56f3..295da557d8 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/geometry/GeoJsonConversionTest.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/geometry/GeoJsonConversionTest.java
@@ -1,13 +1,21 @@
package com.mapbox.mapboxsdk.testapp.geometry;
+import com.google.gson.JsonArray;
+import com.mapbox.geojson.Feature;
import com.mapbox.geojson.FeatureCollection;
import com.mapbox.geojson.Point;
import com.mapbox.geojson.Polygon;
+import com.mapbox.mapboxsdk.geometry.LatLng;
import com.mapbox.mapboxsdk.geometry.LatLngBounds;
+import com.mapbox.mapboxsdk.style.expressions.Expression;
+import com.mapbox.mapboxsdk.style.layers.PropertyFactory;
import com.mapbox.mapboxsdk.style.layers.SymbolLayer;
import com.mapbox.mapboxsdk.style.sources.CustomGeometrySource;
+import com.mapbox.mapboxsdk.style.sources.GeoJsonSource;
import com.mapbox.mapboxsdk.style.sources.GeometryTileProvider;
import com.mapbox.mapboxsdk.testapp.activity.EspressoTest;
+import com.mapbox.mapboxsdk.testapp.utils.Utils;
+
import org.junit.Test;
import static com.mapbox.geojson.Feature.fromGeometry;
@@ -18,6 +26,7 @@ import static com.mapbox.geojson.MultiLineString.fromLineString;
import static com.mapbox.geojson.MultiPolygon.fromPolygon;
import static java.util.Collections.emptyList;
import static java.util.Collections.singletonList;
+import static org.junit.Assert.assertFalse;
/**
* Instrumentation test to validate java geojson conversion to c++
@@ -44,7 +53,7 @@ public class GeoJsonConversionTest extends EspressoTest {
onMapView().perform(getMapboxMapAction((uiController, mapboxMap) -> {
mapboxMap.getStyle().addSource(
new CustomGeometrySource("test-id",
- new CustomProvider(fromFeatures(singletonList(fromGeometry(Point.fromLngLat(0.0,0.0)))))
+ new CustomProvider(fromFeatures(singletonList(fromGeometry(Point.fromLngLat(0.0, 0.0)))))
)
);
mapboxMap.getStyle().addLayer(new SymbolLayer("test-id", "test-id"));
@@ -117,6 +126,34 @@ public class GeoJsonConversionTest extends EspressoTest {
}));
}
+ @Test
+ public void testNegativeNumberPropertyConversion() {
+ validateTestSetup();
+ onMapView().perform(getMapboxMapAction((uiController, mapboxMap) -> {
+ LatLng latLng = new LatLng();
+ Feature feature = Feature.fromGeometry(Point.fromLngLat(latLng.getLongitude(), latLng.getLatitude()));
+
+ JsonArray foregroundJsonArray = new JsonArray();
+ foregroundJsonArray.add(0f);
+ foregroundJsonArray.add(-3f);
+ feature.addProperty("property", foregroundJsonArray);
+
+ GeoJsonSource source = new GeoJsonSource("source", feature);
+ mapboxMap.getStyle().addSource(source);
+
+ SymbolLayer layer = new SymbolLayer("layer", "source")
+ .withProperties(
+ PropertyFactory.iconOffset(Expression.get("property")),
+ PropertyFactory.iconImage("zoo-15")
+ );
+ mapboxMap.getStyle().addLayer(layer);
+
+ Utils.waitForLayer(uiController, mapboxMap, latLng, "layer");
+
+ assertFalse(mapboxMap.queryRenderedFeatures(mapboxMap.getProjection().toScreenLocation(latLng)).isEmpty());
+ }));
+ }
+
class CustomProvider implements GeometryTileProvider {
private FeatureCollection featureCollection;