GisFeatureGeography implements DistanceCalculator<GisFeatureGeography> { public static GisFeatureGeography gisFeatureGeography(final Double longitude, final Double latitude) { return new GisFeatureGeographyBuilder(longitude, latitude).build(); } private  GisFeatureGeography(); static GisFeatureGeography gisFeatureGeography(final Double longitude, final Double latitude); static GisFeatureGeography gisFeatureGeography(final Point location); GisFeatureGeography withLocation(final Point location); GisFeatureGeography withElevation(final Long elevation); GisFeatureGeography withGtopo30AverageElevation(final Long gtopo30AverageElevation); GisFeatureGeography withPopulation(final Long population); GisFeatureGeography withTimeZone(final DateTimeZone timeZone); @Override int hashCode(); @Override boolean equals(Object obj); Long getElevation(); Long getGtopo30AverageElevation(); Point getLocation(); double getLatitude(); double getLongitude(); Long getPopulation(); DateTimeZone getTimeZone(); double distance(GisFeatureGeography o, Unit<Length> unit); @Override String toString();  }
@Test(expected=IllegalArgumentException.class) public void shouldNotCreateGisFeatureGeographyWithNullGeometry() { GisFeatureGeography.gisFeatureGeography(null); }
@Test(expected=IllegalArgumentException.class) public void shouldNotCreateGisFeatureGeographyWithInvalidGeometryLongitude() { GisFeatureGeography.gisFeatureGeography(GeonamesGisFeature.GEOMETRY_FACTORY.createPoint(new Coordinate(-181.0, 0.0))); }
@Test(expected=IllegalArgumentException.class) public void shouldNotCreateGisFeatureGeographyWithInvalidGeometryLatitude() { GisFeatureGeography.gisFeatureGeography(GeonamesGisFeature.GEOMETRY_FACTORY.createPoint(new Coordinate(0.0, 91.0))); }
@Test(expected=IllegalArgumentException.class) public void shouldNotCreateGisFeatureGeographyWithInvalidLongitude() { GisFeatureGeography.gisFeatureGeography(-181.0, 0.0); }
@Test(expected=IllegalArgumentException.class) public void shouldNotCreateGisFeatureGeographyWithInvalidLatitude() { GisFeatureGeography.gisFeatureGeography(0.0, 91.0); }