package util.test;
import util.PositionHelper;
import junit.framework.TestCase;
import com.buglabs.bug.module.gps.pub.LatLon;
/**
* A JUnit test case for the PositionHelper class.
*
* @author finsprings
*
*/
public class PositionHelperTest extends TestCase {
public final void testCalculateZeroDistance() {
LatLon latLon1 = new LatLon();
latLon1.latitude = 50.0;
latLon1.longitude = 80.0;
final double distance = PositionHelper.calculateDistance(latLon1, latLon1);
assertEquals(0.0, distance, 0.0);
}
public final void testCalculateArbitraryDistance() {
LatLon latLon1 = new LatLon();
latLon1.latitude = 40.7486;
latLon1.longitude = -73.9864;
LatLon latLon2 = new LatLon();
latLon2.latitude = -73.9864;
latLon2.longitude = 40.7486;
final double distance = PositionHelper.calculateDistance(latLon1, latLon2);
assertEquals( 15098.0, distance, 2.0 );
}
public final void testCalculateInterestingDistance() {
LatLon aberdeen = new LatLon();
aberdeen.latitude = 57.15;
aberdeen.longitude = -2.15;
LatLon edinburgh = new LatLon();
edinburgh.latitude = 55.95;
edinburgh.longitude = -3.12;
final double distance = PositionHelper.calculateDistance(aberdeen, edinburgh);
assertEquals( 146.0, distance, 2.0 );
}
public final void testConvertZeroMiles() {
final double miles = PositionHelper.kilometersToMiles( 0.0 );
assertEquals( 0.0, miles, 0.0 );
}
public final void testConvertMiles() {
final double miles = PositionHelper.kilometersToMiles( 146.0 );
assertTrue( "Expected around 90 but got " + miles,
Math.abs( miles - 90 ) < 2.0 );
}
}