Browse Source

CodeCoverage: Fix Module Coverage % display

CodeCoverageResults:
Filter-out compiler generated methods
CodeCoverageTreeNode:
GetNodeText() Display Rounded BranchCoverage %
GetPercentage(): Prevent divide by zero
CodeCoverageMethodsTreeNode:
Increased BranchCoverage % precision
pull/67/head
Dragan 12 years ago
parent
commit
32776b6f16
  1. 2
      src/AddIns/Analysis/CodeCoverage/Project/Src/CodeCoverageMethodElement.cs
  2. 2
      src/AddIns/Analysis/CodeCoverage/Project/Src/CodeCoverageMethodsTreeNode.cs
  3. 4
      src/AddIns/Analysis/CodeCoverage/Project/Src/CodeCoverageResults.cs
  4. 5
      src/AddIns/Analysis/CodeCoverage/Project/Src/CodeCoverageTreeNode.cs

2
src/AddIns/Analysis/CodeCoverage/Project/Src/CodeCoverageMethodElement.cs

@ -290,7 +290,7 @@ namespace ICSharpCode.CodeCoverage
decimal GetBranchCoverage () { decimal GetBranchCoverage () {
return this.BranchCoverageRatio != null ? decimal.Round( ((decimal)(this.BranchCoverageRatio.Item1*100))/(decimal)this.BranchCoverageRatio.Item2, 2) : 0m; return this.BranchCoverageRatio == null ? 0m : ((decimal)(this.BranchCoverageRatio.Item1*100))/((decimal)this.BranchCoverageRatio.Item2);
} }

2
src/AddIns/Analysis/CodeCoverage/Project/Src/CodeCoverageMethodsTreeNode.cs

@ -40,7 +40,7 @@ namespace ICSharpCode.CodeCoverage
Name = name; Name = name;
VisitedCodeLength = visitedCodeLength; VisitedCodeLength = visitedCodeLength;
UnvisitedCodeLength = unvisitedCodeLength; UnvisitedCodeLength = unvisitedCodeLength;
VisitedBranchCoverage = branchCoverageCount == 0 ? 100 : decimal.Round(branchCoverage/branchCoverageCount,2); VisitedBranchCoverage = branchCoverageCount == 0 ? 100 : branchCoverage/branchCoverageCount;
} }
void AddDummyNodeIfHasNoMethods() void AddDummyNodeIfHasNoMethods()

4
src/AddIns/Analysis/CodeCoverage/Project/Src/CodeCoverageResults.cs

@ -116,7 +116,9 @@ namespace ICSharpCode.CodeCoverage
CodeCoverageMethod AddMethod(CodeCoverageModule module, string className, XElement reader) CodeCoverageMethod AddMethod(CodeCoverageModule module, string className, XElement reader)
{ {
CodeCoverageMethod method = new CodeCoverageMethod(className, reader, this); CodeCoverageMethod method = new CodeCoverageMethod(className, reader, this);
module.Methods.Add(method); if (!method.Name.Contains("__")) {
module.Methods.Add(method);
}
return method; return method;
} }

5
src/AddIns/Analysis/CodeCoverage/Project/Src/CodeCoverageTreeNode.cs

@ -88,7 +88,7 @@ namespace ICSharpCode.CodeCoverage
{ {
if (TotalCodeLength > 0) { if (TotalCodeLength > 0) {
if ( visitedCodeLength == TotalCodeLength && visitedBranchCoverage != 0 && visitedBranchCoverage != 100 ) { if ( visitedCodeLength == TotalCodeLength && visitedBranchCoverage != 0 && visitedBranchCoverage != 100 ) {
return String.Format("{0} (100%/{1}%)", Name, visitedBranchCoverage); return String.Format("{0} (100%/{1}%)", Name, decimal.Round (visitedBranchCoverage, 2));
} }
int percentage = GetPercentage(); int percentage = GetPercentage();
return String.Format("{0} ({1}%)", Name, percentage); return String.Format("{0} ({1}%)", Name, percentage);
@ -98,8 +98,7 @@ namespace ICSharpCode.CodeCoverage
int GetPercentage() int GetPercentage()
{ {
int percentage = (visitedCodeLength * 100) / TotalCodeLength; return TotalCodeLength == 0? 0 : (int)decimal.Round((((decimal)visitedCodeLength * 100) / (decimal)TotalCodeLength), 0);
return percentage;
} }
void SetImageIndex() void SetImageIndex()

Loading…
Cancel
Save