public void TailCanBeAdvancedWithoutQueueing() { var queue = new LeakyQueue <int>(); for (int index = 0; index < 13; ++index) { queue.EnsureSlotAvailable(); queue.AdvanceTail(); Assert.AreEqual(index + 1, queue.Count); } }
public void QueueCanEnsureCapacityForOneMoreSlot() { var queue = new LeakyQueue <int>(); // Make sure the queue is filled to capacity. It is a valid implementation // to increase capacity in advance, so we just take the initial capacity // and make sure to fill up to that. The queue may have increased capacity already. int capacity = queue.Items.Length; while (queue.Count < capacity) { queue.Enqueue(123); } queue.EnsureSlotAvailable(); Assert.Greater(queue.Items.Length, queue.Count); }