public async Task ExecutedParallel() { var processorsCount = _provider.GetRequiredService <ParallelNotificationProcessor[]>().Length; var notification = new ParallelNotification(); await _emitter.Publish(notification); notification.ExecutedOn.Distinct().Count().Should().Be(processorsCount); }
public NotificationParallelPipelineShould() { _notification = new ParallelNotification(); _processors = Many(() => MockNotificationProcessor(_notification)); _pipeline = new NotificationParallelPipeline <ParallelNotification>(_processors .Select(mock => mock.Object) .ToArray()); }
public async Task ResolveNotificationParallelPipeline(uint count) { for (var i = 0; i < count; i++) { _serviceCollection.AddNotificationProcessor <ParallelNotificationProcessor>(); } var emitter = _serviceCollection .BuildServiceProvider() .GetRequiredService <IEmitter>(); var notification = new ParallelNotification(); await emitter.Publish(notification); notification.ExecutedOn.Distinct().Should().HaveCount((int)count); }
public ParallelNotificationPipelineShould() { _handlers = Enumerable.Range(0, 10) .Select(_ => new Mock <INotificationHandler <ParallelNotification> >()) .ToArray(); var serviceCollection = new ServiceCollection(); foreach (var handler in _handlers) { serviceCollection.AddSingleton(handler.Object); } _mediator = serviceCollection .AddMediator(mediator => mediator.RegisterNotification <ParallelNotification>()) .BuildServiceProvider() .GetRequiredService <IMediator>(); _notification = new ParallelNotification(); }