コード例 #1
0
        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");
            });
        }
コード例 #2
0
        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");
            });
        }