### Question:
SystemPropertiesConfig implements Config { @Override public List<Path> getIncludedFiles() { String files = p.getProperty(INCLUDED_FILES); if (files != null) { return parsePathList(files); } String filesFile = p.getProperty(INCLUDED_FILES_FILE); if (filesFile != null) { return readPathList(Paths.get(filesFile)); } return null; } SystemPropertiesConfig(Properties p); boolean isFullyConfigured(); @Override int getBytecodeVersion(); @Override boolean isDefaultMethodsEnabled(); @Override Path getInputDir(); @Override Path getOutputDir(); @Override List<Path> getClasspath(); @Override List<Path> getIncludedFiles(); @Override boolean isJavacHacksEnabled(); @Override boolean isQuiet(); String getHelp();  }### Answer:
@Test public void included_files() { assertThat("not set", config().getIncludedFiles(), is(nullValue())); systemProperties.setProperty(RetrolambdaApi.INCLUDED_FILES, ""); assertThat("zero values", config().getIncludedFiles(), is(empty())); systemProperties.setProperty(RetrolambdaApi.INCLUDED_FILES, "/foo/one.class"); assertThat("one value", config().getIncludedFiles(), is(Arrays.asList(Paths.get("/foo/one.class")))); systemProperties.setProperty(RetrolambdaApi.INCLUDED_FILES, "/foo/one.class" + File.pathSeparator + "/foo/two.class"); assertThat("multiple values", config().getIncludedFiles(), is(Arrays.asList(Paths.get("/foo/one.class"), Paths.get("/foo/two.class")))); }
@Test public void included_files_file() throws IOException { Path file = tempDir.newFile("includedFiles.txt").toPath(); assertThat("not set", config().getIncludedFiles(), is(nullValue())); Files.write(file, Arrays.asList("", "", "")); systemProperties.setProperty(RetrolambdaApi.INCLUDED_FILES_FILE, file.toString()); assertThat("zero values", config().getIncludedFiles(), is(empty())); Files.write(file, Arrays.asList("one.class")); systemProperties.setProperty(RetrolambdaApi.INCLUDED_FILES_FILE, file.toString()); assertThat("one value", config().getIncludedFiles(), is(Arrays.asList(Paths.get("one.class")))); Files.write(file, Arrays.asList("one.class", "two.class")); systemProperties.setProperty(RetrolambdaApi.INCLUDED_FILES_FILE, file.toString()); assertThat("multiple values", config().getIncludedFiles(), is(Arrays.asList(Paths.get("one.class"), Paths.get("two.class")))); }