Browse Source

Fixed propagation of editor changes in double nested test classes to test pad.

pull/23/head
Tomasz Tretkowski 14 years ago
parent
commit
a42637f66a
  1. 2
      src/AddIns/Analysis/UnitTesting/Src/TestProject.cs
  2. 11
      src/AddIns/Analysis/UnitTesting/Test/Project/InnerClassMethodRenamedTestFixture.cs

2
src/AddIns/Analysis/UnitTesting/Src/TestProject.cs

@ -131,7 +131,7 @@ namespace ICSharpCode.UnitTesting
if (newUnit != null) { if (newUnit != null) {
foreach (IClass c in newUnit.Classes) { foreach (IClass c in newUnit.Classes) {
UpdateTestClass(c); UpdateTestClass(c);
foreach (IClass innerClass in c.InnerClasses) { foreach (IClass innerClass in new InnerClassEnumerator(c)) {
UpdateTestClass(innerClass); UpdateTestClass(innerClass);
removedClasses.Remove(innerClass); removedClasses.Remove(innerClass);
} }

11
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) // This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
using System; using System;
using System.Linq;
using ICSharpCode.SharpDevelop.Dom; using ICSharpCode.SharpDevelop.Dom;
using ICSharpCode.UnitTesting; using ICSharpCode.UnitTesting;
using NUnit.Framework; using NUnit.Framework;
@ -41,6 +42,11 @@ namespace UnitTesting.Tests.Project
method.Attributes.Add(new MockAttribute("Test")); method.Attributes.Add(new MockAttribute("Test"));
newInnerClass.Methods.Add(method); newInnerClass.Methods.Add(method);
outerClass.InnerClasses.Add(newInnerClass); 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. // Update TestProject's parse info.
testProject.UpdateParseInfo(oldUnit, newUnit); testProject.UpdateParseInfo(oldUnit, newUnit);
@ -60,5 +66,10 @@ namespace UnitTesting.Tests.Project
{ {
Assert.AreEqual(1, innerTestClass.TestMembers.Count); Assert.AreEqual(1, innerTestClass.TestMembers.Count);
} }
[Test]
public void NewTestClassExists() {
CollectionAssert.Contains(testProject.TestClasses.Select(x => x.QualifiedName).ToList(), "MyTests.A+InnerATest+InnerInnerTest");
}
} }
} }

Loading…
Cancel
Save