Exemple #1
0
    public void InitializeAndRunASingleTask()
    {
        UITaskSystem system = new UITaskSystem();
        Task0        task0  = new Task0(3);

        system.AddTask(task0);
        Assert.AreEqual(1, system.ActiveTaskCount);

        Assert.AreEqual(0, task0.variable);

        system.OnUpdate();
        Assert.AreEqual(1, task0.variable);
        Assert.AreEqual(1, task0.runCount);

        system.OnUpdate();

        Assert.AreEqual(1, task0.variable);
        Assert.AreEqual(2, task0.runCount);
        Assert.AreEqual(1, system.ActiveTaskCount);

        system.OnUpdate();

        Assert.AreEqual("completed", task0.status);
        Assert.AreEqual(3, task0.runCount);
        Assert.AreEqual(0, system.ActiveTaskCount);
    }
Exemple #2
0
    public void CancelATask()
    {
        UITaskSystem system = new UITaskSystem();
        Task0        task0  = new Task0(2, UITaskResult.Cancelled);

        system.AddTask(task0);

        system.OnUpdate();
        Assert.AreEqual(1, system.ActiveTaskCount);
        Assert.AreEqual(UITaskState.Running, task0.state);
        system.OnUpdate();
        Assert.AreEqual(0, system.ActiveTaskCount);
        Assert.AreEqual(UITaskState.Cancelled, task0.state);
        Assert.AreEqual("cancelled", task0.status);
    }
Exemple #3
0
    public void CompleteATaskExternally()
    {
        UITaskSystem system = new UITaskSystem();
        Task0        task0  = new Task0(3, UITaskResult.Completed);

        system.AddTask(task0);

        system.OnUpdate();
        Assert.AreEqual(1, system.ActiveTaskCount);
        Assert.AreEqual(UITaskState.Running, task0.state);
        system.OnUpdate();
        Assert.AreEqual(1, system.ActiveTaskCount);

        task0.Complete();

        Assert.AreEqual(UITaskState.Completed, task0.state);
        Assert.AreEqual("completed", task0.status);
        Assert.AreEqual(0, system.ActiveTaskCount);
    }
Exemple #4
0
    public void RunMultipleTasks()
    {
        UITaskSystem system = new UITaskSystem();
        Task0        task0  = new Task0(2);
        Task0        task1  = new Task0(3);
        Task0        task2  = new Task0(4);

        system.AddTask(task0);
        system.AddTask(task1);
        system.AddTask(task2);

        Assert.AreEqual(3, system.ActiveTaskCount);

        system.OnUpdate();

        Assert.AreEqual(UITaskState.Running, task0.state);
        Assert.AreEqual(UITaskState.Running, task1.state);
        Assert.AreEqual(UITaskState.Running, task2.state);

        system.OnUpdate();

        Assert.AreEqual(2, system.ActiveTaskCount);

        Assert.AreEqual(UITaskState.Completed, task0.state);
        Assert.AreEqual(UITaskState.Running, task1.state);
        Assert.AreEqual(UITaskState.Running, task2.state);

        system.OnUpdate();

        Assert.AreEqual(1, system.ActiveTaskCount);
        Assert.AreEqual(UITaskState.Completed, task0.state);
        Assert.AreEqual(UITaskState.Completed, task1.state);
        Assert.AreEqual(UITaskState.Running, task2.state);

        system.OnUpdate();

        Assert.AreEqual(0, system.ActiveTaskCount);

        Assert.AreEqual(UITaskState.Completed, task0.state);
        Assert.AreEqual(UITaskState.Completed, task1.state);
        Assert.AreEqual(UITaskState.Completed, task2.state);
    }