### Question:
ComponentImpl implements Component { @Override public Properties getPropertiesFor(ConfigTypeFilter filter) { List<ConfigType> filteredTypes = filter.selectTypes(configTypeRepository.getConfigTypes()); return propertiesFactory.getPropertiesOf(name, originalName, environment, filteredTypes); }  @Override Properties getPropertiesFor(ConfigTypeFilter filter); @Override String toString();  }### Answer:
@Test void filterProperties() { Properties properties = mock(Properties.class); when(configTypeRepository.getConfigTypes()).thenReturn(asList(APPLICATION, DEPLOY)); when(filter.selectTypes(asList(APPLICATION, DEPLOY))).thenReturn(singletonList(DEPLOY)); when(propertiesFactory.getPropertiesOf("name", "original", "env", singletonList(DEPLOY))).thenReturn(properties); assertEquals(properties, subj.getPropertiesFor(filter)); }