private void AssertTransition(
			IntegrationStatus initialIntegrationStatus,
			IntegrationStatus nextBuildIntegrationStatus,
			BuildTransition expectedBuildTransition)
		{
			// initial connection
            ProjectStatus status = CreateProjectStatus(initialIntegrationStatus, new DateTime(2004, 1, 1));
            mockProjectManager.ExpectAndReturn("ProjectName", PROJECT_NAME);
            mockServerMonitor.ExpectAndReturn("GetProjectStatus", status, PROJECT_NAME);
			monitor.Poll();

			// then the build
            status = CreateProjectStatus(nextBuildIntegrationStatus, new DateTime(2004, 1, 2));
            mockProjectManager.ExpectAndReturn("ProjectName", PROJECT_NAME);
            mockServerMonitor.ExpectAndReturn("GetProjectStatus", status, PROJECT_NAME);
			monitor.Poll();

			Assert.AreEqual(1, buildOccurredCount);
			Assert.AreEqual(expectedBuildTransition, lastBuildOccurredArgs.BuildTransition);

			buildOccurredCount = 0;
		}
 public BuildOccurredEventArgs(ProjectStatus newProjectStatus, BuildTransition transition)
 {
     ProjectStatus = newProjectStatus;
     BuildTransition = transition;
 }
 public BuildOccurredEventArgs(ProjectStatus newProjectStatus, BuildTransition transition)
 {
     ProjectStatus   = newProjectStatus;
     BuildTransition = transition;
 }