### Question:
ProcessClassesMojo extends AbstractMojo { @Override public void execute() throws MojoExecutionException { validateTarget(); validateFork(); Properties config = new Properties(); config.setProperty(RetrolambdaApi.BYTECODE_VERSION, "" + targetBytecodeVersions.get(target)); config.setProperty(RetrolambdaApi.DEFAULT_METHODS, "" + defaultMethods); config.setProperty(RetrolambdaApi.QUIET, "" + quiet); config.setProperty(RetrolambdaApi.INPUT_DIR, getInputDir().getAbsolutePath()); config.setProperty(RetrolambdaApi.OUTPUT_DIR, getOutputDir().getAbsolutePath()); config.setProperty(RetrolambdaApi.CLASSPATH, getClasspath()); config.setProperty(RetrolambdaApi.JAVAC_HACKS, "" + javacHacks); if (fork) { processClassesInForkedProcess(config); } else { processClassesInCurrentProcess(config); } }  @Override void execute(); @Parameter(property = "java8home", required = false)
    public File java8home; @Parameter(defaultValue = "1.7", property = "retrolambdaTarget", required = true)
    public String target; @Parameter(defaultValue = "false", property = "retrolambdaDefaultMethods", required = true)
    public boolean defaultMethods; @Parameter(defaultValue = "false", property = "retrolambdaJavacHacks", required = true)
    public boolean javacHacks; @Parameter(defaultValue = "false", property = "retrolambdaQuiet", required = true)
    public boolean quiet; @Parameter(defaultValue = "false")
    public boolean fork; }### Answer:
@Test public void error_message_lists_the_accepted_targets() throws MojoExecutionException { mojo.target = "1.0"; thrown.expect(MojoExecutionException.class); thrown.expectMessage("1.5, 1.6, 1.7, 1.8"); mojo.execute(); }