@Test public void testFixedRatePeriodicTaskIsCancelledByShutdownNow() throws InterruptedException { OutOfBandScheduledExecutor scheduler = new OutOfBandScheduledExecutor(); ExecutorService worker = Executors.newSingleThreadExecutor(); try { PartitionedScheduledExecutor executor = new PartitionedScheduledExecutor(scheduler, worker); ScheduledFuture<?> future = executor.scheduleAtFixedRate( new Runnable() { @Override public void run() { // no-op } }, 2, 1, MINUTES); assertThat(executor.shutdownNow(), hasSize(1)); assertThat(executor.awaitTermination(30, SECONDS), is(true)); assertThat(executor.isShutdown(), is(true)); assertThat(executor.isTerminated(), is(true)); assertThat(future.isDone(), is(false)); } finally { worker.shutdown(); } }