public void AggregateLineCoverages() { var coverageRate = new CoverageRate(string.Empty, 0); coverageRate.AddChild(CreateModule( file1, new LineCoverage(1, true), new LineCoverage(2, true), new LineCoverage(3, true), new LineCoverage(4, false))); coverageRate.AddChild(CreateModule( file1, new LineCoverage(2, true), new LineCoverage(3, false), new LineCoverage(4, false), new LineCoverage(5, false))); var aggregator = new FileCoverageAggregator(); var coverageByFile = aggregator.Aggregate(coverageRate, str => str); var fileCoverage = coverageByFile.Single(); var expectedLineCoverages = new List <LineCoverage> { new LineCoverage(1, true), new LineCoverage(2, true), new LineCoverage(3, true), new LineCoverage(4, false), new LineCoverage(5, false) }; CollectionAssert.AreEqual( expectedLineCoverages, fileCoverage.Value.LineCoverages.ToList(), new LineCoverageComparer()); }
public void AggregateFileCoveragesOnly() { var coverageRate = new CoverageRate(string.Empty, 0); coverageRate.AddChild(CreateModule(file1.ToUpper(), file2)); coverageRate.AddChild(CreateModule(file2.ToUpper(), file3.ToUpper())); var aggregator = new FileCoverageAggregator(); var fileCoverageDict = aggregator.Aggregate(coverageRate, str => str.ToLower()); var fileCoverages = fileCoverageDict.Select(kvp => kvp.Key).ToList(); CollectionAssert.AreEquivalent( new List <string> { file1, file2, file3 }, fileCoverages); }