@Test(expected=CancellationException.class)
public void testGetWithTimeoutAfterCancel() throws Exception {

    Observable<String> obs = Observable.create(new OperationNeverComplete<String>());
    Future<String> f = toFuture(obs);
    boolean cancelled = f.cancel(true);
    assertTrue(cancelled);  // because OperationNeverComplete never does
    f.get(Long.MAX_VALUE, TimeUnit.NANOSECONDS);    // Future.get() docs require this to throw
}