public void ByteStreamShouldReturnCharA() #endif { ISocket socket = A.Fake <ISocket>(); using (INetworkStream networkStream = A.Fake <INetworkStream>()) { A.CallTo(() => socket.GetStream()).Returns(networkStream); A.CallTo(() => socket.Connected).Returns(true); bool isFirst = true; A.CallTo(() => socket.Available).ReturnsLazily(() => { if (isFirst) { isFirst = false; return(1); } return(0); }); TcpByteStream tcpByteStream = new TcpByteStream(socket); A.CallTo(() => networkStream.ReadByte()).ReturnsNextFromSequence(65); tcpByteStream.Connected.Should().BeTrue(); ByteStreamHandler sut = new ByteStreamHandler(tcpByteStream, new CancellationTokenSource()); #if ASYNC string response = await sut.ReadAsync(TimeSpan.FromMilliseconds(10)); #else string response = sut.Read(TimeSpan.FromMilliseconds(10)); #endif response.Should().Be("A"); } }
public void WhenIacDoSgaByteStreamShouldReturnEmptyAndReplyIacWill() #endif { ISocket socket = A.Fake <ISocket>(); using (INetworkStream networkStream = A.Fake <INetworkStream>()) { A.CallTo(() => socket.GetStream()).Returns(networkStream); A.CallTo(() => socket.Connected).Returns(true); bool isFirst = true; A.CallTo(() => socket.Available).ReturnsLazily(() => { if (isFirst) { isFirst = false; return(1); } return(0); }); TcpByteStream tcpByteStream = new TcpByteStream(socket); A.CallTo(() => networkStream.ReadByte()).ReturnsNextFromSequence(new int[] { (int)Commands.InterpretAsCommand, (int)Commands.Do, (int)Options.SuppressGoAhead }); tcpByteStream.Connected.Should().BeTrue(); ByteStreamHandler sut = new ByteStreamHandler(tcpByteStream, new CancellationTokenSource()); #if ASYNC string response = await sut.ReadAsync(TimeSpan.FromMilliseconds(10)); #else string response = sut.Read(TimeSpan.FromMilliseconds(10)); #endif response.Should().BeEmpty(); A.CallTo(() => networkStream.WriteByte((byte)Commands.InterpretAsCommand)).MustHaveHappened(); A.CallTo(() => networkStream.WriteByte((byte)Commands.Will)).MustHaveHappened(); } }
public void ByteStreamShouldReturnUponCancellation() #endif { ISocket socket = A.Fake <ISocket>(); INetworkStream networkStream = A.Fake <INetworkStream>(); A.CallTo(() => socket.GetStream()).Returns(networkStream); A.CallTo(() => socket.Connected).Returns(true); A.CallTo(() => socket.Available).Returns(1); TcpByteStream tcpByteStream = new TcpByteStream(socket); A.CallTo(() => networkStream.ReadByte()).Returns(142); tcpByteStream.Connected.Should().BeTrue(); CancellationTokenSource cancellationToken = new CancellationTokenSource(); Stopwatch stopwatch = new Stopwatch(); ByteStreamHandler sut = new ByteStreamHandler(tcpByteStream, cancellationToken); #if ASYNC cancellationToken.CancelAfter(100); await sut.ReadAsync(TimeSpan.FromMilliseconds(1000)); #else Thread t = new Thread(new ThreadStart(() => { AutoResetEvent are = new AutoResetEvent(false); are.WaitOne(100); cancellationToken.Cancel(); })); t.Start(); sut.Read(TimeSpan.FromMilliseconds(1000)); #endif stopwatch.ElapsedMilliseconds.Should().BeLessThan(500); }
public void ByteStreamShouldReturnEmptyResponse() #endif { ISocket socket = A.Fake<ISocket>(); INetworkStream networkStream = A.Fake<INetworkStream>(); A.CallTo(() => socket.GetStream()).Returns(networkStream); A.CallTo(() => socket.Connected).Returns(true); bool isFirst = true; A.CallTo(() => socket.Available).ReturnsLazily(() => { if (isFirst) { isFirst = false; return 1; } return 0; }); TcpByteStream tcpByteStream = new TcpByteStream(socket); A.CallTo(() => networkStream.ReadByte()).ReturnsNextFromSequence(-1); tcpByteStream.Connected.Should().BeTrue(); ByteStreamHandler sut = new ByteStreamHandler(tcpByteStream, new CancellationTokenSource()); #if ASYNC string response = await sut.ReadAsync(TimeSpan.FromMilliseconds(10)); #else string response = sut.Read(TimeSpan.FromMilliseconds(10)); #endif response.Should().BeEmpty(); }
public void ByteStreamShouldReturnEmptyResponse() #endif { var socket = A.Fake <ISocket>(); using (var networkStream = A.Fake <INetworkStream>()) { A.CallTo(() => socket.GetStream()).Returns(networkStream); A.CallTo(() => socket.Connected).Returns(true); var isFirst = true; A.CallTo(() => socket.Available).ReturnsLazily(() => { if (isFirst) { isFirst = false; return(1); } return(0); }); var tcpByteStream = new TcpByteStream(socket); A.CallTo(() => networkStream.ReadByte()).ReturnsNextFromSequence(-1); tcpByteStream.Connected.Should().BeTrue(); var sut = new ByteStreamHandler(tcpByteStream, new CancellationTokenSource()); #if ASYNC var response = await sut.ReadAsync(TimeSpan.FromMilliseconds(10)).ConfigureAwait(false); #else var response = sut.Read(TimeSpan.FromMilliseconds(10)); #endif response.Should().BeEmpty(); } }
public void UnconnectedByteStreamShouldReturnEmptyResponse() #endif { ByteStreamHandler sut = new ByteStreamHandler(A.Fake<IByteStream>(), new CancellationTokenSource()); #if ASYNC (await sut.ReadAsync(new TimeSpan())).Should().Be(string.Empty); #else sut.Read(new TimeSpan()).Should().Be(string.Empty); #endif }
public void UnconnectedByteStreamShouldReturnEmptyResponse() #endif { ByteStreamHandler sut = new ByteStreamHandler(A.Fake <IByteStream>(), new CancellationTokenSource()); #if ASYNC (await sut.ReadAsync(new TimeSpan())).Should().Be(string.Empty); #else sut.Read(new TimeSpan()).Should().Be(string.Empty); #endif }
public void WhenIacDont1ByteStreamShouldReturnEmptyAndReplyIacDont() #endif { var socket = A.Fake <ISocket>(); using (var networkStream = A.Fake <INetworkStream>()) { A.CallTo(() => socket.GetStream()).Returns(networkStream); A.CallTo(() => socket.Connected).Returns(true); var isFirst = true; A.CallTo(() => socket.Available).ReturnsLazily(() => { if (isFirst) { isFirst = false; return(1); } return(0); }); using (var tcpByteStream = new TcpByteStream(socket)) { A.CallTo(() => networkStream.ReadByte()).ReturnsNextFromSequence(new int[] { (int)Commands.InterpretAsCommand, (int)Commands.Dont, 1 }); tcpByteStream.Connected.Should().BeTrue(); using (var sut = new ByteStreamHandler(tcpByteStream, new CancellationTokenSource())) { #if ASYNC var response = await sut.ReadAsync(TimeSpan.FromMilliseconds(10)).ConfigureAwait(false); #else var response = sut.Read(TimeSpan.FromMilliseconds(10)); #endif response.Should().BeEmpty(); A.CallTo(() => networkStream.WriteByte((byte)Commands.InterpretAsCommand)).MustHaveHappened(); A.CallTo(() => networkStream.WriteByte((byte)Commands.Dont)).MustHaveHappened(); } } } }
public void ByteStreamShouldReturnUponCancellation() #endif { ISocket socket = A.Fake<ISocket>(); INetworkStream networkStream = A.Fake<INetworkStream>(); A.CallTo(() => socket.GetStream()).Returns(networkStream); A.CallTo(() => socket.Connected).Returns(true); A.CallTo(() => socket.Available).Returns(1); TcpByteStream tcpByteStream = new TcpByteStream(socket); A.CallTo(() => networkStream.ReadByte()).Returns(142); tcpByteStream.Connected.Should().BeTrue(); CancellationTokenSource cancellationToken = new CancellationTokenSource(); Stopwatch stopwatch = new Stopwatch(); ByteStreamHandler sut = new ByteStreamHandler(tcpByteStream, cancellationToken); #if ASYNC cancellationToken.CancelAfter(100); await sut.ReadAsync(TimeSpan.FromMilliseconds(1000)); #else Thread t = new Thread(new ThreadStart(() => { AutoResetEvent are = new AutoResetEvent(false); are.WaitOne(100); cancellationToken.Cancel(); })); t.Start(); sut.Read(TimeSpan.FromMilliseconds(1000)); #endif stopwatch.ElapsedMilliseconds.Should().BeLessThan(500); }
public void WhenIacDontSgaByteStreamShouldReturnEmptyAndReplyIacDo() #endif { ISocket socket = A.Fake<ISocket>(); INetworkStream networkStream = A.Fake<INetworkStream>(); A.CallTo(() => socket.GetStream()).Returns(networkStream); A.CallTo(() => socket.Connected).Returns(true); bool isFirst = true; A.CallTo(() => socket.Available).ReturnsLazily(() => { if (isFirst) { isFirst = false; return 1; } return 0; }); TcpByteStream tcpByteStream = new TcpByteStream(socket); A.CallTo(() => networkStream.ReadByte()).ReturnsNextFromSequence(new int[] { (int)Commands.InterpretAsCommand, (int)Commands.Dont, (int)Options.SuppressGoAhead }); tcpByteStream.Connected.Should().BeTrue(); ByteStreamHandler sut = new ByteStreamHandler(tcpByteStream, new CancellationTokenSource()); #if ASYNC string response = await sut.ReadAsync(TimeSpan.FromMilliseconds(10)); #else string response = sut.Read(TimeSpan.FromMilliseconds(10)); #endif response.Should().BeEmpty(); A.CallTo(() => networkStream.WriteByte((byte)Commands.InterpretAsCommand)).MustHaveHappened(); A.CallTo(() => networkStream.WriteByte((byte)Commands.Do)).MustHaveHappened(); }
public async Task UnconnectedByteStreamShouldReturnEmptyResponse() { ByteStreamHandler sut = new ByteStreamHandler(A.Fake <IByteStream>(), new CancellationTokenSource()); (await sut.ReadAsync(new TimeSpan())).Should().Be(string.Empty); }
public async Task UnconnectedByteStreamShouldReturnEmptyResponse() { ByteStreamHandler sut = new ByteStreamHandler(A.Fake<IByteStream>(), new CancellationTokenSource()); (await sut.ReadAsync(new TimeSpan())).Should().Be(string.Empty); }