public void A_Sink_must_be_composable_with_importing_1_modules()
{
var probes = CreateProbes();
var sink = Sink.FromGraph(GraphDsl.Create(Sink.FromSubscriber(probes[0]), (b, shape) =>
{
var broadcast = b.Add(new Broadcast<int>(3));
b.From(broadcast.Out(0)).Via(Flow.Create<int>().Where(x => x == 0)).To(shape.Inlet);
b.From(broadcast.Out(1))
.Via(Flow.Create<int>().Where(x => x == 1))
.To(Sink.FromSubscriber(probes[1]));
b.From(broadcast.Out(2))
.Via(Flow.Create<int>().Where(x => x == 2))
.To(Sink.FromSubscriber(probes[2]));
return new SinkShape<int>(broadcast.In);
}));
Source.From(new[] { 0, 1, 2 }).RunWith(sink, Materializer);
var subscriptions = probes.Select(p => p.ExpectSubscription()).ToList();
subscriptions.ForEach(s => s.Request(3));
for (var i = 0; i < probes.Length; i++)
probes[i].ExpectNext(i);
probes.ForEach(p => p.ExpectComplete());
}