public String generateReport(MavenProject project, final File xmlPath, final File htmlPath) throws IOException {

        String out;

        parseAllTestResults(xmlPath);

        if (!testResults.isEmpty()) {

            gatherBestRouteCoverages();

            squashDuplicateRoutes();

            generateRouteStatistics(project.getName(), htmlPath);

            generateEipStatistics();

            generateHtml(htmlPath);

            out = String.format("Generated HTML reports for %d routes%n%n", routeStatisticMap.size());
        } else {
            out = "No routes found. No HTML reports were generated%n";
        }

        return out;
    }
@Test
    public void testGenerateReport() throws IOException {

        File htmlPath = htmlPath();
        Path htmlPathAsPath = Paths.get(htmlPath.getPath());
        if (!Files.exists(htmlPathAsPath)) {
            Files.createDirectories(htmlPathAsPath);
        }

        MavenProject mavenProject = new MavenProject();
        mavenProject.setName(RESOURCES);

        processor.generateReport(mavenProject, xmlPath(), htmlPath);

        assertTrue(Files.exists(Paths.get(indexPath().getPath())));
    }