Package net.sourceforge.ganttproject.task

Examples of net.sourceforge.ganttproject.task.TaskManager


* Created by IntelliJ IDEA. User: bard
*/
public class TestTaskDependencyEvent extends TaskTestCase {
    public void testDependencyEventIsSentOnDependencyCreation()
            throws TaskDependencyException {
        TaskManager taskManager = getTaskManager();
        TaskListenerImpl listener = new TaskListenerImpl() {
            public void dependencyAdded(TaskDependencyEvent e) {
                setHasBeenCalled(true);
            }
        };
        taskManager.addTaskListener(listener);
        Task task1 = taskManager.createTask();
        Task task2 = taskManager.createTask();
        //
        taskManager.getDependencyCollection().createDependency(task2, task1,
                new FinishStartConstraintImpl());
        assertTrue(
                "Listener is expected to be called when dependency is added",
                listener.hasBeenCalled());
    }
View Full Code Here


                new GanttCalendar(2000, 01, 05), task3.getEnd());
    }

    public void testFinishStartConstraintOnMovingEndDateBackward()
            throws TaskDependencyException {
        TaskManager taskManager = getTaskManager();
        Task task1 = taskManager.createTask();
        task1.setStart(new GanttCalendar(2000, 01, 01));
        task1.setDuration(taskManager.createLength(GregorianTimeUnitStack.DAY,
                3));
        //
        Task task2 = taskManager.createTask();
        task2.setStart(new GanttCalendar(2000, 01, 01));
        task2.setDuration(taskManager.createLength(GregorianTimeUnitStack.DAY,
                2));
        //
        Task task3 = taskManager.createTask();
        task3.setStart(new GanttCalendar(2000, 01, 04));
        task3.setDuration(taskManager.createLength(GregorianTimeUnitStack.DAY,
                1));
        //
        taskManager.getDependencyCollection().createDependency(task3, task1,
                new FinishStartConstraintImpl());
        taskManager.getDependencyCollection().createDependency(task3, task2,
                new FinishStartConstraintImpl());
        // here the task schedule is the following:
        //
        // task1 XXX
        // task3 X
        // task2 XX
        //
        // we decrease length of task1
        task1.setEnd(new GanttCalendar(2000, 01, 03));
        //
        // and expect:
        // task1 XX
        // task3 X
        // task2 XX
        RecalculateTaskScheduleAlgorithm alg = taskManager
                .getAlgorithmCollection().getRecalculateTaskScheduleAlgorithm();
        alg.run(task1);
        assertEquals("Unexpected value of start of task=" + task3,
                new GanttCalendar(2000, 01, 03), task3.getStart());
        //
        // decrease length of task1 again
        task1.setEnd(new GanttCalendar(2000, 01, 02));
        //
        // we expect:
        // task1 X
        // task3 X
        // task2 XX
        //
        // because task3 depends on task2 with "finish-start" constraint
        alg = taskManager.getAlgorithmCollection()
                .getRecalculateTaskScheduleAlgorithm();
        alg.run(task1);
        assertEquals("Unexpected value of start of task=" + task3,
                new GanttCalendar(2000, 01, 03), task3.getStart());
    }
View Full Code Here

                listener.hasBeenCalled());
    }

    public void testDependencyEventIsSentOnDependencyRemoval()
            throws TaskDependencyException {
        TaskManager taskManager = getTaskManager();
        TaskListenerImpl listener = new TaskListenerImpl() {
            public void dependencyRemoved(TaskDependencyEvent e) {
                setHasBeenCalled(true);
            }
        };
        taskManager.addTaskListener(listener);
        Task task1 = taskManager.createTask();
        Task task2 = taskManager.createTask();
        //
        TaskDependency dep = taskManager
                .getDependencyCollection()
                .createDependency(task2, task1, new FinishStartConstraintImpl());
        dep.delete();
        assertTrue(
                "Listener is expected to be called when dependency is deleted",
View Full Code Here

                new GanttCalendar(2000, 01, 03), task3.getStart());
    }

    public void testFinishFinishConstraintOnMovingEndDateForward()
            throws TaskDependencyException {
        TaskManager taskManager = getTaskManager();
        Task task1 = taskManager.createTask();
        task1.setStart((new GanttCalendar(2000, 01, 01)));
        task1.setDuration(taskManager.createLength(GregorianTimeUnitStack.DAY,
                1));
        //
        Task task2 = taskManager.createTask();
        task2.setStart((new GanttCalendar(2000, 01, 01)));
        task2.setDuration(taskManager.createLength(GregorianTimeUnitStack.DAY,
                3));
        //
        // now we have:
        // task1 x
        // task2 xxx
        //
        // create dependency task2->task1 with "finish-finish" constraint. It
        // means that
        // task2 can't finish earlier than task1 finishes
        TaskDependency dep = taskManager
                .getDependencyCollection()
                .createDependency(task2, task1, new FinishStartConstraintImpl());
        dep.setConstraint(taskManager
                .createConstraint(GanttTaskRelationship.FF));
        //
        // increase the length of task1. We expect that task2 will be shifted
        // forward:
        //
        // task1 xxxxx
        // task2 xxx
        task1.setEnd(new GanttCalendar(2000, 01, 05));
        RecalculateTaskScheduleAlgorithm alg = taskManager
                .getAlgorithmCollection().getRecalculateTaskScheduleAlgorithm();
        alg.run(task1);
        assertEquals("Unexpected end of task=" + task2, new GanttCalendar(2000,
                01, 05), task2.getEnd());
    }
