summaryrefslogtreecommitdiff
path: root/platform/android/MapboxGLAndroidSDKTestApp
diff options
context:
space:
mode:
authorJohn Firebaugh <john.firebaugh@gmail.com>2017-04-03 12:18:13 -0700
committerJohn Firebaugh <john.firebaugh@gmail.com>2017-04-06 09:22:51 -0700
commita261f7ff532584b3bbbe4ddef2d0ff96a1ee65a5 (patch)
tree18a22315f543917ee61537a1df21e087dae7a925 /platform/android/MapboxGLAndroidSDKTestApp
parente6122d9bf0d4b38059ee125fcfcfe7b369907a40 (diff)
downloadqtlocation-mapboxgl-a261f7ff532584b3bbbe4ddef2d0ff96a1ee65a5.tar.gz
[android] Preflight argument validity before constructing LatLng
Diffstat (limited to 'platform/android/MapboxGLAndroidSDKTestApp')
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/test/java/com/mapbox/mapboxsdk/geometry/LatLngBoundsTest.java23
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/test/java/com/mapbox/mapboxsdk/geometry/LatLngTest.java75
2 files changed, 84 insertions, 14 deletions
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/test/java/com/mapbox/mapboxsdk/geometry/LatLngBoundsTest.java b/platform/android/MapboxGLAndroidSDKTestApp/src/test/java/com/mapbox/mapboxsdk/geometry/LatLngBoundsTest.java
index 4630f9f8b6..8d9a360714 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/test/java/com/mapbox/mapboxsdk/geometry/LatLngBoundsTest.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/test/java/com/mapbox/mapboxsdk/geometry/LatLngBoundsTest.java
@@ -4,7 +4,6 @@ import android.os.Parcelable;
import com.mapbox.mapboxsdk.exceptions.InvalidLatLngBoundsException;
import com.mapbox.mapboxsdk.utils.MockParcel;
-import com.mapbox.services.android.telemetry.constants.GeoConstants;
import org.junit.Before;
import org.junit.Test;
@@ -138,21 +137,17 @@ public class LatLngBoundsTest {
}
@Test
- public void containsNotBiggerBoundsInWorld() {
- LatLngBounds biggerWorldBounds = new LatLngBounds.Builder()
- .include(new LatLng(GeoConstants.MAX_LATITUDE + 10, GeoConstants.MIN_LONGITUDE - 10))
- .include(new LatLng(GeoConstants.MIN_LATITUDE - 10, GeoConstants.MAX_LONGITUDE + 10))
+ public void containsBounds() {
+ LatLngBounds inner = new LatLngBounds.Builder()
+ .include(new LatLng(-5, -5))
+ .include(new LatLng(5, 5))
.build();
- assertFalse("Bounds should not be contained ", LatLngBounds.world().contains(biggerWorldBounds));
- }
-
- @Test
- public void containsNotBoundsInWorld() {
- LatLngBounds outSideWorldBounds = new LatLngBounds.Builder()
- .include(new LatLng(GeoConstants.MAX_LATITUDE + 10, GeoConstants.MAX_LONGITUDE + 10))
- .include(new LatLng(GeoConstants.MAX_LATITUDE + 20, GeoConstants.MAX_LONGITUDE + 20))
+ LatLngBounds outer = new LatLngBounds.Builder()
+ .include(new LatLng(-10, -10))
+ .include(new LatLng(10, 10))
.build();
- assertFalse("Bounds should not be contained ", LatLngBounds.world().contains(outSideWorldBounds));
+ assertTrue(outer.contains(inner));
+ assertFalse(inner.contains(outer));
}
@Test
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/test/java/com/mapbox/mapboxsdk/geometry/LatLngTest.java b/platform/android/MapboxGLAndroidSDKTestApp/src/test/java/com/mapbox/mapboxsdk/geometry/LatLngTest.java
index 06fe1c91b9..06e93b9d2f 100644
--- a/platform/android/MapboxGLAndroidSDKTestApp/src/test/java/com/mapbox/mapboxsdk/geometry/LatLngTest.java
+++ b/platform/android/MapboxGLAndroidSDKTestApp/src/test/java/com/mapbox/mapboxsdk/geometry/LatLngTest.java
@@ -6,6 +6,8 @@ import android.os.Parcelable;
import com.mapbox.mapboxsdk.utils.MockParcel;
import org.junit.Test;
+import org.junit.Rule;
+import org.junit.rules.ExpectedException;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotEquals;
@@ -79,6 +81,79 @@ public class LatLngTest {
assertEquals("longitude should match", 3, latLng.getLongitude(), DELTA);
}
+ @Rule
+ public final ExpectedException exception = ExpectedException.none();
+
+ @Test
+ public void testConstructorChecksLatitudeNaN() {
+ exception.expect(IllegalArgumentException.class);
+ exception.expectMessage("latitude must not be NaN");
+ new LatLng(Double.NaN, 0);
+ }
+
+ @Test
+ public void testConstructorChecksLongitudeNaN() {
+ exception.expect(IllegalArgumentException.class);
+ exception.expectMessage("longitude must not be NaN");
+ new LatLng(0, Double.NaN);
+ }
+
+ @Test
+ public void testConstructorChecksLatitudeGreaterThan90() {
+ exception.expect(IllegalArgumentException.class);
+ exception.expectMessage("latitude must be between -90 and 90");
+ new LatLng(95, 0);
+ }
+
+ @Test
+ public void testConstructorChecksLatitudeLessThanThanNegative90() {
+ exception.expect(IllegalArgumentException.class);
+ exception.expectMessage("latitude must be between -90 and 90");
+ new LatLng(-95, 0);
+ }
+
+ @Test
+ public void testConstructorChecksLongitudeInfinity() {
+ exception.expect(IllegalArgumentException.class);
+ exception.expectMessage("longitude must not be infinite");
+ new LatLng(0, Double.POSITIVE_INFINITY);
+ }
+
+ @Test
+ public void testLatitudeSetterChecksNaN() {
+ exception.expect(IllegalArgumentException.class);
+ exception.expectMessage("latitude must not be NaN");
+ new LatLng().setLatitude(Double.NaN);
+ }
+
+ @Test
+ public void testLongitudeSetterChecksNaN() {
+ exception.expect(IllegalArgumentException.class);
+ exception.expectMessage("longitude must not be NaN");
+ new LatLng().setLongitude(Double.NaN);
+ }
+
+ @Test
+ public void testLatitudeSetterChecksGreaterThan90() {
+ exception.expect(IllegalArgumentException.class);
+ exception.expectMessage("latitude must be between -90 and 90");
+ new LatLng().setLatitude(95);
+ }
+
+ @Test
+ public void testLatitudeSetterChecksLessThanThanNegative90() {
+ exception.expect(IllegalArgumentException.class);
+ exception.expectMessage("latitude must be between -90 and 90");
+ new LatLng().setLatitude(-95);
+ }
+
+ @Test
+ public void testLongitudeSetterChecksInfinity() {
+ exception.expect(IllegalArgumentException.class);
+ exception.expectMessage("longitude must not be infinite");
+ new LatLng().setLongitude(Double.NEGATIVE_INFINITY);
+ }
+
@Test
public void testAltitudeSetter() {
LatLng latLng = new LatLng(1.2, 3.4);