public void EditActivityConditionExecutorTest() { WfConverterHelper.RegisterConverters(); IWfProcess process = WfProcessTestCommon.StartupSimpleProcessDescriptorWithActivityCondition(); IWfActivity targetActivity = process.Activities.FindActivityByDescriptorKey("NormalActivity"); const string targetCondition = "Amount > 5000000"; targetActivity.Descriptor.Condition.Expression = targetCondition; targetActivity.Descriptor.Properties["Condition"].StringValue = JSONSerializerExecute.Serialize(targetActivity.Descriptor.Condition); WfEditActivityPropertiesExecutor executor = new WfEditActivityPropertiesExecutor(process.CurrentActivity, process, targetActivity.Descriptor, true); executor.Execute(); process = WfRuntime.GetProcessByProcessID(process.ID); targetActivity = process.Activities.FindActivityByDescriptorKey("NormalActivity"); Assert.AreEqual(targetCondition, targetActivity.Descriptor.Condition.Expression); IWfActivityDescriptor msActDesp = process.Activities.FindActivityByDescriptorKey("NormalActivity").GetMainStreamActivityDescriptor(); Console.WriteLine(msActDesp.Condition.Expression); Assert.AreEqual(targetCondition, msActDesp.Condition.Expression); }