예제 #1
0
        public void Nフレーム実行するイテレーターが丁度N引く1フレームIsCompleted_falseになってることを確認()
        {
            // 開始直後に RunOnce する仕様になったので、Update ループ回数は1少ない
            const int N = 50;

            var task = Coroutines.NFrameTask(N);

            var scheduler = Task.DefaultScheduler;

            for (int i = 0; i < 2 * N; i++)
            {
                scheduler.Update();

                if (i < N)
                {
                    Assert.IsFalse(task.IsCompleted, "expected false, but actual true on i = " + i);
                }
                else
                {
                    Assert.IsTrue(task.IsCompleted, "expected true, but actual false on i = " + i);
                }
            }
        }
예제 #2
0
        public void Nフレーム実行するイテレーターが丁度NフレームIsCompleted_falseになってることを確認()
        {
            const int N = 50;

            var runnner = new SampleTaskRunner.TaskRunner();
            var task    = Coroutines.NFrameTask(N);

            task.Start(runnner);

            for (int i = 0; i < 2 * N; i++)
            {
                runnner.Update();

                if (i < N)
                {
                    Assert.IsFalse(task.IsCompleted);
                }
                else
                {
                    Assert.IsTrue(task.IsCompleted);
                }
            }
        }