public void InputStreamSink_should_return_all_data_when_upstream_is_completed()
{
this.AssertAllStagesStopped(() =>
{
var sinkProbe = CreateTestProbe();
var t = this.SourceProbe<ByteString>().ToMaterialized(TestSink(sinkProbe), Keep.Both).Run(_materializer);
var probe = t.Item1;
var inputStream = t.Item2;
var bytes = RandomByteString(1);
probe.SendNext(bytes);
sinkProbe.ExpectMsg<GraphStageMessages.Push>();
probe.SendComplete();
sinkProbe.ExpectMsg<GraphStageMessages.UpstreamFinish>();
var result = ReadN(inputStream, 3);
result.Item1.Should().Be(1);
result.Item2.Should().BeEquivalentTo(bytes);
}, _materializer);
}