public void A_Delay_must_deliver_elements_with_delay_for_slow_stream()
{
this.AssertAllStagesStopped(() =>
{
var c = TestSubscriber.CreateManualProbe<int>(this);
var p = TestPublisher.CreateManualProbe<int>(this);
Source.FromPublisher(p)
.Delay(TimeSpan.FromMilliseconds(300))
.To(Sink.FromSubscriber(c))
.Run(Materializer);
var cSub = c.ExpectSubscription();
var pSub = p.ExpectSubscription();
cSub.Request(100);
pSub.SendNext(1);
c.ExpectNoMsg(TimeSpan.FromMilliseconds(200));
c.ExpectNext(1);
pSub.SendNext(2);
c.ExpectNoMsg(TimeSpan.FromMilliseconds(200));
c.ExpectNext(2);
pSub.SendComplete();
c.ExpectComplete();
}, Materializer);
}