Skip to content

Commit d40b2d4

Browse files
authored
Merge pull request #104 from StephenMP/issue-29-95
Issues #29 & #95
2 parents 62529a4 + 6dccea3 commit d40b2d4

File tree

1 file changed

+19
-4
lines changed

1 file changed

+19
-4
lines changed

src/coverlet.msbuild.tasks/CoverageResultTask.cs

+19-4
Original file line numberDiff line numberDiff line change
@@ -73,17 +73,25 @@ public override bool Execute()
7373

7474
var thresholdFailed = false;
7575
var thresholdTypes = _thresholdType.Split(',').Select(t => t.Trim());
76-
7776
var summary = new CoverageSummary();
7877
var exceptionBuilder = new StringBuilder();
79-
var table = new ConsoleTable("Module", "Line", "Branch", "Method");
78+
var coverageTable = new ConsoleTable("Module", "Line", "Branch", "Method");
79+
var averageTable = new ConsoleTable("", "Line", "Branch", "Method");
80+
var lineAverage = 0d;
81+
var branchAverage = 0d;
82+
var methodAverage = 0d;
8083

8184
foreach (var module in result.Modules)
8285
{
8386
var linePercent = summary.CalculateLineCoverage(module.Value).Percent * 100;
8487
var branchPercent = summary.CalculateBranchCoverage(module.Value).Percent * 100;
8588
var methodPercent = summary.CalculateMethodCoverage(module.Value).Percent * 100;
86-
table.AddRow(Path.GetFileNameWithoutExtension(module.Key), $"{linePercent}%", $"{branchPercent}%", $"{methodPercent}%");
89+
90+
lineAverage += linePercent;
91+
branchAverage += branchPercent;
92+
methodAverage += methodPercent;
93+
94+
coverageTable.AddRow(Path.GetFileNameWithoutExtension(module.Key), $"{linePercent}%", $"{branchPercent}%", $"{methodPercent}%");
8795

8896
if (_threshold > 0)
8997
{
@@ -107,8 +115,15 @@ public override bool Execute()
107115
}
108116
}
109117

118+
lineAverage = lineAverage / result.Modules.Count;
119+
branchAverage = branchAverage / result.Modules.Count;
120+
methodAverage = methodAverage / result.Modules.Count;
121+
averageTable.AddRow("Average", $"{lineAverage}%", $"{branchAverage}%", $"{methodAverage}%");
122+
110123
Console.WriteLine();
111-
Console.WriteLine(table.ToStringAlternative());
124+
Console.WriteLine(coverageTable.ToStringAlternative());
125+
Console.WriteLine(averageTable.ToStringAlternative());
126+
112127
if (thresholdFailed)
113128
throw new Exception(exceptionBuilder.ToString().TrimEnd(Environment.NewLine.ToCharArray()));
114129
}

0 commit comments

Comments
 (0)