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