Пример #1
0
        public void SizeOnMoreChunks()
        {
            var deque = new BufferDeque(32);

            deque.Push(new Span <byte>(new byte[1000]));

            Assert.AreEqual(1000, deque.Size);
        }
Пример #2
0
        public void PushEmptySpan()
        {
            var deque = new BufferDeque();

            deque.Push(new Span <byte>());

            Assert.AreEqual(0, deque.Size);
        }
Пример #3
0
        public void SizeOnTwoChunks()
        {
            var deque = new BufferDeque(16);

            deque.Push(new Span <byte>(new byte[20]));

            Assert.AreEqual(20, deque.Size);
        }
Пример #4
0
        public void SizeOnSingleChunk()
        {
            var deque = new BufferDeque(32);

            deque.Push(new Span <byte>(new byte[16]));

            Assert.AreEqual(16, deque.Size);
        }
Пример #5
0
        public void PopToEmptySpan()
        {
            var deque = new BufferDeque();
            var input = new Span <byte>(new byte[32]);

            deque.Push(input);

            Assert.AreEqual(0, deque.Pop(new Span <byte>()));
            Assert.AreEqual(32, deque.Size);
        }
Пример #6
0
        public void PushToMoreChunks()
        {
            var r     = new Random();
            var deque = new BufferDeque(32);

            var input = new Span <byte>(new byte[1000]);

            r.NextBytes(input);
            deque.Push(input);

            Assert.AreEqual(1000, deque.Size);
        }
Пример #7
0
        public void PopToLargeSpan()
        {
            var r     = new Random();
            var deque = new BufferDeque();

            var input = new Span <byte>(new byte[32]);

            r.NextBytes(input);
            deque.Push(input);

            var output = new Span <byte>(new byte[64]);

            Assert.AreEqual(32, deque.Pop(output));
            Assert.AreEqual(0, deque.Size);

            for (var i = 0; i < input.Length; ++i)
            {
                Assert.AreEqual(input[i], output[i]);
            }
        }
Пример #8
0
        public void EmptyBufferPopToSpan()
        {
            var deque = new BufferDeque();

            Assert.AreEqual(0, deque.Pop(new Span <byte>(new byte[16])));
        }
Пример #9
0
        public void SizeOnEmpty()
        {
            var deque = new BufferDeque();

            Assert.AreEqual(0, deque.Size);
        }