Akka.Streams.Tests.Implementation.TimeoutsSpec.IdleTimeout_must_fail_if_time_between_elements_is_too_large C# (CSharp) Метод

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

private IdleTimeout_must_fail_if_time_between_elements_is_too_large ( ) : void
Результат void
        public void IdleTimeout_must_fail_if_time_between_elements_is_too_large()
        {
            this.AssertAllStagesStopped(() =>
            {
                var upstreamProbe = TestPublisher.CreateProbe<int>(this);
                var downstreamProbe = this.CreateProbe<int>();

                Source.FromPublisher<int>(upstreamProbe)
                    .IdleTimeout(TimeSpan.FromSeconds(1))
                    .RunWith(Sink.FromSubscriber(downstreamProbe), Materializer);

                // Two seconds in overall, but won't timeout until time between elements is large enough
                // (i.e. this works differently from completionTimeout)
                for (var i = 1; i <= 4; i++)
                {
                    upstreamProbe.SendNext(1);
                    downstreamProbe.RequestNext(1);
                    downstreamProbe.ExpectNoMsg(TimeSpan.FromMilliseconds(500)); // No timeout yet   
                }
                
                var ex = downstreamProbe.ExpectError();
                ex.Message.Should().Be($"No elements passed in the last {TimeSpan.FromSeconds(1)}.");
            }, Materializer);
        }