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

PrefixAndTail_must_signal_error_if_substream_has_been_not_subscribed_in_time() private method

        public void PrefixAndTail_must_signal_error_if_substream_has_been_not_subscribed_in_time()
        {
            this.AssertAllStagesStopped(() =>
            {
                var settings = ActorMaterializerSettings.Create(Sys)
                    .WithSubscriptionTimeoutSettings(
                        new StreamSubscriptionTimeoutSettings(
                            StreamSubscriptionTimeoutTerminationMode.CancelTermination,
                            TimeSpan.FromMilliseconds(500)));
                var tightTimeoutMaterializer = ActorMaterializer.Create(Sys, settings);

                var futureSink = NewHeadSink;
                var fut = Source.From(Enumerable.Range(1, 2)).PrefixAndTail(1).RunWith(futureSink, tightTimeoutMaterializer);
                fut.Wait(TimeSpan.FromSeconds(3)).Should().BeTrue();
                fut.Result.Item1.ShouldAllBeEquivalentTo(Enumerable.Range(1, 1));
                var tail = fut.Result.Item2;

                var subscriber = TestSubscriber.CreateProbe<int>(this);
                Thread.Sleep(1000);
                tail.To(Sink.FromSubscriber(subscriber)).Run(tightTimeoutMaterializer);
                subscriber.ExpectSubscriptionAndError()
                    .Message.Should()
                    .Be("Substream Source has not been materialized in 00:00:00.5000000");
            }, Materializer);
        }