Skip to content

Commit

Permalink
Merge pull request #104 from StephenMP/issue-29-95
Browse files Browse the repository at this point in the history
Issues #29 & #95
  • Loading branch information
tonerdo committed Jun 9, 2018
2 parents 62529a4 + 6dccea3 commit d40b2d4
Showing 1 changed file with 19 additions and 4 deletions.
23 changes: 19 additions & 4 deletions src/coverlet.msbuild.tasks/CoverageResultTask.cs
Expand Up @@ -73,17 +73,25 @@ public override bool Execute()

var thresholdFailed = false;
var thresholdTypes = _thresholdType.Split(',').Select(t => t.Trim());

var summary = new CoverageSummary();
var exceptionBuilder = new StringBuilder();
var table = new ConsoleTable("Module", "Line", "Branch", "Method");
var coverageTable = new ConsoleTable("Module", "Line", "Branch", "Method");
var averageTable = new ConsoleTable("", "Line", "Branch", "Method");
var lineAverage = 0d;
var branchAverage = 0d;
var methodAverage = 0d;

foreach (var module in result.Modules)
{
var linePercent = summary.CalculateLineCoverage(module.Value).Percent * 100;
var branchPercent = summary.CalculateBranchCoverage(module.Value).Percent * 100;
var methodPercent = summary.CalculateMethodCoverage(module.Value).Percent * 100;
table.AddRow(Path.GetFileNameWithoutExtension(module.Key), $"{linePercent}%", $"{branchPercent}%", $"{methodPercent}%");

lineAverage += linePercent;
branchAverage += branchPercent;
methodAverage += methodPercent;

coverageTable.AddRow(Path.GetFileNameWithoutExtension(module.Key), $"{linePercent}%", $"{branchPercent}%", $"{methodPercent}%");

if (_threshold > 0)
{
Expand All @@ -107,8 +115,15 @@ public override bool Execute()
}
}

lineAverage = lineAverage / result.Modules.Count;
branchAverage = branchAverage / result.Modules.Count;
methodAverage = methodAverage / result.Modules.Count;
averageTable.AddRow("Average", $"{lineAverage}%", $"{branchAverage}%", $"{methodAverage}%");

Console.WriteLine();
Console.WriteLine(table.ToStringAlternative());
Console.WriteLine(coverageTable.ToStringAlternative());
Console.WriteLine(averageTable.ToStringAlternative());

if (thresholdFailed)
throw new Exception(exceptionBuilder.ToString().TrimEnd(Environment.NewLine.ToCharArray()));
}
Expand Down

0 comments on commit d40b2d4

Please sign in to comment.