@Test
public void testFutureCallInitialDoneWrongType() throws Exception {

  String opName = "testFutureCallInitialDoneWrongType";
  Currency resp = Currency.getInstance("USD");
  Currency meta = Currency.getInstance("UAH");
  OperationSnapshot resultOperation = getOperation(opName, resp, null, meta, true);
  UnaryCallable<Integer, OperationSnapshot> initialCallable =
      mockGetOpSnapshotCallable(StatusCode.Code.OK, resultOperation);
  LongRunningClient longRunningClient = new UnsupportedOperationApi();
  OperationCallable<Integer, Color, Currency> callable =
      FakeCallableFactory.createOperationCallable(
          initialCallable, callSettings, initialContext, longRunningClient);
  OperationFuture<Color, Currency> future =
      callable.futureCall(2, FakeCallContext.createDefault());
  assertFutureFailMetaSuccess(
      future,
      meta,
      FakeStatusCode.of(StatusCode.Code.OK),
      "type mismatch: expected java.awt.Color, found java.util.Currency");
  assertThat(executor.getIterationsCount()).isEqualTo(0);
}