示例#1
0
        public void TestConcurrencyLevelIsRespected(int concurrencyLevel, int nMessages, int processingTime)
        {
            var evt = new ManualResetEvent(false);

            // TODO: this test isn't testing any behaviour so far..
            // just ensuring the worker can cope with high number of messages

            var receiver   = SetupReceiver(nMessages);
            var dispatcher = SetupDispatcher(nMessages, processingTime, evt);

            using (var processor = new MessageWorker(receiver, dispatcher, new NullLoggerFactory(), concurrencyLevel))
            {
                processor.Start();

                Task.Delay(TimeSpan.FromMinutes(15)).ContinueWith(t => evt.Set());

                evt.WaitOne();
            }
        }