@Test
public void testFutureCallPollDoneOnSecond() throws Exception {

  String opName = "testFutureCallPollDoneOnSecond";
  Color resp = getColor(0.5f);
  Currency meta1 = Currency.getInstance("UAH");
  Currency meta2 = Currency.getInstance("USD");
  OperationSnapshot initialOperation = getOperation(opName, null, null, null, false);
  OperationSnapshot resultOperation1 = getOperation(opName, null, null, meta1, false);
  OperationSnapshot resultOperation2 = getOperation(opName, resp, null, meta2, true);
  UnaryCallable<Integer, OperationSnapshot> initialCallable =
      mockGetOpSnapshotCallable(StatusCode.Code.OK, initialOperation);
  LongRunningClient longRunningClient =
      mockGetOperation(StatusCode.Code.OK, resultOperation1, resultOperation2);
  OperationCallable<Integer, Color, Currency> callable =
      FakeCallableFactory.createOperationCallable(
          initialCallable, callSettings, initialContext, longRunningClient);
  OperationFuture<Color, Currency> future =
      callable.futureCall(2, FakeCallContext.createDefault());
  assertFutureSuccessMetaSuccess(opName, future, resp, meta2);
  assertThat(executor.getIterationsCount()).isEqualTo(1);
}