Esempio n. 1
0
        public void Start_5_Threads()
        {
            DequeueSynchronizer dequeueSynchronizer;
            ISmsc smsc;
            IQueueHandler queueHandler;

            smsc = SmsFactory.GetSmsc();
            queueHandler = (IQueueHandler) ObjectState.GetField(smsc, "_defaultQueueHandler");

            dequeueSynchronizer = new DequeueSynchronizer(5, queueHandler, Forwarder);

            dequeueSynchronizer.SuspendWorkers();
            dequeueSynchronizer.ResumeWorkers();

            Assert.AreEqual(5, dequeueSynchronizer.RunningWorkers);

            dequeueSynchronizer.SuspendWorkers();

            Assert.AreEqual(0, dequeueSynchronizer.RunningWorkers);

            dequeueSynchronizer.ResumeWorkers();

            Assert.AreEqual(5, dequeueSynchronizer.RunningWorkers);

            dequeueSynchronizer.TerminateWorkers();

            Assert.AreEqual(0, dequeueSynchronizer.RunningWorkers);
        }