public void A_Broadcast_must_with_22_way_braodcast()
{
this.AssertAllStagesStopped(() =>
{
//var headSink = Sink.First<IEnumerable<int>>();
//var t = RunnableGraph.FromGraph(GraphDsl.Create(headSink, headSink, headSink, headSink, headSink, headSink, headSink, headSink, headSink, headSink, headSink, headSink, headSink, headSink, headSink, headSink, headSink, headSink, headSink, headSink, headSink, headSink, Tuple.Create,
// (b, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22) =>
// {
// var broadcast = b.Add(new Broadcast<int>(22));
// var source = b.Add(Source.From(Enumerable.Range(1, 3)));
// b.From(source).To(broadcast.In);
// b.From(broadcast.Out(0)).Via(Flow.Create<int>().Grouped(5)).To(p1.Inlet);
// b.From(broadcast.Out(1)).Via(Flow.Create<int>().Grouped(5)).To(p2.Inlet);
// b.From(broadcast.Out(2)).Via(Flow.Create<int>().Grouped(5)).To(p3.Inlet);
// b.From(broadcast.Out(3)).Via(Flow.Create<int>().Grouped(5)).To(p4.Inlet);
// b.From(broadcast.Out(4)).Via(Flow.Create<int>().Grouped(5)).To(p5.Inlet);
// b.From(broadcast.Out(5)).Via(Flow.Create<int>().Grouped(5)).To(p6.Inlet);
// b.From(broadcast.Out(6)).Via(Flow.Create<int>().Grouped(5)).To(p7.Inlet);
// b.From(broadcast.Out(7)).Via(Flow.Create<int>().Grouped(5)).To(p8.Inlet);
// b.From(broadcast.Out(8)).Via(Flow.Create<int>().Grouped(5)).To(p9.Inlet);
// b.From(broadcast.Out(9)).Via(Flow.Create<int>().Grouped(5)).To(p10.Inlet);
// b.From(broadcast.Out(10)).Via(Flow.Create<int>().Grouped(5)).To(p11.Inlet);
// b.From(broadcast.Out(11)).Via(Flow.Create<int>().Grouped(5)).To(p12.Inlet);
// b.From(broadcast.Out(12)).Via(Flow.Create<int>().Grouped(5)).To(p13.Inlet);
// b.From(broadcast.Out(13)).Via(Flow.Create<int>().Grouped(5)).To(p14.Inlet);
// b.From(broadcast.Out(14)).Via(Flow.Create<int>().Grouped(5)).To(p15.Inlet);
// b.From(broadcast.Out(15)).Via(Flow.Create<int>().Grouped(5)).To(p16.Inlet);
// b.From(broadcast.Out(16)).Via(Flow.Create<int>().Grouped(5)).To(p17.Inlet);
// b.From(broadcast.Out(17)).Via(Flow.Create<int>().Grouped(5)).To(p18.Inlet);
// b.From(broadcast.Out(18)).Via(Flow.Create<int>().Grouped(5)).To(p19.Inlet);
// b.From(broadcast.Out(19)).Via(Flow.Create<int>().Grouped(5)).To(p20.Inlet);
// b.From(broadcast.Out(20)).Via(Flow.Create<int>().Grouped(5)).To(p21.Inlet);
// b.From(broadcast.Out(21)).Via(Flow.Create<int>().Grouped(5)).To(p22.Inlet);
// return ClosedShape.Instance;
// })).Run(Materializer);
//var task = Task.WhenAll(t.Item1, t.Item2, t.Item3, t.Item4, t.Item5, t.Item6, t.Item7, t.Item8, t.Item9, t.Item10, t.Item11, t.Item12, t.Item13, t.Item14, t.Item15, t.Item16, t.Item17, t.Item18, t.Item19, t.Item20, t.Item21, t.Item22);
//task.Wait(TimeSpan.FromSeconds(3)).Should().BeTrue();
//foreach (var list in task.Result)
// list.ShouldAllBeEquivalentTo(new[] { 1, 2, 3 });
}, Materializer);
}