Пример #1
0
        public async Task RejectsTooSmallBuffer()
        {
            // Arrange
            var chunks = new ReadsToChunksStream(new MemoryStream());

            // Act, Assert
            Func <Task> actionAsync = () => chunks.ReadAsync(new byte[5], 0, 5);

            actionAsync.ShouldThrow <ArgumentOutOfRangeException>().Which.Message.Should().StartWith("The number of bytes to read must be greater than or equal to 6.");
        }
Пример #2
0
        private static async Task <IEnumerable <string> > GetReadBuffersAsync(string input, int bufferSize)
        {
            // Arrange
            var stream  = new ReadsToChunksStream(new MemoryStream(Encoding.ASCII.GetBytes(input)));
            var buffers = new List <string>();

            int read = -1;

            while (read != 0)
            {
                var buffer = new byte[bufferSize];

                // Act
                read = await stream.ReadAsync(buffer, 0, bufferSize);

                if (read > 0)
                {
                    buffers.Add(Encoding.ASCII.GetString(buffer, 0, read));
                }
            }

            return(buffers);
        }