### Question:
RDFToDMNMojo extends AbstractDMNMojo<NUMBER, DATE, TIME, DATE_TIME, DURATION, TEST> { @Override public void execute() throws MojoExecutionException { checkMandatoryField(inputFileDirectory, "inputFileDirectory"); checkMandatoryField(outputFileDirectory, "outputFileDirectory"); this.getLog().info(String.format("Transforming '%s' to '%s' ...", this.inputFileDirectory, this.outputFileDirectory)); MavenBuildLogger logger = new MavenBuildLogger(this.getLog()); FileTransformer transformer = new RDFToDMNTransformer( inputParameters, logger ); transformer.transform(inputFileDirectory.toPath(), outputFileDirectory.toPath()); try { this.project.addCompileSourceRoot(this.outputFileDirectory.getCanonicalPath()); } catch (IOException e) { throw new MojoExecutionException("", e); } }  @Override void execute(); @Parameter(required = false)
    public Map<String, String> inputParameters; @Parameter(required = true, defaultValue = "${project.basedir}/src/main/resources/signavio")
    public File inputFileDirectory; @Parameter(required = true, defaultValue = "${project.build.directory}/generated-resources/dmn")
    public File outputFileDirectory; }### Answer:
@Test(expected = IllegalArgumentException.class) public void testExecuteWhenMissingInput() throws Exception { mojo.inputParameters = makeParams(); mojo.execute(); assertTrue(true); }
@Test public void testExecute() throws Exception { String input = this.getClass().getClassLoader().getResource("input/NPEValidation2.xml").getFile(); mojo.project = project; mojo.inputFileDirectory = new File(input); mojo.outputFileDirectory = new File("target/output"); mojo.inputParameters = makeParams(); mojo.execute(); assertTrue(true); }