public void PrefixAndTail_must_pass_along_early_cancellation()
{
this.AssertAllStagesStopped(() =>
{
var up = TestPublisher.CreateManualProbe<int>(this);
var down = TestSubscriber.CreateManualProbe<Tuple<IImmutableList<int>, Source<int, NotUsed>>>(this);
var flowSubscriber = Source.AsSubscriber<int>()
.PrefixAndTail(1)
.To(Sink.FromSubscriber(down))
.Run(Materializer);
var downstream = down.ExpectSubscription();
downstream.Cancel();
up.Subscribe(flowSubscriber);
var upSub = up.ExpectSubscription();
upSub.ExpectCancellation();
}, Materializer);
}