@Override protected Double featureValueOf(Event event) { return event.getTime(); } };
@Override public void handleEvent(Event event) { if (this.time != event.getTime()) { try { doComparison.await(); } catch (InterruptedException e1) { throw new ComparatorInterruptedException(e1); } catch (BrokenBarrierException e1) { throw new ComparatorInterruptedException(e1); } this.events.clear(); this.time = event.getTime(); this.numEvents = 0; } addEvent(event); }
@Override public boolean equals(Object obj) { if (!(obj instanceof Event)) { return false; } else { Event other = (Event) obj; return time == other.getTime() && getEventType().equals(other.getEventType()) && getAttributes().equals(other.getAttributes()); } }
protected void checkAscendingTimeStamps() { // all events of one agent must have ascending time stamps double lastTimeStamp; for (List<Event> list : eventsByPerson.values()) { lastTimeStamp = Double.NEGATIVE_INFINITY; for (int i = 0; i < list.size(); i++) { if (lastTimeStamp > list.get(i).getTime()) { for (int j = 0; j < list.size(); j++) { System.out.println(list.get(j).toString()); } System.out.println(lastTimeStamp); System.out.println(list.get(i).getTime()); fail("Messages are not arriving in a consistent manner."); } assertTrue(lastTimeStamp <= list.get(i).getTime()); lastTimeStamp = list.get(i).getTime(); } } }
@Override public void handleEvent(Event event) { if(event instanceof LinkEnterEvent){ CarrierVehicle carrierVehicle = getVehicle(((LinkEnterEvent) event).getVehicleId()); if(carrierVehicle == null) throw new IllegalStateException("carrier vehicle missing"); double toll = roadPricing.getTollAmount(carrierVehicle.getVehicleType().getId(),network.getLinks().get(((LinkEnterEvent) event).getLinkId()),event.getTime()); if(toll > 0.) System.out.println("bing: vehicle " + carrierVehicle.getVehicleId() + " paid toll " + toll + ""); score += (-1) * toll; } }
public static double getTravelTime(LinkedList<Event> events, int agentId) { double travelTime = 0; double startLegTime = 0; for (int i = 0; i < events.size(); i++) { if (events.get(i) instanceof PersonDepartureEvent) { if (Integer.parseInt(((PersonDepartureEvent) events.get(i)) .getPersonId().toString()) == agentId) { startLegTime = events.get(i).getTime(); } } else if (events.get(i) instanceof PersonArrivalEvent) { if (Integer.parseInt(((PersonArrivalEvent) events.get(i)) .getPersonId().toString()) == agentId) { travelTime += events.get(i).getTime() - startLegTime; } } } return travelTime; }
public static double getSumTravelTime(List<? extends Event> events) { double travelTime = 0; // key=vehicleId, value=starting time of last leg HashMap<String, Double> startingTime = new HashMap<String, Double>(); Event currentEvent = null; for (int i = 0; i < events.size(); i++) { currentEvent = events.get(i); if (currentEvent instanceof PersonDepartureEvent) { if (currentEvent.getTime() < 0) { // the problem is, that some agent departure events are // negative. // this solves this problem startingTime .put(((PersonDepartureEvent) currentEvent).getPersonId().toString(), 0.0); } else { startingTime.put(((PersonDepartureEvent) currentEvent).getPersonId().toString(), currentEvent.getTime()); } } else if (currentEvent instanceof PersonArrivalEvent) { travelTime += currentEvent.getTime() - startingTime.get(((PersonArrivalEvent) currentEvent).getPersonId() .toString()); } } return travelTime; }
if (personEvent.getTime() != deqSimEvent.getTime()) { CppEventFileParser.printNotEqualEvents(personEvent, deqSimEvent); return false;
assertEquals(21600.0, list.get(0).getTime(), 0.0); assertTrue(list.get(0) instanceof ActivityEndEvent); assertTrue(list.get(1) instanceof PersonDepartureEvent); assertEquals(21600.0, list.get(1).getTime(), 0.0); assertTrue(list.get(2) instanceof PersonArrivalEvent); assertEquals(21600.0, list.get(2).getTime(), 0.0); assertTrue(list.get(3) instanceof ActivityStartEvent); assertEquals(21600.0, list.get(3).getTime(), 0.0);
wasInLoop = true; assertEquals(21600, list.get(index).getTime(), 0.9); assertTrue(list.get(index++) instanceof ActivityEndEvent); assertTrue(list.get(index++) instanceof PersonDepartureEvent); assertTrue(list.get(index) instanceof ActivityStartEvent); assertEquals(38039, list.get(index).getTime(), 0.9);
Assert.assertEquals("wrong type of event.", PersonArrivalEvent.class, allEvents.get(3).getClass()); Assert.assertEquals("wrong type of event.", ActivityStartEvent.class, allEvents.get(4).getClass()); Assert.assertEquals("wrong time in event.", 6.0*3600 + 0, allEvents.get(0).getTime(), MatsimTestCase.EPSILON); Assert.assertEquals("wrong time in event.", 6.0*3600 + 0, allEvents.get(1).getTime(), MatsimTestCase.EPSILON); Assert.assertEquals("wrong time in event.", 6.0*3600 + 15, allEvents.get(2).getTime(), MatsimTestCase.EPSILON); Assert.assertEquals("wrong time in event.", 6.0*3600 + 15, allEvents.get(3).getTime(), MatsimTestCase.EPSILON);
Assert.assertEquals("wrong time in 1st event.", 6.0*3600 + 0, allEvents.get(0).getTime(), MatsimTestCase.EPSILON); Assert.assertEquals("wrong time in 2nd event.", 6.0*3600 + 0, allEvents.get(1).getTime(), MatsimTestCase.EPSILON); Assert.assertEquals("wrong time in 3rd event.", 6.0*3600 + 0, allEvents.get(2).getTime(), MatsimTestCase.EPSILON); Assert.assertEquals("wrong time in 4th event.", 6.0*3600 + 0, allEvents.get(3).getTime(), MatsimTestCase.EPSILON); Assert.assertEquals("wrong time in 5th event.", 6.0*3600 + 1, allEvents.get(4).getTime(), MatsimTestCase.EPSILON); Assert.assertEquals("wrong time in 6th event.", 6.0*3600 + 1, allEvents.get(5).getTime(), MatsimTestCase.EPSILON); Assert.assertEquals("wrong time in 7th event.", 6.0*3600 + 1, allEvents.get(6).getTime(), MatsimTestCase.EPSILON); Assert.assertEquals("wrong time in 8th event.", 6.0*3600 + 1, allEvents.get(7).getTime(), MatsimTestCase.EPSILON);
if (scoringFunction != null) { if (o instanceof PersonStuckEvent) { scoringFunction.agentStuck(o.getTime()); } else if (o instanceof PersonMoneyEvent) { scoringFunction.addMoney(((PersonMoneyEvent) o).getAmount());
Assert.assertEquals(act1.getEndTime(), collector.firstEvent.getTime(), MatsimTestCase.EPSILON); Assert.assertEquals(act1.getEndTime() + leg.getRoute().getTravelTime(), collector.lastEvent.getTime(), MatsimTestCase.EPSILON); collector.reset(0); sim = createQSim(scenario, events); sim.run(); Assert.assertEquals(8.0*3600, collector.firstEvent.getTime(), MatsimTestCase.EPSILON); Assert.assertEquals(11.0*3600, collector.lastEvent.getTime(), MatsimTestCase.EPSILON);
assertEquals(depTime, collector.firstEvent.getTime(), MatsimTestCase.EPSILON); assertEquals(depTime + 101.0, collector.lastEvent.getTime(), MatsimTestCase.EPSILON); collector.reset(0); assertEquals(depTime + 20.0, collector.firstEvent.getTime(), MatsimTestCase.EPSILON); assertEquals(depTime + 90.0, collector.lastEvent.getTime(), MatsimTestCase.EPSILON);
QSim sim = createQSim(scenario, events); sim.run(); Assert.assertEquals(simEndTime, collector.lastEvent.getTime(), MatsimTestCase.EPSILON);