Exemple #1
0
        public void CancelTest()
        {
            var called           = false;
            var sw               = new Stopwatch();
            ManualResetEvent mre = new ManualResetEvent(false);

            Action act = new Action(() =>
            {
                called = true;
                sw.Stop();
                mre.Set();
            });

            var delayedAction = new TimedAction(act);

            sw.Start();
            delayedAction.RunWithDelay(2000);
            delayedAction.Cancel();

            var signaled = mre.WaitOne(3000);

            Assert.IsFalse(called);
            Assert.IsFalse(signaled);
            Assert.IsTrue(sw.IsRunning);
        }
Exemple #2
0
        public void RunWithDelayTest()
        {
            var called           = false;
            var sw               = new Stopwatch();
            ManualResetEvent mre = new ManualResetEvent(false);

            Action act = new Action(() =>
            {
                called = true;
                sw.Stop();
                mre.Set();
            });

            var delayedAction = new TimedAction(act);

            sw.Start();
            delayedAction.RunWithDelay(2000);

            mre.WaitOne();

            Assert.IsTrue(called);
            Assert.IsTrue(sw.Elapsed.TotalMilliseconds > 2000);
        }