public void Queue_Generic_TrimExcess_Repeatedly(int count)
        {
            PooledQueue <T> queue    = GenericQueueFactory(count);;
            List <T>        expected = queue.ToList();

            queue.TrimExcess();
            queue.TrimExcess();
            queue.TrimExcess();
            Assert.True(queue.SequenceEqual(expected));
        }
        public void Queue_Generic_TrimExcess_AfterRemovingOneElement(int count)
        {
            if (count > 0)
            {
                PooledQueue <T> queue    = GenericQueueFactory(count);;
                List <T>        expected = queue.ToList();
                queue.TrimExcess();
                T removed = queue.Dequeue();
                expected.Remove(removed);
                queue.TrimExcess();

                Assert.True(queue.SequenceEqual(expected));
            }
        }
        public void Queue_Generic_TrimExcess_AfterClearingAndAddingAllElementsBack(int count)
        {
            if (count > 0)
            {
                PooledQueue <T> queue = GenericQueueFactory(count);;
                queue.TrimExcess();
                queue.Clear();
                queue.TrimExcess();
                Assert.Equal(0, queue.Count);

                AddToCollection(queue, count);
                queue.TrimExcess();
                Assert.Equal(count, queue.Count);
            }
        }
Пример #4
0
        public void TrimExcess(int items, int capacity)
        {
            var q = new PooledQueue <int>(capacity);

            RegisterForDispose(q);
            for (int i = 0; i < items; i++)
            {
                q.Enqueue(i);
            }
            q.TrimExcess();
            Assert.Equal(items, q.Count);
            Assert.Equal(Enumerable.Range(0, items), q);
        }
        public void Queue_Generic_TrimExcess_OnValidQueueThatHasntBeenRemovedFrom(int count)
        {
            PooledQueue <T> queue = GenericQueueFactory(count);

            queue.TrimExcess();
        }