public static void getAverageExecutionDelayNoInputTest(StatisticPriorityScheduler scheduler) { assertEquals(-1, scheduler.getAverageExecutionDelay(), 0); }
public static void getPriorityAverageExecutionDelayNoInputTest(StatisticPriorityScheduler scheduler, TaskPriority testPriority) { assertEquals(-1, scheduler.getAverageExecutionDelay(testPriority), 0); BlockingTestRunnable br = new BlockingTestRunnable(); try { switch (testPriority) { // submit with opposite priority case High: scheduler.execute(br, TaskPriority.Low); break; case Low: scheduler.execute(br, TaskPriority.High); break; default: throw new UnsupportedOperationException("Priority not implenented: " + testPriority); } br.unblock(); // wait for task to finish now br.blockTillFinished(); blockTillSchedulerIdle(scheduler, 1); assertEquals(-1, scheduler.getAverageExecutionDelay(testPriority), 0); } finally { br.unblock(); } }
assertEquals(expectedAvg, scheduler.getAverageExecutionDelay(priority), 0);
public static void resetCollectedStatsTest(StatisticPriorityScheduler scheduler) { TestRunnable lastRunnable = null; boolean flip = false; for (int i = 0; i < TEST_QTY; i++) { lastRunnable = new TestRunnable(); if (flip) { scheduler.execute(lastRunnable, TaskPriority.High); flip = false; } else { scheduler.execute(lastRunnable, TaskPriority.Low); flip = true; } } lastRunnable.blockTillFinished(); // block till all are finished blockTillSchedulerIdle(scheduler, TEST_QTY); // reset stats scheduler.resetCollectedStats(); assertEquals(-1, scheduler.getAverageExecutionDuration(), 0); for (TaskPriority p : TaskPriority.values()) { assertEquals(-1, scheduler.getAverageExecutionDelay(p), 0); } }