### Question:
BaseAdsServiceClientFactoryHelper implements AdsServiceClientFactoryHelper<C, S, D> { @VisibleForTesting C createServiceClient(Object soapClient, D adsServiceDescriptor, S adsSession) { return adsServiceClientFactory.create(soapClient, adsServiceDescriptor, adsSession); } BaseAdsServiceClientFactoryHelper(
      AdsServiceClientFactoryInterface<C, S, D> adsServiceClientFactory,
      AdsServiceDescriptorFactoryInterface<D> adsServiceDescriptorFactory,
      SoapClientHandlerInterface<?> soapClientHandler); @Override C createAdsServiceClient(D adsServiceDescriptor, S adsSession); @Override D createServiceDescriptor(Class<?> interfaceClass, String version); @Override void checkServiceClientPreconditions(S adsSession, Class<?> interfaceClass);  }### Answer:
@Test public void testCreateServiceClient() { when(adsServiceClientFactory.create( soapClient, adsServiceDescriptor, adsSession)).thenReturn( adsServiceClient); AdsServiceClient<AdsSession, AdsServiceDescriptor> testAdsServiceClient = abstractAdsServiceClientFactoryHelper.createServiceClient(soapClient, adsServiceDescriptor, adsSession); assertSame(adsServiceClient, testAdsServiceClient); }