public void UnitTestUpdateBuildNumberInTestXamlActivityUsingWorkflowInvokerWithNoPreviousBuildsMatchingTheNamingConvention() { MockRepository mockRepository = new MockRepository(); Version expectedVersion = UpdateBuildNumber.GetVersionNumber(2, 2, DateTime.Now, 0); string expectedBuildNumber = GetBuildNumberForTest("Acme.PetShop-Trunk-Full", expectedVersion); // Arrange IBuildDetail mockBuildDetailForCurrentBuild = Arrange(mockRepository, new[] { "Acme.PetShop-Trunk-Full" }); // Act mockRepository.ReplayAll(); RunUpdateBuildNumberInTestXamlActivityUsingWorkflowInvoker(new UpdateBuildNumberTestActivity(), mockBuildDetailForCurrentBuild, expectedBuildNumber, expectedVersion.ToString()); // Assert mockRepository.VerifyAll(); }
public void UnitTestUpdateBuildNumberInTestCodeActivityUsingWorkflowApplicationWithAPreviousBuildFromTheSameDay() { MockRepository mockRepository = new MockRepository(); Version previousVersion = UpdateBuildNumber.GetVersionNumber(0, 0, DateTime.Now.Subtract(new TimeSpan(1, 0, 0, 0)), 3); string previousBuildNumber = GetBuildNumberForTest("Acme.PetShop-Trunk-Full", previousVersion); // Arrange IBuildDetail mockBuildDetailForCurrentBuild = Arrange(mockRepository, new[] { previousBuildNumber }); // Act mockRepository.ReplayAll(); RunUpdateBuildNumberInTestCodeActivityUsingWorkflowApplication(mockBuildDetailForCurrentBuild); // Assert mockRepository.VerifyAll(); }
private static void RunUpdateBuildNumberInTestCodeActivityUsingWorkflowApplication(IBuildDetail mockBuildDetail) { // Variables - in Variable <string> buildNumberFormat = new Variable <string>("BuildNumberFormat", "Acme.PetShop-Trunk-Full-{0}"); Variable <int> majorVersion = new Variable <int>("MajorVersion", 1); Variable <int> minorVersion = new Variable <int>("MinorVersion", 0); // Variables - out Variable <string> buildNumber = new Variable <string>("BuildNumber"); Variable <string> versionNumber = new Variable <string>("VersionNumber"); // Activities GetBuildDetail getBuildDetail = new GetBuildDetail(); UpdateBuildNumber updateBuildNumber = new UpdateBuildNumber { BuildNumberFormat = buildNumberFormat, MajorVersion = majorVersion, MinorVersion = minorVersion, BuildNumber = buildNumber, VersionNumber = versionNumber }; // Sequence Sequence sequence = new Sequence(); sequence.Variables.Add(buildNumberFormat); sequence.Variables.Add(majorVersion); sequence.Variables.Add(minorVersion); sequence.Variables.Add(buildNumber); sequence.Variables.Add(versionNumber); sequence.Activities.Add(getBuildDetail); sequence.Activities.Add(updateBuildNumber); // Run WorkflowApplication workflowApplication = new WorkflowApplication(sequence); workflowApplication.Extensions.Add(mockBuildDetail); AutoResetEvent idleEvent = new AutoResetEvent(false); workflowApplication.Completed = delegate(WorkflowApplicationCompletedEventArgs e) { idleEvent.Set(); }; workflowApplication.Run(); idleEvent.WaitOne(); }
public void UnitTestUpdateBuildNumberInTestXamlActivityUsingWorkflowInvokerWithAPreviousBuildFromTheDayBeforeAndChangeMajorMinor() { MockRepository mockRepository = new MockRepository(); Version previousVersion = UpdateBuildNumber.GetVersionNumber(1, 1, DateTime.Now.Subtract(new TimeSpan(1, 0, 0, 0)), 9); Version expectedVersion = UpdateBuildNumber.GetVersionNumber(2, 2, DateTime.Now, 0); string previousBuildNumber = GetBuildNumberForTest("Acme.PetShop-Trunk-Full", previousVersion); string expectedBuildNumber = GetBuildNumberForTest("Acme.PetShop-Trunk-Full", expectedVersion); // Arrange IBuildDetail mockBuildDetailForCurrentBuild = Arrange(mockRepository, new[] { previousBuildNumber }); // Act mockRepository.ReplayAll(); RunUpdateBuildNumberInTestXamlActivityUsingWorkflowInvoker(new UpdateBuildNumberTestActivity(), mockBuildDetailForCurrentBuild, expectedBuildNumber, expectedVersion.ToString()); // Assert mockRepository.VerifyAll(); }
private static void RunUpdateBuildNumberInTestCodeActivityUsingWorkflowApplication(IBuildDetail mockBuildDetail) { // Variables - in Variable<string> buildNumberFormat = new Variable<string>("BuildNumberFormat", "Acme.PetShop-Trunk-Full-{0}"); Variable<int> majorVersion = new Variable<int>("MajorVersion", 1); Variable<int> minorVersion = new Variable<int>("MinorVersion", 0); // Variables - out Variable<string> buildNumber = new Variable<string>("BuildNumber"); Variable<string> versionNumber = new Variable<string>("VersionNumber"); // Activities GetBuildDetail getBuildDetail = new GetBuildDetail(); UpdateBuildNumber updateBuildNumber = new UpdateBuildNumber { BuildNumberFormat = buildNumberFormat, MajorVersion = majorVersion, MinorVersion = minorVersion, BuildNumber = buildNumber, VersionNumber = versionNumber }; // Sequence Sequence sequence = new Sequence(); sequence.Variables.Add(buildNumberFormat); sequence.Variables.Add(majorVersion); sequence.Variables.Add(minorVersion); sequence.Variables.Add(buildNumber); sequence.Variables.Add(versionNumber); sequence.Activities.Add(getBuildDetail); sequence.Activities.Add(updateBuildNumber); // Run WorkflowApplication workflowApplication = new WorkflowApplication(sequence); workflowApplication.Extensions.Add(mockBuildDetail); AutoResetEvent idleEvent = new AutoResetEvent(false); workflowApplication.Completed = delegate(WorkflowApplicationCompletedEventArgs e) { idleEvent.Set(); }; workflowApplication.Run(); idleEvent.WaitOne(); }