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