Akka.Streams.Tests.Dsl.FlowBufferSpec.Buffer_must_drop_new_elements_if_buffer_is_full_and_configured_so C# (CSharp) Method

Buffer_must_drop_new_elements_if_buffer_is_full_and_configured_so() private method

        public void Buffer_must_drop_new_elements_if_buffer_is_full_and_configured_so()
        {
            var t =
                this.SourceProbe<int>()
                    .Buffer(100, OverflowStrategy.DropNew)
                    .ToMaterialized(this.SinkProbe<int>(), Keep.Both)
                    .Run(Materializer);
            var publisher = t.Item1;
            var subscriber = t.Item2;

            subscriber.EnsureSubscription();

            // Fill up buffer
            Enumerable.Range(1, 150).ForEach(i => publisher.SendNext(i));

            // The next request would  be otherwise in race with the last onNext in the above loop
            subscriber.ExpectNoMsg(TimeSpan.FromMilliseconds(500));

            // drain
            for (var i = 1; i <= 100; i++)
                subscriber.RequestNext(i);

            subscriber.Request(1);
            subscriber.ExpectNoMsg(TimeSpan.FromSeconds(1));

            publisher.SendNext(-1);
            subscriber.RequestNext(-1);

            subscriber.Cancel();
        }