/** * Compares events produced by java and by C++ simulation * @param personId TODO * @deprecated Use {@link #equals(Event,EventLog)} instead */ @Deprecated public static boolean equals(final Event personEvent, Id<Person> personId, final EventLog deqSimEvent) { return equals(personEvent, deqSimEvent); }
public static void main(final String[] args) { String eventFileName = args[0]; CppEventFileParser eventFileParser = new CppEventFileParser(); eventFileParser.parse(eventFileName); }
/** * Compare events to deq event file. The order of events must also be the * same. (this test will only succeed for simple tests with one car * often!!!) => reason: at junctions the order of cars can change + stuck * vehicles are dealt with in different ways */ protected void compareToDEQSimEvents(final String deqsimEventsFile) { LinkedList<Event> copyEventList=new LinkedList<Event>(); // remove ActStartEvent and ActEndEvent, because this does not exist in // c++ DEQSim for (int i=0;i<allEvents.size();i++){ if (!(allEvents.get(i) instanceof ActivityStartEvent || allEvents.get(i) instanceof ActivityEndEvent)){ copyEventList.add(allEvents.get(i)); } } ArrayList<EventLog> deqSimLog=CppEventFileParser.parseFile(deqsimEventsFile); for (int i=0;i<copyEventList.size();i++){ assertTrue("events not equal.", CppEventFileParser.equals(copyEventList.get(i), deqSimLog.get(i))); } }
public void testGetTravelTime(){ ArrayList<EventLog> deqSimLog=CppEventFileParser.parseFile(getPackageInputDirectory() + "deq_events.txt"); assertEquals(3599.0, Math.floor(EventLog.getTravelTime(deqSimLog,1)), EPSILON); }
CppEventFileParser.printNotEqualEvents(personEvent, deqSimEvent); return false; CppEventFileParser.printNotEqualEvents(personEvent, deqSimEvent); return false; CppEventFileParser.printNotEqualEvents(personEvent, deqSimEvent); return false; CppEventFileParser.printNotEqualEvents(personEvent, deqSimEvent); return false; CppEventFileParser.printNotEqualEvents(personEvent, deqSimEvent); return false; CppEventFileParser.printNotEqualEvents(personEvent, deqSimEvent); return false; CppEventFileParser.printNotEqualEvents(personEvent, deqSimEvent); return false; CppEventFileParser.printNotEqualEvents(personEvent, deqSimEvent); return false; CppEventFileParser.printNotEqualEvents(personEvent, deqSimEvent); return false; CppEventFileParser.printNotEqualEvents(personEvent, deqSimEvent); return false;
/** * Compares the sum of all travel times with the sum of all travel times generated by the C++DEQSim. * As {@link #compareToDEQSimEvents(String)} does not function for most comparisons of the JavaDEQSim and C++DEQSim model, * we need to compare the time each car was on the road and take its average. This figure should with in a small interval * for both simulations. * Attention: Still when vehicles are stuck, this comparison can be off by larger number, because unstucking the vehicles is * done in different ways by the two simulations */ protected void compareToDEQSimTravelTimes(final String deqsimEventsFile, final double tolerancePercentValue) { ArrayList<EventLog> deqSimLog = CppEventFileParser.parseFile(deqsimEventsFile); double deqSimTravelSum=EventLog.getSumTravelTime(deqSimLog); double javaSimTravelSum=EventLibrary.getSumTravelTime(allEvents); assertTrue ((Math.abs(deqSimTravelSum - javaSimTravelSum)/deqSimTravelSum) < tolerancePercentValue); }
public void testGetAverageTravelTime(){ ArrayList<EventLog> deqSimLog=CppEventFileParser.parseFile(getPackageInputDirectory() + "deq_events.txt"); assertEquals(EventLog.getTravelTime(deqSimLog,1), EventLog.getSumTravelTime(deqSimLog), EPSILON); } }