@Test
public void testFutureCallPollCancelOnTimeoutExceeded() throws Exception {

  String opName = "testFutureCallPollCancelOnPollingTimeoutExceeded";
  OperationSnapshot initialOperation = getOperation(opName, null, null, null, false);
  OperationSnapshot resultOperation = getOperation(opName, null, null, null, false);
  UnaryCallable<Integer, OperationSnapshot> initialCallable =
      mockGetOpSnapshotCallable(StatusCode.Code.OK, initialOperation);
  LongRunningClient longRunningClient = mockGetOperation(StatusCode.Code.OK, resultOperation);
  OperationCallable<Integer, Color, Currency> callable =
      FakeCallableFactory.createOperationCallable(
          initialCallable, callSettings, initialContext, longRunningClient);
  OperationFuture<Color, Currency> future =
      callable.futureCall(2, FakeCallContext.createDefault());
  assertFutureCancelMetaCancel(future);
  assertThat(executor.getIterationsCount()).isEqualTo(5);
}