Package net.sourceforge.ganttproject.test.task

Source Code of net.sourceforge.ganttproject.test.task.TestTaskCompletionPercentage

/*
LICENSE:
This program is free software; you can redistribute it and/or modify 
it under the terms of the GNU General Public License as published by 
the Free Software Foundation; either version 2 of the License, or    
(at your option) any later version.                                  
Copyright (C) 2004, GanttProject Development Team
*/
package net.sourceforge.ganttproject.test.task;

import net.sourceforge.ganttproject.task.TaskManager;
import net.sourceforge.ganttproject.task.Task;
import net.sourceforge.ganttproject.task.algorithm.RecalculateTaskCompletionPercentageAlgorithm;
import net.sourceforge.ganttproject.GanttCalendar;

/**
* Created by IntelliJ IDEA. User: bard
*/
public class TestTaskCompletionPercentage extends TaskTestCase {
    public void testCompletionIs0WhenAllNestedTasksNotStarted() {
        TaskManager taskManager = getTaskManager();
        Task supertask = taskManager.createTask();
        supertask.setCompletionPercentage(50);
        Task task1 = taskManager.createTask();
        Task task2 = taskManager.createTask();
        Task task3 = taskManager.createTask();
        //
        GanttCalendar commonStart = new GanttCalendar(2000, 01, 01);
        GanttCalendar commonEnd = new GanttCalendar(2000, 01, 05);
        task1.setStart(commonStart);
        task1.setEnd(commonEnd);
        task2.setStart(commonStart);
        task2.setEnd(commonEnd);
        task3.setStart(commonStart);
        task3.setEnd(commonEnd);
        //
        task1.move(supertask);
        task2.move(supertask);
        task3.move(supertask);
        //
        RecalculateTaskCompletionPercentageAlgorithm alg = taskManager
                .getAlgorithmCollection()
                .getRecalculateTaskCompletionPercentageAlgorithm();
        alg.run(supertask);
        assertEquals("Unexpected completion percentage of supertask="
                + supertask, 0, supertask.getCompletionPercentage());

    }

    public void testCompletionIs100WhenAllNestedTasksCompleted() {
        TaskManager taskManager = getTaskManager();
        Task supertask = taskManager.createTask();
        supertask.setCompletionPercentage(50);
        Task task1 = taskManager.createTask();
        Task task2 = taskManager.createTask();
        Task task3 = taskManager.createTask();
        //
        GanttCalendar commonStart = new GanttCalendar(2000, 01, 01);
        GanttCalendar commonEnd = new GanttCalendar(2000, 01, 05);
        task1.setStart(commonStart);
        task1.setEnd(commonEnd);
        task2.setStart(commonStart);
        task2.setEnd(commonEnd);
        task3.setStart(commonStart);
        task3.setEnd(commonEnd);
        //
        task1.move(supertask);
        task2.move(supertask);
        task3.move(supertask);
        //
        task1.setCompletionPercentage(100);
        task2.setCompletionPercentage(100);
        task3.setCompletionPercentage(100);
        //
        RecalculateTaskCompletionPercentageAlgorithm alg = taskManager
                .getAlgorithmCollection()
                .getRecalculateTaskCompletionPercentageAlgorithm();
        alg.run(supertask);
        assertEquals("Unexpected completion percentage of supertask="
                + supertask, 100, supertask.getCompletionPercentage());

    }

    public void testCompletionIs50WhenAllNestedTasksHalfCompleted() {
        TaskManager taskManager = getTaskManager();
        Task supertask = taskManager.createTask();
        supertask.setCompletionPercentage(50);
        Task task1 = taskManager.createTask();
        Task task2 = taskManager.createTask();
        Task task3 = taskManager.createTask();
        //
        GanttCalendar commonStart = new GanttCalendar(2000, 01, 01);
        GanttCalendar commonEnd = new GanttCalendar(2000, 01, 05);
        task1.setStart(commonStart);
        task1.setEnd(commonEnd);
        task2.setStart(commonStart);
        task2.setEnd(commonEnd);
        task3.setStart(commonStart);
        task3.setEnd(commonEnd);
        //
        task1.move(supertask);
        task2.move(supertask);
        task3.move(supertask);
        //
        task1.setCompletionPercentage(50);
        task2.setCompletionPercentage(50);
        task3.setCompletionPercentage(50);
        //
        RecalculateTaskCompletionPercentageAlgorithm alg = taskManager
                .getAlgorithmCollection()
                .getRecalculateTaskCompletionPercentageAlgorithm();
        alg.run(supertask);
        assertEquals("Unexpected completion percentage of supertask="
                + supertask, 50, supertask.getCompletionPercentage());

    }
}
TOP

Related Classes of net.sourceforge.ganttproject.test.task.TestTaskCompletionPercentage

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.