public void A_WatchTermination_must_complete_the_future_when_stream_is_cancelled_from_downstream()
{
this.AssertAllStagesStopped(() =>
{
var t =
Source.From(Enumerable.Range(1, 4))
.WatchTermination(Keep.Right)
.ToMaterialized(this.SinkProbe<int>(), Keep.Both)
.Run(Materializer);
var future = t.Item1;
var p = t.Item2;
p.Request(3).ExpectNext(1, 2, 3);
p.Cancel();
future.Wait(TimeSpan.FromSeconds(3)).Should().BeTrue();
}, Materializer);
}