Exemple #1
0
        public void TestCollection()
        {
            // create the wrapper
            var asyncCollection = new BlockingCollectionWrapper <string>();

            asyncCollection.FinishedEvent += FinishedEventHandler;

            // make sure we dispose of it. this will stop the internal threads
            using (asyncCollection)
            {
                // register a consuming action
                asyncCollection.QueueConsumingAction = (producedItem) =>
                {
                    Thread.Sleep(TimeSpan.FromSeconds(1));
                    Console.WriteLine(DateTime.Now + ": Consuming item: " + producedItem);
                };

                // start consuming
                asyncCollection.Start();

                // start producing
                for (int i = 0; i < 10; i++)
                {
                    Console.WriteLine(DateTime.Now + ": Produced item " + i);
                    asyncCollection.AddItem(i.ToString());
                }
            }

            _testMutex.WaitOne();

            Assert.True(asyncCollection.Finished);
        }
        public void TestCollection()
        {
            // create the wrapper
            var asyncCollection = new BlockingCollectionWrapper<string>();

            asyncCollection.FinishedEvent += FinishedEventHandler;

            // make sure we dispose of it. this will stop the internal threads
            using (asyncCollection)
            {
                // register a consuming action
                asyncCollection.QueueConsumingAction = (producedItem) =>
                {
                    Thread.Sleep(TimeSpan.FromSeconds(1));
                    Console.WriteLine(DateTime.Now + ": Consuming item: " + producedItem);
                };

                // start consuming
                asyncCollection.Start();

                // start producing
                for (int i = 0; i < 10; i++)
                {
                    Console.WriteLine(DateTime.Now + ": Produced item " + i);
                    asyncCollection.AddItem(i.ToString());
                }
            }

            _testMutex.WaitOne();

            Assert.True(asyncCollection.Finished);
        }