Exemple #1
0
        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");
        }
Exemple #2
0
        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");
        }
Exemple #3
0
        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");
        }
Exemple #4
0
        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");
        }
Exemple #5
0
        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);
            }
        }