public void Tcp_listen_stream_must_not_shut_down_connections_after_the_connection_stream_cacelled()
{
this.AssertAllStagesStopped(() =>
{
var serverAddress = TestUtils.TemporaryServerAddress();
Sys.TcpStream()
.Bind(serverAddress.Address.ToString(), serverAddress.Port)
.Take(1).RunForeach(c =>
{
Thread.Sleep(1000);
c.Flow.Join(Flow.Create<ByteString>()).Run(Materializer);
}, Materializer);
var total = Source.From(
Enumerable.Range(0, 1000).Select(_ => ByteString.Create(new byte[] {0})))
.Via(Sys.TcpStream().OutgoingConnection(serverAddress))
.RunAggregate(0, (i, s) => i + s.Count, Materializer);
total.Wait(TimeSpan.FromSeconds(3)).Should().BeTrue();
total.Result.Should().Be(1000);
}, Materializer);
}