예제 #1
0
    public void TestDeleteTask()
    {
        _taskmanager.Awake();                       //cargar tareas
        _tasklist.tasks       = _taskmanager.tasks; //asignar lista de tareas
        _renglonPool.prefab   = (GameObject)Resources.Load("prefabs/Renglon", typeof(GameObject));
        _tasklist.renglonPool = _renglonPool;
        GameObject panelInfo = new GameObject(); //Mock GameObject para el task manager

        _taskmanager.panelInfo = panelInfo;

        //Crear nueva tarea de prueba y annadirla
        Task task = new Task {
            title       = "titulo",
            description = "descripcion"
        };

        _tasklist.CreateItem(task, 0);

        //Hijos del content (game object que contiene el script TaskList, padre de los renglones) antes de eliminar la tarea
        int renglonesPrev = _tasklist.gameObject.transform.childCount;

        _taskmanager.idOpenTask = 0; //id de la tarea que se va a eliminar
        _taskmanager.DeleteTask();   //Elimina la tarea con el indice guardado en idOpenTask
        //Hijos del content (game object que contiene el script TaskList, padre de los renglones) antes de eliminar la tarea
        int renglonesPost = _tasklist.gameObject.transform.childCount;

        //Comprobar que el content tiene un hijo menos
        Assert.That(renglonesPost, Is.EqualTo(renglonesPrev + -1));

        //Comprobar que la tarea ya no existe en la lista
        bool tareaEnLista = _taskmanager.tasks.Contains(task);

        Assert.That(tareaEnLista, Is.False);
    }