/*
This file is part of RouteConverter.
RouteConverter is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
RouteConverter is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with RouteConverter; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Copyright (C) 2007 Christian Pesch. All Rights Reserved.
*/
package slash.navigation.itn;
import org.junit.Test;
import slash.common.type.CompactCalendar;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNull;
import static slash.common.TestCase.assertDoubleEquals;
import static slash.common.TestCase.calendar;
public class LogposTest {
@Test
public void testLogpos1aPosition() {
TomTomPosition position = new TomTomPosition(0, 0, "080629 07:33:00: + Eschelbach (Rhein-Neckar-Kreis, Baden-Wuerttemberg); L612 @196.9m (s=66 d=91)");
assertEquals("s=66 d=91", position.getReason());
assertEquals("Eschelbach (Rhein-Neckar-Kreis, Baden-Wuerttemberg); L612", position.getCity());
assertDoubleEquals(66.0, position.getSpeed());
assertDoubleEquals(91.0, position.getHeading());
assertDoubleEquals(196.9, position.getElevation());
CompactCalendar expectedCal = calendar(2008, 6, 29, 7, 33, 0);
assertEquals(expectedCal, position.getTime());
}
@Test
public void testLogpos1bPosition() {
TomTomPosition position = new TomTomPosition(0, 0, "090314 08:05:55: * 1000462:4889518 @365.8m (s=1 d=193)");
assertEquals("s=1 d=193", position.getReason());
assertEquals("1000462:4889518", position.getCity());
assertDoubleEquals(1.0, position.getSpeed());
assertDoubleEquals(193.0, position.getHeading());
assertDoubleEquals(365.8, position.getElevation());
assertEquals(calendar(2009, 3, 14, 8, 5, 55), position.getTime());
}
@Test
public void testLogpos1cPosition() {
TomTomPosition position = new TomTomPosition(0, 0, "090314 07:36:52: = 1000466:4889529 (@365.8m 090314 07:36:52 - 090314 08:02:04)");
assertEquals("090314 07:36:52 - 090314 08:02:04", position.getReason());
assertEquals("1000466:4889529", position.getCity());
assertNull(position.getSpeed());
assertDoubleEquals(365.8, position.getElevation());
assertEquals(calendar(2009, 3, 14, 7, 36, 52), position.getTime());
}
@Test
public void testLogpos1dPosition() {
TomTomPosition position = new TomTomPosition(0, 0, "081012 19:00:47: * 17159970:-4176126 @?m (s=12 d=170)");
assertEquals("s=12 d=170", position.getReason());
assertEquals("17159970:-4176126", position.getCity());
assertDoubleEquals(12.0, position.getSpeed());
assertDoubleEquals(170.0, position.getHeading());
assertNull(position.getElevation());
assertEquals(calendar(2008, 10, 12, 19, 0, 47), position.getTime());
}
@Test
public void testLogpos2Position() {
TomTomPosition position = new TomTomPosition(0, 0, "080530 08:11:44: + Neuhaus Im Solling (Holzminden); B497 In Der Fahrt; 3 (s=69 d=207)");
assertEquals("s=69 d=207", position.getReason());
assertEquals("Neuhaus Im Solling (Holzminden); B497 In Der Fahrt; 3", position.getCity());
assertDoubleEquals(69.0, position.getSpeed());
assertDoubleEquals(207.0, position.getHeading());
assertNull(position.getElevation());
assertEquals(calendar(2008, 5, 30, 8, 11, 44), position.getTime());
}
}