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

A_Broadcast_must_pass_along_early_cancellation() private method

private A_Broadcast_must_pass_along_early_cancellation ( ) : void
return void
        public void A_Broadcast_must_pass_along_early_cancellation()
        {
            this.AssertAllStagesStopped(() =>
            {
                var c1 = TestSubscriber.CreateManualProbe<int>(this);
                var c2 = TestSubscriber.CreateManualProbe<int>(this);

                var sink = Sink.FromGraph(GraphDsl.Create(b =>
                {
                    var broadcast = b.Add(new Broadcast<int>(2));
                    b.From(broadcast.Out(0)).To(Sink.FromSubscriber(c1));
                    b.From(broadcast.Out(1)).To(Sink.FromSubscriber(c2));
                    return new SinkShape<int>(broadcast.In);
                }));

                var s = Source.AsSubscriber<int>().To(sink).Run(Materializer);

                var up = TestPublisher.CreateManualProbe<int>(this);

                var downSub1 = c1.ExpectSubscription();
                var downSub2 = c2.ExpectSubscription();
                downSub1.Cancel();
                downSub2.Cancel();

                up.Subscribe(s);
                var upSub = up.ExpectSubscription();
                upSub.ExpectCancellation();
            }, Materializer);
        }