### Question:
SiteMapConfigurationImpl implements SiteMapConfiguration { @Override public Collection<PropertyProvider> getPropertyProviders() { return getServices(SiteMapConfigurationImplConfig::propertyProviders, PropertyProvider.class); }  @Activate void activate(final SiteMapConfigurationImplConfig config); @Deactivate void deactivate(); @Override Pattern getPagePathPattern(); @Override PageRecognizer getPageRecognizer(); @Override UrlExternalizer getUrlExternalizer(); @Override Map<String, String> getXmlNamespaces(); @Override Collection<PropertyProvider> getPropertyProviders(); @Override Set<String> getMandatoryCachedPaths();  }### Answer:
@Test public void getPropertyProviders() { Collection<PropertyProvider> propertyProviders = model.getPropertyProviders(); assertNotNull(propertyProviders); assertTrue(propertyProviders.isEmpty()); when(config.propertyProviders()).thenReturn(new String[] { X, Y }); when(serviceRetriever.getNamedService(PropertyProvider.class, X)).thenReturn(mock(PropertyProvider.class)); when(serviceRetriever.getNamedService(PropertyProvider.class, Y)).thenReturn(mock(PropertyProvider.class)); propertyProviders = model.getPropertyProviders(); assertNotNull(propertyProviders); assertFalse(propertyProviders.isEmpty()); assertEquals(2, propertyProviders.size()); }