@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(); }
@BeforeClass public static void init() { aRule = Rule.create("gendarme", "Rule", "Rule").setSeverity(RulePriority.BLOCKER); aFileIMoney = new org.sonar.api.resources.File("IMoney"); aFileMoney = new org.sonar.api.resources.File("Money"); env = mock(MicrosoftWindowsEnvironment.class); VisualStudioSolution solution = mock(VisualStudioSolution.class); when(env.getCurrentSolution()).thenReturn(solution); VisualStudioProject vsProject = mock(VisualStudioProject.class); when(solution.getProjectFromSonarProject(any(Project.class))).thenReturn(vsProject); when(solution.getProject(any(File.class))).thenReturn(vsProject); project = mock(Project.class); ProjectFileSystem fileSystem = mock(ProjectFileSystem.class); when(fileSystem.getSourceDirs()).thenReturn(Lists.newArrayList(new File("C:\\Sonar\\Example"))); when(project.getFileSystem()).thenReturn(fileSystem); resourcesBridge = createFakeBridge(); resourceHelper = mock(ResourceHelper.class); when(resourceHelper.isResourceInProject(any(Resource.class), eq(project))).thenReturn(true); }