### Question:
SystemPropertiesConfig implements Config { public boolean isFullyConfigured() { return hasAllRequiredProperties(); } 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 is_fully_configured_when_required_properties_are_set() { assertThat("before", config().isFullyConfigured(), is(false)); systemProperties.setProperty(RetrolambdaApi.INPUT_DIR, ""); systemProperties.setProperty(RetrolambdaApi.CLASSPATH, ""); assertThat("after", config().isFullyConfigured(), is(true)); }
@Test public void can_use_alternative_parameter_instead_of_required_parameter() { systemProperties.setProperty(RetrolambdaApi.INPUT_DIR, ""); systemProperties.setProperty(RetrolambdaApi.CLASSPATH_FILE, ""); assertThat("is fully configured?", config().isFullyConfigured(), is(true)); }