### Question:
ConfigurationValueInteger extends ConfigurationValue<Integer, ConfigurationRequirementInteger> { @Override public void triggerSetValue(Algorithm algorithm, Set<Class<?>> algorithmInterfaces) throws AlgorithmConfigurationException { if (!algorithmInterfaces.contains(IntegerParameterAlgorithm.class)) { throw new AlgorithmConfigurationException( "Algorithm does not accept integer configuration values."); } IntegerParameterAlgorithm integerParameterAlgorithm = (IntegerParameterAlgorithm) algorithm; integerParameterAlgorithm.setIntegerConfigurationValue(this.identifier, this.values); } protected  ConfigurationValueInteger();  ConfigurationValueInteger(String identifier, Integer... values);  ConfigurationValueInteger(ConfigurationRequirementInteger requirement); @Override void triggerSetValue(Algorithm algorithm, Set<Class<?>> algorithmInterfaces);  }### Answer:
@Test public void testTriggerSetValue() throws AlgorithmConfigurationException { IntegerParameterAlgorithm algorithm = mock(IntegerParameterAlgorithm.class); Set<Class<?>> interfaces = new HashSet<>(); interfaces.add(IntegerParameterAlgorithm.class); String expectedIdentifier = "configId1"; Integer[] expectedConfigurationValue = {1, 2}; ConfigurationValueInteger configValue = new ConfigurationValueInteger( new ConfigurationRequirementInteger(expectedIdentifier).getIdentifier(), expectedConfigurationValue); configValue.triggerSetValue(algorithm, interfaces); verify(algorithm).setIntegerConfigurationValue(expectedIdentifier, expectedConfigurationValue); }