### Question:
ConfigValidationException extends RuntimeException { public static ConfigValidationException createIDPLevelsOfAssuranceUnsupportedException(Collection<IdentityProviderConfig> badIDPConfigs) { return new ConfigValidationException(badIDPConfigs.stream().map(idpConfig -> MessageFormat.format( "Unsupported level of assurance in IDP config.\nEntity Id: {0}\nLevels: {1}\n", idpConfig.getEntityId(), idpConfig.getSupportedLevelsOfAssurance())) .collect(Collectors.joining("\n"))); } private  ConfigValidationException(String message); static ConfigValidationException createFileReadError(String filePath); static ConfigValidationException createDuplicateEntityIdException(String entityId); static ConfigValidationException createMissingMatchingEntityIdException(String transactionEntityId); static ConfigValidationException createAbsentMatchingServiceConfigException(String matchingServiceEntityId, String transactionEntityId); static ConfigValidationException createAbsentOnboardingTransactionConfigException(String transactionEntityId, String idpEntityId); static ConfigValidationException createInvalidCertificatesException(List<InvalidCertificateDto> invalidCertificates); static ConfigValidationException createIDPLevelsOfAssuranceUnsupportedException(Collection<IdentityProviderConfig> badIDPConfigs); static ConfigValidationException createTransactionsRequireUnsupportedLevelOfAssurance(Collection<TransactionConfig> badTransactionConfigs); static ConfigValidationException createIncompatiblePairsOfTransactionsAndIDPs(Map<TransactionConfig, List<IdentityProviderConfig>> incompatibleIdps);  }### Answer:
@Test public void createIDPLevelsOfAssuranceUnsupportedException() throws Exception { ConfigValidationException exception = ConfigValidationException.createIDPLevelsOfAssuranceUnsupportedException(singletonList(anIdentityProviderConfigData().build())); assertThat(exception.getMessage()).isEqualTo("Unsupported level of assurance in IDP config.\nEntity Id: default-idp-entity-id\nLevels: [LEVEL_2]\n"); }