### Question:
CoffeeScriptCompilerMojo extends AbstractWisdomWatcherMojo implements Constants { @Override public void execute() throws MojoExecutionException { coffee = npm(this, COFFEE_SCRIPT_NPM_NAME, coffeeScriptVersion); try { if (getInternalAssetsDirectory().isDirectory()) { getLog().info("Compiling CoffeeScript files from " + getInternalAssetsDirectory().getAbsolutePath()); invokeCoffeeScriptCompiler(getInternalAssetsDirectory(), getInternalAssetOutputDirectory()); } if (getExternalAssetsDirectory().isDirectory()) { getLog().info("Compiling CoffeeScript files from " + getExternalAssetsDirectory().getAbsolutePath()); invokeCoffeeScriptCompiler(getExternalAssetsDirectory(), getExternalAssetsOutputDirectory()); } } catch (WatchingException e) { throw new MojoExecutionException("Error during the CoffeeScript compilation", e); } }  @Override void execute(); @Override boolean accept(File file); WatchingException build(String message, File source); @Override boolean fileCreated(File file); @Override boolean fileUpdated(File file); @Override boolean fileDeleted(File file); static final String COFFEE_SCRIPT_NPM_NAME; static final String COFFEE_SCRIPT_COMMAND; static final String ERROR_TITLE; static final String COFFEESCRIPT_VERSION; static Pattern COFFEE_COMPILATION_ERROR; }### Answer:
@Test public void testProcessingOfCoffeeFiles() throws MojoFailureException, MojoExecutionException, IOException { cleanup(); mojo.execute(); File script = new File(FAKE_PROJECT_TARGET, "classes/assets/coffee/script.js"); assertThat(script).isFile(); assertThat(FileUtils.readFileToString(script)) .contains("square = function(x) {") .contains("return \"Filling the \" + container + \" with \" + liquid + \"...\";"); script = new File(FAKE_PROJECT_TARGET, "wisdom/assets/script.js"); assertThat(script).isFile(); assertThat(FileUtils.readFileToString(script)) .contains("square = function(x) {") .contains("return \"Filling the \" + container + \" with \" + liquid + \"...\";"); File map = new File(FAKE_PROJECT_TARGET, "wisdom/assets/script.js.map"); assertThat(map).isFile(); }