Пример #1
0
 /// <summary>
 /// Appends <paramref name="notifiers"/> to existing <see cref="Notifier"/> making all of them used during notification.
 /// </summary>
 /// <param name="notifiers">Notifiers to append</param>
 /// <returns>Self</returns>
 /// <exception cref="ArgumentNullException">Throws when <paramref name="notifiers"/> collection or any of it's item is null.</exception>
 public FeatureProgressNotifierConfiguration AppendNotifiers(params IFeatureProgressNotifier[] notifiers)
 {
     ThrowIfSealed();
     if (notifiers == null)
     {
         throw new ArgumentNullException(nameof(notifiers));
     }
     Notifier = DelegatingFeatureProgressNotifier.Compose(Enumerable.Repeat(Notifier, 1).Concat(notifiers));
     return(this);
 }
 /// <summary>
 /// Updates <see cref="Notifier"/> with new value.
 /// </summary>
 /// <param name="notifier">New notifier to set.</param>
 /// <returns>Self.</returns>
 /// <exception cref="ArgumentNullException">Throws when <paramref name="notifier"/> is null.</exception>
 public FeatureProgressNotifierConfiguration UpdateNotifier(IFeatureProgressNotifier notifier)
 {
     ThrowIfSealed();
     if (notifier == null)
     {
         throw new ArgumentNullException(nameof(notifier));
     }
     Notifier = notifier;
     return(this);
 }
Пример #3
0
        private async Task BeginNotification(int i, IFeatureProgressNotifier featureNotifier)
        {
            var scenarioNotifier = GetScenarioNotifier();

            await Task.Yield();

            _currentId.Value = i;

            featureNotifier.NotifyFeatureStart(Fake.Object <TestResults.TestFeatureInfo>());
            await Task.Yield();

            scenarioNotifier.NotifyScenarioStart(Fake.Object <TestResults.TestScenarioInfo>());
            await Task.Yield();

            scenarioNotifier.NotifyStepStart(Fake.Object <TestResults.TestStepInfo>());
            await Task.Yield();

            scenarioNotifier.NotifyStepComment(Fake.Object <TestResults.TestStepInfo>(), "comment");
            await Task.Yield();

            scenarioNotifier.NotifyStepComment(Fake.Object <TestResults.TestStepInfo>(), "comment2");
            await Task.Yield();

            scenarioNotifier.NotifyStepFinished(Fake.Object <TestResults.TestStepResult>());
            await Task.Yield();

            scenarioNotifier.NotifyStepStart(Fake.Object <TestResults.TestStepInfo>());
            await Task.Yield();

            scenarioNotifier.NotifyStepComment(Fake.Object <TestResults.TestStepInfo>(), "comment");
            await Task.Yield();

            scenarioNotifier.NotifyStepComment(Fake.Object <TestResults.TestStepInfo>(), "comment2");
            await Task.Yield();

            scenarioNotifier.NotifyStepFinished(Fake.Object <TestResults.TestStepResult>());
            await Task.Yield();

            var scenarioResult = Fake.Object <TestResults.TestScenarioResult>();

            scenarioResult.Steps = new TestResults.TestStepResult[0];

            scenarioNotifier.NotifyScenarioFinished(scenarioResult);
            await Task.Yield();

            var featureResult = Fake.Object <TestResults.TestFeatureResult>();

            featureResult.Scenarios = new TestResults.TestScenarioResult[0];
            featureNotifier.NotifyFeatureFinished(featureResult);
        }
Пример #4
0
 public TestableIntegrationContextBuilder WithFeatureProgressNotifier(IFeatureProgressNotifier notifier)
 {
     _configuration.FeatureProgressNotifierConfiguration().UpdateNotifier(notifier);
     return(this);
 }
Пример #5
0
 public TestableFeatureRunnerRepository(IFeatureProgressNotifier featureProgressNotifier, Func <object, IScenarioProgressNotifier> scenarioProgressNotifier)
     : this(TestableIntegrationContextBuilder.Default().WithFeatureProgressNotifier(featureProgressNotifier).WithScenarioProgressNotifierProvider(scenarioProgressNotifier))
 {
 }