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); } } }