public void SplitWhen_must_pass_along_early_cancellation()
{
this.AssertAllStagesStopped(() =>
{
var up = TestPublisher.CreateManualProbe<int>(this);
var down = TestSubscriber.CreateManualProbe<Source<int, NotUsed>>(this);
var flowSubscriber =
Source.AsSubscriber<int>()
.SplitWhen(i => i % 3 == 0)
.Lift()
.To(Sink.FromSubscriber(down))
.Run(Materializer);
var downstream = down.ExpectSubscription();
downstream.Cancel();
up.Subscribe(flowSubscriber);
var upSub = up.ExpectSubscription();
upSub.ExpectCancellation();
}, Materializer);
}