public static void main(final String[] args) { String eventFileName = args[0]; CppEventFileParser eventFileParser = new CppEventFileParser(); eventFileParser.parse(eventFileName); }
@Override public void afterSim() { t.endTimer(); log.info("Time needed for one iteration (only JDEQSimulation part): " + t.getMeasuredTime() + "[ms]"); }
/** * 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); }
@Test public void testUnschedule2(){ Scheduler scheduler=new Scheduler(new MessageQueue()); SimUnit sm1=new DummySimUnit(scheduler); Message m1=new DummyMessage(); sm1.sendMessage(m1, sm1, 10); DummyMessage1 m2=new DummyMessage1(); m2.messageToUnschedule=m1; sm1.sendMessage(m2, sm1, 1); scheduler.startSimulation(); Assert.assertEquals(1.0, scheduler.getSimTime(), 0.0); }
@Test public void testSchedule1(){ Scheduler scheduler=new Scheduler(new MessageQueue()); SimUnit sm1=new DummySimUnit(scheduler); Message m1=new DummyMessage(); sm1.sendMessage(m1, sm1, 9000); scheduler.startSimulation(); Assert.assertEquals(9000.0, scheduler.getSimTime(), 0.0); }
public void testPutMessage3(){ MessageQueue mq=new MessageQueue(); Message m1=new DummyMessage(); m1.setMessageArrivalTime(2); Message m2=new DummyMessage(); m2.setMessageArrivalTime(1); Message m3=new DummyMessage(); m3.setMessageArrivalTime(1); mq.putMessage(m1); mq.putMessage(m2); mq.putMessage(m3); assertEquals(3, mq.getQueueSize()); assertEquals(true, mq.getNextMessage().getMessageArrivalTime()==1); }
/** * 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 testGetTravelTime(){ LinkedList<Event> events=new LinkedList<Event>(); events.add(new PersonDepartureEvent(20, Id.create("2", Person.class), Id.create("0", Link.class), TransportMode.car)); events.add(new PersonArrivalEvent(30, Id.create("2", Person.class), Id.create("0", Link.class), TransportMode.car)); events.add(new PersonDepartureEvent(90, Id.create("1", Person.class), Id.create("0", Link.class), TransportMode.car)); events.add(new PersonArrivalEvent(110, Id.create("1", Person.class), Id.create("0", Link.class), TransportMode.car)); assertEquals(20.0, EventLibrary.getTravelTime(events,1), EPSILON); }
public void testGetAverageTravelTime(){ LinkedList<Event> events=new LinkedList<Event>(); events.add(new PersonDepartureEvent(20, Id.create("2", Person.class), Id.create("0", Link.class), TransportMode.car)); events.add(new PersonArrivalEvent(30, Id.create("2", Person.class), Id.create("0", Link.class), TransportMode.car)); events.add(new PersonDepartureEvent(90, Id.create("1", Person.class), Id.create("0", Link.class), TransportMode.car)); events.add(new PersonArrivalEvent(110, Id.create("1", Person.class), Id.create("0", Link.class), TransportMode.car)); assertEquals(30.0, EventLibrary.getSumTravelTime(events), EPSILON); }
public void testGetTravelTime(){ ArrayList<EventLog> deqSimLog=CppEventFileParser.parseFile(getPackageInputDirectory() + "deq_events.txt"); assertEquals(3599.0, Math.floor(EventLog.getTravelTime(deqSimLog,1)), EPSILON); }
public void printMeasuredTime(String label) { System.out.println(label + getMeasuredTime()); } }
@Override public void handleMessage() { this.getSendingUnit().getScheduler().unschedule(messageToUnschedule); }
@Test public void testUnschedule(){ Scheduler scheduler=new Scheduler(new MessageQueue()); SimUnit sm1=new DummySimUnit(scheduler); Message m1=new DummyMessage(); sm1.sendMessage(m1, sm1, 1); scheduler.unschedule(m1); scheduler.startSimulation(); Assert.assertEquals(0.0, scheduler.getSimTime(), 0.0); }
public void testPutMessage1(){ MessageQueue mq=new MessageQueue(); Message m1=new DummyMessage(); m1.setMessageArrivalTime(1); Message m2=new DummyMessage(); m2.setMessageArrivalTime(2); mq.putMessage(m1); mq.putMessage(m2); assertEquals(2, mq.getQueueSize()); assertEquals(true, mq.getNextMessage()==m1); }
public void testGetAverageTravelTime(){ ArrayList<EventLog> deqSimLog=CppEventFileParser.parseFile(getPackageInputDirectory() + "deq_events.txt"); assertEquals(EventLog.getTravelTime(deqSimLog,1), EventLog.getSumTravelTime(deqSimLog), EPSILON); } }
public void testPutMessage2(){ MessageQueue mq=new MessageQueue(); Message m1=new DummyMessage(); m1.setMessageArrivalTime(2); Message m2=new DummyMessage(); m2.setMessageArrivalTime(1); mq.putMessage(m1); mq.putMessage(m2); assertEquals(2, mq.getQueueSize()); assertEquals(true, mq.getNextMessage()==m2); }
public void testRemoveMessage2(){ MessageQueue mq=new MessageQueue(); Message m1=new DummyMessage(); m1.setMessageArrivalTime(1); Message m2=new DummyMessage(); m2.setMessageArrivalTime(2); mq.putMessage(m1); mq.putMessage(m2); mq.removeMessage(m2); assertEquals(1, mq.getQueueSize()); assertEquals(true, mq.getNextMessage()==m1); assertEquals(0, mq.getQueueSize()); }
public void testRemoveMessage1(){ MessageQueue mq=new MessageQueue(); Message m1=new DummyMessage(); m1.setMessageArrivalTime(1); Message m2=new DummyMessage(); m2.setMessageArrivalTime(2); mq.putMessage(m1); mq.putMessage(m2); mq.removeMessage(m1); assertEquals(1, mq.getQueueSize()); assertEquals(true, mq.getNextMessage()==m2); assertEquals(0, mq.getQueueSize()); }
public void testMessagePriority(){ MessageQueue mq=new MessageQueue(); Message m1=new DummyMessage(); m1.setMessageArrivalTime(1); m1.setPriority(10); Message m2=new DummyMessage(); m2.setMessageArrivalTime(1); m2.setPriority(5); Message m3=new DummyMessage(); m3.setMessageArrivalTime(1); m3.setPriority(20); mq.putMessage(m1); mq.putMessage(m2); mq.putMessage(m3); assertEquals(true, mq.getNextMessage()==m3); assertEquals(true, mq.getNextMessage()==m1); assertEquals(true, mq.getNextMessage()==m2); assertEquals(0, mq.getQueueSize()); assertEquals(true, mq.isEmpty()); }
public void testRemoveMessage3(){ MessageQueue mq=new MessageQueue(); Message m1=new DummyMessage(); m1.setMessageArrivalTime(1); Message m2=new DummyMessage(); m2.setMessageArrivalTime(1); mq.putMessage(m1); mq.putMessage(m2); mq.removeMessage(m1); assertEquals(1, mq.getQueueSize()); assertEquals(false, mq.isEmpty()); assertEquals(true, mq.getNextMessage()==m2); assertEquals(0, mq.getQueueSize()); assertEquals(true, mq.isEmpty()); }