diff options
Diffstat (limited to 'platform/android/MapboxGLAndroidSDK/src/test')
-rw-r--r-- | platform/android/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/style/expressions/ExpressionTest.java | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/platform/android/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/style/expressions/ExpressionTest.java b/platform/android/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/style/expressions/ExpressionTest.java index fb74904f96..79bcdd7b5e 100644 --- a/platform/android/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/style/expressions/ExpressionTest.java +++ b/platform/android/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/style/expressions/ExpressionTest.java @@ -1,12 +1,16 @@ package com.mapbox.mapboxsdk.style.expressions; import android.graphics.Color; + import com.mapbox.mapboxsdk.style.layers.PropertyFactory; + import org.junit.Test; import org.junit.runner.RunWith; import org.robolectric.RobolectricTestRunner; import java.util.Arrays; +import java.util.HashMap; +import java.util.Locale; import static com.mapbox.mapboxsdk.style.expressions.Expression.abs; import static com.mapbox.mapboxsdk.style.expressions.Expression.acos; @@ -19,6 +23,7 @@ import static com.mapbox.mapboxsdk.style.expressions.Expression.atan; import static com.mapbox.mapboxsdk.style.expressions.Expression.bool; import static com.mapbox.mapboxsdk.style.expressions.Expression.ceil; import static com.mapbox.mapboxsdk.style.expressions.Expression.coalesce; +import static com.mapbox.mapboxsdk.style.expressions.Expression.collator; 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; @@ -60,6 +65,7 @@ import static com.mapbox.mapboxsdk.style.expressions.Expression.pow; import static com.mapbox.mapboxsdk.style.expressions.Expression.product; import static com.mapbox.mapboxsdk.style.expressions.Expression.properties; import static com.mapbox.mapboxsdk.style.expressions.Expression.raw; +import static com.mapbox.mapboxsdk.style.expressions.Expression.resolvedLocale; import static com.mapbox.mapboxsdk.style.expressions.Expression.rgb; import static com.mapbox.mapboxsdk.style.expressions.Expression.rgba; import static com.mapbox.mapboxsdk.style.expressions.Expression.round; @@ -1290,4 +1296,75 @@ public class ExpressionTest { String alpha = color.substring(0, color.length() - 1); assertEquals("alpha value should match", 0.254f, Float.valueOf(alpha), 0.001f); } + + @Test + public void testCollator() { + Object[] expected = new Object[] {"collator", + new HashMap<String, Object>() { + { + put("case-sensitive", true); + put("diacritic-sensitive", true); + put("locale", "it-IT"); + } + } + }; + Object[] actual = collator(true, true, Locale.ITALY).toArray(); + assertTrue("expression should match", Arrays.deepEquals(expected, actual)); + } + + @Test + public void testStringCollator() { + String expected = "[\"collator\", {\"diacritic-sensitive\": true, \"case-sensitive\": true, \"locale\": " + + "\"it\"}]"; + String actual = collator(true, true, Locale.ITALIAN).toString(); + assertEquals("expression should match", expected, actual); + } + + @Test + public void testResolvedLocale() { + Object[] expected = new Object[] {"resolved-locale", + new Object[] {"collator", + new HashMap<String, Object>() { + { + put("case-sensitive", false); + put("diacritic-sensitive", false); + put("locale", "it"); + } + } + } + }; + Object[] actual = resolvedLocale(collator(false, false, Locale.ITALIAN)).toArray(); + assertTrue("expression should match", Arrays.deepEquals(expected, actual)); + } + + @Test + public void testRawCollator() { + Object[] expected = new Object[] {"collator", + new HashMap<String, Object>() { + { + put("case-sensitive", true); + put("diacritic-sensitive", true); + put("locale", "it-IT"); + } + } + }; + Object[] actual = raw("[\"collator\", {\"diacritic-sensitive\": true, \"case-sensitive\": true, \"locale\": " + + "\"it-IT\"}]").toArray(); + assertTrue("expression should match", Arrays.deepEquals(expected, actual)); + } + + @Test + public void testRawCollatorDoubleConversion() { + Expression expected = collator(false, false, Locale.ITALIAN); + Object[] actual = raw(expected.toString()).toArray(); + assertTrue("expression should match", Arrays.deepEquals(expected.toArray(), actual)); + } + + @Test + public void testStringNestedCollator() { + String expected = "[\"collator\", {\"diacritic-sensitive\": [\"==\", 2.0, 1.0], \"case-sensitive\": false," + + " \"locale\": \"it\"}]"; + String actual = collator(literal(false), eq(literal(2), literal(1)), literal("it")).toString(); + assertEquals("expression should match", expected, actual); + } }
\ No newline at end of file |