예제 #1
0
        public void DsfMultiAssignActivity_GetForEachInputs_Normal_UpdateSuccessful()
        {
            //------------Setup for test--------------------------
            var fieldsCollection = new List <ActivityDTO>
            {
                new ActivityDTO("[[rs(*).val]]", "[[result]]", 1),
            };

            var act = new DsfDotNetMultiAssignActivity {
                FieldsCollection = fieldsCollection
            };

            //------------Execute Test---------------------------

            var inputs = act.GetForEachInputs();

            //------------Assert Results-------------------------

            Assert.AreEqual("[[rs(*).val]]", inputs[0].Name);
            Assert.AreEqual("[[result]]", inputs[0].Value);
        }
예제 #2
0
        public void DsfDotnetMultiAssignActivity_GetState_Returns_Input_And_Outputs()
        {
            //------------Setup for test--------------------------
            var fieldsCollection = new List <ActivityDTO>
            {
                new ActivityDTO("[[rs(*).val]]", "[[result]]", 1),
            };
            var act = new DsfDotNetMultiAssignActivity {
                FieldsCollection = fieldsCollection
            };
            //------------Execute Test---------------------------
            var stateItems = act.GetState();

            Assert.AreEqual(1, stateItems.Count());
            var expectedResults = new[]
            {
                new StateVariable
                {
                    Name  = "Fields Collection",
                    Type  = StateVariable.StateType.InputOutput,
                    Value = ActivityHelper.GetSerializedStateValueFromCollection(fieldsCollection)
                }
            };

            var iter = act.GetState().Select(
                (item, index) => new
            {
                value       = item,
                expectValue = expectedResults[index]
            }
                );

            //------------Assert Results-------------------------
            foreach (var entry in iter)
            {
                Assert.AreEqual(entry.expectValue.Name, entry.value.Name);
                Assert.AreEqual(entry.expectValue.Type, entry.value.Type);
                Assert.AreEqual(entry.expectValue.Value, entry.value.Value);
            }
        }
예제 #3
0
        public void ActivityParser_ParseToLinkedFlatList()
        {
            var topLevelActivity = new DsfDotNetMultiAssignActivity
            {
                DisplayName = "Assign (1)",
                UniqueID    = "d006a409-333a-49d3-8e1c-7c908f6ba461",
            };

            var suspendExecutionActivityOne = new SuspendExecutionActivity
            {
                DisplayName = "Suspend Execution",
                UniqueID    = "66b7c885-9ea4-4d75-b822-13ff5ef28128",
            };

            topLevelActivity.NextNodes = new List <IDev2Activity> {
                suspendExecutionActivityOne
            };

            var dev2DecisionStackOne = new Dev2DecisionStack {
                DisplayText = "If [[a]] Is = 2"
            };
            var flowDecisionActivityOne = new DsfDecision
            {
                DisplayName = "If [[a]] Is = 2",
                UniqueID    = "1764efe9-4e0e-423a-8510-b35dc9b053f4",
                NextNodes   = null,
                Conditions  = dev2DecisionStackOne
            };

            var fileWriteActivityOne = new FileWriteActivity
            {
                DisplayName = "Write File",
                UniqueID    = "8e35adbf-d0c4-443b-ab04-2a83ca1aaa62",
            };

            flowDecisionActivityOne.TrueArm = new [] { fileWriteActivityOne };

            var flowDecisionActivityOneFalseArmAssign = new DsfDotNetMultiAssignActivity
            {
                DisplayName = "Assign (1)",
                UniqueID    = "23b599b7-49f4-40a8-8304-f034d227d3dd",
            };

            var flowDecisionActivityOneFalseArmFileWrite = new FileWriteActivity
            {
                DisplayName = "Write File",
                UniqueID    = "baad2ce3-371b-4fec-81f4-0da4112078c8",
            };

            flowDecisionActivityOneFalseArmAssign.NextNodes = new List <IDev2Activity> {
                flowDecisionActivityOneFalseArmFileWrite
            };
            flowDecisionActivityOneFalseArmFileWrite.NextNodes = new List <IDev2Activity> {
                suspendExecutionActivityOne
            };

            flowDecisionActivityOne.FalseArm = new [] { flowDecisionActivityOneFalseArmAssign };

            suspendExecutionActivityOne.NextNodes = new List <IDev2Activity> {
                flowDecisionActivityOne
            };

            var suspendExecutionActivityTwo = new SuspendExecutionActivity
            {
                DisplayName = "Suspend Execution",
                UniqueID    = "f72ab5fe-efc9-46c5-8944-f2032f0613eb",
            };

            fileWriteActivityOne.NextNodes = new List <IDev2Activity> {
                suspendExecutionActivityTwo
            };

            var dev2DecisionStackTwo = new Dev2DecisionStack {
                DisplayText = "If [[a]] Is = 4"
            };
            var flowDecisionActivityTwo = new DsfDecision
            {
                DisplayName = "If [[a]] Is = 4",
                UniqueID    = "9ad7861e-6fe8-449f-8640-92147259f919",
                NextNodes   = null,
                Conditions  = dev2DecisionStackTwo
            };

            var fileWriteActivityTwo = new FileWriteActivity
            {
                DisplayName = "Write File",
                UniqueID    = "88deb70e-ad45-4735-8a87-a77f7eb54d83",
            };

            var flowDecisionActivityTwoFalseArmAssign = new DsfDotNetMultiAssignActivity
            {
                DisplayName = "Assign (1)",
                UniqueID    = "c511b3e4-819f-4c38-81f6-6579ae3f52df",
            };

            var flowDecisionActivityTwoFalseArmFileWrite = new FileWriteActivity
            {
                DisplayName = "Write File",
                UniqueID    = "3c477009-7b12-432f-908c-b0ad613e8c57",
            };

            flowDecisionActivityTwoFalseArmAssign.NextNodes = new List <IDev2Activity> {
                flowDecisionActivityTwoFalseArmFileWrite
            };
            flowDecisionActivityTwoFalseArmFileWrite.NextNodes = new List <IDev2Activity> {
                suspendExecutionActivityTwo
            };

            flowDecisionActivityTwo.NextNodes = null;
            flowDecisionActivityTwo.TrueArm   = new [] { fileWriteActivityTwo };
            flowDecisionActivityTwo.FalseArm  = new [] { flowDecisionActivityTwoFalseArmAssign };

            suspendExecutionActivityTwo.NextNodes = new List <IDev2Activity> {
                flowDecisionActivityTwo
            };

            var activityParser = new ActivityParser();
            var activities     = activityParser.ParseToLinkedFlatList(topLevelActivity);

            Assert.IsNotNull(activities);

            var dev2Activities = activities.ToList();

            Assert.AreEqual(13, dev2Activities.Count);
        }