Esempio n. 1
0
        public void Test2()
        {
            int  count       = 0;
            bool isStopEvent = false;
            var  timeSlice   = TimeSliceUtil.StartTimeSlice(TimeSpan.Zero, TimeSpan.FromMilliseconds(10), 10, () => { count++; });

            timeSlice.StopTimeSlice += (o, e) => { isStopEvent = true; };

            Thread.Sleep(10 * 10 + 10);
            Assert.AreEqual(10, count);
            Assert.IsTrue(isStopEvent);
        }
Esempio n. 2
0
        public void Test1()
        {
            //  因为任务队列和时间调度和测试程序不在一个线程里
            //  所以,在这里可以直接用Thead.Sleep()进行睡眠
            bool isCall = false;

            TimeSliceUtil.StartTimeSlice(TimeSpan.FromMilliseconds(10), () =>
            {
                isCall = true;
            });

            //  这里比任务队列多延迟那么一点点
            Thread.Sleep(20);
            Assert.IsTrue(isCall);
        }
Esempio n. 3
0
        public void Test3()
        {
            int  count       = 0;
            bool isStopEvent = false;
            var  timeSlice   = TimeSliceUtil.StartTimeSlice(TimeSpan.Zero, TimeSpan.FromMilliseconds(10), TimeSpan.FromMilliseconds(10 * 10), () => { count++; });

            timeSlice.StopTimeSlice += (o, e) => { isStopEvent = true; };

            Thread.Sleep(10 * 10 + 50);

            //  这里是11次,是因为在调用定时器时,没有起始时间间隔
            //  所以,一开始会执行一次
            //  在100ms时间范围内被执行10次,所以,总次数为11次
            //  如果今后要解决类似问题
            //  要么是增加起始时间,要么,减少总时间。
            //  推荐,增加起始起始时间
            Assert.AreEqual(11, count);
            Assert.IsTrue(isStopEvent);
        }