예제 #1
0
        public void TestDelayedTask()
        {
            var ct = new CounterTask();

            Driver.Instance.RootTask.AddChild(ct);
            ct.IntervalMethod = TaskIntervalMethod.Updates;

            ct.Interval = 5;
            Driver.Instance.Update();
            Assert.AreEqual(0, ct.Value);
            Driver.Instance.Update();
            Assert.AreEqual(0, ct.Value);
            Driver.Instance.Update();
            Assert.AreEqual(0, ct.Value);
            Driver.Instance.Update();
            Assert.AreEqual(0, ct.Value);
            Driver.Instance.Update();
            Assert.AreEqual(1, ct.Value);

            Driver.Instance.Update();
            Assert.AreEqual(1, ct.Value);
            Driver.Instance.Update();
            Assert.AreEqual(1, ct.Value);
            Driver.Instance.Update();
            Assert.AreEqual(1, ct.Value);
            Driver.Instance.Update();
            Assert.AreEqual(1, ct.Value);
            Driver.Instance.Update();
            Assert.AreEqual(2, ct.Value);

            Driver.Instance.RootTask.ClearChildren();
        }
예제 #2
0
        public void TestPause()
        {
            var ct = new CounterTask();

            Driver.Instance.RootTask.AddChild(ct);

            ct.Pause();
            Driver.Instance.Update();
            Assert.AreEqual(0, ct.Value);
            ct.Unpause();
            Driver.Instance.Update();
            Assert.AreEqual(1, ct.Value);

            Driver.Instance.RootTask.ClearChildren();
        }