Akka.Streams.Tests.Dsl.FlowPrefixAndTailSpec.PrefixAndTail_must_handle_OnError_when_substream_is_open C# (CSharp) Method

PrefixAndTail_must_handle_OnError_when_substream_is_open() private method

        public void PrefixAndTail_must_handle_OnError_when_substream_is_open()
        {
            this.AssertAllStagesStopped(() =>
            {
                var publisher = TestPublisher.CreateManualProbe<int>(this);
                var subscriber = TestSubscriber.CreateManualProbe<Tuple<IImmutableList<int>, Source<int, NotUsed>>>(this);

                Source.FromPublisher(publisher)
                    .PrefixAndTail(1)
                    .To(Sink.FromSubscriber(subscriber))
                    .Run(Materializer);

                var upstream = publisher.ExpectSubscription();
                var downstream = subscriber.ExpectSubscription();

                downstream.Request(1000);

                upstream.ExpectRequest();
                upstream.SendNext(1);

                var t = subscriber.ExpectNext();
                t.Item1.Should().ContainSingle(i => i == 1);
                var tail = t.Item2;
                subscriber.ExpectComplete();

                var substreamSubscriber = TestSubscriber.CreateManualProbe<int>(this);
                tail.To(Sink.FromSubscriber(substreamSubscriber)).Run(Materializer);
                substreamSubscriber.ExpectSubscription();
                upstream.SendError(TestException);
                substreamSubscriber.ExpectError().Should().Be(TestException);
            }, Materializer);
        }