Akka.Streams.Tests.Dsl.FlowBatchSpec.Batch_must_backpressure_subscriber_when_upstream_is_slower C# (CSharp) Метод

Batch_must_backpressure_subscriber_when_upstream_is_slower() приватный Метод

private Batch_must_backpressure_subscriber_when_upstream_is_slower ( ) : void
Результат void
        public void Batch_must_backpressure_subscriber_when_upstream_is_slower()
        {
            var publisher = TestPublisher.CreateProbe<int>(this);
            var subscriber = TestSubscriber.CreateProbe<int>(this);

            Source.FromPublisher(publisher)
                .Batch(2, i => i, (sum, i) => sum + i)
                .To(Sink.FromSubscriber(subscriber))
                .Run(Materializer);
            var sub = subscriber.EnsureSubscription();

            sub.Request(1);
            publisher.SendNext(1);
            subscriber.ExpectNext(1);

            sub.Request(1);
            subscriber.ExpectNoMsg(TimeSpan.FromMilliseconds(500));
            publisher.SendNext(2);
            subscriber.ExpectNext(2);

            publisher.SendNext(3);
            publisher.SendNext(4);
            // The request can be in race with the above onNext(4) so the result would be either 3 or 7.
            subscriber.ExpectNoMsg(TimeSpan.FromMilliseconds(500));
            sub.Request(1);
            subscriber.ExpectNext(7);

            sub.Request(1);
            subscriber.ExpectNoMsg(TimeSpan.FromMilliseconds(500));
            sub.Cancel();
        }