### Question:
SystemPropertiesConfig implements Config { @Override public int getBytecodeVersion() { return Integer.parseInt(p.getProperty(BYTECODE_VERSION, "" + Opcodes.V1_7)); } 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 bytecode_version() { assertThat("defaults to Java 7", config().getBytecodeVersion(), is(51)); assertThat("human printable format", Bytecode.getJavaVersion(config().getBytecodeVersion()), is("Java 7")); systemProperties.setProperty(RetrolambdaApi.BYTECODE_VERSION, "50"); assertThat("can override the default", config().getBytecodeVersion(), is(50)); assertThat("human printable format", Bytecode.getJavaVersion(config().getBytecodeVersion()), is("Java 6")); }