public void UnzipWith_must_unzipWith_expanded_Person_unapply_3_outputs()
{
this.AssertAllStagesStopped(() =>
{
var probe0 = TestSubscriber.CreateManualProbe<string>(this);
var probe1 = TestSubscriber.CreateManualProbe<string>(this);
var probe2 = TestSubscriber.CreateManualProbe<int>(this);
RunnableGraph.FromGraph(GraphDsl.Create(b =>
{
var unzip = b.Add(new UnzipWith<Person, string, string, int>(p => Tuple.Create(p.Name, p.Surname, p.Age)));
var source = Source.Single(new Person("Caplin", "Capybara", 55));
b.From(source).To(unzip.In);
b.From(unzip.Out0).To(Sink.FromSubscriber(probe0));
b.From(unzip.Out1).To(Sink.FromSubscriber(probe1));
b.From(unzip.Out2).To(Sink.FromSubscriber(probe2));
return ClosedShape.Instance;
})).Run(Materializer);
var subscription0 = probe0.ExpectSubscription();
var subscription1 = probe1.ExpectSubscription();
var subscription2 = probe2.ExpectSubscription();
subscription0.Request(1);
subscription1.Request(1);
subscription2.Request(1);
probe0.ExpectNext("Caplin");
probe1.ExpectNext("Capybara");
probe2.ExpectNext(55);
probe0.ExpectComplete();
probe1.ExpectComplete();
probe2.ExpectComplete();
}, Materializer);
}