コード例 #1
0
        public void DequeueAndDisposeAll_Dequeues_And_Disposes_All()
        {
            var t1 = new Timer();
            var t2 = new Timer();

            var queue = new ConcurrentQueue <Timer>();

            queue.Enqueue(t1);
            queue.Enqueue(t2);

            queue.DequeueAndDisposeAll();

            var ex1 = Record.Exception(() => t1.Start());
            var ex2 = Record.Exception(() => t2.Start());

            Assert.Empty(queue);

            Assert.NotNull(ex1);
            Assert.IsType <ObjectDisposedException>(ex1);

            Assert.NotNull(ex2);
            Assert.IsType <ObjectDisposedException>(ex2);
        }