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()); }
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()); }