@Test public void interceptSubmitCallableTest() { ListenableFuture<?> f = executorInterceptor.submit(new TestCallable()); assertEquals(1, testInterceptor.getInterceptedTasks().size()); assertTrue(testInterceptor.getInterceptedTasks().get(0) instanceof ListenableFutureTask); assertEquals(1, scheduler.tick()); // replaced task should run assertFalse(f.isDone()); }
@Test public void interceptSubmitRunnableWithResultTest() throws InterruptedException, ExecutionException { Object result = new Object(); ListenableFuture<?> f = executorInterceptor.submit(tr, result); assertEquals(1, testInterceptor.getInterceptedTasks().size()); assertTrue(tr == testInterceptor.getInterceptedTasks().get(0)); assertEquals(1, scheduler.tick()); // replaced task should run assertEquals(0, tr.getRunCount()); // should have been replaced and not run assertTrue(f.isDone()); assertTrue(f.get() == result); }
@Test public void interceptSubmitRunnableTest() { ListenableFuture<?> f = executorInterceptor.submit(tr); assertEquals(1, testInterceptor.getInterceptedTasks().size()); assertTrue(tr == testInterceptor.getInterceptedTasks().get(0)); assertEquals(1, scheduler.tick()); // replaced task should run assertEquals(0, tr.getRunCount()); // should have been replaced and not run assertTrue(f.isDone()); }