Ejemplo n.º 1
0
        public Iteration ParseIteration()
        {
            Iteration iteration = new Iteration();
            XmlNode iterationNode = xmlDocument["Iteration"];

            if (iterationNode != null)
            {

                var iterationName = iterationNode.Attributes.GetNamedItem("refObjectName");

                var startDateNode = iterationNode["StartDate"];
                var endDateNode = iterationNode["EndDate"];
                var idNode = iterationNode["ObjectID"];

                iteration.Name = GetStringValueFromNode(iterationName);
                iteration.StartDate = GetDateFromXmlNode(startDateNode);
                iteration.EndDate = GetDateFromXmlNode(endDateNode);
                iteration.SystemId = GetStringValueFromNode(idNode);

            }
            return iteration;
        }
Ejemplo n.º 2
0
        protected static List<ProjectInfoServer> GetMockProjects()
        {
            var iterationStartDate = new DateTime(2009, 7, 28);
            var iterationEndDate = new DateTime(2009, 8, 9);

            var task1 = new Task
            {
                Status = "Defined",
                Name = "Task1",
                WorkEffortEstimate = 10,
                SystemId = "t1 sys ID"
            };
            var task2 = new Task
            {
                Status = "In-Progress",
                Name = "Task2",
                WorkEffortEstimate = 20,
                SystemId = "t2 sys ID"
            };
            var task3 = new Task
            {
                Status = "In-Progress",
                Name = "Task3",
                WorkEffortEstimate = 30,
                SystemId = "t3 sys ID"
            };
            var task4 = new Task
            {
                Status = "Completed",
                Name = "Task4",
                WorkEffortEstimate = 40,
                SystemId = "t4 sys ID"
            };

            List<Task> tasks = new List<Task>();
            tasks.Add(task1);
            tasks.Add(task2);
            tasks.Add(task3);
            tasks.Add(task4);

            tasks[0].AddWorkEffortHistoryItem(new WorkEffortHistoryItem(2, new DateTime(2009, 7, 31)));
            tasks[1].AddWorkEffortHistoryItem(new WorkEffortHistoryItem(5, new DateTime(2009, 7, 31)));
            tasks[2].AddWorkEffortHistoryItem(new WorkEffortHistoryItem(15, new DateTime(2009, 7, 31)));
            tasks[3].AddWorkEffortHistoryItem(new WorkEffortHistoryItem(25, new DateTime(2009, 7, 31)));

            Iteration iteration = new Iteration
            {
                EndDate = iterationEndDate,
                Name = "Sprint 3",
                StartDate = iterationStartDate,
                SystemId = "iteration sys ID"
            };
            iteration.Tasks = tasks;

            Project mockProject = new Project
            {
                Name = "Smeedee",
                SystemId = "project sys ID"
            };

            mockProject.AddIteration(iteration);

            var server = new ProjectInfoServer("Mock server", "http://mock.url");
            server.AddProject(mockProject);
            
            return new List<ProjectInfoServer>{server};
        }
Ejemplo n.º 3
0
 private static void SetParentsforTasks(IList<Task> tasks)
 {
     ProjectInfoServer server = new ProjectInfoServer();
     server.Url = "url";
     Project project = new Project();
     project.SystemId = "11";
     Iteration iteration = new Iteration();
     iteration.SystemId = "15";
     iteration.Tasks = tasks;
     project.AddIteration(iteration);
     server.AddProject(project);
 }
Ejemplo n.º 4
0
 public void UpdateDaysRemaining(IEnumerable<DayOfWeek> nonWorkingDays)
 {
     var today = DateTime.Now.Date;
     int calculatedDaysRemaning = new Iteration(today, EndDate).CalculateWorkingdaysLeft(today, Holidays, nonWorkingDays).Days;
     DaysRemaining = calculatedDaysRemaning.ToString();
 }
        private void AssertIteration(Iteration actual, Iteration expected)
        {
            Console.WriteLine("AssertIteration");

            actual.ShouldNotBeNull();
            actual.Project.ShouldNotBeNull();
            actual.Project.SystemId.ShouldBe(expected.Project.SystemId);
            actual.StartDate.ToString(DATE_FORMAT).
                ShouldBe(expected.StartDate.ToString(DATE_FORMAT));
            actual.EndDate.ToString(DATE_FORMAT).
                ShouldBe(expected.EndDate.ToString(DATE_FORMAT));
            actual.Name.ShouldBe(actual.Name);
            actual.SystemId.ShouldBe(expected.SystemId);

            actual.Tasks.ShouldNotBeNull();
            actual.Tasks.Count().ShouldBe(expected.Tasks.Count());


        }
