Akka.Streams.Tests.Dsl.PublisherSinkSpec.A_PublisherSink_must_be_unique_when_created_twice C# (CSharp) Method

A_PublisherSink_must_be_unique_when_created_twice() private method

private A_PublisherSink_must_be_unique_when_created_twice ( ) : void
return void
        public void A_PublisherSink_must_be_unique_when_created_twice()
        {
            this.AssertAllStagesStopped(() =>
            {
                var t =
                    RunnableGraph.FromGraph(
                        GraphDsl.Create(Sink.AsPublisher<int>(false),
                            Sink.AsPublisher<int>(false), Keep.Both,
                            (b, p1, p2) =>
                            {
                                var broadcast = b.Add(new Broadcast<int>(2));
                                var source =
                                    Source.From(Enumerable.Range(0, 6))
                                        .MapMaterializedValue<Tuple<IPublisher<int>, IPublisher<int>>>(_ => null);
                                b.From(source).To(broadcast.In);
                                b.From(broadcast.Out(0)).Via(Flow.Create<int>().Select(i => i * 2)).To(p1.Inlet);
                                b.From(broadcast.Out(1)).To(p2.Inlet);
                                return ClosedShape.Instance;
                            })).Run(Materializer);

                var pub1 = t.Item1;
                var pub2 = t.Item2;

                var f1 = Source.FromPublisher(pub1).Select(x => x).RunAggregate(0, (sum, i) => sum + i, Materializer);
                var f2 = Source.FromPublisher(pub2).Select(x => x).RunAggregate(0, (sum, i) => sum + i, Materializer);

                f1.Wait(TimeSpan.FromSeconds(3)).Should().BeTrue();
                f2.Wait(TimeSpan.FromSeconds(3)).Should().BeTrue();

                f1.Result.Should().Be(30);
                f2.Result.Should().Be(15);
            }, Materializer);
        }