From 584a32e6f89964ff9cc1d04a572c0a7e24576033 Mon Sep 17 00:00:00 2001 From: Dragan Date: Sun, 8 Sep 2013 17:50:18 +0200 Subject: [PATCH] FIX: Duplicate NUnit test results Prevent dictionary exception on duplicate test results caused by NUnit TestCaseSource & ValueSource attributes --- .../Analysis/UnitTesting/Src/TestMemberCollection.cs | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/AddIns/Analysis/UnitTesting/Src/TestMemberCollection.cs b/src/AddIns/Analysis/UnitTesting/Src/TestMemberCollection.cs index 67873b122c..22fbb2727c 100644 --- a/src/AddIns/Analysis/UnitTesting/Src/TestMemberCollection.cs +++ b/src/AddIns/Analysis/UnitTesting/Src/TestMemberCollection.cs @@ -99,10 +99,14 @@ namespace ICSharpCode.UnitTesting break; case TestResultType.Failure: SetTestResult(TestResultType.Failure); - failedTestMembers.Add(member.Name, member); + if (!failedTestMembers.ContainsKey(member.Name)){ + failedTestMembers.Add(member.Name, member); + } break; case TestResultType.Success: - passedTestMembers.Add(member.Name, member); + if (!passedTestMembers.ContainsKey(member.Name)){ + passedTestMembers.Add(member.Name, member); + } if (passedTestMembers.Count == Count) { SetTestResult(TestResultType.Success); } else if (passedTestMembers.Count + ignoredTestMembers.Count == Count) { @@ -110,7 +114,9 @@ namespace ICSharpCode.UnitTesting } break; case TestResultType.Ignored: - ignoredTestMembers.Add(member.Name, member); + if (!ignoredTestMembers.ContainsKey(member.Name)){ + ignoredTestMembers.Add(member.Name, member); + } if (ignoredTestMembers.Count == Count || ignoredTestMembers.Count + passedTestMembers.Count == Count) { SetTestResult(TestResultType.Ignored);