Fix getFilter with distance expression crash. (#380)
* Fix getFilter with distance expression crash. * Update gl-native and test case * Bump gl-native to maps-1.6.0 * Update review comment.
This commit is contained in:
@@ -9,7 +9,13 @@ import com.google.gson.JsonNull;
|
||||
import com.google.gson.JsonObject;
|
||||
import com.google.gson.JsonPrimitive;
|
||||
import com.mapbox.geojson.GeoJson;
|
||||
import com.mapbox.geojson.LineString;
|
||||
import com.mapbox.geojson.MultiLineString;
|
||||
import com.mapbox.geojson.MultiPoint;
|
||||
import com.mapbox.geojson.MultiPolygon;
|
||||
import com.mapbox.geojson.Point;
|
||||
import com.mapbox.geojson.Polygon;
|
||||
import com.mapbox.geojson.gson.GeometryGeoJson;
|
||||
import com.mapbox.mapboxsdk.style.layers.PropertyFactory;
|
||||
import com.mapbox.mapboxsdk.style.layers.PropertyValue;
|
||||
|
||||
@@ -1583,7 +1589,8 @@ public class Expression {
|
||||
* Currently supports `Point`, `MultiPoint`, `LineString`, `MultiLineString` geometry types.
|
||||
*
|
||||
* @param geoJson the target feature geoJson.
|
||||
* Currently supports `Point`, `MultiPoint`, `LineString`, `MultiLineString` geometry types
|
||||
* Currently supports `Point`, `MultiPoint`, `LineString`, `MultiLineString`, `Polygon`, `MultiPolygon`
|
||||
* geometry types
|
||||
* @return the distance in the unit "meters".
|
||||
* @see <a href="https://www.mapbox.com/mapbox-gl-js/style-spec/#expressions-distance">Style specification</a>
|
||||
*/
|
||||
@@ -4767,6 +4774,8 @@ public class Expression {
|
||||
final List<Expression> arguments = new ArrayList<>();
|
||||
if (operator.equals("within")) {
|
||||
return within(Polygon.fromJson(jsonArray.get(1).toString()));
|
||||
} else if (operator.equals("distance")) {
|
||||
return distance(GeometryGeoJson.fromJson(jsonArray.get(1).toString()));
|
||||
}
|
||||
for (int i = 1; i < jsonArray.size(); i++) {
|
||||
JsonElement jsonElement = jsonArray.get(i);
|
||||
|
||||
@@ -6,6 +6,12 @@ import android.graphics.Color;
|
||||
import androidx.test.annotation.UiThreadTest;
|
||||
import androidx.test.ext.junit.runners.AndroidJUnit4;
|
||||
|
||||
import com.mapbox.geojson.LineString;
|
||||
import com.mapbox.geojson.MultiLineString;
|
||||
import com.mapbox.geojson.MultiPoint;
|
||||
import com.mapbox.geojson.MultiPolygon;
|
||||
import com.mapbox.geojson.Point;
|
||||
import com.mapbox.geojson.Polygon;
|
||||
import com.mapbox.mapboxsdk.maps.BaseLayerTest;
|
||||
import org.junit.Before;
|
||||
import timber.log.Timber;
|
||||
@@ -22,6 +28,9 @@ import static com.mapbox.mapboxsdk.style.layers.Property.*;
|
||||
import static com.mapbox.mapboxsdk.style.layers.PropertyFactory.*;
|
||||
|
||||
import com.mapbox.mapboxsdk.style.layers.TransitionOptions;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Basic smoke tests for BackgroundLayer
|
||||
@@ -30,6 +39,19 @@ import com.mapbox.mapboxsdk.style.layers.TransitionOptions;
|
||||
public class BackgroundLayerTest extends BaseLayerTest {
|
||||
|
||||
private BackgroundLayer layer;
|
||||
private final List<Point> pointsList = new ArrayList<Point>() {
|
||||
{
|
||||
add(Point.fromLngLat(55.30122473231012, 25.26476622289597));
|
||||
add(Point.fromLngLat(55.29743486255916, 25.25827212207261));
|
||||
add(Point.fromLngLat(55.28978863411328, 25.251356725509737));
|
||||
add(Point.fromLngLat(55.300027931336984, 25.246425506635504));
|
||||
add(Point.fromLngLat(55.307474692951274, 25.244200378933655));
|
||||
add(Point.fromLngLat(55.31212891895635, 25.256408010450187));
|
||||
add(Point.fromLngLat(55.30774064871093, 25.26266169122738));
|
||||
add(Point.fromLngLat(55.301357710197806, 25.264946609615492));
|
||||
add(Point.fromLngLat(55.30122473231012, 25.26476622289597));
|
||||
}
|
||||
};
|
||||
|
||||
@Before
|
||||
@UiThreadTest
|
||||
|
||||
@@ -6,6 +6,12 @@ import android.graphics.Color;
|
||||
import androidx.test.annotation.UiThreadTest;
|
||||
import androidx.test.ext.junit.runners.AndroidJUnit4;
|
||||
|
||||
import com.mapbox.geojson.LineString;
|
||||
import com.mapbox.geojson.MultiLineString;
|
||||
import com.mapbox.geojson.MultiPoint;
|
||||
import com.mapbox.geojson.MultiPolygon;
|
||||
import com.mapbox.geojson.Point;
|
||||
import com.mapbox.geojson.Polygon;
|
||||
import com.mapbox.mapboxsdk.maps.BaseLayerTest;
|
||||
import org.junit.Before;
|
||||
import timber.log.Timber;
|
||||
@@ -22,6 +28,9 @@ import static com.mapbox.mapboxsdk.style.layers.Property.*;
|
||||
import static com.mapbox.mapboxsdk.style.layers.PropertyFactory.*;
|
||||
|
||||
import com.mapbox.mapboxsdk.style.layers.TransitionOptions;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Basic smoke tests for CircleLayer
|
||||
@@ -30,6 +39,19 @@ import com.mapbox.mapboxsdk.style.layers.TransitionOptions;
|
||||
public class CircleLayerTest extends BaseLayerTest {
|
||||
|
||||
private CircleLayer layer;
|
||||
private final List<Point> pointsList = new ArrayList<Point>() {
|
||||
{
|
||||
add(Point.fromLngLat(55.30122473231012, 25.26476622289597));
|
||||
add(Point.fromLngLat(55.29743486255916, 25.25827212207261));
|
||||
add(Point.fromLngLat(55.28978863411328, 25.251356725509737));
|
||||
add(Point.fromLngLat(55.300027931336984, 25.246425506635504));
|
||||
add(Point.fromLngLat(55.307474692951274, 25.244200378933655));
|
||||
add(Point.fromLngLat(55.31212891895635, 25.256408010450187));
|
||||
add(Point.fromLngLat(55.30774064871093, 25.26266169122738));
|
||||
add(Point.fromLngLat(55.301357710197806, 25.264946609615492));
|
||||
add(Point.fromLngLat(55.30122473231012, 25.26476622289597));
|
||||
}
|
||||
};
|
||||
|
||||
@Before
|
||||
@UiThreadTest
|
||||
@@ -97,6 +119,60 @@ public class CircleLayerTest extends BaseLayerTest {
|
||||
assertEquals(layer.getFilter().toString(), filter.toString());
|
||||
}
|
||||
|
||||
@Test
|
||||
@UiThreadTest
|
||||
public void testFilterDistance() {
|
||||
Timber.i("FilterDistance");
|
||||
assertNotNull(layer);
|
||||
|
||||
// Get initial
|
||||
assertEquals(layer.getFilter(), null);
|
||||
|
||||
// distance with Point
|
||||
Expression filter = lt(distance(Point.fromLngLat(1.0, 1.0)), 50);
|
||||
layer.setFilter(filter);
|
||||
assertEquals(layer.getFilter().toString(), filter.toString());
|
||||
|
||||
// distance with LineString
|
||||
filter = lt(distance(LineString.fromLngLats(pointsList)), 50);
|
||||
layer.setFilter(filter);
|
||||
assertEquals(layer.getFilter().toString(), filter.toString());
|
||||
|
||||
// distance with MultiPoint
|
||||
filter = lt(distance(MultiPoint.fromLngLats(pointsList)), 50);
|
||||
layer.setFilter(filter);
|
||||
assertEquals(layer.getFilter().toString(), filter.toString());
|
||||
|
||||
// distance with MultiPoint
|
||||
filter = lt(distance(MultiLineString.fromLngLats(Collections.singletonList(pointsList))), 50);
|
||||
layer.setFilter(filter);
|
||||
assertEquals(layer.getFilter().toString(), filter.toString());
|
||||
|
||||
// distance with Polygon
|
||||
filter = lt(distance(Polygon.fromLngLats(Collections.singletonList(pointsList))), 50);
|
||||
layer.setFilter(filter);
|
||||
assertEquals(layer.getFilter().toString(), filter.toString());
|
||||
|
||||
// distance with MultiPolygon
|
||||
filter = lt(distance(MultiPolygon.fromLngLats(Collections
|
||||
.singletonList(Collections.singletonList(pointsList)))), 50);
|
||||
layer.setFilter(filter);
|
||||
assertEquals(layer.getFilter().toString(), filter.toString());
|
||||
}
|
||||
|
||||
@Test
|
||||
@UiThreadTest
|
||||
public void testFilterWithin() {
|
||||
Timber.i("FilterWithin");
|
||||
assertNotNull(layer);
|
||||
|
||||
// Get initial
|
||||
assertEquals(layer.getFilter(), null);
|
||||
|
||||
Expression filter = within(Polygon.fromLngLats(Collections.singletonList(pointsList)));
|
||||
layer.setFilter(filter);
|
||||
assertEquals(layer.getFilter().toString(), filter.toString());
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
|
||||
@@ -6,6 +6,12 @@ import android.graphics.Color;
|
||||
import androidx.test.annotation.UiThreadTest;
|
||||
import androidx.test.ext.junit.runners.AndroidJUnit4;
|
||||
|
||||
import com.mapbox.geojson.LineString;
|
||||
import com.mapbox.geojson.MultiLineString;
|
||||
import com.mapbox.geojson.MultiPoint;
|
||||
import com.mapbox.geojson.MultiPolygon;
|
||||
import com.mapbox.geojson.Point;
|
||||
import com.mapbox.geojson.Polygon;
|
||||
import com.mapbox.mapboxsdk.maps.BaseLayerTest;
|
||||
import org.junit.Before;
|
||||
import timber.log.Timber;
|
||||
@@ -22,6 +28,9 @@ import static com.mapbox.mapboxsdk.style.layers.Property.*;
|
||||
import static com.mapbox.mapboxsdk.style.layers.PropertyFactory.*;
|
||||
|
||||
import com.mapbox.mapboxsdk.style.layers.TransitionOptions;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Basic smoke tests for FillExtrusionLayer
|
||||
@@ -30,6 +39,19 @@ import com.mapbox.mapboxsdk.style.layers.TransitionOptions;
|
||||
public class FillExtrusionLayerTest extends BaseLayerTest {
|
||||
|
||||
private FillExtrusionLayer layer;
|
||||
private final List<Point> pointsList = new ArrayList<Point>() {
|
||||
{
|
||||
add(Point.fromLngLat(55.30122473231012, 25.26476622289597));
|
||||
add(Point.fromLngLat(55.29743486255916, 25.25827212207261));
|
||||
add(Point.fromLngLat(55.28978863411328, 25.251356725509737));
|
||||
add(Point.fromLngLat(55.300027931336984, 25.246425506635504));
|
||||
add(Point.fromLngLat(55.307474692951274, 25.244200378933655));
|
||||
add(Point.fromLngLat(55.31212891895635, 25.256408010450187));
|
||||
add(Point.fromLngLat(55.30774064871093, 25.26266169122738));
|
||||
add(Point.fromLngLat(55.301357710197806, 25.264946609615492));
|
||||
add(Point.fromLngLat(55.30122473231012, 25.26476622289597));
|
||||
}
|
||||
};
|
||||
|
||||
@Before
|
||||
@UiThreadTest
|
||||
@@ -97,6 +119,60 @@ public class FillExtrusionLayerTest extends BaseLayerTest {
|
||||
assertEquals(layer.getFilter().toString(), filter.toString());
|
||||
}
|
||||
|
||||
@Test
|
||||
@UiThreadTest
|
||||
public void testFilterDistance() {
|
||||
Timber.i("FilterDistance");
|
||||
assertNotNull(layer);
|
||||
|
||||
// Get initial
|
||||
assertEquals(layer.getFilter(), null);
|
||||
|
||||
// distance with Point
|
||||
Expression filter = lt(distance(Point.fromLngLat(1.0, 1.0)), 50);
|
||||
layer.setFilter(filter);
|
||||
assertEquals(layer.getFilter().toString(), filter.toString());
|
||||
|
||||
// distance with LineString
|
||||
filter = lt(distance(LineString.fromLngLats(pointsList)), 50);
|
||||
layer.setFilter(filter);
|
||||
assertEquals(layer.getFilter().toString(), filter.toString());
|
||||
|
||||
// distance with MultiPoint
|
||||
filter = lt(distance(MultiPoint.fromLngLats(pointsList)), 50);
|
||||
layer.setFilter(filter);
|
||||
assertEquals(layer.getFilter().toString(), filter.toString());
|
||||
|
||||
// distance with MultiPoint
|
||||
filter = lt(distance(MultiLineString.fromLngLats(Collections.singletonList(pointsList))), 50);
|
||||
layer.setFilter(filter);
|
||||
assertEquals(layer.getFilter().toString(), filter.toString());
|
||||
|
||||
// distance with Polygon
|
||||
filter = lt(distance(Polygon.fromLngLats(Collections.singletonList(pointsList))), 50);
|
||||
layer.setFilter(filter);
|
||||
assertEquals(layer.getFilter().toString(), filter.toString());
|
||||
|
||||
// distance with MultiPolygon
|
||||
filter = lt(distance(MultiPolygon.fromLngLats(Collections
|
||||
.singletonList(Collections.singletonList(pointsList)))), 50);
|
||||
layer.setFilter(filter);
|
||||
assertEquals(layer.getFilter().toString(), filter.toString());
|
||||
}
|
||||
|
||||
@Test
|
||||
@UiThreadTest
|
||||
public void testFilterWithin() {
|
||||
Timber.i("FilterWithin");
|
||||
assertNotNull(layer);
|
||||
|
||||
// Get initial
|
||||
assertEquals(layer.getFilter(), null);
|
||||
|
||||
Expression filter = within(Polygon.fromLngLats(Collections.singletonList(pointsList)));
|
||||
layer.setFilter(filter);
|
||||
assertEquals(layer.getFilter().toString(), filter.toString());
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
|
||||
@@ -6,6 +6,12 @@ import android.graphics.Color;
|
||||
import androidx.test.annotation.UiThreadTest;
|
||||
import androidx.test.ext.junit.runners.AndroidJUnit4;
|
||||
|
||||
import com.mapbox.geojson.LineString;
|
||||
import com.mapbox.geojson.MultiLineString;
|
||||
import com.mapbox.geojson.MultiPoint;
|
||||
import com.mapbox.geojson.MultiPolygon;
|
||||
import com.mapbox.geojson.Point;
|
||||
import com.mapbox.geojson.Polygon;
|
||||
import com.mapbox.mapboxsdk.maps.BaseLayerTest;
|
||||
import org.junit.Before;
|
||||
import timber.log.Timber;
|
||||
@@ -22,6 +28,9 @@ import static com.mapbox.mapboxsdk.style.layers.Property.*;
|
||||
import static com.mapbox.mapboxsdk.style.layers.PropertyFactory.*;
|
||||
|
||||
import com.mapbox.mapboxsdk.style.layers.TransitionOptions;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Basic smoke tests for FillLayer
|
||||
@@ -30,6 +39,19 @@ import com.mapbox.mapboxsdk.style.layers.TransitionOptions;
|
||||
public class FillLayerTest extends BaseLayerTest {
|
||||
|
||||
private FillLayer layer;
|
||||
private final List<Point> pointsList = new ArrayList<Point>() {
|
||||
{
|
||||
add(Point.fromLngLat(55.30122473231012, 25.26476622289597));
|
||||
add(Point.fromLngLat(55.29743486255916, 25.25827212207261));
|
||||
add(Point.fromLngLat(55.28978863411328, 25.251356725509737));
|
||||
add(Point.fromLngLat(55.300027931336984, 25.246425506635504));
|
||||
add(Point.fromLngLat(55.307474692951274, 25.244200378933655));
|
||||
add(Point.fromLngLat(55.31212891895635, 25.256408010450187));
|
||||
add(Point.fromLngLat(55.30774064871093, 25.26266169122738));
|
||||
add(Point.fromLngLat(55.301357710197806, 25.264946609615492));
|
||||
add(Point.fromLngLat(55.30122473231012, 25.26476622289597));
|
||||
}
|
||||
};
|
||||
|
||||
@Before
|
||||
@UiThreadTest
|
||||
@@ -97,6 +119,60 @@ public class FillLayerTest extends BaseLayerTest {
|
||||
assertEquals(layer.getFilter().toString(), filter.toString());
|
||||
}
|
||||
|
||||
@Test
|
||||
@UiThreadTest
|
||||
public void testFilterDistance() {
|
||||
Timber.i("FilterDistance");
|
||||
assertNotNull(layer);
|
||||
|
||||
// Get initial
|
||||
assertEquals(layer.getFilter(), null);
|
||||
|
||||
// distance with Point
|
||||
Expression filter = lt(distance(Point.fromLngLat(1.0, 1.0)), 50);
|
||||
layer.setFilter(filter);
|
||||
assertEquals(layer.getFilter().toString(), filter.toString());
|
||||
|
||||
// distance with LineString
|
||||
filter = lt(distance(LineString.fromLngLats(pointsList)), 50);
|
||||
layer.setFilter(filter);
|
||||
assertEquals(layer.getFilter().toString(), filter.toString());
|
||||
|
||||
// distance with MultiPoint
|
||||
filter = lt(distance(MultiPoint.fromLngLats(pointsList)), 50);
|
||||
layer.setFilter(filter);
|
||||
assertEquals(layer.getFilter().toString(), filter.toString());
|
||||
|
||||
// distance with MultiPoint
|
||||
filter = lt(distance(MultiLineString.fromLngLats(Collections.singletonList(pointsList))), 50);
|
||||
layer.setFilter(filter);
|
||||
assertEquals(layer.getFilter().toString(), filter.toString());
|
||||
|
||||
// distance with Polygon
|
||||
filter = lt(distance(Polygon.fromLngLats(Collections.singletonList(pointsList))), 50);
|
||||
layer.setFilter(filter);
|
||||
assertEquals(layer.getFilter().toString(), filter.toString());
|
||||
|
||||
// distance with MultiPolygon
|
||||
filter = lt(distance(MultiPolygon.fromLngLats(Collections
|
||||
.singletonList(Collections.singletonList(pointsList)))), 50);
|
||||
layer.setFilter(filter);
|
||||
assertEquals(layer.getFilter().toString(), filter.toString());
|
||||
}
|
||||
|
||||
@Test
|
||||
@UiThreadTest
|
||||
public void testFilterWithin() {
|
||||
Timber.i("FilterWithin");
|
||||
assertNotNull(layer);
|
||||
|
||||
// Get initial
|
||||
assertEquals(layer.getFilter(), null);
|
||||
|
||||
Expression filter = within(Polygon.fromLngLats(Collections.singletonList(pointsList)));
|
||||
layer.setFilter(filter);
|
||||
assertEquals(layer.getFilter().toString(), filter.toString());
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
|
||||
@@ -6,6 +6,12 @@ import android.graphics.Color;
|
||||
import androidx.test.annotation.UiThreadTest;
|
||||
import androidx.test.ext.junit.runners.AndroidJUnit4;
|
||||
|
||||
import com.mapbox.geojson.LineString;
|
||||
import com.mapbox.geojson.MultiLineString;
|
||||
import com.mapbox.geojson.MultiPoint;
|
||||
import com.mapbox.geojson.MultiPolygon;
|
||||
import com.mapbox.geojson.Point;
|
||||
import com.mapbox.geojson.Polygon;
|
||||
import com.mapbox.mapboxsdk.maps.BaseLayerTest;
|
||||
import org.junit.Before;
|
||||
import timber.log.Timber;
|
||||
@@ -22,6 +28,9 @@ import static com.mapbox.mapboxsdk.style.layers.Property.*;
|
||||
import static com.mapbox.mapboxsdk.style.layers.PropertyFactory.*;
|
||||
|
||||
import com.mapbox.mapboxsdk.style.layers.TransitionOptions;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Basic smoke tests for HeatmapLayer
|
||||
@@ -30,6 +39,19 @@ import com.mapbox.mapboxsdk.style.layers.TransitionOptions;
|
||||
public class HeatmapLayerTest extends BaseLayerTest {
|
||||
|
||||
private HeatmapLayer layer;
|
||||
private final List<Point> pointsList = new ArrayList<Point>() {
|
||||
{
|
||||
add(Point.fromLngLat(55.30122473231012, 25.26476622289597));
|
||||
add(Point.fromLngLat(55.29743486255916, 25.25827212207261));
|
||||
add(Point.fromLngLat(55.28978863411328, 25.251356725509737));
|
||||
add(Point.fromLngLat(55.300027931336984, 25.246425506635504));
|
||||
add(Point.fromLngLat(55.307474692951274, 25.244200378933655));
|
||||
add(Point.fromLngLat(55.31212891895635, 25.256408010450187));
|
||||
add(Point.fromLngLat(55.30774064871093, 25.26266169122738));
|
||||
add(Point.fromLngLat(55.301357710197806, 25.264946609615492));
|
||||
add(Point.fromLngLat(55.30122473231012, 25.26476622289597));
|
||||
}
|
||||
};
|
||||
|
||||
@Before
|
||||
@UiThreadTest
|
||||
@@ -97,6 +119,60 @@ public class HeatmapLayerTest extends BaseLayerTest {
|
||||
assertEquals(layer.getFilter().toString(), filter.toString());
|
||||
}
|
||||
|
||||
@Test
|
||||
@UiThreadTest
|
||||
public void testFilterDistance() {
|
||||
Timber.i("FilterDistance");
|
||||
assertNotNull(layer);
|
||||
|
||||
// Get initial
|
||||
assertEquals(layer.getFilter(), null);
|
||||
|
||||
// distance with Point
|
||||
Expression filter = lt(distance(Point.fromLngLat(1.0, 1.0)), 50);
|
||||
layer.setFilter(filter);
|
||||
assertEquals(layer.getFilter().toString(), filter.toString());
|
||||
|
||||
// distance with LineString
|
||||
filter = lt(distance(LineString.fromLngLats(pointsList)), 50);
|
||||
layer.setFilter(filter);
|
||||
assertEquals(layer.getFilter().toString(), filter.toString());
|
||||
|
||||
// distance with MultiPoint
|
||||
filter = lt(distance(MultiPoint.fromLngLats(pointsList)), 50);
|
||||
layer.setFilter(filter);
|
||||
assertEquals(layer.getFilter().toString(), filter.toString());
|
||||
|
||||
// distance with MultiPoint
|
||||
filter = lt(distance(MultiLineString.fromLngLats(Collections.singletonList(pointsList))), 50);
|
||||
layer.setFilter(filter);
|
||||
assertEquals(layer.getFilter().toString(), filter.toString());
|
||||
|
||||
// distance with Polygon
|
||||
filter = lt(distance(Polygon.fromLngLats(Collections.singletonList(pointsList))), 50);
|
||||
layer.setFilter(filter);
|
||||
assertEquals(layer.getFilter().toString(), filter.toString());
|
||||
|
||||
// distance with MultiPolygon
|
||||
filter = lt(distance(MultiPolygon.fromLngLats(Collections
|
||||
.singletonList(Collections.singletonList(pointsList)))), 50);
|
||||
layer.setFilter(filter);
|
||||
assertEquals(layer.getFilter().toString(), filter.toString());
|
||||
}
|
||||
|
||||
@Test
|
||||
@UiThreadTest
|
||||
public void testFilterWithin() {
|
||||
Timber.i("FilterWithin");
|
||||
assertNotNull(layer);
|
||||
|
||||
// Get initial
|
||||
assertEquals(layer.getFilter(), null);
|
||||
|
||||
Expression filter = within(Polygon.fromLngLats(Collections.singletonList(pointsList)));
|
||||
layer.setFilter(filter);
|
||||
assertEquals(layer.getFilter().toString(), filter.toString());
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
|
||||
@@ -6,6 +6,12 @@ import android.graphics.Color;
|
||||
import androidx.test.annotation.UiThreadTest;
|
||||
import androidx.test.ext.junit.runners.AndroidJUnit4;
|
||||
|
||||
import com.mapbox.geojson.LineString;
|
||||
import com.mapbox.geojson.MultiLineString;
|
||||
import com.mapbox.geojson.MultiPoint;
|
||||
import com.mapbox.geojson.MultiPolygon;
|
||||
import com.mapbox.geojson.Point;
|
||||
import com.mapbox.geojson.Polygon;
|
||||
import com.mapbox.mapboxsdk.maps.BaseLayerTest;
|
||||
import org.junit.Before;
|
||||
import timber.log.Timber;
|
||||
@@ -22,6 +28,9 @@ import static com.mapbox.mapboxsdk.style.layers.Property.*;
|
||||
import static com.mapbox.mapboxsdk.style.layers.PropertyFactory.*;
|
||||
|
||||
import com.mapbox.mapboxsdk.style.layers.TransitionOptions;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Basic smoke tests for HillshadeLayer
|
||||
@@ -30,6 +39,19 @@ import com.mapbox.mapboxsdk.style.layers.TransitionOptions;
|
||||
public class HillshadeLayerTest extends BaseLayerTest {
|
||||
|
||||
private HillshadeLayer layer;
|
||||
private final List<Point> pointsList = new ArrayList<Point>() {
|
||||
{
|
||||
add(Point.fromLngLat(55.30122473231012, 25.26476622289597));
|
||||
add(Point.fromLngLat(55.29743486255916, 25.25827212207261));
|
||||
add(Point.fromLngLat(55.28978863411328, 25.251356725509737));
|
||||
add(Point.fromLngLat(55.300027931336984, 25.246425506635504));
|
||||
add(Point.fromLngLat(55.307474692951274, 25.244200378933655));
|
||||
add(Point.fromLngLat(55.31212891895635, 25.256408010450187));
|
||||
add(Point.fromLngLat(55.30774064871093, 25.26266169122738));
|
||||
add(Point.fromLngLat(55.301357710197806, 25.264946609615492));
|
||||
add(Point.fromLngLat(55.30122473231012, 25.26476622289597));
|
||||
}
|
||||
};
|
||||
|
||||
@Before
|
||||
@UiThreadTest
|
||||
|
||||
@@ -6,6 +6,12 @@ import android.graphics.Color;
|
||||
import androidx.test.annotation.UiThreadTest;
|
||||
import androidx.test.ext.junit.runners.AndroidJUnit4;
|
||||
|
||||
import com.mapbox.geojson.LineString;
|
||||
import com.mapbox.geojson.MultiLineString;
|
||||
import com.mapbox.geojson.MultiPoint;
|
||||
import com.mapbox.geojson.MultiPolygon;
|
||||
import com.mapbox.geojson.Point;
|
||||
import com.mapbox.geojson.Polygon;
|
||||
import com.mapbox.mapboxsdk.maps.BaseLayerTest;
|
||||
import org.junit.Before;
|
||||
import timber.log.Timber;
|
||||
@@ -22,6 +28,9 @@ import static com.mapbox.mapboxsdk.style.layers.Property.*;
|
||||
import static com.mapbox.mapboxsdk.style.layers.PropertyFactory.*;
|
||||
|
||||
import com.mapbox.mapboxsdk.style.layers.TransitionOptions;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Basic smoke tests for LineLayer
|
||||
@@ -30,6 +39,19 @@ import com.mapbox.mapboxsdk.style.layers.TransitionOptions;
|
||||
public class LineLayerTest extends BaseLayerTest {
|
||||
|
||||
private LineLayer layer;
|
||||
private final List<Point> pointsList = new ArrayList<Point>() {
|
||||
{
|
||||
add(Point.fromLngLat(55.30122473231012, 25.26476622289597));
|
||||
add(Point.fromLngLat(55.29743486255916, 25.25827212207261));
|
||||
add(Point.fromLngLat(55.28978863411328, 25.251356725509737));
|
||||
add(Point.fromLngLat(55.300027931336984, 25.246425506635504));
|
||||
add(Point.fromLngLat(55.307474692951274, 25.244200378933655));
|
||||
add(Point.fromLngLat(55.31212891895635, 25.256408010450187));
|
||||
add(Point.fromLngLat(55.30774064871093, 25.26266169122738));
|
||||
add(Point.fromLngLat(55.301357710197806, 25.264946609615492));
|
||||
add(Point.fromLngLat(55.30122473231012, 25.26476622289597));
|
||||
}
|
||||
};
|
||||
|
||||
@Before
|
||||
@UiThreadTest
|
||||
@@ -97,6 +119,60 @@ public class LineLayerTest extends BaseLayerTest {
|
||||
assertEquals(layer.getFilter().toString(), filter.toString());
|
||||
}
|
||||
|
||||
@Test
|
||||
@UiThreadTest
|
||||
public void testFilterDistance() {
|
||||
Timber.i("FilterDistance");
|
||||
assertNotNull(layer);
|
||||
|
||||
// Get initial
|
||||
assertEquals(layer.getFilter(), null);
|
||||
|
||||
// distance with Point
|
||||
Expression filter = lt(distance(Point.fromLngLat(1.0, 1.0)), 50);
|
||||
layer.setFilter(filter);
|
||||
assertEquals(layer.getFilter().toString(), filter.toString());
|
||||
|
||||
// distance with LineString
|
||||
filter = lt(distance(LineString.fromLngLats(pointsList)), 50);
|
||||
layer.setFilter(filter);
|
||||
assertEquals(layer.getFilter().toString(), filter.toString());
|
||||
|
||||
// distance with MultiPoint
|
||||
filter = lt(distance(MultiPoint.fromLngLats(pointsList)), 50);
|
||||
layer.setFilter(filter);
|
||||
assertEquals(layer.getFilter().toString(), filter.toString());
|
||||
|
||||
// distance with MultiPoint
|
||||
filter = lt(distance(MultiLineString.fromLngLats(Collections.singletonList(pointsList))), 50);
|
||||
layer.setFilter(filter);
|
||||
assertEquals(layer.getFilter().toString(), filter.toString());
|
||||
|
||||
// distance with Polygon
|
||||
filter = lt(distance(Polygon.fromLngLats(Collections.singletonList(pointsList))), 50);
|
||||
layer.setFilter(filter);
|
||||
assertEquals(layer.getFilter().toString(), filter.toString());
|
||||
|
||||
// distance with MultiPolygon
|
||||
filter = lt(distance(MultiPolygon.fromLngLats(Collections
|
||||
.singletonList(Collections.singletonList(pointsList)))), 50);
|
||||
layer.setFilter(filter);
|
||||
assertEquals(layer.getFilter().toString(), filter.toString());
|
||||
}
|
||||
|
||||
@Test
|
||||
@UiThreadTest
|
||||
public void testFilterWithin() {
|
||||
Timber.i("FilterWithin");
|
||||
assertNotNull(layer);
|
||||
|
||||
// Get initial
|
||||
assertEquals(layer.getFilter(), null);
|
||||
|
||||
Expression filter = within(Polygon.fromLngLats(Collections.singletonList(pointsList)));
|
||||
layer.setFilter(filter);
|
||||
assertEquals(layer.getFilter().toString(), filter.toString());
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
|
||||
@@ -6,6 +6,12 @@ import android.graphics.Color;
|
||||
import androidx.test.annotation.UiThreadTest;
|
||||
import androidx.test.ext.junit.runners.AndroidJUnit4;
|
||||
|
||||
import com.mapbox.geojson.LineString;
|
||||
import com.mapbox.geojson.MultiLineString;
|
||||
import com.mapbox.geojson.MultiPoint;
|
||||
import com.mapbox.geojson.MultiPolygon;
|
||||
import com.mapbox.geojson.Point;
|
||||
import com.mapbox.geojson.Polygon;
|
||||
import com.mapbox.mapboxsdk.maps.BaseLayerTest;
|
||||
import org.junit.Before;
|
||||
import timber.log.Timber;
|
||||
@@ -22,6 +28,9 @@ import static com.mapbox.mapboxsdk.style.layers.Property.*;
|
||||
import static com.mapbox.mapboxsdk.style.layers.PropertyFactory.*;
|
||||
|
||||
import com.mapbox.mapboxsdk.style.layers.TransitionOptions;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Basic smoke tests for RasterLayer
|
||||
@@ -30,6 +39,19 @@ import com.mapbox.mapboxsdk.style.layers.TransitionOptions;
|
||||
public class RasterLayerTest extends BaseLayerTest {
|
||||
|
||||
private RasterLayer layer;
|
||||
private final List<Point> pointsList = new ArrayList<Point>() {
|
||||
{
|
||||
add(Point.fromLngLat(55.30122473231012, 25.26476622289597));
|
||||
add(Point.fromLngLat(55.29743486255916, 25.25827212207261));
|
||||
add(Point.fromLngLat(55.28978863411328, 25.251356725509737));
|
||||
add(Point.fromLngLat(55.300027931336984, 25.246425506635504));
|
||||
add(Point.fromLngLat(55.307474692951274, 25.244200378933655));
|
||||
add(Point.fromLngLat(55.31212891895635, 25.256408010450187));
|
||||
add(Point.fromLngLat(55.30774064871093, 25.26266169122738));
|
||||
add(Point.fromLngLat(55.301357710197806, 25.264946609615492));
|
||||
add(Point.fromLngLat(55.30122473231012, 25.26476622289597));
|
||||
}
|
||||
};
|
||||
|
||||
@Before
|
||||
@UiThreadTest
|
||||
|
||||
@@ -6,6 +6,12 @@ import android.graphics.Color;
|
||||
import androidx.test.annotation.UiThreadTest;
|
||||
import androidx.test.ext.junit.runners.AndroidJUnit4;
|
||||
|
||||
import com.mapbox.geojson.LineString;
|
||||
import com.mapbox.geojson.MultiLineString;
|
||||
import com.mapbox.geojson.MultiPoint;
|
||||
import com.mapbox.geojson.MultiPolygon;
|
||||
import com.mapbox.geojson.Point;
|
||||
import com.mapbox.geojson.Polygon;
|
||||
import com.mapbox.mapboxsdk.maps.BaseLayerTest;
|
||||
import org.junit.Before;
|
||||
import timber.log.Timber;
|
||||
@@ -24,6 +30,9 @@ import static com.mapbox.mapboxsdk.style.layers.Property.*;
|
||||
import static com.mapbox.mapboxsdk.style.layers.PropertyFactory.*;
|
||||
|
||||
import com.mapbox.mapboxsdk.style.layers.TransitionOptions;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Basic smoke tests for SymbolLayer
|
||||
@@ -32,6 +41,19 @@ import com.mapbox.mapboxsdk.style.layers.TransitionOptions;
|
||||
public class SymbolLayerTest extends BaseLayerTest {
|
||||
|
||||
private SymbolLayer layer;
|
||||
private final List<Point> pointsList = new ArrayList<Point>() {
|
||||
{
|
||||
add(Point.fromLngLat(55.30122473231012, 25.26476622289597));
|
||||
add(Point.fromLngLat(55.29743486255916, 25.25827212207261));
|
||||
add(Point.fromLngLat(55.28978863411328, 25.251356725509737));
|
||||
add(Point.fromLngLat(55.300027931336984, 25.246425506635504));
|
||||
add(Point.fromLngLat(55.307474692951274, 25.244200378933655));
|
||||
add(Point.fromLngLat(55.31212891895635, 25.256408010450187));
|
||||
add(Point.fromLngLat(55.30774064871093, 25.26266169122738));
|
||||
add(Point.fromLngLat(55.301357710197806, 25.264946609615492));
|
||||
add(Point.fromLngLat(55.30122473231012, 25.26476622289597));
|
||||
}
|
||||
};
|
||||
|
||||
@Before
|
||||
@UiThreadTest
|
||||
@@ -99,6 +121,60 @@ public class SymbolLayerTest extends BaseLayerTest {
|
||||
assertEquals(layer.getFilter().toString(), filter.toString());
|
||||
}
|
||||
|
||||
@Test
|
||||
@UiThreadTest
|
||||
public void testFilterDistance() {
|
||||
Timber.i("FilterDistance");
|
||||
assertNotNull(layer);
|
||||
|
||||
// Get initial
|
||||
assertEquals(layer.getFilter(), null);
|
||||
|
||||
// distance with Point
|
||||
Expression filter = lt(distance(Point.fromLngLat(1.0, 1.0)), 50);
|
||||
layer.setFilter(filter);
|
||||
assertEquals(layer.getFilter().toString(), filter.toString());
|
||||
|
||||
// distance with LineString
|
||||
filter = lt(distance(LineString.fromLngLats(pointsList)), 50);
|
||||
layer.setFilter(filter);
|
||||
assertEquals(layer.getFilter().toString(), filter.toString());
|
||||
|
||||
// distance with MultiPoint
|
||||
filter = lt(distance(MultiPoint.fromLngLats(pointsList)), 50);
|
||||
layer.setFilter(filter);
|
||||
assertEquals(layer.getFilter().toString(), filter.toString());
|
||||
|
||||
// distance with MultiPoint
|
||||
filter = lt(distance(MultiLineString.fromLngLats(Collections.singletonList(pointsList))), 50);
|
||||
layer.setFilter(filter);
|
||||
assertEquals(layer.getFilter().toString(), filter.toString());
|
||||
|
||||
// distance with Polygon
|
||||
filter = lt(distance(Polygon.fromLngLats(Collections.singletonList(pointsList))), 50);
|
||||
layer.setFilter(filter);
|
||||
assertEquals(layer.getFilter().toString(), filter.toString());
|
||||
|
||||
// distance with MultiPolygon
|
||||
filter = lt(distance(MultiPolygon.fromLngLats(Collections
|
||||
.singletonList(Collections.singletonList(pointsList)))), 50);
|
||||
layer.setFilter(filter);
|
||||
assertEquals(layer.getFilter().toString(), filter.toString());
|
||||
}
|
||||
|
||||
@Test
|
||||
@UiThreadTest
|
||||
public void testFilterWithin() {
|
||||
Timber.i("FilterWithin");
|
||||
assertNotNull(layer);
|
||||
|
||||
// Get initial
|
||||
assertEquals(layer.getFilter(), null);
|
||||
|
||||
Expression filter = within(Polygon.fromLngLats(Collections.singletonList(pointsList)));
|
||||
layer.setFilter(filter);
|
||||
assertEquals(layer.getFilter().toString(), filter.toString());
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
|
||||
@@ -14,6 +14,12 @@ import android.graphics.Color;
|
||||
import androidx.test.annotation.UiThreadTest;
|
||||
import androidx.test.ext.junit.runners.AndroidJUnit4;
|
||||
|
||||
import com.mapbox.geojson.LineString;
|
||||
import com.mapbox.geojson.MultiLineString;
|
||||
import com.mapbox.geojson.MultiPoint;
|
||||
import com.mapbox.geojson.MultiPolygon;
|
||||
import com.mapbox.geojson.Point;
|
||||
import com.mapbox.geojson.Polygon;
|
||||
import com.mapbox.mapboxsdk.maps.BaseLayerTest;
|
||||
import org.junit.Before;
|
||||
import timber.log.Timber;
|
||||
@@ -40,6 +46,9 @@ import static com.mapbox.mapboxsdk.style.layers.PropertyFactory.*;
|
||||
<% } -%>
|
||||
|
||||
import com.mapbox.mapboxsdk.style.layers.TransitionOptions;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Basic smoke tests for <%- camelize(type) %>Layer
|
||||
@@ -48,6 +57,19 @@ import com.mapbox.mapboxsdk.style.layers.TransitionOptions;
|
||||
public class <%- camelize(type) %>LayerTest extends BaseLayerTest {
|
||||
|
||||
private <%- camelize(type) %>Layer layer;
|
||||
private final List<Point> pointsList = new ArrayList<Point>() {
|
||||
{
|
||||
add(Point.fromLngLat(55.30122473231012, 25.26476622289597));
|
||||
add(Point.fromLngLat(55.29743486255916, 25.25827212207261));
|
||||
add(Point.fromLngLat(55.28978863411328, 25.251356725509737));
|
||||
add(Point.fromLngLat(55.300027931336984, 25.246425506635504));
|
||||
add(Point.fromLngLat(55.307474692951274, 25.244200378933655));
|
||||
add(Point.fromLngLat(55.31212891895635, 25.256408010450187));
|
||||
add(Point.fromLngLat(55.30774064871093, 25.26266169122738));
|
||||
add(Point.fromLngLat(55.301357710197806, 25.264946609615492));
|
||||
add(Point.fromLngLat(55.30122473231012, 25.26476622289597));
|
||||
}
|
||||
};
|
||||
|
||||
@Before
|
||||
@UiThreadTest
|
||||
@@ -122,6 +144,60 @@ public class <%- camelize(type) %>LayerTest extends BaseLayerTest {
|
||||
assertEquals(layer.getFilter().toString(), filter.toString());
|
||||
}
|
||||
|
||||
@Test
|
||||
@UiThreadTest
|
||||
public void testFilterDistance() {
|
||||
Timber.i("FilterDistance");
|
||||
assertNotNull(layer);
|
||||
|
||||
// Get initial
|
||||
assertEquals(layer.getFilter(), null);
|
||||
|
||||
// distance with Point
|
||||
Expression filter = lt(distance(Point.fromLngLat(1.0, 1.0)), 50);
|
||||
layer.setFilter(filter);
|
||||
assertEquals(layer.getFilter().toString(), filter.toString());
|
||||
|
||||
// distance with LineString
|
||||
filter = lt(distance(LineString.fromLngLats(pointsList)), 50);
|
||||
layer.setFilter(filter);
|
||||
assertEquals(layer.getFilter().toString(), filter.toString());
|
||||
|
||||
// distance with MultiPoint
|
||||
filter = lt(distance(MultiPoint.fromLngLats(pointsList)), 50);
|
||||
layer.setFilter(filter);
|
||||
assertEquals(layer.getFilter().toString(), filter.toString());
|
||||
|
||||
// distance with MultiPoint
|
||||
filter = lt(distance(MultiLineString.fromLngLats(Collections.singletonList(pointsList))), 50);
|
||||
layer.setFilter(filter);
|
||||
assertEquals(layer.getFilter().toString(), filter.toString());
|
||||
|
||||
// distance with Polygon
|
||||
filter = lt(distance(Polygon.fromLngLats(Collections.singletonList(pointsList))), 50);
|
||||
layer.setFilter(filter);
|
||||
assertEquals(layer.getFilter().toString(), filter.toString());
|
||||
|
||||
// distance with MultiPolygon
|
||||
filter = lt(distance(MultiPolygon.fromLngLats(Collections
|
||||
.singletonList(Collections.singletonList(pointsList)))), 50);
|
||||
layer.setFilter(filter);
|
||||
assertEquals(layer.getFilter().toString(), filter.toString());
|
||||
}
|
||||
|
||||
@Test
|
||||
@UiThreadTest
|
||||
public void testFilterWithin() {
|
||||
Timber.i("FilterWithin");
|
||||
assertNotNull(layer);
|
||||
|
||||
// Get initial
|
||||
assertEquals(layer.getFilter(), null);
|
||||
|
||||
Expression filter = within(Polygon.fromLngLats(Collections.singletonList(pointsList)));
|
||||
layer.setFilter(filter);
|
||||
assertEquals(layer.getFilter().toString(), filter.toString());
|
||||
}
|
||||
|
||||
<% } -%>
|
||||
<% for (const property of properties) { -%>
|
||||
|
||||
2
vendor/mapbox-gl-native
vendored
2
vendor/mapbox-gl-native
vendored
Submodule vendor/mapbox-gl-native updated: de12a0647d...d60fd302b1
Reference in New Issue
Block a user