@Override public TransitStopFacility createTransitStopFacility(final Id<TransitStopFacility> facilityId, final Coord coordinate, final boolean blocksLane) { return new TransitStopFacilityImpl(facilityId, coordinate, blocksLane); }
/** * In case we once should have more than one implementation of * {@link TransitStopFacility}, simply inherit from this test and overwrite * this method to return your own implementation. * * @param id * @param coord * @return a new instance of a TransitStopFacility with the given attributes */ protected TransitStopFacility createTransitStopFacility(final Id<TransitStopFacility> id, final Coord coord, final boolean isBlockingLane) { return new TransitStopFacilityImpl(id, coord, isBlockingLane); }
@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); } }
public void testEquals() { TransitStopFacility stopFacility1 = new TransitStopFacilityImpl(Id.create(1, TransitStopFacility.class), new Coord((double) 2, (double) 3), false); TransitStopFacility stopFacility2 = new TransitStopFacilityImpl(Id.create(2, TransitStopFacility.class), new Coord((double) 3, (double) 4), false); TransitRouteStop stop1 = createTransitRouteStop(stopFacility1, 10, 50); TransitRouteStop stop2 = createTransitRouteStop(stopFacility1, 10, 50); TransitRouteStop stop3 = createTransitRouteStop(stopFacility2, 10, 50); TransitRouteStop stop4 = createTransitRouteStop(stopFacility1, 10, 30); TransitRouteStop stop5 = createTransitRouteStop(stopFacility1, 20, 50); TransitRouteStop stop6 = createTransitRouteStop(null, 10, 50); TransitRouteStop stop7 = createTransitRouteStop(null, 10, 50); assertTrue(stop1.equals(stop2)); assertTrue(stop2.equals(stop1)); assertTrue(stop1.equals(stop1)); assertFalse(stop1.equals(stop3)); // different stop facility assertFalse(stop3.equals(stop1)); assertFalse(stop1.equals(stop4)); // different departureDelay assertFalse(stop4.equals(stop1)); assertFalse(stop1.equals(stop5)); // different arrivalDelay assertFalse(stop5.equals(stop1)); assertFalse(stop1.equals(stop6)); // null stop facility in stop6 assertFalse(stop6.equals(stop1)); assertTrue(stop6.equals(stop7)); // both stop facilities are null assertTrue(stop7.equals(stop6)); }
public void testStopFacility() { TransitStopFacility stopFacility1 = new TransitStopFacilityImpl(Id.create(1, TransitStopFacility.class), new Coord((double) 2, (double) 3), false); TransitStopFacility stopFacility2 = new TransitStopFacilityImpl(Id.create(2, TransitStopFacility.class), new Coord((double) 3, (double) 4), false); double arrivalDelay = 4; double departureDelay = 5; TransitRouteStop routeStop = createTransitRouteStop(stopFacility1, arrivalDelay, departureDelay); assertEquals(stopFacility1, routeStop.getStopFacility()); routeStop.setStopFacility(stopFacility2); assertEquals(stopFacility2, routeStop.getStopFacility()); }
@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())); }
public void testStops() { Id<TransitRoute> id = Id.create(9791, TransitRoute.class); Link fromLink = new FakeLink(Id.create(10, Link.class), null, null); Link toLink = new FakeLink(Id.create(5, Link.class), null, null); NetworkRoute route = RouteUtils.createLinkNetworkRouteImpl(fromLink.getId(), toLink.getId()); List<TransitRouteStop> stops = new ArrayList<TransitRouteStop>(); TransitStopFacility stopFacility1 = new TransitStopFacilityImpl(Id.create(1, TransitStopFacility.class), new Coord((double) 0, (double) 0), false); TransitStopFacility stopFacility2 = new TransitStopFacilityImpl(Id.create(2, TransitStopFacility.class), new Coord((double) 0, (double) 0), false); TransitStopFacility stopFacility3 = new TransitStopFacilityImpl(Id.create(3, TransitStopFacility.class), new Coord((double) 0, (double) 0), false); TransitStopFacility stopFacility4 = new TransitStopFacilityImpl(Id.create(4, TransitStopFacility.class), new Coord((double) 0, (double) 0), false); TransitRouteStop stop1 = new TransitRouteStopImpl(stopFacility1, 50, 60); TransitRouteStop stop2 = new TransitRouteStopImpl(stopFacility2, 150, 260); TransitRouteStop stop3 = new TransitRouteStopImpl(stopFacility3, 250, 260); stops.add(stop1); stops.add(stop2); stops.add(stop3); TransitRoute tRoute = createTransitRoute(id, route, stops, "train"); assertEquals(stops.size(), tRoute.getStops().size()); // test order assertEquals(stop1, tRoute.getStops().get(0)); assertEquals(stop2, tRoute.getStops().get(1)); assertEquals(stop3, tRoute.getStops().get(2)); // test getStop(TransitStopFacility) assertEquals(stop1, tRoute.getStop(stopFacility1)); assertEquals(stop2, tRoute.getStop(stopFacility2)); assertEquals(stop3, tRoute.getStop(stopFacility3)); assertNull(tRoute.getStop(stopFacility4)); }
@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 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)); }
public void testInitialization() { TransitStopFacility stopFacility = new TransitStopFacilityImpl(Id.create(1, TransitStopFacility.class), new Coord((double) 2, (double) 3), false); double arrivalDelay = 4; double departureDelay = 5; TransitRouteStop routeStop = createTransitRouteStop(stopFacility, arrivalDelay, departureDelay); assertEquals(stopFacility, routeStop.getStopFacility()); assertEquals(arrivalDelay, routeStop.getArrivalOffset(), EPSILON); assertEquals(departureDelay, routeStop.getDepartureOffset(), EPSILON); }
public void testAwaitDepartureTime() { TransitStopFacility stopFacility = new TransitStopFacilityImpl(Id.create(1, TransitStopFacility.class), new Coord((double) 2, (double) 3), false); double arrivalDelay = 4; double departureDelay = 5; TransitRouteStop routeStop = createTransitRouteStop(stopFacility, arrivalDelay, departureDelay); assertFalse(routeStop.isAwaitDepartureTime()); routeStop.setAwaitDepartureTime(true); assertTrue(routeStop.isAwaitDepartureTime()); routeStop.setAwaitDepartureTime(false); assertFalse(routeStop.isAwaitDepartureTime()); }
@Test public void testCreateTransitRouteStop() { TransitScheduleFactory builder = createTransitScheduleBuilder(); TransitStopFacility stopFacility = new TransitStopFacilityImpl(Id.create(5, TransitStopFacility.class), new Coord((double) 6, (double) 6), false); double arrivalOffset = 23; double departureOffset = 42; TransitRouteStop stop = builder.createTransitRouteStop(stopFacility, 23, 42); Assert.assertEquals(stopFacility, stop.getStopFacility()); Assert.assertEquals(arrivalOffset, stop.getArrivalOffset(), MatsimTestUtils.EPSILON); Assert.assertEquals(departureOffset, stop.getDepartureOffset(), MatsimTestUtils.EPSILON); }