public async Task StreamToBytesAsyncNonSeekableAsync()
        {
            byte[] bytes = new byte[10];
            this.random.NextBytes(bytes);
            TestNonSeekableStream stream = new TestNonSeekableStream(bytes, maxLengthToReturnPerRead: 3);
            {
                Memory <byte> actual = await BatchExecUtils.StreamToMemoryAsync(stream, maximumLength : 100, cancellationToken : CancellationToken.None);

                Assert.IsTrue(actual.Span.SequenceEqual(bytes));
            }

            {
                stream.Reset();
                Memory <byte> actual = await BatchExecUtils.StreamToMemoryAsync(stream, maximumLength : 10, cancellationToken : CancellationToken.None);

                Assert.IsTrue(actual.Span.SequenceEqual(bytes));
            }

            {
                stream.Reset();
                try
                {
                    Memory <byte> actual = await BatchExecUtils.StreamToMemoryAsync(stream, maximumLength : 9, cancellationToken : CancellationToken.None);

                    Assert.Fail("Expected " + nameof(RequestEntityTooLargeException));
                }
                catch (RequestEntityTooLargeException)
                {
                }
            }
        }
        public async Task StreamToBytesAsyncNonSeekableAsync()
        {
            byte[] bytes = new byte[10];
            this.random.NextBytes(bytes);
            TestNonSeekableStream stream = new TestNonSeekableStream(bytes, maxLengthToReturnPerRead: 3);
            {
                Memory <byte> actual = await BatchExecUtils.StreamToMemoryAsync(stream, cancellationToken : CancellationToken.None);

                Assert.IsTrue(actual.Span.SequenceEqual(bytes));
            }
        }