Esempio n. 1
0
        public void DequeueRange_CanDequeueRangeFromSplitQueue()
        {
            var queue  = QueueGenerationHelpers.GenerateSplitQueue();
            var values = queue.DequeueRange(6);
            var list   = values.ToList();

            Assert.AreEqual(1, queue.Count);
            Assert.AreEqual(8, queue.Capacity);

            Assert.AreEqual(4, list[0]);
            Assert.AreEqual(5, list[1]);
            Assert.AreEqual(6, list[2]);
            Assert.AreEqual(7, list[3]);
            Assert.AreEqual(8, list[4]);
            Assert.AreEqual(10, list[5]);
            Assert.AreEqual(11, queue[0]);
        }
        public void DequeueRange_TakeCountIsSameAsDequeueRangeOnASplitQueue()
        {
            var q1 = QueueGenerationHelpers.GenerateSplitQueue();
            var q2 = QueueGenerationHelpers.GenerateSplitQueue();

            Assert.AreEqual(q1.Count, q2.Count);
            Assert.AreEqual(q1.Capacity, q2.Capacity);

            var r1 = q1.DequeueRange(6).ToList();
            var r2 = q2.Take(6).ToList();

            for (var idx = 0; idx < r1.Count; idx++)
            {
                Assert.AreEqual(r1[idx], r2[idx]);
            }

            Assert.AreEqual(1, q1.Count);
            Assert.AreEqual(8, q1.Capacity);
            Assert.AreEqual(7, q2.Count);
            Assert.AreEqual(8, q1.Capacity);
        }
        public void BracketOperator_CannotLookupPastCapacityOnASplitQueue()
        {
            var queue = QueueGenerationHelpers.GenerateSplitQueue();

            Assert.ThrowsException <ArgumentOutOfRangeException>(() => queue[32]);
        }
        public void BracketOperator_CannotLookupPastCount()
        {
            var queue = QueueGenerationHelpers.GenerateQueue();

            Assert.ThrowsException <ArgumentOutOfRangeException>(() => queue[12]);
        }