Exemplo n.º 1
0
        public void Set_Review_Should_Throw_SecurityException_In_FinishedState_When_Added_By_Someone_Else_But_ScrumMaster()
        {
            // Arrange

            Project       project = new Project("Test Project", new Person("Bas", ERole.Lead));
            SprintFactory factory = new SprintFactory();

            Person p1 = new Person("Tom", ERole.Developer);
            Person p2 = new Person("Jan Peter", ERole.Tester);

            ISprint sprint = factory.MakeReviewSprint("Sprint 1", DateTime.Now, DateTime.Now.AddDays(14), project, p1, new List <Person>()
            {
                p2
            });

            project.AddSprint(sprint);
            sprint.GetState().ToNextState();
            sprint.GetState().ToNextState();

            Review review = new Review(sprint, p2, "Good work guys!");

            // Act

            // Assert
            Assert.Throws <SecurityException>(() => project.GetSprints().First().GetState().SetReview(review));
        }
Exemplo n.º 2
0
        public void Changing_To_Previous_State_Should_Not_Throw_Exception_In_FinishedState()
        {
            // Arrange

            Project       project = new Project("Test Project", new Person("Bas", ERole.Lead));
            SprintFactory factory = new SprintFactory();

            Person p1 = new Person("Tom", ERole.Developer);
            Person p2 = new Person("Jan Peter", ERole.Tester);

            ISprint sprint = factory.MakeReviewSprint("Sprint 1", DateTime.Now, DateTime.Now.AddDays(14), project, p1, new List <Person>()
            {
                p2
            });

            project.AddSprint(sprint);
            sprint.GetState().ToNextState();
            sprint.GetState().ToNextState();

            // Act
            project.GetSprints().First().GetState().ToPreviousState();


            // Assert
            Assert.Equal("ActiveState", project.GetSprints().First().GetState().GetType().Name);
        }
Exemplo n.º 3
0
        public void Adding_Developer_Should_Not_Throw_Exception_In_InitializedState()
        {
            // Arrange

            Project       project = new Project("Test Project", new Person("Bas", ERole.Lead));
            SprintFactory factory = new SprintFactory();

            Person p1 = new Person("Tom", ERole.Developer);
            Person p2 = new Person("Jan Peter", ERole.Tester);
            Person p3 = new Person("Dick Bruna", ERole.Developer);

            ISprint sprint = factory.MakeReviewSprint("Sprint 1", DateTime.Parse("2010-10-10T00:00:00Z"), DateTime.Parse("2010-10-10T00:00:00Z").AddDays(14), project, p1, new List <Person>()
            {
                p2
            });

            project.AddSprint(sprint);

            // Act
            sprint.GetState().AddDeveloper(p3);


            // Assert
            Assert.Contains(p3, sprint.GetDevelopers());
        }
Exemplo n.º 4
0
        public void Adding_Developer_Should_Throw_NotSupportedException_In_FinishedState()
        {
            // Arrange

            Project       project = new Project("Test Project", new Person("Bas", ERole.Lead));
            SprintFactory factory = new SprintFactory();

            Person p1 = new Person("Tom", ERole.Developer);
            Person p2 = new Person("Jan Peter", ERole.Tester);
            Person p3 = new Person("Dick Bruna", ERole.Developer);

            ISprint sprint = factory.MakeReviewSprint("Sprint 1", DateTime.Parse("2010-10-10T00:00:00Z"), DateTime.Parse("2010-10-10T00:00:00Z").AddDays(14), project, p1, new List <Person>()
            {
                p2
            });

            project.AddSprint(sprint);
            sprint.GetState().ToNextState();
            sprint.GetState().ToNextState();

            // Act

            // Assert
            Assert.Throws <NotSupportedException>(() => project.GetSprints().First().GetState().AddDeveloper(p3));
            Assert.DoesNotContain(p3, sprint.GetDevelopers());
        }
Exemplo n.º 5
0
        public void Changing_SprintName_Should_Throw_NotSupportedException_In_ActiveState()
        {
            // Arrange

            Project       project = new Project("Test Project", new Person("Bas", ERole.Lead));
            SprintFactory factory = new SprintFactory();

            Person p1 = new Person("Tom", ERole.Developer);
            Person p2 = new Person("Jan Peter", ERole.Tester);

            ISprint sprint = factory.MakeReviewSprint("Sprint 1", DateTime.Now, DateTime.Now.AddDays(14), project, p1, new List <Person>()
            {
                p2
            });

            project.AddSprint(sprint);
            sprint.GetState().ToNextState();
            // Act
            // Assert
            Assert.Throws <NotSupportedException>(() => project.GetSprints().First().GetState().SetName("Foo"));
        }
Exemplo n.º 6
0
        public void Changing_SprintName_Should_Not_Throw_Exception_In_InitializedState()
        {
            // Arrange

            Project       project = new Project("Test Project", new Person("Bas", ERole.Lead));
            SprintFactory factory = new SprintFactory();

            Person p1 = new Person("Tom", ERole.Developer);
            Person p2 = new Person("Jan Peter", ERole.Tester);

            ISprint sprint = factory.MakeReviewSprint("Sprint 1", DateTime.Now, DateTime.Now.AddDays(14), project, p1, new List <Person>()
            {
                p2
            });

            project.AddSprint(sprint);
            // Act

            sprint.GetState().SetName("foo");

            // Assert
            Assert.Equal("foo", project.GetSprints().First().GetName());
        }
