public void QueueSource_should_remember_pull_from_downstream_to_send_offered_element_immediately()
{
this.AssertAllStagesStopped(() =>
{
var s = this.CreateManualProbe<int>();
var probe = CreateTestProbe();
var queue = TestSourceStage<int, ISourceQueue<int>>.Create(
new QueueSource<int>(1, OverflowStrategy.DropHead), probe)
.To(Sink.FromSubscriber(s))
.Run(_materializer);
var sub = s.ExpectSubscription();
sub.Request(1);
probe.ExpectMsg<GraphStageMessages.Pull>();
AssertSuccess(queue.OfferAsync(1));
s.ExpectNext(1);
sub.Cancel();
}, _materializer);
}