1
// ****************************************************************
2
// Copyright 2007, Charlie Poole
3
// This is free software licensed under the NUnit license. You may
4
// obtain a copy of the license at http://nunit.org
5
// ****************************************************************
11
namespace NUnit.Core.Tests
14
public class SetUpFixtureTests
16
private static readonly string testAssembly = AssemblyHelper.GetAssemblyPath(typeof(NUnit.TestData.EmptyFixture));
22
TestUtilities.SimpleEventRecorder.Clear();
26
private TestResult runTests(string nameSpace)
28
return runTests(nameSpace, TestFilter.Empty);
30
private TestResult runTests(string nameSpace, TestFilter filter)
32
TestSuiteBuilder builder = new TestSuiteBuilder();
33
TestPackage package = new TestPackage( testAssembly );
34
package.TestName = nameSpace;
35
Test suite = builder.Build( package );
36
return suite.Run(new NullListener(),filter);
41
/// Tests that the TestSuiteBuilder correctly interperets a SetupFixture class as a 'virtual namespace' into which
42
/// all it's sibling classes are inserted.
44
[NUnit.Framework.Test]
45
public void NamespaceSetUpFixtureReplacesNamespaceNodeInTree()
47
string nameSpace = "NUnit.TestData.SetupFixture.Namespace1";
48
TestSuiteBuilder builder = new TestSuiteBuilder();
49
TestPackage package = new TestPackage( testAssembly );
50
package.TestName = nameSpace;
51
Test suite= builder.Build( package );
53
Assert.IsNotNull(suite);
55
Assert.AreEqual(testAssembly, suite.TestName.Name);
56
Assert.AreEqual(1, suite.Tests.Count);
58
string[] nameSpaceBits = nameSpace.Split('.');
59
for (int i = 0; i < nameSpaceBits.Length; i++)
61
suite = suite.Tests[0] as TestSuite;
62
Assert.AreEqual(nameSpaceBits[i], suite.TestName.Name);
63
Assert.AreEqual(1, suite.Tests.Count);
66
Assert.IsInstanceOf(typeof(SetUpFixture), suite);
68
suite = suite.Tests[0] as TestSuite;
69
Assert.AreEqual("SomeTestFixture", suite.TestName.Name);
70
Assert.AreEqual(1, suite.Tests.Count);
74
#region NoNamespaceBuilder
76
/// Tests that the TestSuiteBuilder correctly interperets a SetupFixture class with no parent namespace
77
/// as a 'virtual assembly' into which all it's sibling fixtures are inserted.
79
[NUnit.Framework.Test]
80
public void AssemblySetUpFixtureReplacesAssemblyNodeInTree()
82
TestSuiteBuilder builder = new TestSuiteBuilder();
83
Test suite = builder.Build( new TestPackage( testAssembly ) );
85
Assert.IsNotNull(suite);
86
Assert.IsInstanceOf(typeof(SetUpFixture), suite);
88
suite = suite.Tests[1] as TestSuite;
89
Assert.AreEqual("SomeTestFixture", suite.TestName.Name);
90
Assert.AreEqual(1, suite.TestCount);
92
#endregion NoNamespaceBuilder
96
[NUnit.Framework.Test]
97
public void NamespaceSetUpFixtureWrapsExecutionOfSingleTest()
99
Assert.IsTrue(runTests("NUnit.TestData.SetupFixture.Namespace1").IsSuccess);
100
TestUtilities.SimpleEventRecorder.Verify("NamespaceSetup",
101
"FixtureSetup", "Setup", "Test", "TearDown", "FixtureTearDown",
102
"NamespaceTearDown");
108
public void NamespaceSetUpMethodsMayBeStatic()
110
Assert.IsTrue(runTests("NUnit.TestData.SetupFixture.Namespace5").IsSuccess);
111
TestUtilities.SimpleEventRecorder.Verify("NamespaceSetup",
112
"FixtureSetup", "Setup", "Test", "TearDown", "FixtureTearDown",
113
"NamespaceTearDown");
117
#region TwoTestFixtures
118
[NUnit.Framework.Test]
119
public void NamespaceSetUpFixtureWrapsExecutionOfTwoTests()
121
Assert.IsTrue(runTests("NUnit.TestData.SetupFixture.Namespace2").IsSuccess);
122
TestUtilities.SimpleEventRecorder.Verify("NamespaceSetup",
123
"FixtureSetup", "Setup", "Test", "TearDown", "FixtureTearDown",
124
"FixtureSetup", "Setup", "Test", "TearDown", "FixtureTearDown",
125
"NamespaceTearDown");
127
#endregion TwoTestFixtures
130
[NUnit.Framework.Test]
131
public void NamespaceSetUpFixtureWrapsNestedNamespaceSetUpFixture()
133
Assert.IsTrue(runTests("NUnit.TestData.SetupFixture.Namespace3").IsSuccess);
134
TestUtilities.SimpleEventRecorder.Verify("NamespaceSetup",
135
"FixtureSetup", "Setup", "Test", "TearDown", "FixtureTearDown",
137
"FixtureSetup", "Setup", "Test", "TearDown", "FixtureTearDown",
138
"SubNamespaceTearDown",
139
"NamespaceTearDown");
141
#endregion SubNamespace
143
#region TwoSetUpFixtures
144
[NUnit.Framework.Test]
145
public void WithTwoSetUpFixtuesOnlyOneIsUsed()
147
Assert.IsTrue(runTests("NUnit.TestData.SetupFixture.Namespace4").IsSuccess);
148
TestUtilities.SimpleEventRecorder.Verify("NamespaceSetup2",
149
"FixtureSetup", "Setup", "Test", "TearDown", "FixtureTearDown",
150
"NamespaceTearDown2");
152
#endregion TwoSetUpFixtures
154
#region NoNamespaceSetupFixture
155
[NUnit.Framework.Test]
156
public void AssemblySetupFixtureWrapsExecutionOfTest()
158
TestResult result = runTests(null, new Filters.SimpleNameFilter("SomeTestFixture"));
159
ResultSummarizer summ = new ResultSummarizer(result);
160
Assert.AreEqual(1, summ.TestsRun);
161
Assert.IsTrue(result.IsSuccess);
162
TestUtilities.SimpleEventRecorder.Verify("RootNamespaceSetup",
164
"RootNamespaceTearDown");
166
#endregion NoNamespaceSetupFixture
1
// ****************************************************************
2
// Copyright 2007, Charlie Poole
3
// This is free software licensed under the NUnit license. You may
4
// obtain a copy of the license at http://nunit.org
5
// ****************************************************************
11
namespace NUnit.Core.Tests
14
public class SetUpFixtureTests
16
private static readonly string testAssembly = AssemblyHelper.GetAssemblyPath(typeof(NUnit.TestData.EmptyFixture));
22
TestUtilities.SimpleEventRecorder.Clear();
26
private TestResult runTests(string nameSpace)
28
return runTests(nameSpace, TestFilter.Empty);
30
private TestResult runTests(string nameSpace, TestFilter filter)
32
TestSuiteBuilder builder = new TestSuiteBuilder();
33
TestPackage package = new TestPackage( testAssembly );
34
package.TestName = nameSpace;
35
Test suite = builder.Build( package );
36
return suite.Run(new NullListener(),filter);
41
/// Tests that the TestSuiteBuilder correctly interperets a SetupFixture class as a 'virtual namespace' into which
42
/// all it's sibling classes are inserted.
44
[NUnit.Framework.Test]
45
public void NamespaceSetUpFixtureReplacesNamespaceNodeInTree()
47
string nameSpace = "NUnit.TestData.SetupFixture.Namespace1";
48
TestSuiteBuilder builder = new TestSuiteBuilder();
49
TestPackage package = new TestPackage( testAssembly );
50
package.TestName = nameSpace;
51
Test suite= builder.Build( package );
53
Assert.IsNotNull(suite);
55
Assert.AreEqual(testAssembly, suite.TestName.Name);
56
Assert.AreEqual(1, suite.Tests.Count);
58
string[] nameSpaceBits = nameSpace.Split('.');
59
for (int i = 0; i < nameSpaceBits.Length; i++)
61
suite = suite.Tests[0] as TestSuite;
62
Assert.AreEqual(nameSpaceBits[i], suite.TestName.Name);
63
Assert.AreEqual(1, suite.Tests.Count);
66
Assert.IsInstanceOf(typeof(SetUpFixture), suite);
68
suite = suite.Tests[0] as TestSuite;
69
Assert.AreEqual("SomeTestFixture", suite.TestName.Name);
70
Assert.AreEqual(1, suite.Tests.Count);
74
#region NoNamespaceBuilder
76
/// Tests that the TestSuiteBuilder correctly interperets a SetupFixture class with no parent namespace
77
/// as a 'virtual assembly' into which all it's sibling fixtures are inserted.
79
[NUnit.Framework.Test]
80
public void AssemblySetUpFixtureReplacesAssemblyNodeInTree()
82
TestSuiteBuilder builder = new TestSuiteBuilder();
83
Test suite = builder.Build( new TestPackage( testAssembly ) );
85
Assert.IsNotNull(suite);
86
Assert.IsInstanceOf(typeof(SetUpFixture), suite);
88
suite = suite.Tests[1] as TestSuite;
89
Assert.AreEqual("SomeTestFixture", suite.TestName.Name);
90
Assert.AreEqual(1, suite.TestCount);
92
#endregion NoNamespaceBuilder
96
[NUnit.Framework.Test]
97
public void NamespaceSetUpFixtureWrapsExecutionOfSingleTest()
99
Assert.IsTrue(runTests("NUnit.TestData.SetupFixture.Namespace1").IsSuccess);
100
TestUtilities.SimpleEventRecorder.Verify("NamespaceSetup",
101
"FixtureSetup", "Setup", "Test", "TearDown", "FixtureTearDown",
102
"NamespaceTearDown");
108
public void NamespaceSetUpMethodsMayBeStatic()
110
Assert.IsTrue(runTests("NUnit.TestData.SetupFixture.Namespace5").IsSuccess);
111
TestUtilities.SimpleEventRecorder.Verify("NamespaceSetup",
112
"FixtureSetup", "Setup", "Test", "TearDown", "FixtureTearDown",
113
"NamespaceTearDown");
117
#region TwoTestFixtures
118
[NUnit.Framework.Test]
119
public void NamespaceSetUpFixtureWrapsExecutionOfTwoTests()
121
Assert.IsTrue(runTests("NUnit.TestData.SetupFixture.Namespace2").IsSuccess);
122
TestUtilities.SimpleEventRecorder.Verify("NamespaceSetup",
123
"FixtureSetup", "Setup", "Test", "TearDown", "FixtureTearDown",
124
"FixtureSetup", "Setup", "Test", "TearDown", "FixtureTearDown",
125
"NamespaceTearDown");
127
#endregion TwoTestFixtures
130
[NUnit.Framework.Test]
131
public void NamespaceSetUpFixtureWrapsNestedNamespaceSetUpFixture()
133
Assert.IsTrue(runTests("NUnit.TestData.SetupFixture.Namespace3").IsSuccess);
134
TestUtilities.SimpleEventRecorder.Verify("NamespaceSetup",
135
"FixtureSetup", "Setup", "Test", "TearDown", "FixtureTearDown",
137
"FixtureSetup", "Setup", "Test", "TearDown", "FixtureTearDown",
138
"SubNamespaceTearDown",
139
"NamespaceTearDown");
141
#endregion SubNamespace
143
#region TwoSetUpFixtures
144
[NUnit.Framework.Test]
145
public void WithTwoSetUpFixtuesOnlyOneIsUsed()
147
Assert.IsTrue(runTests("NUnit.TestData.SetupFixture.Namespace4").IsSuccess);
148
TestUtilities.SimpleEventRecorder.Verify("NamespaceSetup2",
149
"FixtureSetup", "Setup", "Test", "TearDown", "FixtureTearDown",
150
"NamespaceTearDown2");
152
#endregion TwoSetUpFixtures
154
#region NoNamespaceSetupFixture
155
[NUnit.Framework.Test]
156
public void AssemblySetupFixtureWrapsExecutionOfTest()
158
TestResult result = runTests(null, new Filters.SimpleNameFilter("SomeTestFixture"));
159
ResultSummarizer summ = new ResultSummarizer(result);
160
Assert.AreEqual(1, summ.TestsRun);
161
Assert.IsTrue(result.IsSuccess);
162
TestUtilities.SimpleEventRecorder.Verify("RootNamespaceSetup",
164
"RootNamespaceTearDown");
166
#endregion NoNamespaceSetupFixture