From b20493d235f38a3ba8d7f4e1bdefa0f591f34cc3 Mon Sep 17 00:00:00 2001 From: Dragan Date: Sun, 10 Nov 2013 11:43:13 +0100 Subject: [PATCH] Fix filter and exception on duplicates 1) Minimize required method filter 2) Exception on duplicates generated by NUnit TestCaseAttribute --- .../Project/Src/CodeCoverageClassTreeNode.cs | 3 ++- .../CodeCoverage/Project/Src/CodeCoverageResults.cs | 2 +- .../Analysis/UnitTesting/Src/TestClassCollection.cs | 12 +++++++++--- 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/src/AddIns/Analysis/CodeCoverage/Project/Src/CodeCoverageClassTreeNode.cs b/src/AddIns/Analysis/CodeCoverage/Project/Src/CodeCoverageClassTreeNode.cs index 88e3daa5ad..08671e1731 100644 --- a/src/AddIns/Analysis/CodeCoverage/Project/Src/CodeCoverageClassTreeNode.cs +++ b/src/AddIns/Analysis/CodeCoverage/Project/Src/CodeCoverageClassTreeNode.cs @@ -51,7 +51,8 @@ namespace ICSharpCode.CodeCoverage // Add methods. CodeCoveragePropertyCollection properties = new CodeCoveragePropertyCollection(); foreach (CodeCoverageMethod method in Methods) { - if ( !method.Name.Contains("<") && !method.Name.Contains("__") ) { + //if ( !method.Name.Contains("<") && !method.Name.Contains("__") ) { + if ( !method.Name.Contains("__") ) { if (method.IsProperty) { properties.Add(method); } else { diff --git a/src/AddIns/Analysis/CodeCoverage/Project/Src/CodeCoverageResults.cs b/src/AddIns/Analysis/CodeCoverage/Project/Src/CodeCoverageResults.cs index 9a0a5368a8..971da1e017 100644 --- a/src/AddIns/Analysis/CodeCoverage/Project/Src/CodeCoverageResults.cs +++ b/src/AddIns/Analysis/CodeCoverage/Project/Src/CodeCoverageResults.cs @@ -64,7 +64,7 @@ namespace ICSharpCode.CodeCoverage assembly.Elements("Classes").Elements("Class").Where( c => !c.Element("FullName").Value.Contains("__") && - !c.Element("FullName").Value.Contains("<") && + //!c.Element("FullName").Value.Contains("<") && c.Attribute("skippedDueTo") == null).Select( c => c.Element("FullName").Value).Distinct().OrderBy(name => name); foreach (string className in classNames) { diff --git a/src/AddIns/Analysis/UnitTesting/Src/TestClassCollection.cs b/src/AddIns/Analysis/UnitTesting/Src/TestClassCollection.cs index f02814cae3..8a45e51af9 100644 --- a/src/AddIns/Analysis/UnitTesting/Src/TestClassCollection.cs +++ b/src/AddIns/Analysis/UnitTesting/Src/TestClassCollection.cs @@ -139,10 +139,14 @@ namespace ICSharpCode.UnitTesting break; case TestResultType.Failure: SetTestResult(TestResultType.Failure); - failedTestClasses.Add(c.QualifiedName, c); + if (!failedTestClasses.ContainsKey(c.QualifiedName)){ + failedTestClasses.Add(c.QualifiedName, c); + } break; case TestResultType.Success: - passedTestClasses.Add(c.QualifiedName, c); + if (!passedTestClasses.ContainsKey(c.QualifiedName)){ + passedTestClasses.Add(c.QualifiedName, c); + } if (passedTestClasses.Count == Count) { SetTestResult(TestResultType.Success); } else if (passedTestClasses.Count + ignoredTestClasses.Count == Count) { @@ -150,7 +154,9 @@ namespace ICSharpCode.UnitTesting } break; case TestResultType.Ignored: - ignoredTestClasses.Add(c.QualifiedName, c); + if (!ignoredTestClasses.ContainsKey(c.QualifiedName)){ + ignoredTestClasses.Add(c.QualifiedName, c); + } if (ignoredTestClasses.Count == Count || ignoredTestClasses.Count + passedTestClasses.Count == Count) { SetTestResult(TestResultType.Ignored);