Akka.Streams.Tests.Dsl.GraphBroadcastSpec.A_Broadcast_must_broadcast_to_other_subscriber C# (CSharp) Method

A_Broadcast_must_broadcast_to_other_subscriber() private method

private A_Broadcast_must_broadcast_to_other_subscriber ( ) : void
return void
        public void A_Broadcast_must_broadcast_to_other_subscriber()
        {
            this.AssertAllStagesStopped(() =>
            {
                var c1 = TestSubscriber.CreateManualProbe<int>(this);
                var c2 = TestSubscriber.CreateManualProbe<int>(this);
                RunnableGraph.FromGraph(GraphDsl.Create (b =>
                {
                    var broadcast = b.Add(new Broadcast<int>(2));
                    var source = Source.From(Enumerable.Range(1, 3));
                    b.From(source).To(broadcast.In);
                    b.From(broadcast.Out(0))
                        .Via(Flow.Create<int>().Buffer(16, OverflowStrategy.Backpressure))
                        .To(Sink.FromSubscriber(c1));
                    b.From(broadcast.Out(1))
                        .Via(Flow.Create<int>().Buffer(16, OverflowStrategy.Backpressure))
                        .To(Sink.FromSubscriber(c2));
                    return ClosedShape.Instance;
                })).Run(Materializer);

                var sub1 = c1.ExpectSubscription();
                var sub2 = c2.ExpectSubscription();

                sub1.Request(1);
                sub2.Request(2);

                c1.ExpectNext(1).ExpectNoMsg(TimeSpan.FromMilliseconds(100));
                c2.ExpectNext(1, 2).ExpectNoMsg(TimeSpan.FromMilliseconds(100));
                sub1.Request(3);
                c1.ExpectNext(2, 3).ExpectComplete();
                sub2.Request(3);
                c2.ExpectNext(3).ExpectComplete();
            }, Materializer);
        }