@Test
@SuppressWarnings("unchecked")
public void testSimpleFactoryThrows() {

    Func0<Future<Integer>> func = new Func0<Future<Integer>>() {
        @Override
        public Future<Integer> call() {
            throw new CustomException();
        }
    };
    
    Observable<Integer> result = Async.startFuture(func);
    
    final Observer<Object> observer = mock(Observer.class);
    result.subscribe(observer);
    
    verify(observer, never()).onNext(any());
    verify(observer, never()).onCompleted();
    verify(observer).onError(any(CustomException.class));
}