@Override public boolean isTerminated() { return scheduler.isShutdown() && pScheduler.getCurrentPoolSize() == 0; }
@Override public boolean isTerminated() { return scheduler.isShutdown() && pScheduler.getCurrentPoolSize() == 0; }
@Test public void getCurrentPoolSizeTest() { PrioritySchedulerServiceFactory factory = getPrioritySchedulerFactory(); PriorityScheduler scheduler = factory.makePriorityScheduler(1); try { // verify nothing at the start assertEquals(0, scheduler.getCurrentPoolSize()); TestRunnable tr = new TestRunnable(); scheduler.execute(tr); tr.blockTillStarted(); // wait for execution assertEquals(1, scheduler.getCurrentPoolSize()); } finally { factory.shutdown(); } }
@Test public void shutdownRecurringTest() { PrioritySchedulerServiceFactory factory = getPrioritySchedulerFactory(); try { final PriorityScheduler scheduler = factory.makePriorityScheduler(1); TestRunnable tr = new TestRunnable(); scheduler.scheduleWithFixedDelay(tr, 0, 0); tr.blockTillStarted(); scheduler.shutdown(); new TestCondition(() -> scheduler.workerPool.isShutdownFinished() && scheduler.getCurrentPoolSize() == 0).blockTillTrue(); } finally { factory.shutdown(); } }
assertEquals(1, scheduler.getCurrentPoolSize());