diff --git a/src/AddIns/Analysis/UnitTesting/Src/TestProject.cs b/src/AddIns/Analysis/UnitTesting/Src/TestProject.cs index e9399bfe00..3e2191c672 100644 --- a/src/AddIns/Analysis/UnitTesting/Src/TestProject.cs +++ b/src/AddIns/Analysis/UnitTesting/Src/TestProject.cs @@ -131,7 +131,7 @@ namespace ICSharpCode.UnitTesting if (newUnit != null) { foreach (IClass c in newUnit.Classes) { UpdateTestClass(c); - foreach (IClass innerClass in c.InnerClasses) { + foreach (IClass innerClass in new InnerClassEnumerator(c)) { UpdateTestClass(innerClass); removedClasses.Remove(innerClass); } diff --git a/src/AddIns/Analysis/UnitTesting/Test/Project/InnerClassMethodRenamedTestFixture.cs b/src/AddIns/Analysis/UnitTesting/Test/Project/InnerClassMethodRenamedTestFixture.cs index 07eecc818e..f916c63799 100644 --- a/src/AddIns/Analysis/UnitTesting/Test/Project/InnerClassMethodRenamedTestFixture.cs +++ b/src/AddIns/Analysis/UnitTesting/Test/Project/InnerClassMethodRenamedTestFixture.cs @@ -2,6 +2,7 @@ // This code is distributed under the GNU LGPL (for details please see \doc\license.txt) using System; +using System.Linq; using ICSharpCode.SharpDevelop.Dom; using ICSharpCode.UnitTesting; using NUnit.Framework; @@ -41,6 +42,11 @@ namespace UnitTesting.Tests.Project method.Attributes.Add(new MockAttribute("Test")); newInnerClass.Methods.Add(method); outerClass.InnerClasses.Add(newInnerClass); + + MockClass innerClassInInnerClass = new MockClass(projectContent, "MyTests.A.InnerATest.InnerInnerTest", innerClass); + innerClassInInnerClass.SetDotNetName("MyTests.A+InnerATest+InnerInnerTest"); + innerClassInInnerClass.Attributes.Add(new MockAttribute("TestFixture")); + newInnerClass.InnerClasses.Add(innerClassInInnerClass); // Update TestProject's parse info. testProject.UpdateParseInfo(oldUnit, newUnit); @@ -60,5 +66,10 @@ namespace UnitTesting.Tests.Project { Assert.AreEqual(1, innerTestClass.TestMembers.Count); } + + [Test] + public void NewTestClassExists() { + CollectionAssert.Contains(testProject.TestClasses.Select(x => x.QualifiedName).ToList(), "MyTests.A+InnerATest+InnerInnerTest"); + } } }