Пример #1
0
        public void AgreeReturnTwiceThenWithdrawTest()
        {
            IWfActivity activityB = ReturnExecutorTestHelper.PrepareAndMoveToAgreeSelectorActivity();

            Assert.AreEqual("B", activityB.Descriptor.Key);

            SetToLineAndMSLineSelected(activityB, "C", false);
            SetToLineAndMSLineSelected(activityB, "A", true);

            Console.WriteLine("退回之前");
            Console.WriteLine("当前活动{0}", activityB.Process.CurrentActivity.Descriptor.Key);
            activityB.Process.OutputMainStream();
            activityB.Process.OutputEveryActivities();

            MoveAgreeProcessOneStepAndValidate(activityB.Process, 1);

            activityB.Process.MoveToNextDefaultActivity();      //To N2(B)

            Console.WriteLine("第二次退回之前");
            Console.WriteLine("当前活动{0}", activityB.Process.CurrentActivity.Descriptor.Key);
            activityB.Process.OutputMainStream();
            activityB.Process.OutputEveryActivities();

            Assert.AreEqual("N2", activityB.Process.CurrentActivity.Descriptor.Key);

            MoveAgreeProcessOneStepAndValidate(activityB.Process, 2);

            Console.WriteLine("第二次退回之后");
            Console.WriteLine("当前活动{0}", activityB.Process.CurrentActivity.Descriptor.Key);
            activityB.Process.OutputMainStream();
            activityB.Process.OutputEveryActivities();

            Assert.AreEqual("N3", activityB.Process.CurrentActivity.Descriptor.Key);
        }
Пример #2
0
        public void AgreeReturnTwiceTest()
        {
            IWfActivity activityB = ReturnExecutorTestHelper.PrepareAndMoveToAgreeSelectorActivity();

            Assert.AreEqual("B", activityB.Descriptor.Key);

            SetToLineAndMSLineSelected(activityB, "C", false);
            SetToLineAndMSLineSelected(activityB, "A", true);

            Console.WriteLine("第一次退回之前,不同意");
            activityB.Process.OutputMainStream();
            activityB.Process.OutputEveryActivities();

            MoveAgreeProcessAndValidate(activityB.Process, 1);

            Console.WriteLine("第二次退回之前,同意");
            activityB.Process.OutputMainStream();
            activityB.Process.OutputEveryActivities();

            MoveAgreeProcessAndValidate(activityB.Process, 2);

            Console.WriteLine("第二次退回之后,同意");
            activityB.Process.OutputMainStream();
            activityB.Process.OutputEveryActivities();

            activityB.Process.ValidateMainStreamActivities("A", "B", "C", "D", "F");
        }
Пример #3
0
        public void AgreeReturnOnceThenWithdrawTest()
        {
            IWfActivity activityB = ReturnExecutorTestHelper.PrepareAndMoveToAgreeSelectorActivity();

            Assert.AreEqual("B", activityB.Descriptor.Key);

            SetToLineAndMSLineSelected(activityB, "C", false);
            SetToLineAndMSLineSelected(activityB, "A", true);

            Console.WriteLine("退回之前");
            Console.WriteLine("当前活动{0}", activityB.Process.CurrentActivity.Descriptor.Key);
            activityB.Process.OutputMainStream();
            activityB.Process.OutputEveryActivities();

            MoveAgreeProcessOneStepAndValidate(activityB.Process, 1);

            Console.WriteLine("撤回之前");
            Console.WriteLine("当前活动{0}", activityB.Process.CurrentActivity.Descriptor.Key);
            activityB.Process.OutputMainStream();
            activityB.Process.OutputEveryActivities();

            IWfProcess process = activityB.Process.WithdrawByExecutor();

            activityB.Process.OutputEveryActivities();

            Console.WriteLine("撤回之后");
            Console.WriteLine("当前活动{0}", process.CurrentActivity.Descriptor.Key);
            process.OutputMainStream();
            process.OutputEveryActivities();

            //activityB.Process.Descriptor.Output();

            //ReturnExecutorTestHelper.ValidateMainStreamActivities(activityB.Process, "A", "B", "C", "D", "F");
        }