public void DequeueRange_CanDequeueRangeFromSplitQueue() { var queue = QueueGenerationHelpers.GenerateSplitQueue(); var values = queue.DequeueRange(6); var list = values.ToList(); Assert.AreEqual(1, queue.Count); Assert.AreEqual(8, queue.Capacity); Assert.AreEqual(4, list[0]); Assert.AreEqual(5, list[1]); Assert.AreEqual(6, list[2]); Assert.AreEqual(7, list[3]); Assert.AreEqual(8, list[4]); Assert.AreEqual(10, list[5]); Assert.AreEqual(11, queue[0]); }
public void DequeueRange_TakeCountIsSameAsDequeueRangeOnASplitQueue() { var q1 = QueueGenerationHelpers.GenerateSplitQueue(); var q2 = QueueGenerationHelpers.GenerateSplitQueue(); Assert.AreEqual(q1.Count, q2.Count); Assert.AreEqual(q1.Capacity, q2.Capacity); var r1 = q1.DequeueRange(6).ToList(); var r2 = q2.Take(6).ToList(); for (var idx = 0; idx < r1.Count; idx++) { Assert.AreEqual(r1[idx], r2[idx]); } Assert.AreEqual(1, q1.Count); Assert.AreEqual(8, q1.Capacity); Assert.AreEqual(7, q2.Count); Assert.AreEqual(8, q1.Capacity); }
public void BracketOperator_CannotLookupPastCapacityOnASplitQueue() { var queue = QueueGenerationHelpers.GenerateSplitQueue(); Assert.ThrowsException <ArgumentOutOfRangeException>(() => queue[32]); }
public void BracketOperator_CannotLookupPastCount() { var queue = QueueGenerationHelpers.GenerateQueue(); Assert.ThrowsException <ArgumentOutOfRangeException>(() => queue[12]); }