@Test
public void testTripmasterGpxTrack() throws Exception {
List<GpxRoute> routes = readGpxFile(new Gpx10Format(), SAMPLE_PATH + "tripmaster2.gpx");
assertNotNull(routes);
assertEquals(1, routes.size());
GpxRoute route = routes.get(0);
assertEquals(Track, route.getCharacteristics());
assertEquals(735, route.getPositionCount());
GpxPosition position1 = route.getPositions().get(441);
assertDoubleEquals(53.79967, position1.getLatitude());
assertDoubleEquals(10.36535, position1.getLongitude());
assertDoubleEquals(17.9, position1.getElevation());
assertDoubleEquals(13.0, position1.getSpeed());
assertEquals("Bad Oldesloe; 170.1 Km", position1.getDescription());
assertEquals("Bad Oldesloe; 170.1 Km", position1.getCity());
assertEquals("Course 184", position1.getReason());
CompactCalendar actual = position1.getTime();
String cal1 = DateFormat.getDateTimeInstance().format(actual.getTime());
CompactCalendar expected = calendar(2007, 7, 15, 15, 2, 53);
String cal2 = DateFormat.getDateTimeInstance().format(expected.getTime());
assertEquals(cal2, cal1);
assertEquals(expected.getTimeInMillis(), actual.getTimeInMillis());
assertEquals(expected.getTime(), actual.getTime());
GpxPosition position2 = route.getPositions().get(442);
assertDoubleEquals(53.79544, position2.getLatitude());
assertDoubleEquals(10.35700, position2.getLongitude());
assertDoubleEquals(3.9, position2.getElevation());
assertDoubleEquals(13.0, position1.getSpeed());
assertEquals("Bad Oldesloe; 170.9 Km", position2.getDescription());
assertEquals("Bad Oldesloe; 170.9 Km", position2.getCity());
assertEquals("Dist. 171", position2.getReason());
GpxPosition position3 = route.getPositions().get(443);
assertDoubleEquals(53.79446, position3.getLatitude());
assertDoubleEquals(10.35603, position3.getLongitude());
assertDoubleEquals(5.6, position3.getElevation());
assertEquals("Bad Oldesloe; 171.0 Km", position3.getDescription());
assertEquals("Bad Oldesloe; 171.0 Km", position3.getCity());