use of org.onebusaway.gtfs.model.calendar.ServiceDate in project onebusaway-gtfs-modules by OneBusAway.
the class ServiceCalendarDateComparator method compare.
@Override
public int compare(ServiceCalendarDate o1, ServiceCalendarDate o2) {
AgencyAndId id1 = o1.getServiceId();
AgencyAndId id2 = o2.getServiceId();
int c = id1.compareTo(id2);
if (c != 0)
return c;
ServiceDate d1 = o1.getDate();
ServiceDate d2 = o2.getDate();
return d1.compareTo(d2);
}
use of org.onebusaway.gtfs.model.calendar.ServiceDate in project onebusaway-gtfs-modules by OneBusAway.
the class CalendarServiceImplSyntheticTest method putServiceDatesForServiceId.
/**
**
* Private Methods
***
*/
private void putServiceDatesForServiceId(CalendarServiceData data, LocalizedServiceId lsid, List<ServiceDate> serviceDates) {
data.putServiceDatesForServiceId(lsid.getId(), serviceDates);
List<Date> dates = new ArrayList<Date>();
for (ServiceDate serviceDate : serviceDates) dates.add(serviceDate.getAsDate(lsid.getTimeZone()));
data.putDatesForLocalizedServiceId(lsid, dates);
}
use of org.onebusaway.gtfs.model.calendar.ServiceDate in project onebusaway-gtfs-modules by OneBusAway.
the class GtfsReaderTest method testFeedInfo.
@Test
public void testFeedInfo() throws CsvEntityIOException, IOException {
GtfsReader reader = new GtfsReader();
StringBuilder b = new StringBuilder();
b.append("feed_publisher_name,feed_publisher_url,feed_lang,feed_start_date,feed_end_date,feed_version\n");
b.append("Test,http://test/,en,20110928,20120131,1.0\n");
reader.readEntities(FeedInfo.class, new StringReader(b.toString()));
FeedInfo feedInfo = reader.getEntityStore().getEntityForId(FeedInfo.class, "1");
assertEquals("Test", feedInfo.getPublisherName());
assertEquals("http://test/", feedInfo.getPublisherUrl());
assertEquals("en", feedInfo.getLang());
assertEquals(new ServiceDate(2011, 9, 28), feedInfo.getStartDate());
assertEquals(new ServiceDate(2012, 1, 31), feedInfo.getEndDate());
assertEquals("1.0", feedInfo.getVersion());
/**
* Test with a missing "field_publisher_url" field
*/
b = new StringBuilder();
b.append("feed_publisher_name\n");
b.append("Test\n");
try {
reader.readEntities(FeedInfo.class, new StringReader(b.toString()));
fail();
} catch (CsvEntityIOException ex) {
MissingRequiredFieldException ex2 = (MissingRequiredFieldException) ex.getCause();
assertEquals(FeedInfo.class, ex2.getEntityType());
assertEquals("feed_publisher_url", ex2.getFieldName());
}
/**
* Test with a missing "field_lang" field
*/
b = new StringBuilder();
b.append("feed_publisher_name,feed_publisher_url\n");
b.append("Test,http://test/\n");
try {
reader.readEntities(FeedInfo.class, new StringReader(b.toString()));
fail();
} catch (CsvEntityIOException ex) {
MissingRequiredFieldException ex2 = (MissingRequiredFieldException) ex.getCause();
assertEquals(FeedInfo.class, ex2.getEntityType());
assertEquals("feed_lang", ex2.getFieldName());
}
/**
* Test with a malformed "feed_start_date" field
*/
b = new StringBuilder();
b.append("feed_publisher_name,feed_publisher_url,feed_lang,feed_start_date\n");
b.append("Test,http://test/,en,2011XX01\n");
try {
reader.readEntities(FeedInfo.class, new StringReader(b.toString()));
fail();
} catch (CsvEntityIOException ex) {
InvalidValueEntityException ex2 = (InvalidValueEntityException) ex.getCause();
assertEquals(FeedInfo.class, ex2.getEntityType());
assertEquals("feed_start_date", ex2.getFieldName());
assertEquals("2011XX01", ex2.getFieldValue());
}
/**
* Test with a malformed "feed_end_date" field
*/
b = new StringBuilder();
b.append("feed_publisher_name,feed_publisher_url,feed_lang,feed_end_date\n");
b.append("Test,http://test/,en,2011XX01\n");
try {
reader.readEntities(FeedInfo.class, new StringReader(b.toString()));
fail();
} catch (CsvEntityIOException ex) {
InvalidValueEntityException ex2 = (InvalidValueEntityException) ex.getCause();
assertEquals(FeedInfo.class, ex2.getEntityType());
assertEquals("feed_end_date", ex2.getFieldName());
assertEquals("2011XX01", ex2.getFieldValue());
}
}
use of org.onebusaway.gtfs.model.calendar.ServiceDate in project onebusaway-gtfs-modules by OneBusAway.
the class ServiceDateFieldMappingFactoryTest method test.
@Test
public void test() {
ServiceDateFieldMappingFactory factory = new ServiceDateFieldMappingFactory();
DefaultEntitySchemaFactory schemaFactory = new DefaultEntitySchemaFactory();
String propName = "date";
FieldMapping mapping = factory.createFieldMapping(schemaFactory, Dummy.class, propName, propName, ServiceDate.class, true);
CsvEntityContext context = new CsvEntityContextImpl();
Map<String, Object> csvValues = new HashMap<String, Object>();
csvValues.put(propName, "20100212");
Dummy obj = new Dummy();
BeanWrapper wrapped = BeanWrapperFactory.wrap(obj);
mapping.translateFromCSVToObject(context, csvValues, wrapped);
assertEquals(new ServiceDate(2010, 2, 12), obj.getDate());
csvValues.clear();
mapping.translateFromObjectToCSV(context, wrapped, csvValues);
assertEquals("20100212", csvValues.get(propName));
}
use of org.onebusaway.gtfs.model.calendar.ServiceDate in project onebusaway-gtfs-modules by OneBusAway.
the class ServiceDateTest method testGetAsDateWithTimezoneB.
@Test
public void testGetAsDateWithTimezoneB() {
// DST Spring Forward
ServiceDate serviceDateA = new ServiceDate(2010, 3, 14);
TimeZone tzA = TimeZone.getTimeZone("America/Los_Angeles");
Date dateA = serviceDateA.getAsDate(tzA);
assertEquals(date("2010-03-13 23:00 Pacific Standard Time"), dateA);
TimeZone tzB = TimeZone.getTimeZone("America/Denver");
Date dateB = serviceDateA.getAsDate(tzB);
assertEquals(date("2010-03-13 23:00 Mountain Standard Time"), dateB);
}
Aggregations