package com.google.gwt.maps.client.base; /* * #%L * GWT Maps API V3 - Core API * %% * Copyright (C) 2011 - 2012 GWT Maps API V3 * %% * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * #L% */ import com.google.gwt.maps.client.AbstractMapsGWTTestHelper; import com.google.gwt.maps.client.LoadApi.LoadLibrary; public class LatLngGwtTest extends AbstractMapsGWTTestHelper { public static final double MOCK_LAT = 38.0d; public static final double MOCK_LNG = 35.5d; @Override public LoadLibrary[] getLibraries() { return null; } public void testEqualsIsEqual() { asyncLibTest(new Runnable() { @Override public void run() { LatLng left = LatLng.newInstance(MOCK_LAT, MOCK_LNG); LatLng right = LatLng.newInstance(MOCK_LAT, MOCK_LNG); boolean equals = left.equals(right); assertEquals(true, equals); finishTest(); } }); } public void testEqualsIsNotEqual() { asyncLibTest(new Runnable() { @Override public void run() { LatLng left = LatLng.newInstance(MOCK_LAT + 0.3d, MOCK_LNG, false); LatLng right = LatLng.newInstance(MOCK_LAT, MOCK_LNG); boolean equals = left.equals(right); assertEquals(false, equals); finishTest(); } }); } public void testGetLatitude() { asyncLibTest(new Runnable() { @Override public void run() { double expected = MOCK_LAT + 0.3; LatLng ll = LatLng.newInstance(MOCK_LAT + 0.3d, MOCK_LNG); double actual = ll.getLatitude(); assertEquals(expected, actual); finishTest(); } }); } public void testGetLongitude() { asyncLibTest(new Runnable() { @Override public void run() { LatLng ll = LatLng.newInstance(MOCK_LAT + 0.3d, MOCK_LNG); double right = ll.getLongitude(); assertEquals(MOCK_LNG, right); finishTest(); } }); } public void testGetToString() { asyncLibTest(new Runnable() { @Override public void run() { LatLng ll = LatLng.newInstance(MOCK_LAT + 0.3d, MOCK_LNG); String left = "(38.3, 35.5)"; String right = ll.getToString(); assertEquals(left, right); finishTest(); } }); } public void testGetToUrlValue() { asyncLibTest(new Runnable() { @Override public void run() { LatLng ll = LatLng.newInstance(38.12345678901234567890d, 35.12345678901234567890d); String left = "38.123456789,35.123456789"; String right = ll.getToUrlValue(10); assertEquals(left, right); finishTest(); } }); } @SuppressWarnings("unused") public void testUse() { asyncLibTest(new Runnable() { @Override public void run() { LatLng ll = LatLng.newInstance(MOCK_LAT, MOCK_LNG); finishTest(); } }); } @SuppressWarnings("unused") public void testUse2() { asyncLibTest(new Runnable() { @Override public void run() { LatLng ll = LatLng.newInstance(MOCK_LAT, MOCK_LNG); finishTest(); } }); } @SuppressWarnings("unused") public void testUse3() { asyncLibTest(new Runnable() { @Override public void run() { LatLng ll = LatLng.newInstance(MOCK_LAT, MOCK_LNG, true); finishTest(); } }); } public void testWrapping() { asyncLibTest(new Runnable() { @Override public void run() { // range overflow LatLng ll = LatLng.newInstance(99.4d, 184.4d); assertEquals(90d, ll.getLatitude()); assertEquals(-175.60000000000002d, ll.getLongitude()); // range underflow LatLng ll2 = LatLng.newInstance(-99.4d, -184.4d); assertEquals(-90d, ll2.getLatitude()); assertEquals(175.60000000000002d, ll2.getLongitude()); // TODO // precision // issue, finishTest(); } }); } }