Skip to content

Commit

Permalink
update tests
Browse files Browse the repository at this point in the history
  • Loading branch information
tonyhallett committed Jul 2, 2023
1 parent 21f0c5e commit 6252662
Show file tree
Hide file tree
Showing 3 changed files with 122 additions and 7 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,24 @@

namespace FineCodeCoverageTests.MsCodeCoverage
{

internal class MsCodeCoverageRunSettingsService_Test_Execution_Not_Finished_Tests
{
[Test]
public void Should_Set_To_Not_Collecting()
{
var autoMocker = new AutoMoqer();
var msCodeCoverageRunSettingsService = autoMocker.Create<MsCodeCoverageRunSettingsService>();

msCodeCoverageRunSettingsService.collectionStatus = MsCodeCoverageCollectionStatus.Collecting;

var mockTestOperation = new Mock<ITestOperation>();
mockTestOperation.Setup(testOperation => testOperation.GetCoverageProjectsAsync()).ReturnsAsync(new List<ICoverageProject>());
msCodeCoverageRunSettingsService.TestExecutionNotFinishedAsync(mockTestOperation.Object);

Assert.That(msCodeCoverageRunSettingsService.collectionStatus, Is.EqualTo(MsCodeCoverageCollectionStatus.NotCollecting));
}

[Test]
public async Task Should_Clean_Up_RunSettings_Coverage_Projects()
{
Expand Down Expand Up @@ -68,6 +84,23 @@ internal class MsCodeCoverageRunSettingsService_Collect_Tests
{
private AutoMoqer autoMocker;
private ICoverageProject runSettingsCoverageProject;
private MsCodeCoverageRunSettingsService msCodeCoverageRunSettingsService;

[Test]
public async Task Should_Set_To_Not_Collecting()
{
var resultsUris = new List<Uri>()
{
new Uri(@"C:\SomePath\result1.cobertura.xml", UriKind.Absolute),
new Uri(@"C:\SomePath\result2.cobertura.xml", UriKind.Absolute),
new Uri(@"C:\SomePath\result3.xml", UriKind.Absolute),
};

var expectedCoberturaFiles = new string[] { @"C:\SomePath\result1.cobertura.xml", @"C:\SomePath\result2.cobertura.xml" };
await RunAndProcessReportAsync(resultsUris, expectedCoberturaFiles);

Assert.That(msCodeCoverageRunSettingsService.collectionStatus, Is.EqualTo(MsCodeCoverageCollectionStatus.NotCollecting));
}

[Test]
public async Task Should_FCCEngine_RunAndProcessReport_With_CoberturaResults()
Expand Down Expand Up @@ -119,7 +152,8 @@ private async Task RunAndProcessReportAsync(IEnumerable<Uri> resultsUris,string[
It.IsAny<CancellationToken>()
)).Returns("ZipDestination");

var msCodeCoverageRunSettingsService = autoMocker.Create<MsCodeCoverageRunSettingsService>();
msCodeCoverageRunSettingsService = autoMocker.Create<MsCodeCoverageRunSettingsService>();
msCodeCoverageRunSettingsService.collectionStatus = MsCodeCoverageCollectionStatus.Collecting;
msCodeCoverageRunSettingsService.threadHelper = new TestThreadHelper();

var mockFccEngine = new Mock<IFCCEngine>();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -362,6 +362,48 @@ public void Should_Be_Empty_String_Replacement_When_Null()
ReplacementsAssertions.AssertAllEmpty(replacements);
}

[TestCase(true,true,"true")]
[TestCase(false, true, "true")]
[TestCase(true, false, "true")]
[TestCase(false, false, "false")]
public void Should_Be_Disabled_When_All_Projects_Are_Disabled(bool project1Enabled, bool project2Enabled, string expectedEnabled)
{
var testContainer1 = CreateTestContainer("Source1");
var testContainer2 = CreateTestContainer("Source2");
var testContainers = new List<ITestContainer>()
{
testContainer1,
testContainer2
};
Dictionary<string, IUserRunSettingsProjectDetails> userRunSettingsProjectDetailsLookup = new Dictionary<string, IUserRunSettingsProjectDetails>
{
{
"Source1",
new TestUserRunSettingsProjectDetails
{
CoverageOutputFolder = "",
Settings = new TestMsCodeCoverageOptions{ Enabled = project1Enabled, IncludeTestAssembly = true},
ExcludedReferencedProjects = new List<string>(),
IncludedReferencedProjects = new List<string>(),
}
},
{
"Source2",
new TestUserRunSettingsProjectDetails
{
CoverageOutputFolder = "",
Settings = new TestMsCodeCoverageOptions{ Enabled = project2Enabled, IncludeTestAssembly = true},
ExcludedReferencedProjects = new List<string>(),
IncludedReferencedProjects = new List<string>(),
}
}
};

var runSettingsTemplateReplacements = runSettingsTemplateReplacementsFactory.Create(testContainers, userRunSettingsProjectDetailsLookup, "");

Assert.That(runSettingsTemplateReplacements.Enabled, Is.EqualTo(expectedEnabled));
}

private string ModulePathElement(string value)
{
return $"<ModulePath>{value}</ModulePath>";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,7 @@ public void Should_Create_Replacements()
projectDetailsLookup,
"fccMsTestAdapterPath"
)
).Returns(new RunSettingsTemplateReplacements());
).Returns(new RunSettingsTemplateReplacements() { Enabled = "true"});

userRunSettingsService.AddFCCRunSettings(
xPathNavigable,
Expand Down Expand Up @@ -144,7 +144,8 @@ public void Should_Add_Replaced_RunConfiguration_If_Not_Present()
TestAddFCCSettings(runSettings, expectedRunSettings, new RunSettingsTemplateReplacements
{
ResultsDirectory = resultsDirectory,
TestAdapter = testAdapter
TestAdapter = testAdapter,
Enabled = "true"
});
}

Expand All @@ -167,7 +168,8 @@ public void Should_Add_Replaced_TestAdaptersPath_If_Not_Present()
</RunSettings>";
TestAddFCCSettings(runSettings, expectedRunSettings, new RunSettingsTemplateReplacements
{
TestAdapter = "MsTestAdapter"
TestAdapter = "MsTestAdapter",
Enabled = "true"
});

}
Expand All @@ -192,7 +194,8 @@ public void Should_Replace_TestAdaptersPath_If_Present()
</RunSettings>";
TestAddFCCSettings(runSettings, expectedRunSettings, new RunSettingsTemplateReplacements
{
TestAdapter = "MsTestAdapter"
TestAdapter = "MsTestAdapter",
Enabled = "true"
});
}

