use of org.onebusaway.gtfs.model.AgencyAndId in project onebusaway-gtfs-modules by OneBusAway.
the class GtfsReaderTest method testDefaultAgencyForRoutes.
@Test
public void testDefaultAgencyForRoutes() throws IOException {
MockGtfs gtfs = MockGtfs.create();
gtfs.putAgencies(1);
gtfs.putRoutes(1);
gtfs.putTrips(1, "r0", "sid0");
gtfs.putStops(1);
gtfs.putStopTimes("t0", "s0");
{
GtfsMutableRelationalDao dao = gtfs.read(newReader("tacos"));
assertNotNull(dao.getRouteForId(new AgencyAndId("a0", "r0")));
}
{
gtfs.putAgencies(2);
try {
gtfs.read(newReader("tacos"));
fail();
} catch (CsvEntityIOException e) {
MissingRequiredFieldException ex = (MissingRequiredFieldException) e.getCause();
assertEquals("agency_id", ex.getFieldName());
assertEquals(Route.class, ex.getEntityType());
}
}
{
gtfs.putAgencies(2);
gtfs.putRoutes(1, "agency_id=a1");
GtfsMutableRelationalDao dao = gtfs.read(newReader("tacos"));
assertNotNull(dao.getRouteForId(new AgencyAndId("a1", "r0")));
}
{
gtfs.putAgencies(2);
gtfs.putRoutes(1, "agency_id=a2");
try {
gtfs.read(newReader("tacos"));
fail();
} catch (CsvEntityIOException e) {
assertTrue(e.getCause() instanceof AgencyNotFoundForRouteException);
}
}
}
use of org.onebusaway.gtfs.model.AgencyAndId in project onebusaway-gtfs-modules by OneBusAway.
the class ServiceIdIntervalsTest method test.
@Test
public void test() {
TimeZone tz = TimeZone.getTimeZone("America/Los_Angeles");
AgencyAndId sid1 = new AgencyAndId("A", "1");
AgencyAndId sid2 = new AgencyAndId("A", "2");
AgencyAndId sid3 = new AgencyAndId("B", "1");
LocalizedServiceId lsid1 = new LocalizedServiceId(sid1, tz);
LocalizedServiceId lsid2 = new LocalizedServiceId(sid2, tz);
LocalizedServiceId lsid3 = new LocalizedServiceId(sid3, tz);
ServiceIdIntervals intervals = new ServiceIdIntervals();
intervals.addStopTime(lsid1, 100, 200);
intervals.addStopTime(lsid1, 150, 250);
intervals.addStopTime(lsid1, 160, 170);
intervals.addStopTime(lsid2, 110, 190);
intervals.addStopTime(lsid2, 100, 200);
intervals.addStopTime(lsid3, 50, 100);
ServiceInterval interval = intervals.getIntervalForServiceId(lsid1);
assertEquals(100, interval.getMinArrival());
assertEquals(160, interval.getMaxArrival());
assertEquals(170, interval.getMinDeparture());
assertEquals(250, interval.getMaxDeparture());
interval = intervals.getIntervalForServiceId(lsid2);
assertEquals(100, interval.getMinArrival());
assertEquals(110, interval.getMaxArrival());
assertEquals(190, interval.getMinDeparture());
assertEquals(200, interval.getMaxDeparture());
interval = intervals.getIntervalForServiceId(lsid3);
assertEquals(50, interval.getMinArrival());
assertEquals(50, interval.getMaxArrival());
assertEquals(100, interval.getMinDeparture());
assertEquals(100, interval.getMaxDeparture());
}
use of org.onebusaway.gtfs.model.AgencyAndId in project onebusaway-gtfs-modules by OneBusAway.
the class HibernateGtfsRelationalImplBartTest method testFrequenciesForTrip.
@Test
public void testFrequenciesForTrip() {
Trip trip = _dao.getTripForId(new AgencyAndId("AirBART", "M-FSAT1DN"));
List<Frequency> frequencies = _dao.getFrequenciesForTrip(trip);
assertEquals(1, frequencies.size());
Frequency frequency = frequencies.get(0);
assertEquals(5 * 60 * 60, frequency.getStartTime());
assertEquals(6 * 60 * 60, frequency.getEndTime());
assertEquals(trip, frequency.getTrip());
assertEquals(1200, frequency.getHeadwaySecs());
}
use of org.onebusaway.gtfs.model.AgencyAndId in project onebusaway-gtfs-modules by OneBusAway.
the class AbstractIdentifiableSingleEntityMergeStrategy method rename.
/**
* Rename the id of the specified identity to avoid an raw GTFS identifier
* collision in the merged output feed.
*
* @param context
* @param entity
*/
@SuppressWarnings("unchecked")
protected void rename(GtfsMergeContext context, IdentityBean<?> entity) {
Object id = entity.getId();
if (id != null && id instanceof AgencyAndId) {
IdentityBean<AgencyAndId> bean = (IdentityBean<AgencyAndId>) entity;
AgencyAndId agencyAndId = bean.getId();
AgencyAndId newAgencyAndId;
if (this.getDuplicateRenamingStrategy() == EDuplicateRenamingStrategy.AGENCY) {
newAgencyAndId = MergeSupport.renameAgencyAndId(agencyAndId.getAgencyId() + "-", agencyAndId);
_log.info(agencyAndId.toString() + " renamed(1) to " + newAgencyAndId);
} else {
newAgencyAndId = MergeSupport.renameAgencyAndId(context, agencyAndId);
_log.info(agencyAndId.toString() + " renamed(2) to " + newAgencyAndId);
}
bean.setId(newAgencyAndId);
}
}
use of org.onebusaway.gtfs.model.AgencyAndId in project onebusaway-gtfs-modules by OneBusAway.
the class GtfsMappingTest method testFrequency.
@Test
public void testFrequency() throws CsvEntityIOException, IOException {
_reader.setDefaultAgencyId("1");
Trip trip = new Trip();
trip.setId(new AgencyAndId("1", "trip"));
_reader.injectEntity(trip);
StringBuilder b = new StringBuilder();
b.append("trip_id,start_time,end_time,headway_secs,exact_times\n");
b.append("trip,08:30:00,09:45:00,300,1\n");
_reader.readEntities(Frequency.class, new StringReader(b.toString()));
Frequency frequency = _dao.getFrequencyForId(1);
assertEquals(30600, frequency.getStartTime());
assertEquals(35100, frequency.getEndTime());
assertEquals(1, frequency.getExactTimes());
assertEquals(300, frequency.getHeadwaySecs());
assertSame(trip, frequency.getTrip());
}
Aggregations