Example #1
0
        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));
        }
Example #2
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);
        }
Example #3
0
        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);
		}
Example #6
0
        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);
        }