### Question:
ConfigurationValueRelationalInputGenerator extends ConfigurationValue<RelationalInputGenerator, ConfigurationRequirementRelationalInput> { @Override public void triggerSetValue(Algorithm algorithm, Set<Class<?>> algorithmInterfaces) throws AlgorithmConfigurationException { if (!algorithmInterfaces.contains(AlgorithmType.RELATIONAL_INPUT.getAlgorithmClass())) { throw new AlgorithmConfigurationException( "Algorithm does not accept relational input configuration values."); } RelationalInputParameterAlgorithm relationalInputParameterAlgorithm = (RelationalInputParameterAlgorithm) algorithm; relationalInputParameterAlgorithm.setRelationalInputConfigurationValue(identifier, values); } protected  ConfigurationValueRelationalInputGenerator();  ConfigurationValueRelationalInputGenerator(String identifier,
                                                    RelationalInputGenerator... values); @Override void triggerSetValue(Algorithm algorithm, Set<Class<?>> algorithmInterfaces);  }### Answer:
@Test public void testTriggerSetValue() throws AlgorithmConfigurationException { RelationalInputParameterAlgorithm algorithm = mock(RelationalInputParameterAlgorithm.class); Set<Class<?>> interfaces = new HashSet<>(); interfaces.add(AlgorithmType.RELATIONAL_INPUT.getAlgorithmClass()); String expectedIdentifier = "configId1"; RelationalInputGenerator[] expectedConfigurationValue = {mock(RelationalInputGenerator.class), mock(RelationalInputGenerator.class)}; ConfigurationValueRelationalInputGenerator configValue = new ConfigurationValueRelationalInputGenerator( new ConfigurationRequirementFileInput(expectedIdentifier).getIdentifier(), expectedConfigurationValue); configValue.triggerSetValue(algorithm, interfaces); verify(algorithm) .setRelationalInputConfigurationValue(expectedIdentifier, expectedConfigurationValue); }
@Test public void testTriggerSetValueMissingInterface() { RelationalInputParameterAlgorithm algorithm = mock(RelationalInputParameterAlgorithm.class); Set<Class<?>> interfaces = new HashSet<>(); interfaces.add(AlgorithmType.TEMP_FILE.getAlgorithmClass()); String expectedIdentifier = "configId1"; RelationalInputGenerator[] expectedConfigurationValues = {mock(RelationalInputGenerator.class), mock(RelationalInputGenerator.class)}; ConfigurationValueRelationalInputGenerator configValue = new ConfigurationValueRelationalInputGenerator( new ConfigurationRequirementFileInput(expectedIdentifier).getIdentifier(), expectedConfigurationValues); try { configValue.triggerSetValue(algorithm, interfaces); fail("No exception was thrown."); } catch (AlgorithmConfigurationException e) { } }