예제 #1
0
        public void Enumerate()
        {
            var queue = new LLQueue <int>(Enumerable.Range(0, 100));
            int cur   = 0;

            foreach (int i in queue)
            {
                Assert.AreEqual(cur++, i);
            }
            Assert.AreEqual(100, queue.Count);
            cur = 0;
            foreach (int i in queue.DequeueAll())
            {
                Assert.AreEqual(cur++, i);
                Assert.AreEqual(100 - cur, queue.Count);
            }
            Assert.AreEqual(0, queue.Count);
            queue.EnqueueRange(Enumerable.Range(0, 100));
            Assert.AreEqual(100, queue.Count);
            cur = 0;
            foreach (int i in queue.AtomicDequeueAll())
            {
                Assert.AreEqual(cur++, i);
                Assert.AreEqual(0, queue.Count);
            }
        }
예제 #2
0
파일: QueueTests.cs 프로젝트: kiszu/ForBlog
 public void Enumerate()
 {
     var queue = new LLQueue<int>(Enumerable.Range(0, 100));
     int cur = 0;
     foreach(int i in queue)
         Assert.AreEqual(cur++, i);
     Assert.AreEqual(100, queue.Count);
     cur = 0;
     foreach(int i in queue.DequeueAll())
     {
         Assert.AreEqual(cur++, i);
         Assert.AreEqual(100 - cur, queue.Count);
     }
     Assert.AreEqual(0, queue.Count);
     queue.EnqueueRange(Enumerable.Range(0, 100));
     Assert.AreEqual(100, queue.Count);
     cur = 0;
     foreach(int i in queue.AtomicDequeueAll())
     {
         Assert.AreEqual(cur++, i);
         Assert.AreEqual(0, queue.Count);
     }
 }