Exemple #1
0
        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();
        }
Exemple #2
0
        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();
        }
Exemple #3
0
        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();
        }
Exemple #4
0
        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();
        }