Add api and demo for expression distance (#339)

* Add api and demo for expression distance

* Update test case
This commit is contained in:
Kevin Li
2020-04-24 16:55:02 +08:00
committed by GitHub
parent 161abf8326
commit 5cee66a451
7 changed files with 198 additions and 1 deletions

View File

@@ -37,6 +37,7 @@ import static com.mapbox.mapboxsdk.style.expressions.Expression.color;
import static com.mapbox.mapboxsdk.style.expressions.Expression.concat;
import static com.mapbox.mapboxsdk.style.expressions.Expression.cos;
import static com.mapbox.mapboxsdk.style.expressions.Expression.cubicBezier;
import static com.mapbox.mapboxsdk.style.expressions.Expression.distance;
import static com.mapbox.mapboxsdk.style.expressions.Expression.division;
import static com.mapbox.mapboxsdk.style.expressions.Expression.downcase;
import static com.mapbox.mapboxsdk.style.expressions.Expression.e;
@@ -487,6 +488,22 @@ public class ExpressionTest {
assertTrue("expression should match", Arrays.deepEquals(expected, actual));
}
@Test
public void testDistance() throws Exception {
Point point = Point.fromLngLat(1, 2);
HashMap<String, String> map = new HashMap<>();
map.put("json", point.toJson());
Object[] expected = new Object[] {"distance", map};
Object[] actual = distance(point).toArray();
assertTrue("expression should match", Arrays.deepEquals(expected, actual));
Object[] expectedWithUnit = new Object[] {"distance", map, "meters"};
Object[] actualWithUnit = distance(point, "meters").toArray();
assertTrue("expression should match", Arrays.deepEquals(expectedWithUnit, actualWithUnit));
}
@Test
public void testInArray() throws Exception {
Object[] expected = new Object[] {"in", "one", new Object[] {"literal", new Object[] {"one", "two"}}};