hide branch rate + complexity for markdown output #22

This commit is contained in:
irongut
2021-11-13 22:29:15 +00:00
parent 71ae720dab
commit 46007a7270
+20 -16
View File
@@ -55,7 +55,7 @@ namespace CodeCoverageSummary
else if (o.Format.Equals("md", StringComparison.OrdinalIgnoreCase) || o.Format.Equals("markdown", StringComparison.OrdinalIgnoreCase)) else if (o.Format.Equals("md", StringComparison.OrdinalIgnoreCase) || o.Format.Equals("markdown", StringComparison.OrdinalIgnoreCase))
{ {
fileExt = "md"; fileExt = "md";
output = GenerateMarkdownOutput(summary, badgeUrl, o.Indicators); output = GenerateMarkdownOutput(summary, badgeUrl, o.Indicators, o.HideBranchRate, o.HideComplexity);
if (o.FailBelowThreshold) if (o.FailBelowThreshold)
output += $"{Environment.NewLine}_Minimum allowed line rate is `{lowerThreshold * 100:N0}%`_{Environment.NewLine}"; output += $"{Environment.NewLine}_Minimum allowed line rate is `{lowerThreshold * 100:N0}%`_{Environment.NewLine}";
} }
@@ -256,21 +256,21 @@ namespace CodeCoverageSummary
foreach (CodeCoverage package in summary.Packages) foreach (CodeCoverage package in summary.Packages)
{ {
textOutput.Append($"{package.Name}: Line Rate = {package.LineRate * 100:N0}%"); textOutput.Append($"{package.Name}: Line Rate = {package.LineRate * 100:N0}%")
textOutput.Append(hideBranchRate ? string.Empty : $", Branch Rate = {package.BranchRate * 100:N0}%"); .Append(hideBranchRate ? string.Empty : $", Branch Rate = {package.BranchRate * 100:N0}%")
textOutput.Append(hideComplexity ? string.Empty : (package.Complexity % 1 == 0) ? $", Complexity = {package.Complexity}" : $", Complexity = {package.Complexity:N4}"); .Append(hideComplexity ? string.Empty : (package.Complexity % 1 == 0) ? $", Complexity = {package.Complexity}" : $", Complexity = {package.Complexity:N4}")
textOutput.AppendLine(indicators ? $", {GenerateHealthIndicator(package.LineRate)}" : string.Empty); .AppendLine(indicators ? $", {GenerateHealthIndicator(package.LineRate)}" : string.Empty);
} }
textOutput.Append($"Summary: Line Rate = {summary.LineRate * 100:N0}% ({summary.LinesCovered} / {summary.LinesValid})"); textOutput.Append($"Summary: Line Rate = {summary.LineRate * 100:N0}% ({summary.LinesCovered} / {summary.LinesValid})")
textOutput.Append(hideBranchRate ? string.Empty : $", Branch Rate = {summary.BranchRate * 100:N0}% ({summary.BranchesCovered} / {summary.BranchesValid})"); .Append(hideBranchRate ? string.Empty : $", Branch Rate = {summary.BranchRate * 100:N0}% ({summary.BranchesCovered} / {summary.BranchesValid})")
textOutput.Append(hideComplexity ? string.Empty : (summary.Complexity % 1 == 0) ? $", Complexity = {summary.Complexity}" : $", Complexity = {summary.Complexity:N4}"); .Append(hideComplexity ? string.Empty : (summary.Complexity % 1 == 0) ? $", Complexity = {summary.Complexity}" : $", Complexity = {summary.Complexity:N4}")
textOutput.AppendLine(indicators ? $", {GenerateHealthIndicator(summary.LineRate)}" : string.Empty); .AppendLine(indicators ? $", {GenerateHealthIndicator(summary.LineRate)}" : string.Empty);
return textOutput.ToString(); return textOutput.ToString();
} }
private static string GenerateMarkdownOutput(CodeSummary summary, string badgeUrl, bool indicators) private static string GenerateMarkdownOutput(CodeSummary summary, string badgeUrl, bool indicators, bool hideBranchRate, bool hideComplexity)
{ {
StringBuilder markdownOutput = new(); StringBuilder markdownOutput = new();
@@ -280,22 +280,26 @@ namespace CodeCoverageSummary
.AppendLine(); .AppendLine();
} }
markdownOutput.Append("Package | Line Rate | Branch Rate | Complexity") markdownOutput.Append("Package | Line Rate")
.Append(hideBranchRate ? string.Empty : " | Branch Rate")
.Append(hideComplexity ? string.Empty : " | Complexity")
.AppendLine(indicators ? " | Health" : string.Empty) .AppendLine(indicators ? " | Health" : string.Empty)
.Append("-------- | --------- | ----------- | ----------") .Append("-------- | ---------")
.Append(hideBranchRate ? string.Empty : " | -----------")
.Append(hideComplexity ? string.Empty : " | ----------")
.AppendLine(indicators ? " | ------" : string.Empty); .AppendLine(indicators ? " | ------" : string.Empty);
foreach (CodeCoverage package in summary.Packages) foreach (CodeCoverage package in summary.Packages)
{ {
markdownOutput.Append($"{package.Name} | {package.LineRate * 100:N0}%") markdownOutput.Append($"{package.Name} | {package.LineRate * 100:N0}%")
.Append($" | {package.BranchRate * 100:N0}%") .Append(hideBranchRate ? string.Empty : $" | {package.BranchRate * 100:N0}%")
.Append((package.Complexity % 1 == 0) ? $" | {package.Complexity}" : $" | {package.Complexity:N4}" ) .Append(hideComplexity ? string.Empty : (package.Complexity % 1 == 0) ? $" | {package.Complexity}" : $" | {package.Complexity:N4}" )
.AppendLine(indicators ? $" | {GenerateHealthIndicator(package.LineRate)}" : string.Empty); .AppendLine(indicators ? $" | {GenerateHealthIndicator(package.LineRate)}" : string.Empty);
} }
markdownOutput.Append($"**Summary** | **{summary.LineRate * 100:N0}%** ({summary.LinesCovered} / {summary.LinesValid})") markdownOutput.Append($"**Summary** | **{summary.LineRate * 100:N0}%** ({summary.LinesCovered} / {summary.LinesValid})")
.Append($" | **{summary.BranchRate * 100:N0}%** ({summary.BranchesCovered} / {summary.BranchesValid})") .Append(hideBranchRate ? string.Empty : $" | **{summary.BranchRate * 100:N0}%** ({summary.BranchesCovered} / {summary.BranchesValid})")
.Append((summary.Complexity % 1 == 0) ? $" | {summary.Complexity}" : $" | {summary.Complexity:N4}") .Append(hideComplexity ? string.Empty : (summary.Complexity % 1 == 0) ? $" | {summary.Complexity}" : $" | {summary.Complexity:N4}")
.AppendLine(indicators ? $" | {GenerateHealthIndicator(summary.LineRate)}" : string.Empty); .AppendLine(indicators ? $" | {GenerateHealthIndicator(summary.LineRate)}" : string.Empty);
return markdownOutput.ToString(); return markdownOutput.ToString();