public void AddSetupCleanup <TSetup, TCleanup> (string setupText, Action setup, string cleanupText, Action cleanup) where TSetup : IActionDescriptor where TCleanup : ICleanupDescriptor { // TODO: shared code with TestController IOperationProvider cleanupProvider = null; if (cleanup != null) { cleanupProvider = OperationProvider.Create <TCleanup>(OperationType.Action, cleanupText, cleanup); } var setupProvider = OperationProvider.Create <TSetup>(OperationType.Action, setupText, setup, cleanupProvider); var unsortedOperationProviders = cleanupProvider.Concat(_provider.ContextProviders).Concat(setupProvider).WhereNotNull(); _provider.ContextProviders = _operationSorter.Sort(unsortedOperationProviders); }
public void AddSetupCleanup <TSetup, TCleanup> ( string setupText, Action <ITestContext> setup, [CanBeNull] string cleanupText, [CanBeNull] Action <ITestContext> cleanup) where TSetup : IActionDescriptor where TCleanup : ICleanupDescriptor { // TODO: shared code with SuiteController IOperationProvider cleanupProvider = null; if (cleanup != null) { cleanupProvider = OperationProvider.Create <TCleanup>(OperationType.Action, cleanupText.NotNull(), InjectContextAndGuardAction(cleanup)); } var setupProvider = OperationProvider.Create <TSetup>(OperationType.Action, setupText, InjectContextAndGuardAction(setup), cleanupProvider); var unsortedOperationProviders = cleanupProvider.Concat(_provider.OperationProviders).Concat(setupProvider).WhereNotNull(); _provider.OperationProviders = _operationSorter.Sort(unsortedOperationProviders); }