Akka.Streams.Tests.Dsl.GraphBalanceSpec.A_Balance_must_work_with_5_way_balance C# (CSharp) Метод

A_Balance_must_work_with_5_way_balance() приватный Метод

private A_Balance_must_work_with_5_way_balance ( ) : void
Результат void
        public void A_Balance_must_work_with_5_way_balance()
        {
            this.AssertAllStagesStopped(() =>
            {
                var sink = Sink.First<IEnumerable<int>>();
                var t = RunnableGraph.FromGraph(GraphDsl.Create(sink, sink, sink, sink, sink, Tuple.Create,
                    (b, s1, s2, s3, s4, s5) =>
                    {
                        var balance = b.Add(new Balance<int>(5, true));
                        var source = Source.From(Enumerable.Range(0, 15)).MapMaterializedValue<Tuple<Task<IEnumerable<int>>, Task<IEnumerable<int>>, Task<IEnumerable<int>>, Task<IEnumerable<int>>, Task<IEnumerable<int>>>>(_=> null);
                        b.From(source).To(balance.In);
                        b.From(balance.Out(0)).Via(Flow.Create<int>().Grouped(15)).To(s1);
                        b.From(balance.Out(1)).Via(Flow.Create<int>().Grouped(15)).To(s2);
                        b.From(balance.Out(2)).Via(Flow.Create<int>().Grouped(15)).To(s3);
                        b.From(balance.Out(3)).Via(Flow.Create<int>().Grouped(15)).To(s4);
                        b.From(balance.Out(4)).Via(Flow.Create<int>().Grouped(15)).To(s5);
                        return ClosedShape.Instance;
                    })).Run(Materializer);

                var task = Task.WhenAll(t.Item1, t.Item2, t.Item3, t.Item4, t.Item5);
                task.Wait(TimeSpan.FromSeconds(3)).Should().BeTrue();
                task.Result.SelectMany(l=>l).ShouldAllBeEquivalentTo(Enumerable.Range(0, 15));
            }, Materializer);
        }