protected override void Initialize(Type suiteType, object suite, SuiteProvider provider) { var hierarchyTypes = HierarchyLoader.GetExecutionHierarchy(suiteType).ToList(); var behaviorTypes = suiteType.Descendants(x => GetBehaviorTypes(x)).ToList(); var setupOperationProviders = GetSetupOperationProviders(hierarchyTypes, behaviorTypes, suite, suiteType); var assertionFields = GetFields <It>(suiteType).Concat(behaviorTypes.SelectMany(GetFields <It>)); var testProviders = assertionFields.Select(x => CreateTestProvider(provider.Identity, GetInstance(x.DeclaringType.NotNull(), suite), x)); provider.ContextProviders = setupOperationProviders; provider.TestProviders = testProviders; }
public void Test() { var hierarchy = HierarchyLoader.GetExecutionHierarchy(typeof(U3.U6)).ToList(); var expectedHierarchy = new[] { typeof(U1), typeof(X1.U2), typeof(U3), typeof(U4), typeof(X2.U5), typeof(U3.U6) }; Assert.That(hierarchy, Is.EqualTo(expectedHierarchy)); }