public void Queue_Generic_Constructor_int(int count)
        {
            PooledQueue <T> queue = new PooledQueue <T>(count);

            RegisterForDispose(queue);
            Assert.Equal(Array.Empty <T>(), queue.ToArray());
            queue.Clear();
            Assert.Equal(Array.Empty <T>(), queue.ToArray());
        }
예제 #2
0
        public void Clear_Wrapped(bool initializeFromCollection)
        {
            // Try to exercise special case of clearing when we've wrapped around
            PooledQueue <string> q = CreateQueueAtCapacity(initializeFromCollection, i => i.ToString(), size: 4);

            Assert.Equal("0", q.Dequeue());
            Assert.Equal("1", q.Dequeue());
            q.Enqueue("5");
            q.Enqueue("6");
            Assert.Equal(4, q.Count);
            q.Clear();
            Assert.Equal(0, q.Count);
            Assert.False(q.GetEnumerator().MoveNext());
        }
        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);
            }
        }
 private static void Free(PooledQueue queue)
 {
     queue.Clear();
     pool.Free(queue);
 }