aboutsummaryrefslogtreecommitdiff
path: root/src/test/java/org/geojson/LngLatAltTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/java/org/geojson/LngLatAltTest.java')
-rw-r--r--src/test/java/org/geojson/LngLatAltTest.java184
1 files changed, 184 insertions, 0 deletions
diff --git a/src/test/java/org/geojson/LngLatAltTest.java b/src/test/java/org/geojson/LngLatAltTest.java
new file mode 100644
index 0000000..7045de7
--- /dev/null
+++ b/src/test/java/org/geojson/LngLatAltTest.java
@@ -0,0 +1,184 @@
+package org.geojson;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+public class LngLatAltTest {
+
+ @Test
+ public void should_LngLatAlt_equals_without_alt() {
+ LngLatAlt first = new LngLatAlt(14.D, 13.D);
+ LngLatAlt second = new LngLatAlt(14.D, 13.D);
+ Assert.assertEquals(second, first);
+ }
+
+ @Test
+ public void should_LngLatAlt_equals_with_alt() {
+ LngLatAlt first = new LngLatAlt(14.D, 13.D, 15D);
+ LngLatAlt second = new LngLatAlt(14.D, 13.D, 15D);
+ Assert.assertEquals(second, first);
+ }
+
+ @Test
+ public void should_not_LngLatAlt_equals_with_alt() {
+ LngLatAlt first = new LngLatAlt(14.D, 13.D, 15D);
+ LngLatAlt second = new LngLatAlt(14.D, 13.D, 16D);
+ Assert.assertNotEquals(second, first);
+ }
+
+ @Test
+ public void should_not_LngLatAlt_equals_without_alt() {
+ LngLatAlt first = new LngLatAlt(14.D, 14.D, 15D);
+ LngLatAlt second = new LngLatAlt(14.D, 13.D, 16D);
+ Assert.assertNotEquals(second, first);
+ }
+
+ @Test
+ public void should_LngLatAlt_equals_with_additional_elements() {
+ LngLatAlt first = new LngLatAlt(14.D, 14.D, 15D, 16D, 17D);
+ LngLatAlt second = new LngLatAlt(14.D, 14.D, 15D, 16D, 17D);
+ Assert.assertEquals(second, first);
+ Assert.assertEquals(second.hashCode(), first.hashCode());
+ }
+
+ @Test
+ public void should_LngLatAlt_equals_with_additional_elements_and_null() {
+ LngLatAlt first = new LngLatAlt(14.D, 14.D, 15D, 16D, 17D);
+ LngLatAlt second = new LngLatAlt(14.D, 14.D, 15D, 16D, 17D);
+ Assert.assertEquals(second, first);
+ Assert.assertEquals(second.hashCode(), first.hashCode());
+ }
+
+ @Test
+ public void should_not_LngLatAlt_equals_without_additional_elements() {
+ LngLatAlt first = new LngLatAlt(14.D, 14.D, 15D, 16D, 17D);
+ LngLatAlt second = new LngLatAlt(14.D, 14.D, 15D);
+ Assert.assertNotEquals(second, first);
+ Assert.assertNotEquals(second.hashCode(), first.hashCode());
+ }
+
+ @Test
+ public void should_not_LngLatAlt_equals_with_additional_elements_in_different_order() {
+ LngLatAlt first = new LngLatAlt(14.D, 14.D, 15D, 16D, 17D);
+ LngLatAlt second = new LngLatAlt(14.D, 14.D, 15D, 17D, 16D);
+ Assert.assertNotEquals(second, first);
+ Assert.assertNotEquals(second.hashCode(), first.hashCode());
+ }
+
+ @Test
+ public void should_not_LngLatAlt_equals_with_additional_elements_and_different_size() {
+ LngLatAlt first = new LngLatAlt(14.D, 14.D, 15D, 16D, 17D);
+ LngLatAlt second = new LngLatAlt(14.D, 14.D, 15D, 16D, 17D, 18D);
+ Assert.assertNotEquals(second, first);
+ Assert.assertNotEquals(second.hashCode(), first.hashCode());
+ }
+
+ @Test
+ public void should_LngLatAlt_throw_if_alt_not_specified_in_constructor() {
+ try {
+ new LngLatAlt(14.D, 14.D, Double.NaN, 16D, 17D);
+ Assert.fail("Additional elements are not allowed if altitude is Nan.");
+ } catch (IllegalArgumentException e) {
+ Assert.assertTrue("Expected exception.", true);
+ }
+ }
+
+ @Test
+ public void should_LngLatAlt_throw_if_alt_set_to_Nan_with_additional_elements() {
+ LngLatAlt lngLatAlt = new LngLatAlt(14.D, 14.D, 15.D, 16D, 17D);
+
+ try {
+ lngLatAlt.setAltitude(Double.NaN);
+ Assert.fail("Additional elements are not allowed if altitude is Nan.");
+ } catch (IllegalArgumentException e) {
+ Assert.assertTrue("Expected exception.", true);
+ }
+ }
+
+ @Test
+ public void should_LngLatAlt_throw_if_additional_elements_set_with_missing_alt() {
+ LngLatAlt lngLatAlt = new LngLatAlt(14.D, 14.D);
+
+ try {
+ lngLatAlt.setAdditionalElements(42);
+ Assert.fail("Additional elements are not allowed if altitude is Nan.");
+ } catch (IllegalArgumentException e) {
+ Assert.assertTrue("Expected exception.", true);
+ }
+ }
+
+ @Test
+ public void should_LngLatAlt_throw_if_additional_elements_set_with_Nan_alt() {
+ LngLatAlt lngLatAlt = new LngLatAlt(14.D, 14.D, Double.NaN);
+
+ try {
+ lngLatAlt.setAdditionalElements(42);
+ Assert.fail("Additional elements are not allowed if altitude is Nan.");
+ } catch (IllegalArgumentException e) {
+ Assert.assertTrue("Expected exception.", true);
+ }
+ }
+
+ @Test
+ public void should_LngLatAlt_throw_if_any_additional_elements_constructed_to_Nan() {
+ try {
+ new LngLatAlt(14.D, 14.D, 15.D, 16.D, Double.NaN, 17.D);
+ Assert.fail("Additional elements are not allowed to be Nan.");
+ } catch (IllegalArgumentException e) {
+ Assert.assertTrue("Expected exception.", true);
+ }
+ }
+
+ @Test
+ public void should_LngLatAlt_throw_if_any_additional_elements_constructed_to_Positive_Infinity() {
+ try {
+ new LngLatAlt(14.D, 14.D, 15.D, 16.D, Double.POSITIVE_INFINITY, 17.D);
+ Assert.fail("Additional elements are not allowed to be positive infinity.");
+ } catch (IllegalArgumentException e) {
+ Assert.assertTrue("Expected exception.", true);
+ }
+ }
+
+ @Test
+ public void should_LngLatAlt_throw_if_any_additional_elements_constructed_to_Negative_Infinity() {
+ try {
+ new LngLatAlt(14.D, 14.D, 15.D, 16.D, Double.NEGATIVE_INFINITY, 17.D);
+ Assert.fail("Additional elements are not allowed to be positive infinity.");
+ } catch (IllegalArgumentException e) {
+ Assert.assertTrue("Expected exception.", true);
+ }
+ }
+
+ @Test
+ public void should_LngLatAlt_throw_if_any_additional_elements_set_to_Nan() {
+ LngLatAlt lngLatAlt = new LngLatAlt(14.D, 14.D, 15.D);
+ try {
+ lngLatAlt.setAdditionalElements(16.D, Double.NaN, 17.D);
+ Assert.fail("Additional elements are not allowed to be Nan.");
+ } catch (IllegalArgumentException e) {
+ Assert.assertTrue("Expected exception.", true);
+ }
+ }
+
+ @Test
+ public void should_LngLatAlt_throw_if_any_additional_elements_set_to_Positive_Infinity() {
+ LngLatAlt lngLatAlt = new LngLatAlt(14.D, 14.D, 15.D);
+ try {
+ lngLatAlt.setAdditionalElements(16.D, Double.POSITIVE_INFINITY, 17.D);
+ Assert.fail("Additional elements are not allowed to be positive infinity.");
+ } catch (IllegalArgumentException e) {
+ Assert.assertTrue("Expected exception.", true);
+ }
+ }
+
+ @Test
+ public void should_LngLatAlt_throw_if_any_additional_elements_set_to_Negative_Infinity() {
+ LngLatAlt lngLatAlt = new LngLatAlt(14.D, 14.D, 15.D);
+ try {
+ lngLatAlt.setAdditionalElements(16.D, Double.NEGATIVE_INFINITY, 17.D);
+ Assert.fail("Additional elements are not allowed to be positive infinity.");
+ } catch (IllegalArgumentException e) {
+ Assert.assertTrue("Expected exception.", true);
+ }
+ }
+} \ No newline at end of file