protected override void InitializeTypeSpecificFields(object suite, SuiteProvider provider) { var suiteType = suite.GetType(); var closedSpeckType = suiteType.GetClosedTypeOf(typeof (ISuite<>)).AssertNotNull(); var subjectType = closedSpeckType.GetGenericArguments().Single(); var suiteController = _controllerFactory.CreateClassSuiteController(suite, subjectType, provider); suite.SetMemberValue("_classSuiteController", suiteController); suite.SetMemberValue("_subjectFactory", _subjectFactory); }
public ClassSuiteController(SuiteProvider provider, ISuite suite, IEnumerable<ITestExtension> testExtensions, IOperationSorter operationSorter) : base(provider, operationSorter) { _suite = suite; _testExtensions = testExtensions; }
protected abstract void InitializeTypeSpecificFields(object suite, SuiteProvider provider);
public ISuiteController Create(SuiteProvider suiteProvider) { return new SuiteController(suiteProvider, _operationSorter); }