public void TestCalculateSummary() { CoverageResult result = new CoverageResult(); result.Identifier = Guid.NewGuid().ToString(); Lines lines = new Lines(); lines.Add(1, 1); lines.Add(2, 0); Methods methods = new Methods(); methods.Add("System.Void Coverlet.Core.Tests.CoverageSummaryTests.TestCalculateSummary()", lines); Classes classes = new Classes(); classes.Add("Coverlet.Core.Tests.CoverageSummaryTests", methods); Documents documents = new Documents(); documents.Add("doc.cs", classes); result.Modules = new Modules(); result.Modules.Add("module", documents); CoverageSummary summary = new CoverageSummary(result); CoverageSummaryResult summaryResult = summary.CalculateSummary(); Assert.NotEmpty(summaryResult); Assert.True(summaryResult.ContainsKey("module")); Assert.Equal(50, summaryResult["module"]); }
public override bool Execute() { try { Console.WriteLine("\nCalculating coverage result..."); var coverage = InstrumentationTask.Coverage; CoverageResult result = coverage.GetCoverageResult(); var directory = Path.GetDirectoryName(_filename); if (!Directory.Exists(directory)) { Directory.CreateDirectory(directory); } Console.WriteLine($" Generating report '{_filename}'"); IReporter reporter = default(IReporter); switch (_format) { case "lcov": reporter = new LcovReporter(); break; case "opencover": reporter = new OpenCoverReporter(); break; default: reporter = new JsonReporter(); break; } File.WriteAllText(_filename, result.Format(reporter)); CoverageSummary coverageSummary = new CoverageSummary(result); var summary = coverageSummary.CalculateSummary(); ConsoleTable table = new ConsoleTable("Module", "Coverage"); foreach (var item in summary) { table.AddRow(item.Key, $"{item.Value}%"); } Console.WriteLine(); table.Write(Format.Alternative); } catch (Exception ex) { Log.LogErrorFromException(ex); return(false); } return(true); }