public LegacySuite(Type fixtureType) : base(fixtureType) { PropertyInfo suiteProperty = GetSuiteProperty(fixtureType); if (suiteProperty == null) { throw new ArgumentException("Invalid argument to LegacySuite constructor", "fixtureType"); } this.fixtureSetUp = NUnitFramework.GetFixtureSetUpMethod(fixtureType); this.fixtureTearDown = NUnitFramework.GetFixtureTearDownMethod(fixtureType); MethodInfo method = suiteProperty.GetGetMethod(true); if (method.GetParameters().Length == 0) { Type returnType = method.ReturnType; if (returnType.FullName == "NUnit.Core.TestSuite") { TestSuite suite = (TestSuite)suiteProperty.GetValue(null, new Object[0]); foreach (Test test in suite.Tests) { this.Add(test); } } else if (typeof(IEnumerable).IsAssignableFrom(returnType)) { foreach (object obj in (IEnumerable)suiteProperty.GetValue(null, new object[0])) { Type type = obj as Type; if (type != null && TestFixtureBuilder.CanBuildFrom(type)) { this.Add(TestFixtureBuilder.BuildFrom(type)); } else { this.Add(obj); } } } else { this.RunState = RunState.NotRunnable; this.IgnoreReason = "Suite property must return either TestSuite or IEnumerable"; } } else { this.RunState = RunState.NotRunnable; this.IgnoreReason = "Suite property may not be indexed"; } }
public LegacySuite(Type fixtureType) : base(fixtureType) { suiteProperty = GetSuiteProperty(fixtureType); this.fixtureSetUp = NUnitFramework.GetFixtureSetUpMethod(fixtureType); this.fixtureTearDown = NUnitFramework.GetFixtureTearDownMethod(fixtureType); MethodInfo method = suiteProperty.GetGetMethod(true); if (method.ReturnType.FullName != "NUnit.Core.TestSuite" || method.GetParameters().Length > 0) { this.RunState = RunState.NotRunnable; this.IgnoreReason = "Invalid suite property method signature"; } else { TestSuite suite = (TestSuite)suiteProperty.GetValue(null, new Object[0]); foreach (Test test in suite.Tests) { this.Add(test); } } }
public NUnitTestFixture(Type fixtureType) : base(fixtureType) { this.fixtureSetUp = NUnitFramework.GetFixtureSetUpMethod(fixtureType); this.fixtureTearDown = NUnitFramework.GetFixtureTearDownMethod(fixtureType); }