public void TestUnderwrite() { var buffer = new CCircularBuffer <long>(5); Assert.AreEqual(default(long), buffer.Enqueue(1)); Assert.AreEqual(default(long), buffer.Enqueue(2)); Assert.AreEqual(default(long), buffer.Enqueue(3)); Assert.AreEqual(3, buffer.Count); Assert.AreEqual(1, buffer.Dequeue()); Assert.AreEqual(2, buffer.Dequeue()); Assert.AreEqual(3, buffer.Dequeue()); Assert.AreEqual(0, buffer.Count); }
public void TestEnumerationWhenPartiallyFull() { var buffer = new CCircularBuffer <long>(3); Assert.AreEqual(default(long), buffer.Enqueue(1)); Assert.AreEqual(default(long), buffer.Enqueue(2)); var i = 0; foreach (var value in buffer) { Assert.AreEqual(++i, value); } Assert.AreEqual(i, 2); }
public void TestDecreaseCapacityWhenFull() { var buffer = new CCircularBuffer <long>(3); Assert.AreEqual(default(long), buffer.Enqueue(1)); Assert.AreEqual(default(long), buffer.Enqueue(2)); Assert.AreEqual(default(long), buffer.Enqueue(3)); Assert.AreEqual(3, buffer.Count); buffer.Capacity = 2; Assert.AreEqual(2, buffer.Count); Assert.AreEqual(1, buffer.Dequeue()); Assert.AreEqual(2, buffer.Dequeue()); Assert.AreEqual(0, buffer.Count); }
public void TestPeek() { var buffer = new CCircularBuffer <long>(5); Assert.AreEqual(default(long), buffer.Enqueue(1)); Assert.AreEqual(default(long), buffer.Enqueue(2)); Assert.AreEqual(default(long), buffer.Enqueue(3)); Assert.AreEqual(1, buffer.Peek()); long[] arrPeek = buffer.Peek_OrNull(4); Assert.AreEqual(1, arrPeek[0]); Assert.AreEqual(2, arrPeek[1]); Assert.AreEqual(3, arrPeek[2]); Assert.AreEqual(3, arrPeek.Length); }
public void RingBuffer_Enqueue_Dequeue_Test() { SPacketTest_Struct pPacketTest = new SPacketTest_Struct(1, "인큐_디큐_테스트"); SPacketTest_Struct pPacketTest2 = new SPacketTest_Struct(2, "더미데이터"); byte[] arrPacketData = ByteExtension.ConvertByteArray(pPacketTest); int iDataSize = arrPacketData.Length; var pBuffer = new CCircularBuffer <byte>(10240); pBuffer.Enqueue(arrPacketData); Assert.AreNotEqual(pPacketTest.iValue, pPacketTest2.iValue); Assert.AreNotEqual(pPacketTest.strValue, pPacketTest2.strValue); byte[] arrPacketData2 = pBuffer.Dequeue_OrNull(iDataSize); arrPacketData2.Convert_ToStruct(out pPacketTest2); Assert.AreEqual(pPacketTest.iValue, pPacketTest2.iValue); Assert.AreEqual(pPacketTest.strValue, pPacketTest2.strValue); }