@Override public double getAverageExecutionDelay(TaskPriority priority) { return statisticTracker.getAverageExecutionDelay(priority); }
@Override public double getAverageExecutionDelay() { return statisticTracker.getAverageExecutionDelay(); }
@Override public double getAverageExecutionDelay() { return statisticTracker.getAverageExecutionDelay(); }
@Override public double getAverageExecutionDelay(TaskPriority priority) { return statisticTracker.getAverageExecutionDelay(priority); }
@Test public void getAverageExecutionDelayNoInputTest() { NoThreadSchedulerStatisticTracker scheduler = new NoThreadSchedulerStatisticTracker(); assertEquals(-1, scheduler.getAverageExecutionDelay(), 0); }
public void getPriorityAverageExecutionDelayNoInputTest(TaskPriority testPriority) { NoThreadSchedulerStatisticTracker scheduler = new NoThreadSchedulerStatisticTracker(); switch (testPriority) { // submit with opposite priority case High: scheduler.execute(DoNothingRunnable.instance(), TaskPriority.Low); break; case Low: scheduler.execute(DoNothingRunnable.instance(), TaskPriority.High); break; default: throw new UnsupportedOperationException("Priority not implenented: " + testPriority); } // wait for task to finish now scheduler.tick(null); assertEquals(-1, scheduler.getAverageExecutionDelay(testPriority), 0); }
assertEquals(expectedAvg, scheduler.getAverageExecutionDelay(priority), 0);
@Test public void resetCollectedStatsTest() { NoThreadSchedulerStatisticTracker scheduler = new NoThreadSchedulerStatisticTracker(); TestRunnable lastRunnable = null; boolean flip = false; for (int i = 0; i < TEST_QTY; i++) { lastRunnable = new TestRunnable(1); if (flip) { scheduler.execute(lastRunnable, TaskPriority.High); flip = false; } else { scheduler.execute(lastRunnable, TaskPriority.Low); flip = true; } } scheduler.tick(null); // reset stats scheduler.resetCollectedStats(); assertEquals(-1, scheduler.getAverageExecutionDuration(), 0); for (TaskPriority p : TaskPriority.values()) { assertEquals(-1, scheduler.getAverageExecutionDelay(p), 0); } }