Exemplo n.º 1
0
        public void ObservableMessages_MemberEstimated_ScrumTeamMemberMessage()
        {
            // Arrange
            var target = new AzurePlanningPokerController();

            target.EndInitialization();
            var messages = new List <ScrumTeamMessage>();
            var teamLock = target.CreateScrumTeam("test", "master");

            teamLock.Team.ScrumMaster.StartEstimation();

            // Act
            target.ObservableMessages.Subscribe(m => messages.Add(m));
            teamLock.Team.ScrumMaster.Estimation = new Estimation(3.0);
            target.Dispose();

            // Verify
            Assert.AreEqual <int>(2, messages.Count);
            Assert.AreEqual <MessageType>(MessageType.MemberEstimated, messages[0].MessageType);
            Assert.AreEqual <string>("test", messages[0].TeamName);
            Assert.IsInstanceOfType(messages[0], typeof(ScrumTeamMemberEstimationMessage));
            var memberMessage = (ScrumTeamMemberEstimationMessage)messages[0];

            Assert.AreEqual <string>("master", memberMessage.MemberName);
            Assert.AreEqual <double?>(3.0, memberMessage.Estimation);
        }
Exemplo n.º 2
0
        public void CreateScrumteam_TeamNameIsInInitializationTeamList_ArgumentException()
        {
            // Arrange
            var target = new AzurePlanningPokerController();

            target.SetTeamsInitializingList(new string[] { "test" });

            // Act
            target.CreateScrumTeam("test", "master");
        }
Exemplo n.º 3
0
        public void CreateScrumteam_InitializationTimeout_Exception()
        {
            // Arrange
            var configuration = new AzurePlanningPokerConfigurationElement()
            {
                InitializationTimeout = 1
            };
            var target = new AzurePlanningPokerController(null, configuration, null);

            // Act
            target.CreateScrumTeam("test", "master");
        }
Exemplo n.º 4
0
        public void CreateScrumteam_AfterInitialization_CreatesNewTeam()
        {
            // Arrange
            var target = new AzurePlanningPokerController();

            target.EndInitialization();

            // Act
            var result = target.CreateScrumTeam("test", "master");

            // Verify
            Assert.IsNotNull(result);
            Assert.IsNotNull(result.Team);
            Assert.AreEqual <string>("test", result.Team.Name);
            Assert.AreEqual <string>("master", result.Team.ScrumMaster.Name);
        }
Exemplo n.º 5
0
        public void CreateScrumteam_InitializationTeamListIsNotSet_WaitForInitializationTeamList()
        {
            // Arrange
            var target = new AzurePlanningPokerController();

            // Act
            var task = Task.Factory.StartNew <IScrumTeamLock>(() => target.CreateScrumTeam("test", "master"));

            Assert.IsFalse(task.IsCompleted);
            Thread.Sleep(50);
            Assert.IsFalse(task.IsCompleted);
            target.SetTeamsInitializingList(Enumerable.Empty <string>());
            Assert.IsTrue(task.Wait(1000));

            // Verify
            Assert.IsNotNull(task.Result);
        }
Exemplo n.º 6
0
        public void ObservableMessages_TeamCreated_ScrumTeamCreatedMessage()
        {
            // Arrange
            var target = new AzurePlanningPokerController();

            target.EndInitialization();
            var messages = new List <ScrumTeamMessage>();

            // Act
            target.ObservableMessages.Subscribe(m => messages.Add(m));
            target.CreateScrumTeam("test", "master");
            target.Dispose();

            // Verify
            Assert.AreEqual <int>(1, messages.Count);
            Assert.AreEqual <MessageType>(MessageType.TeamCreated, messages[0].MessageType);
            Assert.AreEqual <string>("test", messages[0].TeamName);
        }
Exemplo n.º 7
0
        public void GetScrumTeam_AfterInitialization_GetsExistingTeam()
        {
            // Arrange
            var target = new AzurePlanningPokerController();

            target.EndInitialization();
            ScrumTeam team;

            using (var teamLock = target.CreateScrumTeam("test team", "master"))
            {
                team = teamLock.Team;
            }

            // Act
            var result = target.GetScrumTeam("test team");

            // Verify
            Assert.AreEqual <ScrumTeam>(team, result.Team);
        }