View Full Code Here

                01, 05), task2.getEnd());
    }

    public void testStartStartConstraintOnMovingStartDateForward()
            throws TaskDependencyException {
        TaskManager taskManager = getTaskManager();
        Task task1 = taskManager.createTask();
        task1.setStart((new GanttCalendar(2000, 01, 01)));
        task1.setDuration(taskManager.createLength(GregorianTimeUnitStack.DAY,
                3));
        //
        Task task2 = taskManager.createTask();
        task2.setStart((new GanttCalendar(2000, 01, 02)));
        task2.setDuration(taskManager.createLength(GregorianTimeUnitStack.DAY,
                1));
        //
        // now we have:
        // task1 xxx____
        // task2 _x_____
        //
        // create dependency task2->task1 with "start-start" constraint. It
        // means that
        // task2 can't start earlier than task1 starts
        TaskDependency dep = taskManager
                .getDependencyCollection()
                .createDependency(task2, task1, new FinishStartConstraintImpl());
        dep.setConstraint(taskManager
                .createConstraint(GanttTaskRelationship.SS));
        //
        // shift task1 forward. We expect that task2 will also be shifted
        // forward
        //
        // task1 ___xxx___
        // task2 ___x_____
        TaskLength task1Duration = task1.getDuration();
        task1.setStart(new GanttCalendar(2000, 01, 04));
        task1.setDuration(task1Duration);
        //
        RecalculateTaskScheduleAlgorithm alg = taskManager
                .getAlgorithmCollection().getRecalculateTaskScheduleAlgorithm();
        alg.run(task1);
        assertEquals("Unexpected start of task=" + task2, new GanttCalendar(
                2000, 01, 04), task2.getStart());
    }
