### Question:
ConfigurationValueListBox extends ConfigurationValue<String, ConfigurationRequirementListBox> { @Override public void triggerSetValue(Algorithm algorithm, Set<Class<?>> algorithmInterfaces) throws AlgorithmConfigurationException { if (!algorithmInterfaces.contains(ListBoxParameterAlgorithm.class)) { throw new AlgorithmConfigurationException( "Algorithm does not accept arraylist configuration values."); } ListBoxParameterAlgorithm listBoxParameterAlgorithm = (ListBoxParameterAlgorithm) algorithm; listBoxParameterAlgorithm.setListBoxConfigurationValue(this.identifier, this.values); } protected  ConfigurationValueListBox();  ConfigurationValueListBox(String identifier, String... values);  ConfigurationValueListBox(ConfigurationRequirementListBox requirement); @Override void triggerSetValue(Algorithm algorithm, Set<Class<?>> algorithmInterfaces);  }### Answer:
@Test public void testTriggerSetValue() throws AlgorithmConfigurationException { ListBoxParameterAlgorithm algorithm = mock(ListBoxParameterAlgorithm.class); Set<Class<?>> interfaces = new HashSet<>(); interfaces.add(ListBoxParameterAlgorithm.class); String expectedIdentifier = "configId1"; String[] expectedConfigurationValue = new String[1]; expectedConfigurationValue[0] = "column1"; ArrayList<String> expectedValues = new ArrayList<String>(); ConfigurationValueListBox configValue = new ConfigurationValueListBox( new ConfigurationRequirementListBox(expectedIdentifier, expectedValues).getIdentifier(), expectedConfigurationValue); configValue.triggerSetValue(algorithm, interfaces); verify(algorithm).setListBoxConfigurationValue(expectedIdentifier, expectedConfigurationValue); }