public void BasicAdminDeleteActivityWithMainStreamExecutorTest() { IWfProcess process = WfProcessTestCommon.StartupSimpleProcess(); IWfActivityDescriptor targetDesp = process.Descriptor.Activities["NormalActivity"]; WfAdminDeleteActivityExecutor executor = new WfAdminDeleteActivityExecutor(process.CurrentActivity, targetDesp, true); executor.Execute(); process = WfRuntime.GetProcessByProcessID(process.ID); IWfProcessDescriptor processDesp = process.Descriptor; targetDesp = processDesp.Activities["NormalActivity"]; Assert.IsNull(targetDesp); Assert.AreEqual(0, processDesp.InitialActivity.ToTransitions.Count); Assert.AreEqual(0, processDesp.CompletedActivity.FromTransitions.Count); processDesp = process.MainStream; targetDesp = processDesp.Activities["NormalActivity"]; Assert.IsNull(targetDesp); Assert.AreEqual(0, processDesp.InitialActivity.ToTransitions.Count); Assert.AreEqual(0, processDesp.CompletedActivity.FromTransitions.Count); }
public void BasicAdminDeleteTransitionWithMainStreamExecutorTest() { IWfProcess process = WfProcessTestCommon.StartupSimpleProcess(); IWfActivityDescriptor targetDesp = process.Descriptor.Activities["NormalActivity"]; IWfTransitionDescriptor transitionDesp = targetDesp.ToTransitions.FirstOrDefault(); IWfActivityDescriptor nextActDesp = transitionDesp.ToActivity; WfAdminDeleteTransitionExecutor executor = new WfAdminDeleteTransitionExecutor(process.CurrentActivity, process.Descriptor, transitionDesp, true); executor.Execute(); process = WfRuntime.GetProcessByProcessID(process.ID); IWfProcessDescriptor processDesp = process.Descriptor; targetDesp = processDesp.Activities[targetDesp.Key]; nextActDesp = processDesp.CompletedActivity; Assert.IsNull(targetDesp.ToTransitions.FirstOrDefault()); Assert.IsNull(nextActDesp.FromTransitions.FirstOrDefault()); processDesp = process.MainStream; targetDesp = processDesp.Activities[targetDesp.Key]; nextActDesp = processDesp.CompletedActivity; Assert.IsNull(targetDesp.ToTransitions.FirstOrDefault()); Assert.IsNull(nextActDesp.FromTransitions.FirstOrDefault()); }
public void BasicAdminAddActivityWithMainStreamExecutorTest() { IWfProcess process = WfProcessTestCommon.StartupSimpleProcess(); const string targetName = "修改后的名称"; IWfActivityDescriptor targetDesp = new WfActivityDescriptor(process.Descriptor.FindNotUsedActivityKey(), WfActivityType.NormalActivity); targetDesp.Properties.SetValue("Name", targetName); process.Descriptor.Activities.Add(targetDesp); WfActivityBase.CreateActivityInstance(targetDesp, process); WfAdminAddActivityExecutor executor = new WfAdminAddActivityExecutor(process.CurrentActivity, process, null, targetDesp, true); executor.Execute(); process = WfRuntime.GetProcessByProcessID(process.ID); targetDesp = process.Descriptor.Activities[targetDesp.Key]; Assert.IsNotNull(targetDesp); Assert.AreEqual(targetName, targetDesp.Properties.GetValue("Name", string.Empty)); IWfActivityDescriptor msActDesp = targetDesp.Instance.GetMainStreamActivityDescriptor(); Assert.IsNotNull(msActDesp); Assert.AreEqual(process.MainStream, msActDesp.Process); Assert.AreEqual(targetName, msActDesp.Properties.GetValue("Name", string.Empty)); }
public void BasicAdminAddActivityWithFromActivityExecutorTest() { IWfProcess process = WfProcessTestCommon.StartupSimpleProcess(); const string targetName = "修改后的名称"; IWfActivity fromActivity = process.Activities.FindActivityByDescriptorKey("NormalActivity"); IWfActivityDescriptor targetDesp = new WfActivityDescriptor(process.Descriptor.FindNotUsedActivityKey(), WfActivityType.NormalActivity); targetDesp.Properties.SetValue("Name", targetName); process.Descriptor.Activities.Add(targetDesp); WfActivityBase.CreateActivityInstance(targetDesp, process); WfAdminAddActivityExecutor executor = new WfAdminAddActivityExecutor(process.CurrentActivity, process, fromActivity.Descriptor, targetDesp, false); executor.Execute(); process = WfRuntime.GetProcessByProcessID(process.ID); targetDesp = process.Descriptor.Activities[targetDesp.Key]; Assert.IsNotNull(targetDesp); Assert.AreEqual(targetName, targetDesp.Properties.GetValue("Name", string.Empty)); fromActivity = process.Activities.FindActivityByDescriptorKey("NormalActivity"); Assert.IsNotNull(fromActivity.Descriptor.ToTransitions.GetTransitionByToActivity(targetDesp)); }
public void BasicAdminAddTransitionWithMainStreamExecutorTest() { IWfProcess process = WfProcessTestCommon.StartupSimpleProcess(); const string targetName = "修改后的名称"; IWfActivity fromActivity = process.Activities.FindActivityByDescriptorKey("NormalActivity"); IWfTransitionDescriptor targetDesp = fromActivity.Descriptor.ToTransitions.AddBackwardTransition(process.Descriptor.InitialActivity); targetDesp.Properties.SetValue("Name", targetName); WfAdminAddTransitionExecutor executor = new WfAdminAddTransitionExecutor(process.CurrentActivity, process, targetDesp, true); executor.Execute(); process = WfRuntime.GetProcessByProcessID(process.ID); fromActivity = process.Activities.FindActivityByDescriptorKey("NormalActivity"); targetDesp = fromActivity.Descriptor.ToTransitions.GetTransitionByToActivity(process.Descriptor.InitialActivity); Assert.IsNotNull(targetDesp); Assert.AreEqual(targetName, targetDesp.Properties.GetValue("Name", string.Empty)); IWfActivityDescriptor msFromActDesp = process.MainStream.Activities["NormalActivity"]; IWfActivityDescriptor msToActDesp = process.MainStream.InitialActivity; targetDesp = msFromActDesp.ToTransitions.GetTransitionByToActivity(msToActDesp); Assert.IsNotNull(targetDesp); Assert.AreEqual(targetName, targetDesp.Properties.GetValue("Name", string.Empty)); }
public void BasicEditActivityExecutorTest() { IWfProcess process = WfProcessTestCommon.StartupSimpleProcess(); IWfActivity targetActivity = process.Activities.FindActivityByDescriptorKey("NormalActivity"); const string targetName = "修改后的名称"; targetActivity.Descriptor.Properties.SetValue("Name", targetName); WfEditActivityPropertiesExecutor executor = new WfEditActivityPropertiesExecutor(process.CurrentActivity, process, targetActivity.Descriptor, false); executor.Execute(); process = WfRuntime.GetProcessByProcessID(process.ID); targetActivity = process.Activities.FindActivityByDescriptorKey("NormalActivity"); Assert.AreEqual(targetName, targetActivity.Descriptor.Properties.GetValue("Name", string.Empty)); UserOperationLog log = UserOperationLogAdapter.Instance.Load(builder => builder.AppendItem("ACTIVITY_ID", process.CurrentActivity.ID)).FirstOrDefault(); Assert.IsNotNull(log); Console.WriteLine("{0}: {1}", log.OperationName, log.Subject); }
public void BasicEditActivityWithMainStreamExecutorTest() { IWfProcess process = WfProcessTestCommon.StartupSimpleProcess(); IWfActivity targetActivity = process.Activities.FindActivityByDescriptorKey("NormalActivity"); const string targetName = "修改后的名称"; targetActivity.Descriptor.Properties.SetValue("Name", targetName); WfEditActivityPropertiesExecutor executor = new WfEditActivityPropertiesExecutor(process.CurrentActivity, process, targetActivity.Descriptor, true); executor.Execute(); process = WfRuntime.GetProcessByProcessID(process.ID); IWfActivityDescriptor msActDesp = process.Activities.FindActivityByDescriptorKey("NormalActivity").GetMainStreamActivityDescriptor(); Assert.AreEqual(targetName, msActDesp.Properties.GetValue("Name", string.Empty)); Assert.IsTrue(msActDesp.IsMainStreamActivity); }
public void BasicEditProcessWithMainStreamExecutorTest() { IWfProcess process = WfProcessTestCommon.StartupSimpleProcess(); const string targetName = "修改后的名称"; process.Descriptor.Properties.SetValue("Name", targetName); WfEditProcessPropertiesExecutor executor = new WfEditProcessPropertiesExecutor(process.CurrentActivity, process, process.Descriptor, true); executor.Execute(); process = WfRuntime.GetProcessByProcessID(process.ID); Assert.AreEqual(targetName, process.Descriptor.Properties.GetValue("Name", string.Empty)); IWfProcessDescriptor msProcessDesp = process.MainStream; Assert.AreEqual(targetName, msProcessDesp.Properties.GetValue("Name", string.Empty)); Assert.IsTrue(msProcessDesp.IsMainStream); }