package com.anjlab.ping.services;
import static org.junit.Assert.*;
import org.junit.Test;
import com.anjlab.ping.services.location.Location;
import com.anjlab.ping.services.location.gae.GeonamesTimeZoneResolver;
public class TestResolvers {
@Test
public void testParseIPLocation() {
Location location = Location.parseLocation(
"United States, California, Mountain View (37.4192; -122.0574)");
assertEquals("United States, California, Mountain View", location.getAddress());
assertEquals("37.4192", "" + location.getLatitude());
assertEquals("-122.0574", "" + location.getLongitude());
}
@Test
public void testParseIPLocation2() {
Location location = Location.parseLocation(
"(37.4192; -122.0574)");
assertEquals("", location.getAddress());
assertEquals("37.4192", "" + location.getLatitude());
assertEquals("-122.0574", "" + location.getLongitude());
}
@Test
public void testParseIPLocation3() {
Location location = Location.parseLocation(
Location.empty().toString());
assertEquals("null", location.getAddress());
assertEquals("0.0", "" + location.getLatitude());
assertEquals("0.0", "" + location.getLongitude());
}
@Test
public void testIsEmpty() {
assertTrue(Location.empty().isEmpty());
}
@Test
public void formatGeonamesURL() {
GeonamesTimeZoneResolver resolver = new GeonamesTimeZoneResolver(null, "user_name");
String url = resolver.formatURL(1.341, 3.123);
assertEquals("http://ws.geonames.org/timezoneJSON?lat=1.34&lng=3.12&username=user_name", url);
}
}