public void CreateTransitionByTransitionParamsTest() { WfCreateTransitionParamCollection transitionParams = new WfCreateTransitionParamCollection(); WfCreateTransitionParam tp = new WfCreateTransitionParam(); tp.Parameters["Key"] = "T1"; tp.Parameters["Name"] = "Transition1"; tp.Parameters["Condition"] = "Amount > 4000"; Dictionary <string, object>[] variableDicts = new Dictionary <string, object> [1]; variableDicts[0] = new Dictionary <string, object>(); variableDicts[0]["Key"] = "V1"; variableDicts[0]["OriginalType"] = DataType.Int; variableDicts[0]["OriginalValue"] = 10; tp.Parameters["Variables"] = variableDicts; IWfTransitionDescriptor transition = tp.CreateTransition(); Assert.AreEqual(tp.Parameters["Key"], transition.Key); Assert.AreEqual(tp.Parameters["Name"], transition.Name); Assert.AreEqual(tp.Parameters["Condition"], transition.Condition.Expression); Assert.AreEqual(10, transition.Variables.GetValue("V1", 0)); }
public void WfTransitionJsonToCreateTransitionParams() { WfForwardTransitionDescriptor transition1 = new WfForwardTransitionDescriptor("T1"); transition1.Name = "Transition1"; transition1.Condition.Expression = "Amount > 4000"; transition1.Variables.Add(new WfVariableDescriptor("V1", "Shen Zheng")); transition1.Variables.Add(new WfVariableDescriptor("Level", "10", DataType.Int)); WfForwardTransitionDescriptor transition2 = new WfForwardTransitionDescriptor("T2"); transition2.Name = "Transition2"; JSONSerializerExecute.RegisterConverter(typeof(EasyWfForwardTransitionDescriptorConverter)); JSONSerializerExecute.RegisterConverter(typeof(WfConditionDescriptorConverter)); JSONSerializerExecute.RegisterConverter(typeof(EasyWfVariableDescriptorConverter)); string json = JSONSerializerExecute.Serialize(new WfForwardTransitionDescriptor[] { transition1, transition2 }); Console.WriteLine(json); WfCreateTransitionParamCollection transitionParams = new WfCreateTransitionParamCollection(json); Assert.AreEqual(2, transitionParams.Count); Assert.AreEqual(transition1.Key, transitionParams[0].Parameters["Key"]); Assert.AreEqual(transition1.Name, transitionParams[0].Parameters["Name"]); Assert.AreEqual(transition1.Condition.Expression, transitionParams[0].Parameters["Condition"]); Assert.AreEqual(transition2.Key, transitionParams[1].Parameters["Key"]); Assert.AreEqual(transition2.Name, transitionParams[1].Parameters["Name"]); Assert.IsFalse(transitionParams[1].Parameters.ContainsKey("Condition")); Assert.AreEqual(transition1.Variables.Count, ((Dictionary <string, object>[])transitionParams[0].Parameters["Variables"]).Length); }
public void JsonToCreateTransitionParams() { Dictionary <string, object> jsonTemplate = new Dictionary <string, object>(); jsonTemplate["Key"] = "T1"; jsonTemplate["Name"] = "Transition1"; jsonTemplate["Condition"] = "Amount > 4000"; jsonTemplate["DefaultSelect"] = true; Dictionary <string, object>[] variableDicts = new Dictionary <string, object> [1]; variableDicts[0] = new Dictionary <string, object>(); variableDicts[0]["Key"] = "V1"; variableDicts[0]["OriginalType"] = DataType.Int; variableDicts[0]["OriginalValue"] = 10; jsonTemplate["Variables"] = variableDicts; string json = JSONSerializerExecute.Serialize(new Dictionary <string, object>[] { jsonTemplate }); Console.WriteLine(json); WfCreateTransitionParamCollection transitionParams = new WfCreateTransitionParamCollection(json); Assert.AreEqual(1, transitionParams.Count); Assert.AreEqual(jsonTemplate["Key"], transitionParams[0].Parameters["Key"]); Assert.AreEqual(jsonTemplate["Name"], transitionParams[0].Parameters["Name"]); Assert.AreEqual(jsonTemplate["Condition"], transitionParams[0].Parameters["Condition"]); Assert.AreEqual(((Dictionary <string, object>[])jsonTemplate["Variables"]).Length, ((object[])transitionParams[0].Parameters["Variables"]).Length); }
public void JsonToCreateTransitionParams() { Dictionary<string, object> jsonTemplate = new Dictionary<string, object>(); jsonTemplate["Key"] = "T1"; jsonTemplate["Name"] = "Transition1"; jsonTemplate["Condition"] = "Amount > 4000"; jsonTemplate["DefaultSelect"] = true; Dictionary<string, object>[] variableDicts = new Dictionary<string, object>[1]; variableDicts[0] = new Dictionary<string, object>(); variableDicts[0]["Key"] = "V1"; variableDicts[0]["OriginalType"] = DataType.Int; variableDicts[0]["OriginalValue"] = 10; jsonTemplate["Variables"] = variableDicts; string json = JSONSerializerExecute.Serialize(new Dictionary<string, object>[] { jsonTemplate }); Console.WriteLine(json); WfCreateTransitionParamCollection transitionParams = new WfCreateTransitionParamCollection(json); Assert.AreEqual(1, transitionParams.Count); Assert.AreEqual(jsonTemplate["Key"], transitionParams[0].Parameters["Key"]); Assert.AreEqual(jsonTemplate["Name"], transitionParams[0].Parameters["Name"]); Assert.AreEqual(jsonTemplate["Condition"], transitionParams[0].Parameters["Condition"]); Assert.AreEqual(((Dictionary<string, object>[])jsonTemplate["Variables"]).Length, ((object[])transitionParams[0].Parameters["Variables"]).Length); }
public void WfTransitionJsonToCreateTransitionParams() { WfForwardTransitionDescriptor transition1 = new WfForwardTransitionDescriptor("T1"); transition1.Name = "Transition1"; transition1.Condition.Expression = "Amount > 4000"; transition1.Variables.Add(new WfVariableDescriptor("V1", "Shen Zheng")); transition1.Variables.Add(new WfVariableDescriptor("Level", "10", DataType.Int)); WfForwardTransitionDescriptor transition2 = new WfForwardTransitionDescriptor("T2"); transition2.Name = "Transition2"; JSONSerializerExecute.RegisterConverter(typeof(EasyWfForwardTransitionDescriptorConverter)); JSONSerializerExecute.RegisterConverter(typeof(WfConditionDescriptorConverter)); JSONSerializerExecute.RegisterConverter(typeof(EasyWfVariableDescriptorConverter)); string json = JSONSerializerExecute.Serialize(new WfForwardTransitionDescriptor[] { transition1, transition2 }); Console.WriteLine(json); WfCreateTransitionParamCollection transitionParams = new WfCreateTransitionParamCollection(json); Assert.AreEqual(2, transitionParams.Count); Assert.AreEqual(transition1.Key, transitionParams[0].Parameters["Key"]); Assert.AreEqual(transition1.Name, transitionParams[0].Parameters["Name"]); Assert.AreEqual(transition1.Condition.Expression, transitionParams[0].Parameters["Condition"]); Assert.AreEqual(transition2.Key, transitionParams[1].Parameters["Key"]); Assert.AreEqual(transition2.Name, transitionParams[1].Parameters["Name"]); Assert.IsFalse(transitionParams[1].Parameters.ContainsKey("Condition")); Assert.AreEqual(transition1.Variables.Count, ((Dictionary<string, object>[])transitionParams[0].Parameters["Variables"]).Length); }
public void CreateTransitionAndConnectActivitiesTest() { //创建一个三个活动的流程 IWfProcessDescriptor processDesp = WfProcessTestCommon.CreateSimpleProcessDescriptor(); IWfActivityDescriptor normalActDesp = processDesp.Activities["NormalActivity"]; normalActDesp.ToTransitions.RemoveByToActivity(processDesp.CompletedActivity); WfCreateTransitionParamCollection transitionParams = new WfCreateTransitionParamCollection(); WfCreateTransitionParam tp = new WfCreateTransitionParam(); tp.Parameters["Key"] = "T1"; tp.Parameters["Name"] = "Transition1"; tp.CreateTransitionAndConnectActivities(normalActDesp, processDesp.CompletedActivity); processDesp.Output(); Assert.AreEqual(tp.Parameters["Name"], normalActDesp.ToTransitions.FirstOrDefault().Name); }
public void CreateTransitionByTransitionParamsTest() { WfCreateTransitionParamCollection transitionParams = new WfCreateTransitionParamCollection(); WfCreateTransitionParam tp = new WfCreateTransitionParam(); tp.Parameters["Key"] = "T1"; tp.Parameters["Name"] = "Transition1"; tp.Parameters["Condition"] = "Amount > 4000"; Dictionary<string, object>[] variableDicts = new Dictionary<string, object>[1]; variableDicts[0] = new Dictionary<string, object>(); variableDicts[0]["Key"] = "V1"; variableDicts[0]["OriginalType"] = DataType.Int; variableDicts[0]["OriginalValue"] = 10; tp.Parameters["Variables"] = variableDicts; IWfTransitionDescriptor transition = tp.CreateTransition(); Assert.AreEqual(tp.Parameters["Key"], transition.Key); Assert.AreEqual(tp.Parameters["Name"], transition.Name); Assert.AreEqual(tp.Parameters["Condition"], transition.Condition.Expression); Assert.AreEqual(10, transition.Variables.GetValue("V1", 0)); }
public void CreateTransitionAndConnectActivitiesTest() { //创建一个三个活动的流程 IWfProcessDescriptor processDesp = ProcessHelper.CreateSimpleProcessDescriptor(); IWfActivityDescriptor normalActDesp = processDesp.Activities["NormalActivity"]; normalActDesp.ToTransitions.RemoveByToActivity(processDesp.CompletedActivity); WfCreateTransitionParamCollection transitionParams = new WfCreateTransitionParamCollection(); WfCreateTransitionParam tp = new WfCreateTransitionParam(); tp.Parameters["Key"] = "T1"; tp.Parameters["Name"] = "Transition1"; tp.CreateTransitionAndConnectActivities(normalActDesp, processDesp.CompletedActivity); processDesp.OutputEveryActivities(); Assert.AreEqual(tp.Parameters["Name"], normalActDesp.ToTransitions.FirstOrDefault().Name); }