@Override public boolean removeDeparture(final Departure departure) { return null != this.departures.remove(departure.getId()); }
@Override public void addDeparture(final Departure departure) { final Id<Departure> id = departure.getId(); if (this.departures.containsKey(id)) { throw new IllegalArgumentException("There is already a departure with id " + id.toString() + " in transit route " + this.routeId); } this.departures.put(id, departure); }
private void writeDepartures(final Map<Id<Departure>, Departure> departures) throws UncheckedIOException { this.writeStartTag(Constants.DEPARTURES, null); // optimization: only create one List for multiple departures List<Tuple<String, String>> attributes = new ArrayList<Tuple<String, String>>(3); for (Departure dep : departures.values()) { attributes.clear(); attributes.add(this.createTuple(Constants.ID, dep.getId().toString())); attributes.add(this.createTimeTuple(Constants.DEPARTURE_TIME, dep.getDepartureTime())); if (dep.getVehicleId() != null) { attributes.add(this.createTuple(Constants.VEHICLE_REF_ID, dep.getVehicleId().toString())); } this.writeStartTag(Constants.DEPARTURE, attributes, true); } this.writeEndTag(Constants.DEPARTURES); } }
public List<StopInformation> getDepartureStopInformation(final TransitLine line, final TransitRoute route, final TransitStopFacility stopFacility, final Departure departure) { return getStopInformation(line.getId(), route.getId(), stopFacility.getId(), departure.getId(), false); }
private void writeDepartures(final Map<Id<Departure>, Departure> departures) throws IOException, UncheckedIOException { this.writeStartTag(Constants.DEPARTURES, null); // optimization: only create one List for multiple departures List<Tuple<String, String>> attributes = new ArrayList<>(3); for (Departure dep : departures.values()) { attributes.clear(); attributes.add(createTuple(Constants.ID, dep.getId().toString())); attributes.add(createTimeTuple(Constants.DEPARTURE_TIME, dep.getDepartureTime())); if (dep.getVehicleId() != null) { attributes.add(createTuple(Constants.VEHICLE_REF_ID, dep.getVehicleId().toString())); } if (AttributesUtils.isEmpty(dep.getAttributes())) { this.writeStartTag(Constants.DEPARTURE, attributes, true); } else { this.writeStartTag(Constants.DEPARTURE, attributes, false); this.writer.write(NL); this.attributesWriter.writeAttributes("\t\t\t\t\t", this.writer, dep.getAttributes()); this.writeEndTag(Constants.DEPARTURE); } } this.writeEndTag(Constants.DEPARTURES); } }
List<StopInformation> siList = getStopInformation(line.getId(), route.getId(), stop.getStopFacility().getId(), departure.getId(), false); if (siList != null) { StopInformation si = siList.get(nrVisited);
public void testGetDeparturesImmutable() { Fixture f = new Fixture(); Departure dep1 = new DepartureImpl(Id.create(1, Departure.class), 7.0*3600); assertEquals(0, f.tRoute.getDepartures().size()); try { f.tRoute.getDepartures().put(dep1.getId(), dep1); fail("missing exception"); } catch (UnsupportedOperationException e) { log.info("catched expected exception.", e); } }
public void testAddDepartures() { Fixture f = new Fixture(); Departure dep1 = new DepartureImpl(Id.create(1, Departure.class), 7.0*3600); Departure dep2 = new DepartureImpl(Id.create(2, Departure.class), 8.0*3600); Departure dep3 = new DepartureImpl(Id.create(3, Departure.class), 9.0*3600); assertEquals(0, f.tRoute.getDepartures().size()); f.tRoute.addDeparture(dep1); assertEquals(1, f.tRoute.getDepartures().size()); assertEquals(dep1, f.tRoute.getDepartures().get(dep1.getId())); f.tRoute.addDeparture(dep2); assertEquals(2, f.tRoute.getDepartures().size()); assertEquals(dep1, f.tRoute.getDepartures().get(dep1.getId())); assertEquals(dep2, f.tRoute.getDepartures().get(dep2.getId())); assertNull(f.tRoute.getDepartures().get(dep3.getId())); f.tRoute.addDeparture(dep3); assertEquals(3, f.tRoute.getDepartures().size()); assertEquals(dep3, f.tRoute.getDepartures().get(dep3.getId())); }
public void testRemoveDepartures() { Fixture f = new Fixture(); Departure dep1 = new DepartureImpl(Id.create(1, Departure.class), 7.0*3600); Departure dep2 = new DepartureImpl(Id.create(2, Departure.class), 8.0*3600); f.tRoute.addDeparture(dep1); f.tRoute.addDeparture(dep2); assertEquals(2, f.tRoute.getDepartures().size()); assertNotNull(f.tRoute.getDepartures().get(dep1.getId())); assertNotNull(f.tRoute.getDepartures().get(dep2.getId())); assertTrue(f.tRoute.removeDeparture(dep1)); assertEquals(1, f.tRoute.getDepartures().size()); assertNull(f.tRoute.getDepartures().get(dep1.getId())); assertNotNull(f.tRoute.getDepartures().get(dep2.getId())); assertTrue(f.tRoute.removeDeparture(dep2)); assertEquals(0, f.tRoute.getDepartures().size()); f.tRoute.addDeparture(dep1); assertEquals(1, f.tRoute.getDepartures().size()); assertFalse(f.tRoute.removeDeparture(dep2)); assertEquals(1, f.tRoute.getDepartures().size()); assertNotNull(f.tRoute.getDepartures().get(dep1.getId())); }
public void testInitialization() { Id<Departure> id = Id.create(1591, Departure.class); double time = 11.0 * 3600; Departure dep = createDeparture(id, time); assertEquals(id, dep.getId()); assertEquals(time, dep.getDepartureTime(), EPSILON); }
@Test public void testCreateDeparture() { TransitScheduleFactory builder = createTransitScheduleBuilder(); Id<Departure> id = Id.create(8, Departure.class); double time = 9.0*3600; Departure dep = builder.createDeparture(id, time); Assert.assertEquals(id, dep.getId()); Assert.assertEquals(time, dep.getDepartureTime(), MatsimTestUtils.EPSILON); }
final void sendTransitDriverStartsEvent(final double now) { // A test initializes this Agent without internalInterface. // Actually, I am not sure if agents should send Events (or just be reactive, so they can be // tested / exercised as a unit, without a QSim. michaz if (internalInterface != null) { // check if "Wenden" if(getTransitLine() == null){ eventsManager.processEvent(new TransitDriverStartsEvent(now, this.dummyPerson.getId(), this.vehicle.getId(), Id.create("Wenden", TransitLine.class), Id.create("Wenden", TransitRoute.class), Id.create("Wenden", Departure.class))); } else { eventsManager.processEvent(new TransitDriverStartsEvent(now, this.dummyPerson.getId(), this.vehicle.getId(), getTransitLine().getId(), getTransitRoute().getId(), getDeparture().getId())); } } }
Departure dep1 = route.getDepartures().get(depId1); assertNotNull(dep1); assertEquals(depId1, dep1.getId()); assertEquals(Time.parseTime(depTime1), dep1.getDepartureTime(), MatsimTestCase.EPSILON);
Departure dep1 = route.getDepartures().get(depId1); assertNotNull(dep1); assertEquals(depId1, dep1.getId()); assertEquals(Time.parseTime(depTime1), dep1.getDepartureTime(), MatsimTestCase.EPSILON); Departure dep2 = route.getDepartures().get(depId2); assertNotNull(dep2); assertEquals(depId2, dep2.getId()); assertEquals(Time.parseTime(depTime2), dep2.getDepartureTime(), MatsimTestCase.EPSILON);
Departure departureA = routeA.getDepartures().get(departureE.getId()); assertNotNull("departure not found: " + departureE.getId().toString(), departureA); assertEquals("different departure times.", departureE.getDepartureTime(), departureA.getDepartureTime(), EPSILON); assertEquals("different vehicle ids.", departureE.getVehicleId(), departureA.getVehicleId());
Departure dep1 = route.getDepartures().get(depId1); assertNotNull(dep1); assertEquals(depId1, dep1.getId()); assertEquals(Time.parseTime(depTime1), dep1.getDepartureTime(), MatsimTestCase.EPSILON); assertEquals(Id.create("v 975", Vehicle.class), dep1.getVehicleId()); Departure dep2 = route.getDepartures().get(depId2); assertNotNull(dep2); assertEquals(depId2, dep2.getId()); assertEquals(Time.parseTime(depTime2), dep2.getDepartureTime(), MatsimTestCase.EPSILON); assertNull(dep2.getVehicleId());
tl.handleEvent(new TransitDriverStartsEvent(7.0*3600-20, Id.create("ptDriver1", Person.class), vehicleIdDep1, line1.getId(), route1.getId(), dep1.getId())); tl.handleEvent(new PersonEntersVehicleEvent(7.0*3600-20, Id.create("ptDriver1", Person.class), vehicleIdDep1));