### Question:
GrpcCollectorClientProvider extends CollectorClientProvider { public static GrpcCollectorClientProvider provider() { return INSTANCE; } GrpcCollectorClientProvider(); static GrpcCollectorClientProvider provider();  }### Answer:
@Test public void testProvide() { assertNotNull(GrpcCollectorClientProvider.provider()); }
@Test public void testProvideBounded() { CollectorClientProvider provider = CollectorClientProvider.provider(null, null); assertNotNull(provider); assertEquals(GrpcCollectorClientProvider.provider().getClass(), provider.getClass()); }
@Test public void testPreferredCollectorClientNotAvailable() { final List<String> log = new ArrayList<>(); CollectorClientProvider provider = CollectorClientProvider.provider( Options.CollectorClient.HTTP, new Warner() { @Override public void warn(String message) { log.add(message); } @Override public void error(String message) { log.add(message); } }); assertNotNull(provider); assertEquals(GrpcCollectorClientProvider.provider().getClass(), provider.getClass()); assertEquals(Collections.singletonList( "expected HTTP collector client was not present in classpath. Using GRPC instead."), log); }