public void ParallelForEachTestCase() { ParallelTestHelper.Repeat(() => { IEnumerable <int> e = Enumerable.Repeat(1, 500); ConcurrentQueue <int> queue = new ConcurrentQueue <int>(); SpinWait sw = new SpinWait(); int count = 0; Parallel.ForEach(e, (element) => { Interlocked.Increment(ref count); queue.Enqueue(element); sw.SpinOnce(); }); Assert.AreEqual(500, count, "#1"); queue.AreCollectionEquivalent(e, "#2"); //--todo Assert.That(queue, new CollectionEquivalentConstraint(e), "#2"); }); }
public void ParallelForEachTestCase() { ParallelTestHelper.Repeat(() => { IEnumerable<int> e = Enumerable.Repeat(1, 500); ConcurrentQueue<int> queue = new ConcurrentQueue<int>(); SpinWait sw = new SpinWait(); int count = 0; Parallel.ForEach(e, (element) => { Interlocked.Increment(ref count); queue.Enqueue(element); sw.SpinOnce(); }); Assert.AreEqual(500, count, "#1"); queue.AreCollectionEquivalent(e, "#2"); //--todo Assert.That(queue, new CollectionEquivalentConstraint(e), "#2"); }); }