21 changed files with 238 additions and 62 deletions
@ -0,0 +1,25 @@ |
|||||||
|
/* |
||||||
|
* Created by SharpDevelop. |
||||||
|
* User: trecio |
||||||
|
* Date: 2011-10-24 |
||||||
|
* Time: 23:11 |
||||||
|
* |
||||||
|
* To change this template use Tools | Options | Coding | Edit Standard Headers. |
||||||
|
*/ |
||||||
|
using System; |
||||||
|
using ICSharpCode.SharpDevelop.Dom; |
||||||
|
using ICSharpCode.UnitTesting; |
||||||
|
|
||||||
|
namespace ICSharpCode.MachineSpecifications |
||||||
|
{ |
||||||
|
/// <summary>
|
||||||
|
/// Description of BehaviorImportedClass.
|
||||||
|
/// </summary>
|
||||||
|
public class BehaviorImportedTestMember : BaseTestMember |
||||||
|
{ |
||||||
|
public BehaviorImportedTestMember(IClass testClass, IMember behaviorMember) |
||||||
|
: base(testClass, behaviorMember, behaviorMember.Name) |
||||||
|
{ |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,74 @@ |
|||||||
|
/* |
||||||
|
* Created by SharpDevelop. |
||||||
|
* User: trecio |
||||||
|
* Date: 2011-10-23 |
||||||
|
* Time: 16:15 |
||||||
|
* |
||||||
|
* To change this template use Tools | Options | Coding | Edit Standard Headers. |
||||||
|
*/ |
||||||
|
using System; |
||||||
|
using System.Linq; |
||||||
|
using ICSharpCode.UnitTesting; |
||||||
|
using NUnit.Framework; |
||||||
|
using UnitTesting.Tests.Utils; |
||||||
|
|
||||||
|
namespace UnitTesting.Tests.Project |
||||||
|
{ |
||||||
|
/// <summary>
|
||||||
|
/// Tests that a class with base type nested inside test fixture is recognized, e.g.
|
||||||
|
///
|
||||||
|
/// public abstract class BaseClass {
|
||||||
|
/// [Test]
|
||||||
|
/// public void BaseFoo() {
|
||||||
|
/// }
|
||||||
|
/// }
|
||||||
|
///
|
||||||
|
/// [TestFixture]
|
||||||
|
/// public class A
|
||||||
|
/// {
|
||||||
|
/// public class InnerATest
|
||||||
|
/// {
|
||||||
|
/// [Test]
|
||||||
|
/// public void FooBar()
|
||||||
|
/// {
|
||||||
|
/// }
|
||||||
|
///
|
||||||
|
/// public class InnerTestLevel2 : BaseClass {
|
||||||
|
/// }
|
||||||
|
/// }
|
||||||
|
/// }
|
||||||
|
/// </summary>
|
||||||
|
[TestFixture] |
||||||
|
public class DoubleNestedTestClassWithBaseType : InnerClassTestFixtureBase |
||||||
|
{ |
||||||
|
MockClass classNestedInInnerClass; |
||||||
|
MockClass baseClass; |
||||||
|
MockMethod testMethodInBaseClass; |
||||||
|
|
||||||
|
[SetUp] |
||||||
|
public void SetUp() { |
||||||
|
base.InitBase(); |
||||||
|
|
||||||
|
baseClass = new MockClass(projectContent, "MyTests.BaseClass"); |
||||||
|
testMethodInBaseClass = new MockMethod(baseClass, "BaseFoo"); |
||||||
|
testMethodInBaseClass.Attributes.Add(new MockAttribute("Test")); |
||||||
|
baseClass.Methods.Add(testMethodInBaseClass); |
||||||
|
|
||||||
|
//Add TestFixture attribute to outer class
|
||||||
|
outerClass.Attributes.Add(new MockAttribute("TestFixture")); |
||||||
|
|
||||||
|
//Add inner class nested in test class
|
||||||
|
classNestedInInnerClass = new MockClass(projectContent, "MyTests.A.InnerATest.InnerTestLevel2", "MyTests.A+InnerATest+InnerTestLevel2", innerClass); |
||||||
|
innerClass.InnerClasses.Add(classNestedInInnerClass); |
||||||
|
classNestedInInnerClass.AddBaseClass(baseClass); |
||||||
|
|
||||||
|
testProject = new TestProject(null, projectContent, testFrameworks); |
||||||
|
} |
||||||
|
|
||||||
|
[Test] |
||||||
|
public void DoubleNestedClassShouldHaveTestMemberImportedFromBaseClass() { |
||||||
|
var nestedClass = testProject.TestClasses.Single(c => c.Class == classNestedInInnerClass); |
||||||
|
Assert.AreEqual("BaseClass.BaseFoo", nestedClass.TestMembers.Single().Name); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
Loading…
Reference in new issue