in BoltsTest/src/bolts/TaskTest.java [63:99]
public void testSynchronousContinuation() {
final Task<Integer> complete = Task.forResult(5);
final Task<Integer> error = Task.forError(new RuntimeException());
final Task<Integer> cancelled = Task.cancelled();
complete.continueWith(new Continuation<Integer, Void>() {
public Void then(Task<Integer> task) {
assertEquals(complete, task);
assertTrue(task.isCompleted());
assertEquals(5, task.getResult().intValue());
assertFalse(task.isFaulted());
assertFalse(task.isCancelled());
return null;
}
});
error.continueWith(new Continuation<Integer, Void>() {
public Void then(Task<Integer> task) {
assertEquals(error, task);
assertTrue(task.isCompleted());
assertTrue(task.getError() instanceof RuntimeException);
assertTrue(task.isFaulted());
assertFalse(task.isCancelled());
return null;
}
});
cancelled.continueWith(new Continuation<Integer, Void>() {
public Void then(Task<Integer> task) {
assertEquals(cancelled, task);
assertTrue(cancelled.isCompleted());
assertFalse(cancelled.isFaulted());
assertTrue(cancelled.isCancelled());
return null;
}
});
}