### Question:
JavaccCompilerInputOutputConfiguration implements CompilerInputOutputConfiguration { @Override public File getTempOutputDirectory() { return new File(getOutputDirectory(), "tmp"); } JavaccCompilerInputOutputConfiguration(File inputDirectory, File outputDirectory, FileTree source, TaskCollection<JavaCompile> javaCompileTasks); @Override File getOutputDirectory(); @Override File getInputDirectory(); @Override File getTempOutputDirectory(); @Override FileTree getSource(); @Override FileTree getCompleteSourceTree(); @Override FileTree getJavaSourceTree();  }### Answer:
@Test public void getTempOutputDirectoryAppendsTmpToOutputDirectory() throws IOException { CompilerInputOutputConfiguration configuration = builder .withInputDirectory(inputDirectory) .withOutputDirectory(outputDirectory) .build(); File tempOutputDirectory = configuration.getTempOutputDirectory(); assertThat(tempOutputDirectory.getAbsolutePath(), is(equalTo(outputDirectory.getAbsolutePath() + File.separator + "tmp"))); }