1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96
|
using System;
using System.Collections;
using NUnit.Framework;
using NUnit.Tests.Assemblies;
using NUnit.Core;
namespace NUnit.Tests.Core
{
[TestFixture]
public class NameFilterTest
{
private MockTestFixture mockTestFixture;
private TestSuite testSuite;
private NUnit.Core.TestCase mock3;
[SetUp]
public void SetUp()
{
mockTestFixture = new MockTestFixture();
testSuite = new TestSuite("Mock Test Suite");
testSuite.Add(mockTestFixture);
mock3 = (NUnit.Core.TestCase) findTest("MockTest3", testSuite);
}
[Test]
public void SingleNameMatch()
{
string uniqueName = "[0]NUnit.Tests.Assemblies.MockTestFixture.MockTest3";
Assert.AreEqual(uniqueName, mock3.UniqueName);
NameFilter filter = new NameFilter(mock3);
Assert.IsTrue(filter.Pass(mock3), "Name Filter did not pass test case");
Assert.AreEqual("[0]NUnit.Tests.Assemblies.MockTestFixture", ((TestSuite)testSuite.Tests[0]).UniqueName);
Assert.IsTrue(filter.Pass((TestSuite)testSuite.Tests[0]), "Name Filter did not pass test suite");
}
[Test]
public void MultipleNameMatch()
{
NUnit.Core.TestCase mock1 = (NUnit.Core.TestCase) findTest("MockTest1", testSuite);
ArrayList testList = new ArrayList();
testList.Add(mock3);
testList.Add(mock1);
NameFilter filter = new NameFilter(testList);
Assert.IsTrue(filter.Pass(mock3), "Name Filter did not pass test case");
Assert.IsTrue(filter.Pass(mock1), "Name Filter did not pass test case");
Assert.IsTrue(filter.Pass((TestSuite)testSuite.Tests[0]), "Name Filter did not pass test suite");
}
[Test]
public void SuiteNameMatch()
{
NUnit.Core.TestSuite mockTest = (NUnit.Core.TestSuite) findTest("MockTestFixture", testSuite);
NameFilter filter = new NameFilter(mockTest);
Assert.IsTrue(filter.Pass(mock3), "Name Filter did not pass test case");
Assert.IsTrue(filter.Pass(mockTest), "Suite did not pass test case");
Assert.IsTrue(filter.Pass(testSuite), "Suite did not pass test case");
}
[Test]
public void TestDoesNotMatch()
{
NUnit.Core.TestCase mock1 = (NUnit.Core.TestCase) findTest("MockTest1", testSuite);
NameFilter filter = new NameFilter(mock1);
Assert.IsFalse(filter.Pass(mock3), "Name Filter did pass test case");
Assert.IsTrue(filter.Pass(testSuite), "Name Filter did not pass test suite");
}
[Test]
public void HighLevelSuite()
{
NUnit.Core.TestSuite mockTest = (NUnit.Core.TestSuite) findTest("MockTestFixture", testSuite);
NameFilter filter = new NameFilter(testSuite);
Assert.IsTrue(filter.Pass(mock3), "Name Filter did not pass test case");
Assert.IsTrue(filter.Pass(mockTest), "Name Filter did not pass middle suite");
Assert.IsTrue(filter.Pass(testSuite), "Name Filter did not pass test suite");
}
private Test findTest(string name, Test test)
{
Test result = null;
if (test.Name == name)
result = test;
else if (test.Tests != null)
{
foreach(Test t in test.Tests)
{
result = findTest(name, t);
if (result != null)
break;
}
}
return result;
}
}
}
|