package org.wamblee.gpx;
import java.io.IOException;
+import java.util.List;
+
+import junit.framework.TestCase;
import org.wamblee.gps.track.Track;
+import org.wamblee.gps.track.TrackSegment;
import org.wamblee.io.ClassPathResource;
import org.wamblee.xml.XMLException;
-import junit.framework.TestCase;
-
public class GpxParserTest extends TestCase {
/**
*/
public void testNoJoy() throws IOException, XMLException {
GpxParser parser = new GpxParser();
- Track track = parser.parse(new ClassPathResource("nojoy.gpx").getInputStream());
+ Track track = parser.parse("nojoy.gpx", new ClassPathResource("nojoy.gpx").getInputStream());
assertEquals(468, track.size());
+ List<TrackSegment> segments = track.getSegments();
+ assertEquals(1, segments.size());
+ assertEquals("ACTIVE LOG", segments.get(0).getDescription());
}
public void testParseRoute() throws Exception {
GpxParser parser = new GpxParser();
- Track track = parser.parse(new ClassPathResource("mh2d.route.gpx").getInputStream());
+ Track track = parser.parse("mh2d.route.gpx", new ClassPathResource("mh2d.route.gpx").getInputStream());
assertEquals(250, track.size());
+ List<TrackSegment> segments = track.getSegments();
+ assertEquals(1, segments.size());
+ assertEquals("Generated from track MTB Zaterdag 70 Km", segments.get(0).getDescription());
}
+
+ public void testParseTrackWithMultipleSegments() throws Exception {
+ GpxParser parser = new GpxParser();
+ String name = "bbc2009.gpx";
+ Track track = parser.parse(name, new ClassPathResource(name).getInputStream());
+ assertEquals(10870, track.size());
+ List<TrackSegment> segments = track.getSegments();
+ assertEquals(3, segments.size());
+ assertEquals("bbc2009 100", segments.get(0).getDescription());
+ assertEquals("bbc2009 55", segments.get(1).getDescription());
+ assertEquals("bbc2009 75", segments.get(2).getDescription());
+ }
}