Ejemplo n.º 1
0
        public void AddTask(IEditableGoalTask goalTask)
        {
            IWeightedEntity weightedTask = goalTask as IWeightedEntity;

            if (goalTask.PercentCompleted < 0)
            {
                throw new ArgumentOutOfRangeException("Percent cannot be a negative value.");
            }

            if (goalTask.PercentCompleted > 100)
            {
                throw new ArgumentOutOfRangeException("Percent value cannot exceed 100.");
            }

            if (weightedTask.Weighting <= 0)
            {
                throw new ArgumentOutOfRangeException("Cannot add a task with an invalid weighting");
            }

            if (weightedTask.Weighting > 100)
            {
                throw new ArgumentOutOfRangeException("Cannot add a task with an invalid weighting");
            }

            goalTasks.Add(goalTask);
            progressCalculator.Add(goalTask as IWeightedEntity);
        }
Ejemplo n.º 2
0
        public void Goal_Existing_Has_SetState_Via_Constructor()
        {
            IEditableGoalTask[] goalTasks = new IEditableGoalTask[]
            {
                new Mock <IEditableGoalTask>().Object,
                new Mock <IEditableGoalTask>().Object
            };

            Goal goal = new Goal(goalTasks);

            Assert.AreEqual(2, goal.TaskCount);
            Assert.AreEqual(2, goal.Tasks.Length);
        }