Akka.Streams.Tests.IO.TcpSpec.Outgoing_TCP_stream_must_be_able_to_read_a_sequence_of_ByteStrings C# (CSharp) Method

Outgoing_TCP_stream_must_be_able_to_read_a_sequence_of_ByteStrings() private method

        public void Outgoing_TCP_stream_must_be_able_to_read_a_sequence_of_ByteStrings()
        {
            var server = new Server(this);
            var testInput = Enumerable.Range(0, 255).Select(i => ByteString.Create(new[] { Convert.ToByte(i) }));
            var expectedOutput = ByteString.Create(Enumerable.Range(0, 255).Select(Convert.ToByte).ToArray());

            var idle = new TcpWriteProbe(this); //Just register an idle upstream
            var resultFuture =
                Source.FromPublisher(idle.PublisherProbe)
                    .Via(Sys.TcpStream().OutgoingConnection(server.Address))
                    .RunAggregate(ByteString.Empty, (acc, input) => acc + input, Materializer);
            var serverConnection = server.WaitAccept();

            foreach (var input in testInput)
                serverConnection.Write(input);

            serverConnection.ConfirmedClose();
            resultFuture.Wait(TimeSpan.FromSeconds(3)).Should().BeTrue();
            resultFuture.Result.ShouldBeEquivalentTo(expectedOutput);
        }