Exemplo n.º 7
0
        public void Set_Review_Should_Throw_NotSupportedException_In_InitializedState()
        {
            // Arrange

            Project       project = new Project("Test Project", new Person("Bas", ERole.Lead));
            SprintFactory factory = new SprintFactory();

            Person p1 = new Person("Tom", ERole.Developer);
            Person p2 = new Person("Jan Peter", ERole.Tester);

            ISprint sprint = factory.MakeReviewSprint("Sprint 1", DateTime.Now, DateTime.Now.AddDays(14), project, p1, new List <Person>()
            {
                p2
            });

            project.AddSprint(sprint);

            Review review = new Review(sprint, p1, "No good");

            // Act

            // Assert
            Assert.Throws <NotSupportedException>(() => project.GetSprints().First().GetState().SetReview(review));
        }
Exemplo n.º 8
0
        public void TestPipeline_Should_Fire_When_ReviewSprint_Reaches_FinishedState()
        {
            // Arrange

            Project       project = new Project("Test Project", new Person("Bas", ERole.Lead));
            SprintFactory factory = new SprintFactory();

            Person p1 = new Person("Tom", ERole.Developer);
            Person p2 = new Person("Jan Peter", ERole.Tester);

            ISprint sprint = factory.MakeReviewSprint("Sprint 1", DateTime.Now, DateTime.Now.AddDays(14), project, p1,
                                                      new List <Person>()
            {
                p2
            });

            project.AddSprint(sprint);
            sprint.GetState().ToNextState();
            sprint.GetState().ToNextState();

            // Act
            sprint.GetState().StartStateAction();
            // Assert
        }
Exemplo n.º 9
0
        public void Generating_A_Report_Should_Not_Throw_Exception()
        {
            // Arrange

            Project       project = new Project("Test Project", new Person("Bas", ERole.Lead));
            SprintFactory factory = new SprintFactory();

            Person p1 = new Person("Tom", ERole.Developer);
            Person p2 = new Person("Jan Peter", ERole.Tester);

            ISprint sprint = factory.MakeReviewSprint("Sprint 1", DateTime.Now, DateTime.Now.AddDays(14), project, p1, new List <Person>()
            {
                p2
            });
            ISprint sprint2 = factory.MakeReleaseSprint("Sprint 2", DateTime.Now, DateTime.Now.AddDays(14), project, p1, new List <Person>()
            {
                p2
            });

            project.AddSprint(sprint);
            project.AddSprint(sprint2);

            // Act
            DateTime now = DateTime.Now;
            Report   sprint1GeneratedAvansReport = sprint.GenerateReport(EReportBranding.Avans, new List <string>()
            {
                "Burndown chart: foo", "Velocity: 21"
            }, "v1.0", now, EReportFormat.PDF);
            Report sprint1GeneratedAvansPlusReport = sprint.GenerateReport(EReportBranding.AvansPlus, new List <string>()
            {
                "Burndown chart: bar", "Velocity: 13"
            }, "v2.0", now, EReportFormat.PNG);


            Report sprint2GeneratedAvansReport = sprint.GenerateReport(EReportBranding.Avans, new List <string>()
            {
                "Burndown chart: foo", "Velocity: 21"
            }, "v1.0", now, EReportFormat.PDF);
            Report sprint2GeneratedAvansPlusReport = sprint.GenerateReport(EReportBranding.AvansPlus, new List <string>()
            {
                "Burndown chart: bar", "Velocity: 13"
            }, "v2.0", now, EReportFormat.PNG);


            // Assert
            Assert.Equal(now, sprint1GeneratedAvansReport.Header.Date);
            Assert.Equal("Avans", sprint1GeneratedAvansReport.Header.CompanyName);
            Assert.Equal(new List <string>()
            {
                "Burndown chart: foo", "Velocity: 21"
            }, sprint1GeneratedAvansReport.Contents);
            Assert.Equal("v1.0", sprint1GeneratedAvansReport.Header.ReportVersion);
            Assert.Equal(EReportFormat.PDF, sprint1GeneratedAvansReport.Format);

            Assert.Equal(now, sprint1GeneratedAvansPlusReport.Header.Date);
            Assert.Equal("Avans+", sprint1GeneratedAvansPlusReport.Header.CompanyName);
            Assert.Equal(new List <string>()
            {
                "Burndown chart: bar", "Velocity: 13"
            }, sprint2GeneratedAvansPlusReport.Contents);
            Assert.Equal("v2.0", sprint1GeneratedAvansPlusReport.Header.ReportVersion);
            Assert.Equal(EReportFormat.PNG, sprint1GeneratedAvansPlusReport.Format);

            Assert.Equal(now, sprint2GeneratedAvansReport.Header.Date);
            Assert.Equal("Avans", sprint2GeneratedAvansReport.Header.CompanyName);
            Assert.Equal(new List <string>()
            {
                "Burndown chart: foo", "Velocity: 21"
            }, sprint2GeneratedAvansReport.Contents);
            Assert.Equal("v1.0", sprint2GeneratedAvansReport.Header.ReportVersion);
            Assert.Equal(EReportFormat.PDF, sprint1GeneratedAvansReport.Format);

            Assert.Equal(now, sprint2GeneratedAvansPlusReport.Header.Date);
            Assert.Equal("Avans+", sprint2GeneratedAvansPlusReport.Header.CompanyName);
            Assert.Equal(new List <string>()
            {
                "Burndown chart: bar", "Velocity: 13"
            }, sprint2GeneratedAvansPlusReport.Contents);
            Assert.Equal("v2.0", sprint2GeneratedAvansPlusReport.Header.ReportVersion);
            Assert.Equal(EReportFormat.PNG, sprint2GeneratedAvansPlusReport.Format);
        }