@Test
public void testFromCallable() {

    Callable<Integer> callable = new Callable<Integer>() {
        @Override
        public Integer call() throws Exception {
            return 1;
        }
    };
    
    Observable<Integer> source = Async.fromCallable(callable, scheduler);
    
    for (int i = 0; i < 3; i++) {
        
        Observer<Object> observer = mock(Observer.class);
        source.subscribe(new TestObserver<Object>(observer));
        InOrder inOrder = inOrder(observer);
        inOrder.verify(observer, never()).onNext(any());
        inOrder.verify(observer, never()).onCompleted();
        scheduler.advanceTimeBy(1, TimeUnit.MILLISECONDS);
        inOrder.verify(observer, times(1)).onNext(1);
        inOrder.verify(observer, times(1)).onCompleted();
        inOrder.verifyNoMoreInteractions();
        verify(observer, never()).onError(any(Throwable.class));
    }
}