@Before
  public void init() throws Exception {

    fileSystem = mock(ProjectFileSystem.class);
    when(fileSystem.getSonarWorkingDirectory()).thenReturn(TestUtils.getResource("/Sensor"));

    vsProject = mock(VisualStudioProject.class);
    when(vsProject.getName()).thenReturn("Project #1");
    when(vsProject.getGeneratedAssemblies("Debug", "Any CPU"))
        .thenReturn(
            Sets.newHashSet(TestUtils.getResource("/Sensor/FakeAssemblies/Fake1.assembly")));
    VisualStudioProject project2 = mock(VisualStudioProject.class);
    when(project2.getName()).thenReturn("Project Test");
    when(project2.isTest()).thenReturn(true);
    solution = mock(VisualStudioSolution.class);
    when(solution.getProjects()).thenReturn(Lists.newArrayList(vsProject, project2));

    microsoftWindowsEnvironment = new MicrosoftWindowsEnvironment();
    microsoftWindowsEnvironment.setCurrentSolution(solution);
    microsoftWindowsEnvironment.setWorkingDirectory("target");

    rulesProfile = mock(RulesProfile.class);
    when(rulesProfile.getActiveRulesByRepository(anyString()))
        .thenReturn(Collections.singletonList(new ActiveRule()));

    resultParser = mock(GendarmeResultParser.class);

    profileExporter = mock(GendarmeProfileExporter.RegularGendarmeProfileExporter.class);

    conf = new BaseConfiguration();

    initializeSensor();
  }
  @Test
  public void testAnalyse() {
    parser = mock(CoverageResultParser.class); // create the parser before the sensor
    CoverageReportSensor sensor = buildSensor();

    microsoftWindowsEnvironment.setTestExecutionDone();
    File solutionDir = TestUtils.getResource("/Results/coverage/");
    microsoftWindowsEnvironment.setWorkingDirectory("");
    when(solution.getSolutionDir()).thenReturn(solutionDir);
    when(solution.getProject("MyAssembly")).thenReturn(vsProject1);

    List<FileCoverage> sourceFiles = new ArrayList<FileCoverage>();
    List<ProjectCoverage> projects = new ArrayList<ProjectCoverage>();
    ParserResult parserResult = new ParserResult(projects, sourceFiles);
    when(parser.parse(eq(project), any(File.class))).thenReturn(parserResult);

    ProjectCoverage projectCoverage = mock(ProjectCoverage.class);
    when(projectCoverage.getAssemblyName()).thenReturn("MyAssembly");
    projects.add(projectCoverage);

    SensorContext context = mock(SensorContext.class);

    sensor.analyse(project, context);

    verify(projectCoverage).getFileCoverageCollection();
  }