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);
        }