@Test
public void get() {

  OperationsStub operationsStub = mock(OperationsStub.class);
  when(operationsStub.getOperationCallable())
      .thenReturn(
          new UnaryCallable<GetOperationRequest, Operation>() {
            @Override
            public ApiFuture<Operation> futureCall(
                GetOperationRequest request, ApiCallContext context) {
              if (!request.getName().equals("poseidon")) {
                return ApiFutures.immediateFailedFuture(
                    new IllegalStateException("Unexpected request: " + request));
              } else {
                return ApiFutures.immediateFuture(
                    Operation.newBuilder().setName("greece").build());
              }
            }
          });
  LongRunningClient longRunningClient = new GrpcLongRunningClient(operationsStub);
  Truth.assertThat(longRunningClient.getOperationCallable().call("poseidon").getName())
      .isEqualTo("greece");
}