public async Task Written_bytes_can_be_retrieved()
        {
            using (var stream = new LoopbackTcpStream())
            {
                var bytes = new byte[] { 1, 2, 3, 4, 5 };
                await stream.WriteAsync(bytes, 0, bytes.Length).ConfigureAwait(true);

                stream.GetAllWrittenBytes().Should().Equal(1, 2, 3, 4, 5);
            }
        }
Exemple #2
0
        public async Task Proxy_streams_in_both_directions()
        {
            using (var clientStream = new LoopbackTcpStream(1, 2, 3, 4, 5))
                using (var remoteStream = new LoopbackTcpStream(10, 9, 8, 7, 6))
                {
                    var connector = remoteStream.GetConnector();
                    clientStream.Write(200, 199, 198, 197, 196);
                    remoteStream.Write(100, 99, 98, 97, 96);
                    clientStream.CloseStagedBytesSender();
                    remoteStream.CloseStagedBytesSender();

                    using (var proxy = new TcpProxy(
                               clientStream,
                               FakeEndPoints.CreateRemote(),
                               connector,
                               this._bufferPool))
                    {
                        await proxy.RunAsync(CancellationToken.None).ConfigureAwait(true);
                    }

                    clientStream.GetAllWrittenBytes().Should().Equal(200, 199, 198, 197, 196, 10, 9, 8, 7, 6);
                    remoteStream.GetAllWrittenBytes().Should().Equal(100, 99, 98, 97, 96, 1, 2, 3, 4, 5);
                }
        }