public void CircularBuffer_AddRange_InsertsRange() { CircularBuffer <int> q = new CircularBuffer <int>(8); q.AddRange(new[] { 13, 17 }); Assert.AreEqual(2, q.Count, "CircularBuffer should remember its items"); Assert.IsTrue(q.SequenceEqual(new[] { 13, 17 }), "CircularBuffer should remember its items"); }
public void CircularBuffer_AddRangeLargerThanCapacity_InsertsRange() { CircularBuffer <int> q = new CircularBuffer <int>(8) { 1, 2, 3, 4, 5 }; q.AddRange(new[] { 13, 17, 19, 23, 29, 31, 37, 39, 41 }); Assert.AreEqual(8, q.Count, "CircularBuffer should remember its items"); Assert.IsTrue(q.SequenceEqual(new[] { 17, 19, 23, 29, 31, 37, 39, 41 }), "CircularBuffer should remember its items"); }
public void CircularBuffer_AddRangeToOverflow_InsertsRange() { CircularBuffer <int> q = new CircularBuffer <int>(8) { 1, 2, 3, 4, 5 }; q.AddRange(new[] { 13, 17, 19, 23, 29 }); Assert.AreEqual(8, q.Count, "CircularBuffer should remember its items"); Assert.IsTrue(q.SequenceEqual(new[] { 3, 4, 5, 13, 17, 19, 23, 29 }), "CircularBuffer should remember its items"); }
public void AddEmptyRange_DoesNothing() { CircularBuffer <int> q = new CircularBuffer <int>(8) { 1, 2, 3, 4, 5 }; q.AddRange(new int[] { }); Assert.AreEqual(5, q.Count, "CircularBuffer should remember its items"); Assert.IsTrue(q.SequenceEqual(new[] { 1, 2, 3, 4, 5 }), "CircularBuffer should remember its items"); }
public void AddRange_AtBack_MaintainsOrder() { CircularBuffer <int> q = new CircularBuffer <int>(8) { 1, 2, 3, 4, 5 }; q.AddRange(new[] { 13, 17 }); Assert.AreEqual(7, q.Count, "CircularBuffer should remember its items"); Assert.IsTrue(q.SequenceEqual(new[] { 1, 2, 3, 4, 5, 13, 17 }), "CircularBuffer should remember its items"); }
public void TestSizeIncrease() { int bufferSize = 3; CircularBuffer<int> circularBuffer = new CircularBuffer<int>(bufferSize); circularBuffer.AddRange(new int[]{0, 1}); // Increase when not yet full bufferSize = 5; circularBuffer.Size = bufferSize; VerifyContent(circularBuffer, 0 , 1); // fill up for (int i = 2; i < 5; i++) { circularBuffer.Add(i); VerifyContent(circularBuffer, 0, i); } // roll over for (int i = 5; i < 8; i++) { circularBuffer.Add(i); VerifyContent(circularBuffer, i - bufferSize + 1, i); } // Increase when full bufferSize = 7; circularBuffer.Size = bufferSize; VerifyContent(circularBuffer, 3, 7); // fill up for (int i = 8; i < 10; i++) { circularBuffer.Add(i); VerifyContent(circularBuffer, 3, i); } // roll over for (int i = 10; i < 12; i++) { circularBuffer.Add(i); VerifyContent(circularBuffer, i - bufferSize + 1, i); } }