public static void NullInputsInConstructor_ExpectArgumentNullException(Stream stream, Encoding encoding, ArrayPool <byte> bytePool, ArrayPool <char> charPool) { Assert.Throws <ArgumentNullException>(() => { var httpRequestStreamReader = new ProtoRequestStreamReader(stream, encoding, 1, bytePool, charPool); }); }
public static void NegativeOrZeroBufferSize_ExpectArgumentOutOfRangeException(int size) { Assert.Throws <ArgumentOutOfRangeException>(() => { var httpRequestStreamReader = new ProtoRequestStreamReader(new MemoryStream(), Encoding.UTF8, size, ArrayPool <byte> .Shared, ArrayPool <char> .Shared); }); }
public static async Task ReadToEndAsync() { // Arrange var reader = new ProtoRequestStreamReader(GetLargeStream(), Encoding.UTF8); var result = await reader.ReadToEndAsync(); Assert.Equal(5000, result.Length); }
public static void StreamCannotRead_ExpectArgumentException() { var mockStream = new Mock <Stream>(); mockStream.Setup(m => m.CanWrite).Returns(false); Assert.Throws <ArgumentException>(() => { var httpRequestStreamReader = new ProtoRequestStreamReader(mockStream.Object, Encoding.UTF8, 1, ArrayPool <byte> .Shared, ArrayPool <char> .Shared); }); }
public static async Task StreamDisposed_ExpectObjectDisposedExceptionAsync() { var httpRequestStreamReader = new ProtoRequestStreamReader(new MemoryStream(), Encoding.UTF8, 10, ArrayPool <byte> .Shared, ArrayPool <char> .Shared); httpRequestStreamReader.Dispose(); await Assert.ThrowsAsync <ObjectDisposedException>(() => { return(httpRequestStreamReader.ReadAsync(new char[10], 0, 1)); }); }
public static void StreamDisposed_ExpectedObjectDisposedException(Action <ProtoRequestStreamReader> action) { var httpRequestStreamReader = new ProtoRequestStreamReader(new MemoryStream(), Encoding.UTF8, 10, ArrayPool <byte> .Shared, ArrayPool <char> .Shared); httpRequestStreamReader.Dispose(); Assert.Throws <ObjectDisposedException>(() => { action(httpRequestStreamReader); }); }
public static void EmptyStream() { // Arrange var reader = new ProtoRequestStreamReader(new MemoryStream(), Encoding.UTF8); var buffer = new char[10]; // Act var read = reader.Read(buffer, 0, 1); // Assert Assert.Equal(0, read); }
public static async Task ReadLineAsync_MultipleContinuousLines() { // Arrange var stream = new MemoryStream(); var writer = new StreamWriter(stream); writer.Write("\n\n\r\r\n"); writer.Flush(); stream.Position = 0; var reader = new ProtoRequestStreamReader(stream, Encoding.UTF8); // Act & Assert for (var i = 0; i < 4; i++) { var data = await reader.ReadLineAsync(); Assert.Equal(string.Empty, data); } var eol = await reader.ReadLineAsync(); Assert.Null(eol); }