Esempio n. 1
0
        public void AsyncTaskModule_Dispose_StopAsyncTaskAfterNumberOfRetry()
        {
            var          test   = new AsyncTaskModule(new QueueConfiguration(2, -1));
            int          value  = 0;
            const string name1  = "test1";
            var          async1 = new AsyncDataPeriod(TimeSpan.FromMilliseconds(100), async => Interlocked.Increment(ref value),
                                                      name1, 4);

            test.Start();

            test.AddAsyncTask(async1, true);
            Thread.Sleep(TimeSpan.FromMilliseconds(800));
            Assert.AreEqual(4, value);

            test.Dispose();
        }
Esempio n. 2
0
        public void AsyncTaskModule_AddAsyncTask_AmountOfOperations_2Tasks()
        {
            var          test   = new AsyncTaskModule(new QueueConfiguration(2, -1));
            int          value  = 0;
            const string name1  = "test1";
            const string name2  = "test2";
            var          async1 = new AsyncDataPeriod(TimeSpan.FromMilliseconds(500), async => Interlocked.Increment(ref value),
                                                      name1, -1);
            var async2 = new AsyncDataPeriod(TimeSpan.FromMilliseconds(500), async => Interlocked.Increment(ref value),
                                             name2, -1);

            test.Start();

            test.AddAsyncTask(async1, true);
            test.AddAsyncTask(async2, true);
            Thread.Sleep(TimeSpan.FromMilliseconds(300));
            Assert.AreEqual(2, value);

            Thread.Sleep(TimeSpan.FromMilliseconds(500));
            Assert.AreEqual(4, value);

            test.Dispose();
        }