### Question:
SystemPropertiesConfig implements Config { @Override public Path getInputDir() { String inputDir = p.getProperty(INPUT_DIR); if (inputDir != null) { return Paths.get(inputDir); } throw new IllegalArgumentException("Missing required property: " + INPUT_DIR); } 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 input_directory_is_required() { thrown.expect(IllegalArgumentException.class); thrown.expectMessage("Missing required property: retrolambda.inputDir"); config().getInputDir(); }