@Override public void handleEvent(VehicleLeavesTrafficEvent event) { if(!event.getNetworkMode().equals("car")){ if( nonCarWarn <=1) { logger.warn("non-car modes are supported, however, not properly tested yet."); logger.warn(Gbl.ONLYONCE); nonCarWarn++; } } Tuple<Id<Link>, Double> linkId2Time = new Tuple<Id<Link>, Double>(event.getLinkId(), event.getTime()); this.vehicleLeavesTraffic.put(event.getVehicleId(), linkId2Time); // yyyyyy This event should also trigger an emissions calculation, from link entry up to here. Probably not done since this particular // event did not exist when the emissions contrib was programmed. Would be easy to do: calculate the emission and remove // the vehicle from the linkenter data structure so that no second emission event is computed for travel from parking to // link leave. (This could also be done, but the excellent should not be in the way of the good.) kai, may'16 }
public void testWriteReadXml() { final VehicleLeavesTrafficEvent event1 = new VehicleLeavesTrafficEvent(8463.7301, Id.create("483", Person.class), Id.create("783", Link.class), Id.create("veh7", Vehicle.class), TransportMode.car,1.0); final VehicleLeavesTrafficEvent event2 = XmlEventsTester.testWriteReadXml(getOutputDirectory() + "events.xml", event1); assertEquals(event1.getTime(), event2.getTime(), EPSILON); assertEquals(event1.getPersonId().toString(), event2.getPersonId().toString()); assertEquals(event1.getLinkId().toString(), event2.getLinkId().toString()); assertEquals(event1.getVehicleId(), event2.getVehicleId()); assertEquals(event1.getNetworkMode(), event2.getNetworkMode()); } }
double enterTime = previousLinkEnterTime; double travelTime = vehEvent.getTime() - enterTime; calculateScoreForPreviousLink(vehEvent.getLinkId(), enterTime, vehId, travelTime, previousLinkRelativePosition);
Assert.assertEquals("wrong link in 2nd event.", f.link1.getId(), ((PersonDepartureEvent) allEvents.get(1)).getLinkId() ); Assert.assertEquals("wrong link in 4th event.", f.link1.getId(), ((VehicleEntersTrafficEvent) allEvents.get(3)).getLinkId() ); Assert.assertEquals("wrong link in 5th event.", f.link1.getId(), ((VehicleLeavesTrafficEvent) allEvents.get(4)).getLinkId() ); Assert.assertEquals("wrong link in 7th event.", f.link1.getId(), ((PersonArrivalEvent) allEvents.get(6)).getLinkId() ); Assert.assertEquals("wrong link in 8th event.", f.link1.getId(), ((ActivityStartEvent) allEvents.get(7)).getLinkId() );
.setTime(event.getTime()) .setDriverId(ProtobufEvents.PersonId.newBuilder().setId(((VehicleLeavesTrafficEvent) event).getPersonId().toString())) .setLinkId(ProtobufEvents.LinkId.newBuilder().setId(((VehicleLeavesTrafficEvent) event).getLinkId().toString())) .setVehId(ProtobufEvents.VehicleId.newBuilder().setId(((VehicleLeavesTrafficEvent) event).getVehicleId().toString())) .setNetworkMode(((VehicleLeavesTrafficEvent) event).getNetworkMode())