示例#1
0
        public void TestEnumerator()
        {
            var q = new PriorityQueue<int>();
            var e = q.GetEnumerator();

            Assert.Throws<InvalidOperationException>(() =>
            {
                var v = e.Current;
            });

            Assert.IsFalse(e.MoveNext());

            Assert.Throws<InvalidOperationException>(() =>
            {
                var v = e.Current;
            });

            Assert.IsFalse(e.MoveNext());
        }
示例#2
0
        public void TestEnumeratorWhileModify()
        {
            var q = new PriorityQueue<int>();
            q.Enqueue(3);

            var e = q.GetEnumerator();
            Assert.IsTrue(e.MoveNext());

            q.Dequeue();

            Assert.Throws<InvalidOperationException>(() => e.MoveNext());
        }