Akka.Streams.Tests.Dsl.GraphBackedFlowSpec.FlowGraphs_when_turned_into_sources_should_be_reusable_multiple_times C# (CSharp) Method

FlowGraphs_when_turned_into_sources_should_be_reusable_multiple_times() private method

        public void FlowGraphs_when_turned_into_sources_should_be_reusable_multiple_times()
        {
            var probe = TestSubscriber.CreateManualProbe<int>(this);

            var source =
                Source.FromGraph(GraphDsl.Create(Source.From(Enumerable.Range(1, 5)),
                    (b, s) =>
                    {
                        var o = b.From(s.Outlet).Via(Flow.Create<int>().Select(x => x*2));
                        return new SourceShape<int>(o.Out);
                    }));

            RunnableGraph.FromGraph(GraphDsl.Create(source, source, Keep.Both, (b, s1, s2) =>
            {
                var merge = b.Add(new Merge<int>(2));
                b.From(s1.Outlet).To(merge.In(0));
                b.From(merge.Out)
                    .To(Sink.FromSubscriber(probe).MapMaterializedValue(_ => Tuple.Create(NotUsed.Instance, NotUsed.Instance)));
                b.From(s2.Outlet).Via(Flow.Create<int>().Select(x => x*10)).To(merge.In(1));
                return ClosedShape.Instance;
            })).Run(Materializer);

            ValidateProbe(probe, 10, new[] {2, 4, 6, 8, 10, 20, 40, 60, 80, 100});
        }