public void TestReadInvalidInputFirstLine(string line) { var socket = A.Fake <ISocketConnectionProxy>(); var reader = new SocketStreamReader(socket); var values = new List <int>(); StubReceive(socket, 0, SocketStreamReader.ChunkSize, GetBytes(line, false)); reader.Read(value => values.Add(value)); Assert.Equal(0, values.Count); }
public void TestReadSuccessWithLatentReceipt() { var socket = A.Fake <ISocketConnectionProxy>(); var reader = new SocketStreamReader(socket); var values = new List <int>(); StubReceive(socket, 5, SocketStreamReader.ChunkSize - 5, GetBytes("6789")); StubReceive(socket, 0, SocketStreamReader.ChunkSize, GetBytes("12345", false)); StubReceive(socket, 0, SocketStreamReader.ChunkSize, GetBytes("123456789")); reader.Read(value => values.Add(value)); Assert.Equal( new int[] { 123456789, 123456789 }, values.ToArray()); }
public void TestReadInvalidSubsequentLine() { var socket = A.Fake <ISocketConnectionProxy>(); var reader = new SocketStreamReader(socket); var values = new List <int>(); StubReceive(socket, 0, SocketStreamReader.ChunkSize, GetBytes("123456789")); StubReceive(socket, 0, SocketStreamReader.ChunkSize, GetBytes("12345678", false)); StubReceive(socket, 0, SocketStreamReader.ChunkSize, GetBytes("003456789")); StubReceive(socket, 0, SocketStreamReader.ChunkSize, GetBytes("023456789")); StubReceive(socket, 0, SocketStreamReader.ChunkSize, GetBytes("123456789")); reader.Read(value => values.Add(value)); Assert.Equal( new int[] { 123456789, 23456789, 3456789 }, values.ToArray()); }
public void TestReadSuccessWithTerminateSequence() { var socket = A.Fake <ISocketConnectionProxy>(); var reader = new SocketStreamReader(socket); var values = new List <int>(); var terminated = false; StubReceive(socket, 0, SocketStreamReader.ChunkSize, GetBytes("123456789")); StubReceive(socket, 0, SocketStreamReader.ChunkSize, GetBytes("terminate")); StubReceive(socket, 0, SocketStreamReader.ChunkSize, GetBytes("123456789")); StubReceive(socket, 0, SocketStreamReader.ChunkSize, GetBytes("123456789")); reader.Read(value => values.Add(value), () => terminated = true); Assert.Equal( new int[] { 123456789, 123456789 }, values.ToArray()); Assert.True(terminated); }