Exemplo n.º 1
0
        public void ArrayTest()
        {
            var queue = new ConcurrentCircularQueue <DataClass>(_testList.Count);

            queue.Enqueue(new DataClass());
            queue.Dequeue();

            queue.Enqueue(_testList);

            Assert.AreEqual(_testList.Count, queue.Count);

            foreach (var item in _testList)
            {
                var result = queue.Dequeue();
                Assert.AreSame(item, result);
            }

            queue.Enqueue(new DataClass());
            queue.Dequeue();

            queue.Enqueue(_testList);
            DataClass[] copyList = new DataClass[_testList.Count];
            queue.CopyTo(copyList, 0);

            for (int i = 0; i < _testList.Count; ++i)
            {
                Assert.AreSame(_testList[i], copyList[i]);
            }
        }