### Question:
ConfigTypeFilters { public static ConfigTypeFilter configTypeWithName(String... name) { Set<String> names = setOf(name); if (names.isEmpty()) { throw noConfigTypesProvidedException(); } return types -> { validateNames(names, types); return filter(types, type -> names.contains(type.getName())); }; }  static ConfigTypeFilter eachConfigType(); static ConfigTypeFilter configType(ConfigType... types); static ConfigTypeFilter configTypeWithName(String... name); static ConfigTypeFilter configTypeWithExtensionOf(File file);  }### Answer:
@Test void selectByConfigName() { assertEquals( asList(app, deploy), configTypeWithName("app", "deploy").selectTypes(supportedTypes) ); }
@Test void failOnUnsupportedName() { assertThrows(IllegalArgumentException.class, () -> configTypeWithName("app", "badName").selectTypes(supportedTypes)); }