@Override public TransitSchedule createTransitSchedule() { return new TransitScheduleImpl(this); }
@Test public void testInitialization() { TransitScheduleFactory builder = new TransitScheduleFactoryImpl(); TransitSchedule schedule = new TransitScheduleImpl(builder); assertEquals(builder, schedule.getFactory()); }
@Test public void testGetTransitLinesImmutable() { TransitSchedule schedule = new TransitScheduleImpl(new TransitScheduleFactoryImpl()); TransitLine line1 = new TransitLineImpl(Id.create(1, TransitLine.class)); try { schedule.getTransitLines().put(line1.getId(), line1); fail("missing exception."); } catch (UnsupportedOperationException e) { log.info("catched expected exception.", e); } }
@Test public void testGetFacilitiesImmutable() { TransitSchedule schedule = new TransitScheduleImpl(new TransitScheduleFactoryImpl()); TransitStopFacility stop1 = new TransitStopFacilityImpl(Id.create(1, TransitStopFacility.class), new Coord((double) 0, (double) 0), false); try { schedule.getFacilities().put(stop1.getId(), stop1); fail("missing exception."); } catch (UnsupportedOperationException e) { log.info("catched expected exception.", e); } }
@Test public void testAddTransitLine() { TransitSchedule schedule = new TransitScheduleImpl(new TransitScheduleFactoryImpl()); TransitLine line1 = new TransitLineImpl(Id.create(1, TransitLine.class)); TransitLine line2 = new TransitLineImpl(Id.create(2, TransitLine.class)); assertEquals(0, schedule.getTransitLines().size()); schedule.addTransitLine(line1); assertEquals(1, schedule.getTransitLines().size()); assertEquals(line1, schedule.getTransitLines().get(line1.getId())); schedule.addTransitLine(line2); assertEquals(2, schedule.getTransitLines().size()); assertEquals(line1, schedule.getTransitLines().get(line1.getId())); assertEquals(line2, schedule.getTransitLines().get(line2.getId())); }
@Test public void testAddStopFacility() { TransitSchedule schedule = new TransitScheduleImpl(new TransitScheduleFactoryImpl()); TransitStopFacility stop1 = new TransitStopFacilityImpl(Id.create(1, TransitStopFacility.class), new Coord((double) 0, (double) 0), false); TransitStopFacility stop2 = new TransitStopFacilityImpl(Id.create(2, TransitStopFacility.class), new Coord((double) 1, (double) 1), false); assertEquals(0, schedule.getFacilities().size()); schedule.addStopFacility(stop1); assertEquals(1, schedule.getFacilities().size()); assertEquals(stop1, schedule.getFacilities().get(stop1.getId())); schedule.addStopFacility(stop2); assertEquals(2, schedule.getFacilities().size()); assertEquals(stop1, schedule.getFacilities().get(stop1.getId())); assertEquals(stop2, schedule.getFacilities().get(stop2.getId())); }
@Test public void testAddTransitLineException() { TransitSchedule schedule = new TransitScheduleImpl(new TransitScheduleFactoryImpl()); TransitLine line1a = new TransitLineImpl(Id.create(1, TransitLine.class)); TransitLine line1b = new TransitLineImpl(Id.create(1, TransitLine.class)); assertEquals(0, schedule.getTransitLines().size()); schedule.addTransitLine(line1a); assertEquals(1, schedule.getTransitLines().size()); assertEquals(line1a, schedule.getTransitLines().get(line1a.getId())); try { // try to add a line with same id schedule.addTransitLine(line1b); fail("missing exception."); } catch (IllegalArgumentException e) { log.info("catched expected exception.", e); } assertEquals(1, schedule.getTransitLines().size()); assertEquals(line1a, schedule.getTransitLines().get(line1a.getId())); try { // try to add a line a second time schedule.addTransitLine(line1a); fail("missing exception."); } catch (IllegalArgumentException e) { log.info("catched expected exception.", e); } assertEquals(1, schedule.getTransitLines().size()); assertEquals(line1a, schedule.getTransitLines().get(line1a.getId())); }
@Test public void testAddStopFacilityException() { TransitSchedule schedule = new TransitScheduleImpl(new TransitScheduleFactoryImpl()); TransitStopFacility stop1a = new TransitStopFacilityImpl(Id.create(1, TransitStopFacility.class), new Coord((double) 2, (double) 2), false); TransitStopFacility stop1b = new TransitStopFacilityImpl(Id.create(1, TransitStopFacility.class), new Coord((double) 3, (double) 3), false); assertEquals(0, schedule.getFacilities().size()); schedule.addStopFacility(stop1a); assertEquals(1, schedule.getFacilities().size()); assertEquals(stop1a, schedule.getFacilities().get(stop1a.getId())); try { // try to add a line with same id schedule.addStopFacility(stop1b); fail("missing exception."); } catch (IllegalArgumentException e) { log.info("catched expected exception.", e); } assertEquals(1, schedule.getFacilities().size()); assertEquals(stop1a, schedule.getFacilities().get(stop1a.getId())); try { // try to add a line a second time schedule.addStopFacility(stop1a); fail("missing exception."); } catch (IllegalArgumentException e) { log.info("catched expected exception.", e); } assertEquals(1, schedule.getFacilities().size()); assertEquals(stop1a, schedule.getFacilities().get(stop1a.getId())); }
@Test public void testRemoveTransitLine() { TransitSchedule schedule = new TransitScheduleImpl(new TransitScheduleFactoryImpl()); TransitLine line1 = new TransitLineImpl(Id.create(1, TransitLine.class)); TransitLine line1b = new TransitLineImpl(Id.create(1, TransitLine.class)); schedule.addTransitLine(line1); Assert.assertFalse(schedule.removeTransitLine(line1b)); Assert.assertTrue(schedule.removeTransitLine(line1)); Assert.assertFalse(schedule.removeTransitLine(line1)); }
@Test public void testRemoveStopFacility() { TransitSchedule schedule = new TransitScheduleImpl(new TransitScheduleFactoryImpl()); TransitStopFacility stop1 = new TransitStopFacilityImpl(Id.create(1, TransitStopFacility.class), new Coord((double) 0, (double) 0), false); TransitStopFacility stop1b = new TransitStopFacilityImpl(Id.create(1, TransitStopFacility.class), new Coord((double) 10, (double) 10), false); schedule.addStopFacility(stop1); Assert.assertFalse(schedule.removeStopFacility(stop1b)); Assert.assertTrue(schedule.removeStopFacility(stop1)); Assert.assertFalse(schedule.removeStopFacility(stop1)); }
@Test public void testWriteRead_V2() { TransitScheduleFactory f = new TransitScheduleFactoryImpl(); TransitSchedule schedule = new TransitScheduleImpl(f);