View Full Code Here

                2000, 01, 04), task2.getStart());
    }

    public void testStartFinishConstraintOnMovingStartDateForward()
            throws TaskDependencyException {
        TaskManager taskManager = getTaskManager();
        Task task1 = taskManager.createTask();
        task1.setStart((new GanttCalendar(2000, 01, 01)));
        task1.setDuration(taskManager.createLength(GregorianTimeUnitStack.DAY,
                3));
        //
        Task task2 = taskManager.createTask();
        task2.setStart((new GanttCalendar(2000, 01, 01)));
        task2.setDuration(taskManager.createLength(GregorianTimeUnitStack.DAY,
                2));
        //
        // now we have:
        // task1 xxx____
        // task2 xx_____
        //
        // create dependency task2->task1 with "start-finish" constraint. It
        // means that
        // task2 can't finish earlier than task1 starts
        TaskDependency dep = taskManager
                .getDependencyCollection()
                .createDependency(task2, task1, new FinishStartConstraintImpl());
        dep.setConstraint(taskManager
                .createConstraint(GanttTaskRelationship.SF));
        //
        // shift task1 forward. We expect that task2 will also be shifted
        // forward
        //
        // task1 ___xxx___
        // task2 _xx______
        TaskLength task1Duration = task1.getDuration();
        task1.setStart(new GanttCalendar(2000, 01, 04));
        task1.setDuration(task1Duration);
        //
        RecalculateTaskScheduleAlgorithm alg = taskManager
                .getAlgorithmCollection().getRecalculateTaskScheduleAlgorithm();
        alg.run(task1);
        assertEquals("Unexpected end of task=" + task2, new GanttCalendar(2000,
                01, 04), task2.getEnd());
View Full Code Here

import net.sourceforge.ganttproject.GanttCalendar;

public class TestSupertaskAdjustment extends TaskTestCase {
    public void testSupetaskDurationGrowsWhenNestedTasksGrow()
            throws TaskDependencyException {
        TaskManager taskManager = getTaskManager();
        Task supertask = taskManager.createTask();
        Task task1 = taskManager.createTask();
        Task task2 = taskManager.createTask();
        //
        task1.move(supertask);
        task2.move(supertask);
        //
        task1.setStart(new GanttCalendar(2000, 01, 01));
        task1.setEnd(new GanttCalendar(2000, 01, 03));
        task2.setStart(new GanttCalendar(2000, 01, 03));
        task2.setEnd(new GanttCalendar(2000, 01, 04));
        supertask.setStart(new GanttCalendar(2000, 01, 01));
        supertask.setEnd(new GanttCalendar(2000, 01, 04));
        //
        TaskDependency dep = taskManager
                .getDependencyCollection()
                .createDependency(task2, task1, new FinishStartConstraintImpl());
        //
        task1.setEnd(new GanttCalendar(2000, 01, 04));
        RecalculateTaskScheduleAlgorithm alg = taskManager
                .getAlgorithmCollection().getRecalculateTaskScheduleAlgorithm();
        alg.run(task1);
        //
        assertEquals("Unexpected start of supertask=" + supertask,
                new GanttCalendar(2000, 01, 01), supertask.getStart());
View Full Code Here

        assertEquals("Unexpected end of supertask=" + supertask,
                new GanttCalendar(2000, 01, 05), supertask.getEnd());
    }

    public void testSupertaskDurationShrinksWhenNestedTasksShrink() {
        TaskManager taskManager = getTaskManager();
        Task supertask = taskManager.createTask();
        Task task1 = taskManager.createTask();
        Task task2 = taskManager.createTask();
        //
        task1.move(supertask);
        task2.move(supertask);
        //
        task1.setStart(new GanttCalendar(2000, 01, 01));
        task1.setEnd(new GanttCalendar(2000, 01, 03));
        task2.setStart(new GanttCalendar(2000, 01, 03));
        task2.setEnd(new GanttCalendar(2000, 01, 04));
        supertask.setStart(new GanttCalendar(2000, 01, 01));
        supertask.setEnd(new GanttCalendar(2000, 01, 04));
        //
        task1.setStart(new GanttCalendar(2000, 01, 02));
        task2.setStart(new GanttCalendar(2000, 01, 02));
        task2.setEnd(new GanttCalendar(2000, 01, 03));
        //
        AdjustTaskBoundsAlgorithm alg = taskManager.getAlgorithmCollection()
                .getAdjustTaskBoundsAlgorithm();
        alg.run(new Task[] { task1, task2 });
        //
        assertEquals("Unexpected start of supertask=" + supertask,
                new GanttCalendar(2000, 01, 02), supertask.getStart());
View Full Code Here

        assertEquals("Unexpected end of supertask=" + supertask,
                new GanttCalendar(2000, 01, 03), supertask.getEnd());
    }
   
    public void testTaskDurationChangeIsPropagatedTwoLevelsUp() {
      TaskManager taskManager = getTaskManager();
      Task supertask = taskManager.createTask();
      supertask.move(taskManager.getRootTask());
      //
      Task level1task1 = taskManager.createTask();
      level1task1.move(supertask);
      Task level1task2 = taskManager.createTask();
      level1task2.move(supertask);
      //
      Task level2task1 = taskManager.createTask();
      level2task1.move(level1task2);
      //
      supertask.setStart(newMonday());
      supertask.setEnd(newTuesday());
      level1task1.setStart(newMonday());
      level1task1.setEnd(newTuesday());
      level1task2.setStart(newMonday());
      level1task2.setEnd(newTuesday());
      level2task1.setStart(newMonday());
      level2task1.setEnd(newTuesday());
      //
      level2task1.setEnd(newWendesday());
      //
        AdjustTaskBoundsAlgorithm alg = taskManager.getAlgorithmCollection().getAdjustTaskBoundsAlgorithm();
        alg.run(new Task[] { level2task1 });
      //
        assertEquals("Unexpected end of the topleveltask="+supertask, newWendesday(), supertask.getEnd());
    }
View Full Code Here

/**
* 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());
View Full Code Here

TOP

Related Classes of net.sourceforge.ganttproject.task.TaskManager

Copyright © 2018 www.massapicom. 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.