Exemplo n.º 1
0
        public async Task WriteEmptyArray()
        {
            using MemoryStream ms = new MemoryStream();

            // Create a simple buffer
            ReadOnlyMemory <byte> buffer = new byte[0];
            await AzureBaseBuffersExtensions.WriteAsync(ms, buffer);

            Assert.AreEqual(0, ms.Length);
        }
Exemplo n.º 2
0
        public async Task WriteArray()
        {
            using MemoryStream ms = new MemoryStream();

            // Create a simple buffer
            ReadOnlyMemory <byte> buffer = new byte[] { 0, 1, 2 };
            await AzureBaseBuffersExtensions.WriteAsync(ms, buffer);

            CheckMemoryStreamContent(ms);
        }
Exemplo n.º 3
0
        public async Task WriteNativeMemorySequence()
        {
            using NativeMemoryManager totalNativeMemory = new NativeMemoryManager(32);
            using MemoryStream ms = new MemoryStream();

            ReadOnlySequence <byte> sequence = CreateSequenceFromMemory(totalNativeMemory.Memory);

            await AzureBaseBuffersExtensions.WriteAsync(ms, sequence);

            CheckMemoryStreamContent(ms);
        }
Exemplo n.º 4
0
        public async Task WriteEmptyArraySequence()
        {
            using MemoryStream ms = new MemoryStream();

            // Create a sequence with an empty buffer
            ReadOnlySequence <byte> buffer = new ReadOnlySequence <byte>(new byte[0]);
            await AzureBaseBuffersExtensions.WriteAsync(ms, buffer);

            // Check that nothing was written
            Assert.AreEqual(0, ms.Length);
        }
Exemplo n.º 5
0
        public async Task WriteArraySequence()
        {
            using MemoryStream ms = new MemoryStream();

            Memory <byte> totalMemory = new byte[32];

            ReadOnlySequence <byte> sequence = CreateSequenceFromMemory(new byte[32]);
            await AzureBaseBuffersExtensions.WriteAsync(ms, sequence);

            CheckMemoryStreamContent(ms);
        }
Exemplo n.º 6
0
        public async Task WriteNativeMemorySequenceEmptySequenceAndLargeSegment()
        {
            using NativeMemoryManager totalNativeMemory = new NativeMemoryManager(32);
            using MemoryStream ms = new MemoryStream();

            // Put some data in memory
            PopulatMemoryWithData(totalNativeMemory.Memory);

            // create the individual segments
            BufferSegment           start    = new BufferSegment(totalNativeMemory.Memory.Slice(0, 0)); // have an empty start segment
            BufferSegment           last     = start.Append(totalNativeMemory.Memory.Slice(0, 23));     // have a segment the size of the actual buffer
            ReadOnlySequence <byte> sequence = new ReadOnlySequence <byte>(start, 0, last, 23);

            await AzureBaseBuffersExtensions.WriteAsync(ms, sequence);

            CheckMemoryStreamContent(ms);
        }
Exemplo n.º 7
0
        public async Task WriteNativeMemory()
        {
            using NativeMemoryManager totalNativeMemory = new NativeMemoryManager(10);
            using MemoryStream ms = new MemoryStream();

            Memory <byte> totalMemory  = totalNativeMemory.Memory;
            Memory <byte> sourceMemory = totalMemory.Slice(3, 5);

            for (byte i = 0; i < sourceMemory.Length; i++)
            {
                sourceMemory.Span[i] = i;
            }

            await AzureBaseBuffersExtensions.WriteAsync(ms, sourceMemory);

            CheckMemoryStreamContent(ms);
        }