use of org.onebusaway.gtfs.services.GtfsMutableRelationalDao in project onebusaway-gtfs-modules by OneBusAway.
the class TransformFactoryTest method testReplaceIdInUpdate.
@Test
public void testReplaceIdInUpdate() throws IOException, TransformSpecificationException {
_factory.addModificationsFromString("{'op':'update', " + "'match':{'file':'trips.txt'}, " + "'update':{'trip_id': 's/^1_([0-9]*).*/$1/'}}");
GtfsTransformStrategy transform = _transformer.getLastTransform();
TransformContext context = new TransformContext();
context.setDefaultAgencyId("1");
GtfsMutableRelationalDao dao = new GtfsRelationalDaoImpl();
Trip trip = new Trip();
trip.setId(new AgencyAndId("1", "1234-this-text-to-remove"));
dao.saveEntity(trip);
transform.run(context, dao);
assertEquals("1234", trip.getId().getId());
}
use of org.onebusaway.gtfs.services.GtfsMutableRelationalDao in project onebusaway-gtfs-modules by OneBusAway.
the class TransformFactoryTest method testReplaceValueInUpdateRegex.
@Test
public void testReplaceValueInUpdateRegex() throws IOException, TransformSpecificationException {
_factory.addModificationsFromString("{'op':'update', " + "'match':{'file':'trips.txt', 'trip_short_name': 'm/X41/'}, " + "'update':{'trip_headsign': 'Uptown Express'}}");
GtfsTransformStrategy transform = _transformer.getLastTransform();
TransformContext context = new TransformContext();
GtfsMutableRelationalDao dao = new GtfsRelationalDaoImpl();
Trip trip = new Trip();
trip.setId(new AgencyAndId("1", "1"));
trip.setTripShortName("X41");
trip.setTripHeadsign("Downtown Local");
dao.saveEntity(trip);
transform.run(context, dao);
assertEquals("Uptown Express", trip.getTripHeadsign());
}
use of org.onebusaway.gtfs.services.GtfsMutableRelationalDao in project onebusaway-gtfs-modules by OneBusAway.
the class DeduplicateServiceIdsStrategyTest method test.
@Test
public void test() throws IOException {
_gtfs.putTrips(2, "r0", "sid0,sid1");
_gtfs.putCalendars(2, "start_date=20120630", "end_date=20121224", "mask=1111100");
GtfsMutableRelationalDao dao = _gtfs.read();
assertEquals(2, dao.getAllCalendars().size());
_strategy.run(_context, dao);
assertEquals(1, dao.getAllCalendars().size());
AgencyAndId serviceId = new AgencyAndId("a0", "sid0");
assertNotNull(dao.getCalendarForServiceId(serviceId));
for (Trip trip : dao.getAllTrips()) {
assertEquals(serviceId, trip.getServiceId());
}
assertNull(dao.getCalendarForServiceId(new AgencyAndId("a0", "sid1")));
}
use of org.onebusaway.gtfs.services.GtfsMutableRelationalDao in project onebusaway-gtfs-modules by OneBusAway.
the class ShapeDirectionTransformStrategyTest method test.
@Test
public void test() throws IOException {
_gtfs.putAgencies(1);
_gtfs.putStops(3);
_gtfs.putRoutes(1);
_gtfs.putCalendars(1, "start_date=20120903", "end_date=20121016", "mask=1111100");
_gtfs.putLines("trips.txt", "trip_id,route_id,service_id,direction_id,shape_id", "t0,r0,sid0,0,shp0", "t1,r0,sid0,1,shp0");
_gtfs.putLines("stop_times.txt", "trip_id,stop_id,stop_sequence,arrival_time,departure_time", "t0,s0,0,01:00:00,01:05:00", "t0,s1,1,01:30:00,01:30:00", "t0,s2,2,02:30:00,02:30:00", "t1,s0,0,01:00:00,01:05:00", "t1,s1,1,01:30:00,01:30:00", "t1,s2,2,02:30:00,02:30:00");
_gtfs.putLines("shapes.txt", "shape_id,shape_pt_sequence,shape_pt_lat,shape_pt_lon", "shp0,1,1,1", "shp0,2,2,2", "shp0,3,3,3");
GtfsMutableRelationalDao dao = _gtfs.read();
TransformContext tc = new TransformContext();
tc.setDefaultAgencyId("a0");
_strategy.setShapeId("shp0");
_strategy.setShapeDirection("0");
_strategy.run(tc, dao);
UpdateLibrary.clearDaoCache(dao);
Collection<ShapePoint> newShapePoints = dao.getShapePointsForShapeId(AgencyAndId.convertFromString("a0_shp0R"));
assertFalse(newShapePoints.isEmpty());
ShapePoint sp0 = newShapePoints.iterator().next();
assertEquals(sp0.getLat(), 3, 0);
assertEquals(sp0.getLon(), 3, 0);
Trip t = dao.getTripForId(AgencyAndId.convertFromString("a0_t1"));
assertEquals(t.getDirectionId(), "1");
assertEquals(t.getShapeId().getId(), "shp0R");
}
use of org.onebusaway.gtfs.services.GtfsMutableRelationalDao in project onebusaway-gtfs-modules by OneBusAway.
the class TrimTripTransformStrategyTest method testMatching.
@Test
public void testMatching() throws IOException {
_gtfs.putAgencies(1);
_gtfs.putStops(6);
_gtfs.putRoutes(2);
_gtfs.putTrips(2, "r0,r1", "sid0");
_gtfs.putStopTimes("t0,t1", "s0,s1,s2,s3,s4,s5");
GtfsMutableRelationalDao dao = _gtfs.read();
TrimOperation operation = new TrimOperation();
operation.setMatch(new TypedEntityMatch(Trip.class, new PropertyValueEntityMatch(new PropertyPathExpression("route.id.id"), new SimpleValueMatcher("r1"))));
operation.setFromStopId("s4");
_strategy.addOperation(operation);
_strategy.run(_context, dao);
{
Trip trip = dao.getTripForId(new AgencyAndId("a0", "t0"));
List<StopTime> stopTimes = dao.getStopTimesForTrip(trip);
assertEquals(6, stopTimes.size());
}
{
Trip trip = dao.getTripForId(new AgencyAndId("a0", "t1-s4"));
List<StopTime> stopTimes = dao.getStopTimesForTrip(trip);
assertEquals(4, stopTimes.size());
assertEquals("s0", stopTimes.get(0).getStop().getId().getId());
assertEquals("s3", stopTimes.get(3).getStop().getId().getId());
}
}
Aggregations