public async Task CopyToAsync_AllContentCopied(int contentLength, bool useArray)
        {
            using (ReadOnlyMemoryContent content = CreateContent(contentLength, useArray, out Memory <byte> memory, out IMemoryOwner <byte> memoryOwner))
                using (memoryOwner)
                {
                    var destination = new MemoryStream();
                    await content.CopyToAsync(destination);

                    Assert.Equal <byte>(memory.ToArray(), destination.ToArray());
                }
        }
        public async Task CopyToAsync_AllContentCopied(int contentLength, bool useArray)
        {
            Memory <byte>         memory;
            OwnedMemory <byte>    ownedMemory;
            ReadOnlyMemoryContent content = CreateContent(contentLength, useArray, out memory, out ownedMemory);

            var destination = new MemoryStream();
            await content.CopyToAsync(destination);

            Assert.Equal <byte>(memory.ToArray(), destination.ToArray());

            ownedMemory?.Dispose();
        }
示例#3
0
        public async Task Def()
        {
            var content = new ReadOnlyMemoryContent(_data.AsMemory());

            Assert.Equal(_data.Length, content.Headers.ContentLength !.Value);
            using (var buffer = new MemoryStream())
            {
                await content.CopyToAsync(buffer);

                Assert.True(_data.SequenceEqual(buffer.ToArray()));
            }
            using (var buffer = new MemoryStream())
            {
                using var stream = await content.ReadAsStreamAsync();

                Assert.Equal(_data.Length, stream.Length);
                await stream.CopyToAsync(buffer);

                Assert.True(_data.SequenceEqual(buffer.ToArray()));
            }
        }