BatchingCallSettings extends UnaryCallSettings<RequestT, ResponseT> { @Override public String toString() { return MoreObjects.toStringHelper(this) .add("retryableCodes", getRetryableCodes()) .add("retrySettings", getRetrySettings()) .add("batchingSettings", batchingSettings) .toString(); } private  BatchingCallSettings(Builder<RequestT, ResponseT> builder); BatchingDescriptor<RequestT, ResponseT> getBatchingDescriptor(); BatchingSettings getBatchingSettings(); FlowController getFlowController(); static Builder<RequestT, ResponseT> newBuilder(
      BatchingDescriptor<RequestT, ResponseT> batchingDescriptor); @Override final Builder<RequestT, ResponseT> toBuilder(); @Override String toString();  }
@Test public void testToString() { @SuppressWarnings("unchecked") BatchingDescriptor<Integer, Integer> batchingDescriptor = Mockito.mock(BatchingDescriptor.class); BatchingCallSettings.Builder<Integer, Integer> builder = BatchingCallSettings.newBuilder(batchingDescriptor); BatchingSettings batchingSettings = BatchingSettings.newBuilder().setElementCountThreshold(1L).build(); FlowController flowController = Mockito.mock(FlowController.class); Set<StatusCode.Code> retryCodes = Sets.newHashSet(Code.UNAVAILABLE); RetrySettings retrySettings = RetrySettings.newBuilder().build(); builder .setRetryableCodes(retryCodes) .setRetrySettings(retrySettings) .setBatchingSettings(batchingSettings) .setFlowController(flowController); Truth.assertThat(builder.build().toString()).contains("retryableCodes=" + retryCodes); Truth.assertThat(builder.build().toString()).contains("retrySettings=" + retrySettings); Truth.assertThat(builder.build().toString()).contains("batchingSettings=" + batchingSettings); }