From 32776b6f1647d0c0987272802fe9bffe721c1409 Mon Sep 17 00:00:00 2001 From: Dragan Date: Sun, 26 Jan 2014 17:15:58 +0100 Subject: [PATCH] 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 --- .../CodeCoverage/Project/Src/CodeCoverageMethodElement.cs | 2 +- .../CodeCoverage/Project/Src/CodeCoverageMethodsTreeNode.cs | 2 +- .../Analysis/CodeCoverage/Project/Src/CodeCoverageResults.cs | 4 +++- .../CodeCoverage/Project/Src/CodeCoverageTreeNode.cs | 5 ++--- 4 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/AddIns/Analysis/CodeCoverage/Project/Src/CodeCoverageMethodElement.cs b/src/AddIns/Analysis/CodeCoverage/Project/Src/CodeCoverageMethodElement.cs index adb41dc554..4e7c92adea 100644 --- a/src/AddIns/Analysis/CodeCoverage/Project/Src/CodeCoverageMethodElement.cs +++ b/src/AddIns/Analysis/CodeCoverage/Project/Src/CodeCoverageMethodElement.cs @@ -290,7 +290,7 @@ namespace ICSharpCode.CodeCoverage 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); } diff --git a/src/AddIns/Analysis/CodeCoverage/Project/Src/CodeCoverageMethodsTreeNode.cs b/src/AddIns/Analysis/CodeCoverage/Project/Src/CodeCoverageMethodsTreeNode.cs index 7723402e18..98246fa57c 100644 --- a/src/AddIns/Analysis/CodeCoverage/Project/Src/CodeCoverageMethodsTreeNode.cs +++ b/src/AddIns/Analysis/CodeCoverage/Project/Src/CodeCoverageMethodsTreeNode.cs @@ -40,7 +40,7 @@ namespace ICSharpCode.CodeCoverage Name = name; VisitedCodeLength = visitedCodeLength; UnvisitedCodeLength = unvisitedCodeLength; - VisitedBranchCoverage = branchCoverageCount == 0 ? 100 : decimal.Round(branchCoverage/branchCoverageCount,2); + VisitedBranchCoverage = branchCoverageCount == 0 ? 100 : branchCoverage/branchCoverageCount; } void AddDummyNodeIfHasNoMethods() diff --git a/src/AddIns/Analysis/CodeCoverage/Project/Src/CodeCoverageResults.cs b/src/AddIns/Analysis/CodeCoverage/Project/Src/CodeCoverageResults.cs index 9c9103b4cd..e1e342677f 100644 --- a/src/AddIns/Analysis/CodeCoverage/Project/Src/CodeCoverageResults.cs +++ b/src/AddIns/Analysis/CodeCoverage/Project/Src/CodeCoverageResults.cs @@ -116,7 +116,9 @@ namespace ICSharpCode.CodeCoverage CodeCoverageMethod AddMethod(CodeCoverageModule module, string className, XElement reader) { CodeCoverageMethod method = new CodeCoverageMethod(className, reader, this); - module.Methods.Add(method); + if (!method.Name.Contains("__")) { + module.Methods.Add(method); + } return method; } diff --git a/src/AddIns/Analysis/CodeCoverage/Project/Src/CodeCoverageTreeNode.cs b/src/AddIns/Analysis/CodeCoverage/Project/Src/CodeCoverageTreeNode.cs index d529408f88..4192ca7474 100644 --- a/src/AddIns/Analysis/CodeCoverage/Project/Src/CodeCoverageTreeNode.cs +++ b/src/AddIns/Analysis/CodeCoverage/Project/Src/CodeCoverageTreeNode.cs @@ -88,7 +88,7 @@ namespace ICSharpCode.CodeCoverage { if (TotalCodeLength > 0) { 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(); return String.Format("{0} ({1}%)", Name, percentage); @@ -98,8 +98,7 @@ namespace ICSharpCode.CodeCoverage int GetPercentage() { - int percentage = (visitedCodeLength * 100) / TotalCodeLength; - return percentage; + return TotalCodeLength == 0? 0 : (int)decimal.Round((((decimal)visitedCodeLength * 100) / (decimal)TotalCodeLength), 0); } void SetImageIndex()