public void SizeOnMoreChunks() { var deque = new BufferDeque(32); deque.Push(new Span <byte>(new byte[1000])); Assert.AreEqual(1000, deque.Size); }
public void PushEmptySpan() { var deque = new BufferDeque(); deque.Push(new Span <byte>()); Assert.AreEqual(0, deque.Size); }
public void SizeOnTwoChunks() { var deque = new BufferDeque(16); deque.Push(new Span <byte>(new byte[20])); Assert.AreEqual(20, deque.Size); }
public void SizeOnSingleChunk() { var deque = new BufferDeque(32); deque.Push(new Span <byte>(new byte[16])); Assert.AreEqual(16, deque.Size); }
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); }
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); }
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]); } }
public void EmptyBufferPopToSpan() { var deque = new BufferDeque(); Assert.AreEqual(0, deque.Pop(new Span <byte>(new byte[16]))); }
public void SizeOnEmpty() { var deque = new BufferDeque(); Assert.AreEqual(0, deque.Size); }