compareCallbacks(callbacks3, listener3.getCallbacks(f3));
}
public void testSubmitWithListenerFail() throws Exception {
// test1
TestRunnable task1 = new TestRunnable(true);
TestManagedTaskListener listener1 = new TestManagedTaskListener();
Future f1 = service.submit(task1, listener1);
try {
f1.get(5, TimeUnit.SECONDS);
fail("Did not throw exception");
} catch (ExecutionException e) {
assertTrue("Unexpected exception " + e.getMessage(),
e.getCause() instanceof IllegalStateException);
}
assertEquals(Arrays.asList(expected), task1.getList());
assertTrue("waiting for taskDone()", listener1.waitForDone(TIMEOUT));
List<TestManagedTaskListener.CallbackInfo> callbacks1 = createCallbackInfo(f1);
compareCallbacks(callbacks1, listener1.getCallbacks(f1));
// test2
TestRunnable task2 = new TestRunnable(true);
TestManagedTaskListener listener2 = new TestManagedTaskListener();
Integer value = new Integer(5);
Future f2 = service.submit(task2, value, listener2);
try {
f2.get(5, TimeUnit.SECONDS);
fail("Did not throw exception");
} catch (ExecutionException e) {
assertTrue("Unexpected exception " + e.getMessage(),
e.getCause() instanceof IllegalStateException);
}
assertEquals(Arrays.asList(expected), task2.getList());
assertTrue("waiting for taskDone()", listener2.waitForDone(TIMEOUT));
List<TestManagedTaskListener.CallbackInfo> callbacks2 = createCallbackInfo(f2);
compareCallbacks(callbacks2, listener2.getCallbacks(f2));
// test3