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