public void InputStreamSink_should_block_read_until_get_requested_number_of_bytes_from_upstream()
{
this.AssertAllStagesStopped(() =>
{
var run =
this.SourceProbe<ByteString>()
.ToMaterialized(StreamConverters.AsInputStream(), Keep.Both)
.Run(_materializer);
var probe = run.Item1;
var inputStream = run.Item2;
var f = Task.Run(() => inputStream.Read(new byte[_byteString.Count], 0, _byteString.Count));
f.Wait(Timeout).Should().BeFalse();
probe.SendNext(_byteString);
f.Wait(Timeout).Should().BeTrue();
f.Result.Should().Be(_byteString.Count);
probe.SendComplete();
inputStream.ReadByte().Should().Be(-1);
inputStream.Close();
}, _materializer);
}