コード例 #1
0
        public void EnumeratorTest()
        {
            int count = 100;

            IEnumerable <int> items = Enumerable.Range(0, count);

            IPersistentQueue <int> queue = PersistentQueue <int> .Empty;

            foreach (int item in items)
            {
                queue = queue.Enqueue(item);
            }

            foreach (IEnumerator enumerator in
                     new IEnumerator[] { queue.GetEnumerator(), ((IEnumerable)queue).GetEnumerator() })
            {
                foreach (int item in items)
                {
                    Assert.True(enumerator.MoveNext());
                    Assert.Equal(item, enumerator.Current);
                }
                Assert.False(enumerator.MoveNext());
            }
        }
コード例 #2
0
 private static void CheckEmptyBehaviour <T>(IPersistentQueue <T> queue)
 {
     Assert.Equal(0, queue.Count);
     Assert.False(queue.GetEnumerator().MoveNext());
     Assert.Throws <InvalidOperationException>(() => queue.Dequeue());
 }