Expand Down Expand Up @@ -469,7 +472,7 @@ public void Should_Add_Missing_Configuration_Format_Cobertura_To_Existing_Ms_Dat
</DataCollectionRunSettings>
</RunSettings>
";
TestAddFCCSettings(runSettings, expectedRunSettings, new RunSettingsTemplateReplacements());
TestAddFCCSettings(runSettings, expectedRunSettings, new RunSettingsTemplateReplacements() { Enabled = "true"});
}

[Test]
Expand Down Expand Up @@ -505,7 +508,7 @@ public void Should_Change_Format_To_Cobertura_For_Existing_Ms_Data_Collector()
</RunSettings>
";

TestAddFCCSettings(runSettings, expectedRunSettings, new RunSettingsTemplateReplacements());
TestAddFCCSettings(runSettings, expectedRunSettings, new RunSettingsTemplateReplacements() { Enabled = "true"});
}

[Test]
Expand Down Expand Up @@ -559,6 +562,42 @@ public void Should_Add_Replaced_RunConfiguration_And_Add_Replaceable_DataCollect
TestAddFCCSettings("<RunSettings/>", expectedRunSettings, new RunSettingsTemplateReplacements { Enabled = "true"});
}

[Test]
public void Should_Disable_Ms_Data_Collection_When_Not_Enabled()
{
var runSettings = $@"
<RunSettings>
{unchangedRunConfiguration}
<DataCollectionRunSettings>
<DataCollectors>
<DataCollector uri='datacollector://Microsoft/CodeCoverage/2.0' enabled='true'>
<Configuration>
<Format>Xml</Format>
</Configuration>
</DataCollector>
</DataCollectors>
</DataCollectionRunSettings>
</RunSettings>
";

var expectedRunSettings = $@"
<RunSettings>
{unchangedRunConfiguration}
<DataCollectionRunSettings>
<DataCollectors>
<DataCollector uri='datacollector://Microsoft/CodeCoverage/2.0' enabled='false'>
<Configuration>
<Format>Cobertura</Format>
</Configuration>
</DataCollector>
</DataCollectors>
</DataCollectionRunSettings>
</RunSettings>
";

TestAddFCCSettings(runSettings, expectedRunSettings, new RunSettingsTemplateReplacements() { Enabled = "false" });
}

private void TestAddFCCSettings(string runSettings, string expectedFccRunSettings, IRunSettingsTemplateReplacements runSettingsTemplateReplacements)
{
var actualRunSettings = AddFCCSettings(runSettings, runSettingsTemplateReplacements);
Expand Down

0 comments on commit 6252662

Please sign in to comment.