public void Queue_Generic_Dequeue_AllElements(int count) { PooledQueue <T> queue = GenericQueueFactory(count); List <T> elements = queue.ToList(); foreach (T element in elements) { Assert.Equal(element, queue.Dequeue()); } }
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_TryDequeue_AllElements(int count) { PooledQueue <T> queue = GenericQueueFactory(count); List <T> elements = queue.ToList(); foreach (T element in elements) { Assert.True(queue.TryDequeue(out T result)); Assert.Equal(element, result); } }
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)); } }