@Test (expected = RuntimeException.class) public void defaultConstructorFail() { ExecutorTaskInterceptor eti = new ExecutorTaskInterceptor(scheduler); eti.execute(DoNothingRunnable.instance()); }
@Test public void interceptSubmitRunnableLambdaTest() { List<Runnable> interceptedTasks = new ArrayList<>(1); ExecutorTaskInterceptor executorInterceptorLambda = new ExecutorTaskInterceptor(scheduler, (r1) -> { interceptedTasks.add(r1); return DoNothingRunnable.instance(); }); executorInterceptorLambda.execute(tr); assertEquals(1, interceptedTasks.size()); assertTrue(tr == interceptedTasks.get(0)); assertEquals(1, scheduler.tick()); // replaced task should run assertEquals(0, tr.getRunCount()); // should have been replaced and not run }
@Test public void interceptExecuteTest() { executorInterceptor.execute(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 }