package org.syzygy.gps; import junit.framework.TestCase; import java.util.Calendar; public class TestLocation extends TestCase { private final double delta = 0.000001; public void testParseWithError() { Location l = Location.parse("160940 53.344345000000004 -6.249651666666667 0.0 0.0 100.0 290565 5 E\n"); assertEquals("160940", l.getGpsTime()); assertEquals(53.344345, l.getLatitude(), delta); assertEquals(-6.249652, l.getLongitude(), delta); assertEquals(0.0, l.getSpeed(), delta); assertEquals(0.0, l.getAltitude(), delta); assertTrue(l.getIsError()); assertEquals(100.0, l.getCourse(), delta); assertEquals("290565", l.getUtcDate()); assertEquals(5, l.getSatellites()); } public void testParseWithoutError() { Location l = Location.parse("161234 53.339938333333336 -6.247275 10.744023 55.9 150.0 010101 4\n"); assertEquals("161234", l.getGpsTime()); assertEquals(53.339938, l.getLatitude(), delta); assertEquals(-6.247275, l.getLongitude(), delta); assertEquals(10.744023, l.getSpeed(), delta); assertEquals(55.9, l.getAltitude(), delta); assertEquals(150.0, l.getCourse(), delta); assertEquals("010101", l.getUtcDate()); assertEquals(4, l.getSatellites()); assertFalse(l.getIsError()); } public void testSetUtcDate() { Calendar c = Calendar.getInstance(); Location l = new Location(); l.setUtcDate("290565"); c.setTime(l.getDate()); assertEquals(1965, c.get(Calendar.YEAR)); l.setUtcDate("010100"); c.setTime(l.getDate()); assertEquals(2000, c.get(Calendar.YEAR)); assertEquals(0, c.get(Calendar.MONTH)); } }