public void BuildCompletedDuringPollIntervalIfLastBuildDateChanged() { ProjectStatus lastProjectStatus = ProjectStatusFixture.New(IntegrationStatus.Success, new DateTime(2007, 1, 1)); ProjectStatus newProjectStatus = ProjectStatusFixture.New(IntegrationStatus.Success, new DateTime(2007, 1, 2)); PollIntervalReporter pollIntervalReporter = new PollIntervalReporter(lastProjectStatus, newProjectStatus); Assert.IsTrue(pollIntervalReporter.IsAnotherBuildComplete); }
public void LatestBuildWasSuccessfulIfNewProjectStatusIsSuccess() { ProjectStatus lastProjectStatus = ProjectStatusFixture.New(IntegrationStatus.Failure, new DateTime(2007, 1, 1)); ProjectStatus newProjectStatus = ProjectStatusFixture.New(IntegrationStatus.Success, new DateTime(2007, 1, 2)); PollIntervalReporter pollIntervalReporter = new PollIntervalReporter(lastProjectStatus, newProjectStatus); Assert.IsTrue(pollIntervalReporter.WasLatestBuildSuccessful); }
public void SuccessThenFailureMeansBuildIsBroken() { ProjectStatus lastProjectStatus = ProjectStatusFixture.New("last success", IntegrationStatus.Success); ProjectStatus newProjectStatus = ProjectStatusFixture.New("new failed", IntegrationStatus.Failure); PollIntervalReporter pollIntervalReporter = new PollIntervalReporter(lastProjectStatus, newProjectStatus); Assert.AreEqual(BuildTransition.Broken, pollIntervalReporter.BuildTransition); }
public void FailureThenSuccessMeansBuildIsFixed() { ProjectStatus lastProjectStatus = ProjectStatusFixture.New("last failed", IntegrationStatus.Failure); ProjectStatus newProjectStatus = ProjectStatusFixture.New("new success", IntegrationStatus.Success); PollIntervalReporter pollIntervalReporter = new PollIntervalReporter(lastProjectStatus, newProjectStatus); Assert.AreEqual(BuildTransition.Fixed, pollIntervalReporter.BuildTransition); }
public void TwoFailuresMeansBuildIsStillFailing() { ProjectStatus lastProjectStatus = ProjectStatusFixture.New("last failed", IntegrationStatus.Failure); ProjectStatus newProjectStatus = ProjectStatusFixture.New("new failed", IntegrationStatus.Failure); PollIntervalReporter pollIntervalReporter = new PollIntervalReporter(lastProjectStatus, newProjectStatus); Assert.AreEqual(BuildTransition.StillFailing, pollIntervalReporter.BuildTransition); }
public void TwoSuccessesMeansBuildIsStillSuccessful() { ProjectStatus lastProjectStatus = ProjectStatusFixture.New("last successful", IntegrationStatus.Success); ProjectStatus newProjectStatus = ProjectStatusFixture.New("new successful", IntegrationStatus.Success); PollIntervalReporter pollIntervalReporter = new PollIntervalReporter(lastProjectStatus, newProjectStatus); Assert.AreEqual(BuildTransition.StillSuccessful, pollIntervalReporter.BuildTransition); }
public void CallingLatestStatusMessageWhenThereAreNoneIsSafe() { ProjectStatus newProjectStatus = ProjectStatusFixture.New("test project"); newProjectStatus.Messages = new Message[] {}; PollIntervalReporter pollIntervalReporter = new PollIntervalReporter(newProjectStatus, newProjectStatus); Assert.AreEqual(new Message("").ToString(), pollIntervalReporter.AllStatusMessages.ToString()); }
public void BuildStartedIfStatusChangedToBuilding() { ProjectStatus oldProjectStatus = ProjectStatusFixture.New(IntegrationStatus.Success, ProjectActivity.Sleeping); ProjectStatus newProjectStatus = ProjectStatusFixture.New(IntegrationStatus.Success, ProjectActivity.Building); bool result = new PollIntervalReporter(oldProjectStatus, newProjectStatus).HasNewBuildStarted; Assert.IsTrue(result); }
public void BuildStartedIfLastBuildDateHasChangedAndStatusRemainedBuilding() { ProjectStatus oldProjectStatus = ProjectStatusFixture.New(IntegrationStatus.Success, ProjectActivity.Building, new DateTime(2007, 1, 1)); ProjectStatus newProjectStatus = ProjectStatusFixture.New(IntegrationStatus.Success, ProjectActivity.Building, new DateTime(2007, 1, 2)); bool result = new PollIntervalReporter(oldProjectStatus, newProjectStatus).HasNewBuildStarted; Assert.IsTrue(result); }
public void NoBuildIfLastBuildDateIsSameAndStatusIsSame() { DateTime lastBuildDate = new DateTime(2007, 1, 1); ProjectStatus oldProjectStatus = ProjectStatusFixture.New(IntegrationStatus.Success, ProjectActivity.Building, lastBuildDate); ProjectStatus newProjectStatus = ProjectStatusFixture.New(IntegrationStatus.Success, ProjectActivity.Building, lastBuildDate); bool result = new PollIntervalReporter(oldProjectStatus, newProjectStatus).HasNewBuildStarted; Assert.IsFalse(result); oldProjectStatus = ProjectStatusFixture.New(IntegrationStatus.Success, ProjectActivity.Sleeping, lastBuildDate); newProjectStatus = ProjectStatusFixture.New(IntegrationStatus.Success, ProjectActivity.Sleeping, lastBuildDate); result = new PollIntervalReporter(oldProjectStatus, newProjectStatus).HasNewBuildStarted; Assert.IsFalse(result); }
public void AllStatusMessagesReturnsMustReturnThemAll() { Message latestMessage = new Message("latest message"); Message firstMessage = new Message("message"); ProjectStatus oldProjectStatus = ProjectStatusFixture.New("test project"); oldProjectStatus.Messages = new Message[] {}; ProjectStatus newProjectStatus = ProjectStatusFixture.New("test project"); newProjectStatus.Messages = new Message[] { firstMessage, latestMessage }; PollIntervalReporter pollIntervalReporter = new PollIntervalReporter(newProjectStatus, newProjectStatus); System.Text.StringBuilder expected = new System.Text.StringBuilder(); expected.AppendLine(firstMessage.Text); expected.Append(latestMessage.Text); Assert.AreEqual(new Message(expected.ToString()), pollIntervalReporter.AllStatusMessages); }