@Test
public void testCheckMutateRowAsync() throws Exception {

  Mutation mutation = Mutation.create();
  mutation.setCell("family", "qualifier", "some other value");
  ConditionalRowMutation conditionalMutation =
      ConditionalRowMutation.create(TABLE_ID, "first" + "-row" + "-key").then(mutation);
  CheckAndMutateRowRequest request = conditionalMutation.toProto(REQUEST_CONTEXT);
  CheckAndMutateRowResponse response =
      CheckAndMutateRowResponse.newBuilder().setPredicateMatched(true).build();
  ListenableFuture<CheckAndMutateRowResponse> future = Futures.immediateFuture(response);
  when(delegate.checkAndMutateRowAsync(request)).thenReturn(future);
  Future<Boolean> actual = dataClientWrapper.checkAndMutateRowAsync(conditionalMutation);
  verify(delegate).checkAndMutateRowAsync(request);
  assertTrue(actual.get());
}