Exemple #1
0
 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);
     });
 }
Exemple #3
0
        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);
            });
        }
Exemple #5
0
        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));
            });
        }
Exemple #6
0
        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);
            });
        }
Exemple #7
0
        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);
        }
Exemple #8
0
        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);
        }