public void Normal() { var q = new MpscLinkedArrayQueue <int>(4); int item; Assert.IsTrue(q.IsEmpty()); Assert.IsFalse(q.Poll(out item)); q.Offer(1); Assert.IsFalse(q.IsEmpty()); q.Offer(2); Assert.IsFalse(q.IsEmpty()); q.Offer(3); Assert.IsFalse(q.IsEmpty()); q.Offer(4); Assert.IsFalse(q.IsEmpty()); q.Offer(5); Assert.IsFalse(q.IsEmpty()); q.Offer(6); Assert.IsFalse(q.IsEmpty()); Assert.IsTrue(q.Poll(out item)); Assert.IsFalse(q.IsEmpty()); Assert.AreEqual(1, item); Assert.IsTrue(q.Poll(out item)); Assert.IsFalse(q.IsEmpty()); Assert.AreEqual(2, item); Assert.IsTrue(q.Poll(out item)); Assert.IsFalse(q.IsEmpty()); Assert.AreEqual(3, item); Assert.IsTrue(q.Poll(out item)); Assert.IsFalse(q.IsEmpty()); Assert.AreEqual(4, item); Assert.IsTrue(q.Poll(out item)); Assert.IsFalse(q.IsEmpty()); Assert.AreEqual(5, item); Assert.IsTrue(q.Poll(out item)); Assert.IsTrue(q.IsEmpty()); Assert.AreEqual(6, item); Assert.IsFalse(q.Poll(out item)); Assert.IsTrue(q.IsEmpty()); q.Offer(7); Assert.IsTrue(q.Poll(out item)); Assert.IsTrue(q.IsEmpty()); Assert.AreEqual(7, item); }