### Question:
ModulesYamlConfigLoader implements ModulesConfigLoader { @Override public List<Integer> loadIntegerList(String moduleName, String property) { JsonNode propertyNode = loadPropertyNode(moduleName, property); if (propertyNode == null || propertyNode.isNull()) { throw new ModulePropertyNotFoundException(moduleName, property); } List<Integer> values = new ArrayList<>(); propertyNode.iterator().forEachRemaining(node -> values.add(node.isNull() ? null : node.asInt())); return values; } ModulesYamlConfigLoader();  ModulesYamlConfigLoader(String modulesDirPath); @Override String loadString(String moduleName, String property); @Override String loadStringOrDefault(String moduleName, String property, String defaultValue); @Override Integer loadInteger(String moduleName, String property); @Override Integer loadIntegerOrDefault(String moduleName, String property, Integer defaultValue); @Override List<String> loadStringList(String moduleName, String property); @Override List<String> loadStringListOrDefault(String moduleName, String property, List<String> defaultValue); @Override List<Integer> loadIntegerList(String moduleName, String property); @Override List<Integer> loadIntegerListOrDefault(String moduleName, String property, List<Integer> defaultValue);  }### Answer:
@Test public void testLoadIntegerListProperty() { List<Integer> values = loader.loadIntegerList(CONFIG_FILE, "integerList"); assertThat(values).containsExactly(1, 2); }
@Test public void testLoadNullIntegerListThrowsException() { assertThatExceptionOfType(ModulePropertyNotFoundException.class) .isThrownBy(() -> loader.loadIntegerList(CONFIG_FILE, NULL_PROPERTY)); }
@Test public void testLoadNotExistingIntegerListThrowsException() { assertThatExceptionOfType(ModulePropertyNotFoundException.class) .isThrownBy(() -> loader.loadIntegerList(CONFIG_FILE, NOT_EXISTING_PROPERTY)); }
@Test public void testParseInnerElement() { List<Integer> values = loader.loadIntegerList(CONFIG_FILE, "innerIntegerList.list"); assertThat(values).containsExactly(1, 2, 3); }