예제 #1
0
        public void SimpleSecretaryWithReturnLineTest()
        {
            IWfProcessDescriptor processDesp = WfProcessTestCommon.CreateSimpleProcessDescriptorWithSecretaryAndReturnLine();

            IWfProcess process = WfProcessTestCommon.StartupProcess(processDesp);

            OutputProcessCandidates(process);
            ReturnExecutorTestHelper.OutputMainStream(process);

            Assert.AreEqual(5, processDesp.Activities.Count);
            Assert.AreEqual(5, process.MainStream.Activities.Count);

            IWfActivity normalActivity = process.Activities.FindActivityByDescriptorKey("NormalActivity");

            IWfActivityDescriptor firstSecretary = normalActivity.Descriptor.FromTransitions.FirstOrDefault().FromActivity;

            Assert.AreEqual(1, firstSecretary.ToTransitions.Count);

            IWfActivityDescriptor secondSecretary = normalActivity.Descriptor.ToTransitions.FirstOrDefault().ToActivity;

            Assert.AreEqual(2, secondSecretary.ToTransitions.Count);

            Assert.AreEqual(2, normalActivity.Descriptor.ToTransitions.Count);

            foreach (IWfTransitionDescriptor transition in normalActivity.Descriptor.ToTransitions)
            {
                Assert.AreEqual(secondSecretary.Key, transition.ToActivity.Key);
            }
        }