public void Maybe_Source_must_allow_external_triggering_of_OnError()
{
this.AssertAllStagesStopped(() =>
{
var neverSource = Source.Maybe<int>();
var counterSink = Sink.First<int>();
var t = neverSource.ToMaterialized(counterSink, Keep.Both).Run(Materializer);
var neverPromise = t.Item1;
var counterFuture = t.Item2;
//external cancellation
neverPromise.SetException(new Exception("Boom"));
counterFuture.Invoking(f => f.Wait(500)).ShouldThrow<Exception>()
.WithMessage("Boom");
}, Materializer);
}