Akka.Streams.Tests.Dsl.FlowJoinSpec.A_Flow_using_Join_must_allow_for_concat_cycle C# (CSharp) Method

A_Flow_using_Join_must_allow_for_concat_cycle() private method

private A_Flow_using_Join_must_allow_for_concat_cycle ( ) : void
return void
        public void A_Flow_using_Join_must_allow_for_concat_cycle()
        {
            this.AssertAllStagesStopped(() =>
            {
                var flow = Flow.FromGraph(GraphDsl.Create(TestSource.SourceProbe<string>(this), Sink.First<string>(), Keep.Both, (b, source, sink) =>
                {
                    var concat = b.Add(Concat.Create<string>(2));
                    var broadcast = b.Add(new Broadcast<string>(2, true));

                    b.From(source).To(concat.In(0));
                    b.From(concat.Out).To(broadcast.In);
                    b.From(broadcast.Out(0)).To(sink);
                    return new FlowShape<string, string>(concat.In(1), broadcast.Out(1));
                }));

                var tuple = flow.Join(Flow.Create<string>()).Run(Materializer);
                var probe = tuple.Item1;
                var t = tuple.Item2;
                probe.SendNext("lonely traveler");
                t.Wait(TimeSpan.FromSeconds(3)).Should().BeTrue();
                t.Result.Should().Be("lonely traveler");
                probe.SendComplete();
            }, Materializer);
        }