< Summary

Information
Class: MediatR.SequentialAllPublisher
Assembly: Pozitron.Extensions.MediatR
File(s): /home/runner/work/Pozitron.Extensions.MediatR/Pozitron.Extensions.MediatR/src/Pozitron.Extensions.MediatR/Publishers/SequentialAllPublisher.cs
Tag: 25_16436701542
Line coverage
100%
Covered lines: 13
Uncovered lines: 0
Coverable lines: 13
Total lines: 33
Line coverage: 100%
Branch coverage
100%
Covered branches: 10
Total branches: 10
Branch coverage: 100%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
Publish()100%1010100%

File(s)

/home/runner/work/Pozitron.Extensions.MediatR/Pozitron.Extensions.MediatR/src/Pozitron.Extensions.MediatR/Publishers/SequentialAllPublisher.cs

#LineLine coverage
 1namespace MediatR;
 2
 3internal class SequentialAllPublisher : INotificationPublisher
 4{
 5    public async Task Publish(
 6        IEnumerable<NotificationHandlerExecutor> handlerExecutors,
 7        INotification notification,
 8        CancellationToken cancellationToken)
 9    {
 310        List<Exception>? exceptions = null;
 11
 2012        foreach (var handlerExecutor in handlerExecutors)
 13        {
 14            try
 15            {
 716                await handlerExecutor.HandlerCallback(notification, cancellationToken).ConfigureAwait(false);
 417            }
 218            catch (AggregateException ex)
 19            {
 220                (exceptions ??= []).AddRange(ex.Flatten().InnerExceptions);
 221            }
 122            catch (Exception ex)
 23            {
 124                (exceptions ??= []).Add(ex);
 125            }
 26        }
 27
 328        if (exceptions?.Count > 0)
 29        {
 230            throw new AggregateException(exceptions);
 31        }
 132    }
 33}

Methods/Properties

Publish()