public void Should_Not_Use_Data_Collector_If_Disabled_In_RunSettings(UseDataCollectorElement useDataCollector) { var mockCoverageProject = new Mock <ICoverageProject>(); mockCoverageProject.Setup(cp => cp.ProjectFileXElement).Returns(GetProjectElementWithDataCollector(useDataCollector)); SetupDataCollectorState(mockCoverageProject, CoverletDataCollectorState.Disabled); Assert.False(coverletDataCollectorUtil.CanUseDataCollector(mockCoverageProject.Object)); }
private XElement GetProjectElementWithDataCollector(UseDataCollectorElement useDataCollector) { var useDataCollectorElement = ""; if (useDataCollector != UseDataCollectorElement.None) { var value = ""; if (useDataCollector == UseDataCollectorElement.True) { value = "true"; } if (useDataCollector == UseDataCollectorElement.False) { value = "false"; } useDataCollectorElement = $"<PropertyGroup><UseDataCollector>{value}</UseDataCollector></PropertyGroup>"; } return(XElement.Parse($@"<Project> {useDataCollectorElement} </Project>")); }
public void Should_Use_Data_Collector_If_RunSettings_Has_The_Data_Collector_Enabled_And_Not_Overridden_By_Project_File(UseDataCollectorElement useDataCollector) { var mockCoverageProject = new Mock <ICoverageProject>(); mockCoverageProject.Setup(cp => cp.ProjectFileXElement).Returns(GetProjectElementWithDataCollector(useDataCollector)); SetupDataCollectorState(mockCoverageProject, CoverletDataCollectorState.Enabled); Assert.True(coverletDataCollectorUtil.CanUseDataCollector(mockCoverageProject.Object)); }
public void Should_Not_Use_Data_Collector_If_No_RunSettings_And_Not_Specified_In_ProjectFile(UseDataCollectorElement useDataCollector) { var mockCoverageProject = new Mock <ICoverageProject>(); mockCoverageProject.Setup(cp => cp.RunSettingsFile).Returns((string)null); mockCoverageProject.Setup(cp => cp.ProjectFileXElement).Returns(GetProjectElementWithDataCollector(useDataCollector)); Assert.False(coverletDataCollectorUtil.CanUseDataCollector(mockCoverageProject.Object)); }
public void Should_Use_Data_Collector_If_Not_Specified_In_RunSettings_And_Specified_In_ProjectFile(UseDataCollectorElement useDataCollectorElement) { var mockCoverageProject = new Mock <ICoverageProject>(); mockCoverageProject.Setup(cp => cp.ProjectFileXElement).Returns(GetProjectElementWithDataCollector(useDataCollectorElement)); SetupDataCollectorState(mockCoverageProject, CoverletDataCollectorState.NotPresent); Assert.True(coverletDataCollectorUtil.CanUseDataCollector(mockCoverageProject.Object)); }
public void Should_Use_Data_Collector_If_Not_Specified_In_RunSettings_And_Specified_In_ProjectFile_VSBuild(UseDataCollectorElement useDataCollector, bool expected) { var mockCoverageProject = new Mock <ICoverageProject>(); var guid = Guid.NewGuid(); mockCoverageProject.Setup(cp => cp.Id).Returns(guid); mockCoverageProject.Setup(cp => cp.ProjectFileXElement).Returns(new XElement("Root")); var mockVsBuildFCCSettingsProvider = mocker.GetMock <IVsBuildFCCSettingsProvider>(); var useDataCollectorElement = ""; if (useDataCollector != UseDataCollectorElement.None) { var value = ""; if (useDataCollector == UseDataCollectorElement.True) { value = "true"; } if (useDataCollector == UseDataCollectorElement.False) { value = "false"; } useDataCollectorElement = $"<UseDataCollector>{value}</UseDataCollector>"; } XElement vsBuildProjectFileElement = XElement.Parse($"<FineCodeCoverage>{useDataCollectorElement}</FineCodeCoverage>"); mockVsBuildFCCSettingsProvider.Setup( vsBuildFCCSettingsProvider => vsBuildFCCSettingsProvider.GetSettingsAsync(guid) ).ReturnsAsync(vsBuildProjectFileElement); Assert.AreEqual(expected, coverletDataCollectorUtil.CanUseDataCollector(mockCoverageProject.Object)); }