Exemplo n.º 1
0
        public void TaskProgressCannotBeLowerThan0()
        {
            ProjectTask task = CreateTask();

            Exception caughtException = Assert.Catch(() => task.SetProgress(-1));

            Assert.That(caughtException, Is.InstanceOf <InvalidActivityProgressException>());
        }
Exemplo n.º 2
0
        public void ATaskWithChildTaskDoesnotHaveItsOwnProgress()
        {
            ProjectTask task  = CreateTask();
            ProjectTask child = AddProjectTask(task);

            Exception caughtException = Assert.Catch(() => task.SetProgress(50));

            Assert.That(caughtException, Is.InstanceOf <InvalidActivityProgressException>());
        }
Exemplo n.º 3
0
        public void ATaskWithoutChildTaskHasItsOwnProgress()
        {
            ProjectTask task = CreateTask();

            task.SetProgress(50);

            int progress = task.CalculateProgress();

            Assert.That(progress, Is.EqualTo(50));
        }
Exemplo n.º 4
0
        public void ATaskWithChildrenTasksHasProgressBasedOnItsChildren()
        {
            DateTime today     = DateTime.Today;
            DateTime monday    = CalulateNext(today, DayOfWeek.Monday);
            DateTime tuesday   = CalulateNext(monday, DayOfWeek.Tuesday);
            DateTime wednesday = CalulateNext(monday, DayOfWeek.Wednesday);
            DateTime thursday  = CalulateNext(monday, DayOfWeek.Thursday);
            DateTime friday    = CalulateNext(monday, DayOfWeek.Friday);

            Mock <IProjectCalendar> calendarMock = new Mock <IProjectCalendar>();

            calendarMock.Setup(x => x.GetWorkingHours(monday)).Returns(8);
            calendarMock.Setup(x => x.GetWorkingHours(tuesday)).Returns(8);
            calendarMock.Setup(x => x.GetWorkingHours(wednesday)).Returns(8);
            calendarMock.Setup(x => x.GetWorkingHours(thursday)).Returns(8);
            calendarMock.Setup(x => x.GetWorkingHours(friday)).Returns(8);

            Mock <IProjectCalendarFactory> calendarFactoryMock = new Mock <IProjectCalendarFactory>();

            calendarFactoryMock.Setup(x => x.CreateDefaultWorkingCalendar()).Returns(calendarMock.Object);

            ProjectFactory projectFactory = new ProjectFactory(calendarFactoryMock.Object);
            Project        project        = projectFactory.CreateProject(VALID_PROJECT_NAME);

            ProjectTask parentTask = project.AddTask(VALID_PROJECTTASK_NAME);
            ProjectTask childTask1 = parentTask.AddTask(VALID_PROJECTTASK_NAME);
            ProjectTask childTask2 = parentTask.AddTask(VALID_PROJECTTASK_NAME);
            ProjectTask childTask3 = parentTask.AddTask(VALID_PROJECTTASK_NAME);

            // 40 hours effort, 10% progress
            childTask1.ExpectedStartDate  = monday;
            childTask1.ExpectedFinishDate = friday;
            childTask1.SetProgress(10);

            // 40 hours effort, 25% progress
            childTask2.ExpectedStartDate  = monday;
            childTask2.ExpectedFinishDate = friday;
            childTask2.SetProgress(25);

            // 24 hours effort, 50% progress
            childTask3.ExpectedStartDate  = monday;
            childTask3.ExpectedFinishDate = wednesday;
            childTask3.SetProgress(50);

            int progress = parentTask.CalculateProgress();

            Assert.That(progress, Is.EqualTo(25));
        }
Exemplo n.º 5
0
        public void ATaskWithAChildTasksHasProgressBasedOnItsChild()
        {
            DateTime today  = DateTime.Today;
            DateTime monday = CalulateNext(today, DayOfWeek.Monday);

            ProjectTask task  = CreateTask();
            ProjectTask child = AddProjectTask(task);

            child.ExpectedStartDate  = monday;
            child.ExpectedFinishDate = monday;
            child.SetProgress(22);

            int progress = task.CalculateProgress();

            Assert.That(progress, Is.EqualTo(22));
        }
Exemplo n.º 6
0
        public void ATaskWithAChildTasksHasProgressBasedOnItsChild()
        {
            DateTime today  = DateTime.Today;
            DateTime monday = CalulateNext(today, DayOfWeek.Monday);

            Mock <IProjectCalendar> calendarMock = new Mock <IProjectCalendar>();

            calendarMock.Setup(x => x.GetWorkingHours(monday)).Returns(8);

            ProjectFactory projectFactory = new ProjectFactory(null);
            Project        project        = projectFactory.CreateProject(calendarMock.Object, VALID_PROJECT_NAME);

            ProjectTask task = AddProjectTask(project);

            task.ExpectedStartDate  = monday;
            task.ExpectedFinishDate = monday;
            task.SetProgress(22);

            int progress = project.CalculateProgress();

            Assert.That(progress, Is.EqualTo(22));
        }