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

FlowGraphs_when_used_together_should_materialize_properly() private method

        public void FlowGraphs_when_used_together_should_materialize_properly()
        {
            var probe = TestSubscriber.CreateManualProbe<int>(this);
            var inSource = Source.AsSubscriber<int>();
            var outSink = Sink.AsPublisher<int>(false);

            var flow = Flow.FromGraph(GraphDsl.Create(PartialGraph(), (b, partial) =>
            {
                var o = b.From(partial.Outlet).Via(Flow.Create<string>().Select(int.Parse));
                return new FlowShape<int, int>(partial.Inlet, o.Out);
            }));

            var source =
                Source.FromGraph(GraphDsl.Create(Flow.Create<int>().Select(x => x.ToString()), inSource, Keep.Right,
                    (b, f, src) =>
                    {
                        b.From(src.Outlet).To(f.Inlet);
                        return new SourceShape<string>(f.Outlet);
                    }));

            var sink = Sink.FromGraph(GraphDsl.Create(Flow.Create<string>().Select(int.Parse), outSink, Keep.Right,
                (b, f, s) =>
                {
                    b.From(f.Outlet).To(s.Inlet);
                    return new SinkShape<string>(f.Inlet);
                }));

            var t = RunnableGraph.FromGraph(GraphDsl.Create(source, flow, sink, (src, _, snk) => Tuple.Create(src, snk),
                (b, src, f, snk) =>
                {
                    b.From(src.Outlet).Via(Flow.Create<string>().Select(int.Parse)).To(f.Inlet);
                    b.From(f.Outlet).Via(Flow.Create<int>().Select(x => x.ToString())).To(snk.Inlet);
                    return ClosedShape.Instance;
                })).Run(Materializer);

            var subscriber = t.Item1;
            var publisher = t.Item2;

            Source1.RunWith(Sink.AsPublisher<int>(false), Materializer).Subscribe(subscriber);
            publisher.Subscribe(probe);
            ValidateProbe(probe, StandardRequests, StandardResult);
        }