Ejemplo n.º 6
0
        public void should_have_equals_method()
        {
            Scenario.StartNew(this, scenario =>
            {
                scenario.Given(iteration_has_been_created)
                    .And(project_and_projectInfoServer_has_been_created)
                        .And(project_is_added_to_server)
                            .And(iteration_is_added_to_project);

                scenario.When("the iteration is compared to another");

                scenario.Then("the equals method should return true only if they have the same hashCode", () =>
                {
                    var otherIteration = new Iteration();
                    project.AddIteration(otherIteration);
                    otherIteration.SystemId = iteration.SystemId;

                    iteration.Equals(otherIteration).ShouldBeTrue();
                });
            });
        }
Ejemplo n.º 7
0
        public void iteration_should_have_unique_hash_code()
        {
            
            Scenario.StartNew(this, scenario =>
            {
                scenario.Given(iteration_has_been_created)
                    .And(project_and_projectInfoServer_has_been_created)
                        .And(project_is_added_to_server)
                            .And(iteration_is_added_to_project);

                scenario.When("the hashcode of a iteration object is requested");

                scenario.Then("then a unique hashcode should be returned", ()=>
                {
                    var otherIteration = new Iteration();
                    project.AddIteration(otherIteration);

                    otherIteration.SystemId = Guid.NewGuid().ToString();
                    
                    iteration.GetHashCode().ShouldNotBe(otherIteration.GetHashCode());
                });
            });
        
        }
Ejemplo n.º 8
0
        private void SetCurrentIteration()
        {
            foreach (Iteration iteration in Iterations)
            {
                bool afterStartDate = iteration.StartDate.CompareTo(DateTime.Now) < 0;
                bool beforeEndDate = (iteration.EndDate.CompareTo(DateTime.Now) > 0);

                if (afterStartDate && beforeEndDate)
                    currentIteration = iteration;
            }
            if (currentIteration == null && internalIterations.Count > 0)
                currentIteration = GetPreviousIteration();

            lastCurrentIterationSetCall = DateTime.Now.Date;
        }
        private void SetupObjectGraph()
        {
            server = new ProjectInfoServer()
            {
                Name = "RallyDev",
                Url = "http://community.rally.com"
            };

            #region Project setup

            var project1 = new Project()
            {
                Name = TESTPROJECTNAME_ONE,
                SystemId = "project1",
            };
            server.AddProject(project1);

            var project2 = new Project()
            {
                Name = TESTPROJECTNAME_TWO,
                SystemId = "project2",
            };
            server.AddProject(project2);

            #endregion

            #region Iteration setup

            var iteration1 = new Iteration()
            {
                Name = TESTITERATIONNAME_ONE,
                SystemId = "iteration1",
            };
            project1.AddIteration(iteration1);

            var iteration2 = new Iteration()
            {
                Name = TESTITERATIONNAME_TWO,
                SystemId = "iteration2",
            };
            project2.AddIteration(iteration2);

            #endregion

            #region Task setup

            var task1 = new Task()
            {
                Name = TESTTASKNAME_ONE,
                SystemId = "task1",
                WorkEffortEstimate = 1
            };
            iteration1.AddTask(task1);

            var task2 = new Task()
            {
                Name = TESTTASKNAME_TWO,
                SystemId = "task2",
                WorkEffortEstimate = 2,
            };
            iteration2.AddTask(task2);

            #endregion

            #region WorkEffortHistoryItem setup

            var wehi_1_1 = new WorkEffortHistoryItem()
            {
                RemainingWorkEffort = 11,
                TimeStampForUpdate = new DateTime(2009, 01, 01)
            };
            task1.AddWorkEffortHistoryItem(wehi_1_1);

            var wehi_1_2 = new WorkEffortHistoryItem()
            {
                RemainingWorkEffort = 12,
                TimeStampForUpdate = new DateTime(2009, 01, 02)
            };
            task1.AddWorkEffortHistoryItem(wehi_1_2);

            var wehi_2_1 = new WorkEffortHistoryItem()
            {
                RemainingWorkEffort = 21,
                TimeStampForUpdate = new DateTime(2009, 02, 01)
            };
            task2.AddWorkEffortHistoryItem(wehi_2_1);

            var wehi_2_2 = new WorkEffortHistoryItem()
            {
                RemainingWorkEffort = 22,
                TimeStampForUpdate = new DateTime(2009, 02, 02)
            };
            task2.AddWorkEffortHistoryItem(wehi_2_2);

            #endregion
        }
