public void A_Graph_with_materialized_value_must_expose_the_materialized_value_as_source_multiple_times()
{
var sub = TestSubscriber.CreateManualProbe<int>(this);
var f = RunnableGraph.FromGraph(GraphDsl.Create(FoldSink, (b, fold) =>
{
var zip = b.Add(new ZipWith<int, int, int>((i, i1) => i + i1));
var source = Source.From(Enumerable.Range(1, 10)).MapMaterializedValue(_ => Task.FromResult(0));
b.From(source).To(fold);
b.From(b.MaterializedValue)
.Via(Flow.Create<Task<int>>().SelectAsync(4, x => x))
.To(zip.In0);
b.From(b.MaterializedValue)
.Via(Flow.Create<Task<int>>().SelectAsync(4, x => x))
.To(zip.In1);
b.From(zip.Out).To(Sink.FromSubscriber(sub).MapMaterializedValue(_ => Task.FromResult(0)));
return ClosedShape.Instance;
})).Run(Materializer);
f.Wait(TimeSpan.FromSeconds(3)).Should().BeTrue();
var r1 = f.Result;
sub.ExpectSubscription().Request(1);
var r2 = sub.ExpectNext();
r1.Should().Be(r2/2);
}