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));
            }
        }