package org.iilab.pb.location;
import android.content.Context;
import android.location.Location;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.Robolectric;
import org.robolectric.RobolectricTestRunner;
import static android.location.LocationManager.NETWORK_PROVIDER;
import static java.lang.System.currentTimeMillis;
import static org.junit.Assert.assertEquals;
@RunWith(RobolectricTestRunner.class)
public class LocationFormatterTest {
Context context = Robolectric.application;
@Test
public void shouldReturnGoogleMapUrlForTheGivenLocation() {
double latitude = -183.123456;
double longitude = 78.654321;
Location location = LocationTestUtil.location(NETWORK_PROVIDER, latitude, longitude, currentTimeMillis(), 10.0f);
String expectedMessage = "I\\'m at https://maps.google.com/maps?q=" + latitude + "," + longitude +" via network";
LocationFormatter locationFormatter = new LocationFormatter(location);
assertEquals(expectedMessage, locationFormatter.format(context));
}
@Test
public void shouldReturnEmptyStringIfTheGivenLocationIsNull() {
LocationFormatter locationFormatter = new LocationFormatter(null);
assertEquals("", locationFormatter.format(context));
}
}