Ejemplo n.º 10
0
 public virtual void AddIteration(Iteration newIteration)
 {
     newIteration.Project = this;
     internalIterations.Add(newIteration);
     Iterations = internalIterations;
 }
Ejemplo n.º 11
0
        public void should_automatically_set_current_iteration_as_next_iteration_if_no_current_iteration_and_no_previuos_iteration()
        {
            Scenario.StartNew(this, scenario =>
            {
                scenario.Given(project_and_projectInfoServer_has_been_created)
                    .And(project_is_added_to_server);

                scenario.When("there are more then one Iteration to be added");
                scenario.Then("if none of them span over todays date and there are no previuos Iterations the current Iteration should be set to the closest next Iteration", () =>
                {
                    var iteration1 = new Iteration();
                    var iteration2 = new Iteration();
                    var iteration3 = new Iteration();


                    iteration2.StartDate = DateTime.Now.AddDays(11);
                    iteration2.EndDate = DateTime.Now.AddDays(16);

                    iteration1.StartDate = DateTime.Now.AddDays(5);
                    iteration1.EndDate = DateTime.Now.AddDays(10);

                    iteration3.StartDate = DateTime.Now.AddDays(17);
                    iteration3.EndDate = DateTime.Now.AddDays(20);

                    project.AddIteration(iteration2);
                    project.AddIteration(iteration1);
                    project.AddIteration(iteration3);

                    project.CurrentIteration.ShouldBe(iteration1);
                });
            });
        }
Ejemplo n.º 12
0
        public void should_automatically_set_current_iteration()
        {
            Scenario.StartNew(this, scenario =>
            {
                scenario.Given(project_and_projectInfoServer_has_been_created)
                    .And(project_is_added_to_server);

                scenario.When("there are more then one Iteration to be added");
                scenario.Then("the Iteration which spans over todays date is set as current Iteration" , ()=>
                {
                    var iteration1 = new Iteration();
                    var iteration2 = new Iteration();

                    iteration1.StartDate = DateTime.Now.AddDays(-5);
                    iteration1.EndDate = DateTime.Now.AddDays(5);

                    iteration2.StartDate = DateTime.Now.AddDays(6);
                    iteration2.EndDate = DateTime.Now.AddDays(12);

                    project.AddIteration(iteration1);
                    project.AddIteration(iteration2);

                    project.CurrentIteration.ShouldBe(iteration1);
                });
            });
        }
Ejemplo n.º 13
0
        public void should_set_Project_reference_on_Iteration()
        {
            Scenario.StartNew(this, scenario =>
            {
                scenario.Given(project_and_projectInfoServer_has_been_created)
                    .And(project_is_added_to_server);

                scenario.When("an Iteration is added");

                scenario.Then(
                    "the Project property on the Iteration object should point to the current Project", () =>
                    {
                        var iteration = new Iteration();
                        project.AddIteration(iteration);
                        
                        iteration.Project.Name.ShouldBe(project.Name);
                    });
            });
        }
Ejemplo n.º 14
0
        public void should_be_able_to_add_Iterations()
        {
            Scenario.StartNew(this, scenario =>
            {
                scenario.Given(project_and_projectInfoServer_has_been_created)
                    .And(project_is_added_to_server);

                scenario.When("Iterations are to be added");

                scenario.Then("the iterations are stored in a list", ()=>
                {
                    var iteration1 = new Iteration();
                    project.AddIteration(iteration1);
                    var iteration2 = project.CurrentIteration;
                    project.AddIteration(iteration2);
                    iteration1.ShouldBe(iteration2);
                });
            });
        }