public void Buffer_must_drop_new_elements_if_buffer_is_full_and_configured_so()
{
var t =
this.SourceProbe<int>()
.Buffer(100, OverflowStrategy.DropNew)
.ToMaterialized(this.SinkProbe<int>(), Keep.Both)
.Run(Materializer);
var publisher = t.Item1;
var subscriber = t.Item2;
subscriber.EnsureSubscription();
// Fill up buffer
Enumerable.Range(1, 150).ForEach(i => publisher.SendNext(i));
// The next request would be otherwise in race with the last onNext in the above loop
subscriber.ExpectNoMsg(TimeSpan.FromMilliseconds(500));
// drain
for (var i = 1; i <= 100; i++)
subscriber.RequestNext(i);
subscriber.Request(1);
subscriber.ExpectNoMsg(TimeSpan.FromSeconds(1));
publisher.SendNext(-1);
subscriber.RequestNext(-1);
subscriber.Cancel();
}