public void SelectAndApplyActivity_SetupExecute_GivenNumberFormatTool_ToCorrectFormat()
        {
            var activity = new DsfNumberFormatActivity
            {
                Expression            = "[[result]]",
                Result                = "[[result]]",
                RoundingType          = enRoundingType.Up.GetDescription(),
                RoundingDecimalPlaces = "2",
                DecimalPlacesToShow   = "2"
            };


            //------------Setup for test--------------------------
            SetupArgumentsForFormatNumber("", "", activity);
            //------------Execute Test---------------------------
            ExecuteProcess(DataObject);
            //------------Assert Results-------------------------
            var ages = DataObject.Environment.EvalAsListOfStrings("[[Person(*).Age]]", 0);

            Assert.AreEqual("5.27", ages[0]);
            Assert.AreEqual("2.30", ages[1]);
            Assert.AreEqual("1.00", ages[2]);
            Assert.AreEqual("-3.46", ages[3]);
            Assert.AreEqual("0.88", ages[4]);
        }
Example #2
0
        public void GivenItContainsFormatNumberAs(string parentName, string activityName, Table table)
        {
            var activity = new DsfNumberFormatActivity {
                DisplayName = activityName
            };

            foreach (var tableRow in table.Rows)
            {
                var number              = tableRow["Number"];
                var roundTo             = tableRow["Rounding To"];
                var roundingType        = tableRow["Rounding Selected"];
                var decimalPlacesToShow = tableRow["Decimal to show"];
                var result              = tableRow["Result"];

                _commonSteps.AddVariableToVariableList(result);

                activity.Expression            = number;
                activity.RoundingType          = roundingType;
                activity.RoundingDecimalPlaces = roundTo;
                activity.DecimalPlacesToShow   = decimalPlacesToShow;
                activity.Result = result;
            }

            _commonSteps.AddActivityToActivityList(parentName, activityName, activity);
        }
Example #3
0
        public void DsfNumberFormatActivity_GetForEachInputs_WhenHasExpression_ReturnsInputList()
        {
            //------------Setup for test--------------------------
            const string expression            = "[[Numeric(1).num]]";
            const string roundingType          = "Up";
            const string result                = "[[res]]";
            const string roundingDecimalPlaces = "2";
            const string decimalPlacesToShow   = "2";
            var          act = new DsfNumberFormatActivity {
                Expression = expression, RoundingType = roundingType, RoundingDecimalPlaces = roundingDecimalPlaces, DecimalPlacesToShow = decimalPlacesToShow, Result = result
            };

            //------------Execute Test---------------------------
            var dsfForEachItems = act.GetForEachInputs();

            //------------Assert Results-------------------------
            Assert.AreEqual(4, dsfForEachItems.Count);
            Assert.AreEqual(expression, dsfForEachItems[0].Name);
            Assert.AreEqual(expression, dsfForEachItems[0].Value);
            Assert.AreEqual(roundingType, dsfForEachItems[1].Name);
            Assert.AreEqual(roundingType, dsfForEachItems[1].Value);
            Assert.AreEqual(roundingDecimalPlaces, dsfForEachItems[2].Name);
            Assert.AreEqual(roundingDecimalPlaces, dsfForEachItems[2].Value);
            Assert.AreEqual(decimalPlacesToShow, dsfForEachItems[3].Name);
            Assert.AreEqual(decimalPlacesToShow, dsfForEachItems[3].Value);
        }
Example #4
0
        public void DsfNumberFormatActivity_UpdateForEachInputs_MoreThan1Updates_Updates()
        {
            //------------Setup for test--------------------------
            const string expression            = "[[Numeric(1).num]]";
            const string roundingType          = "Up";
            const string result                = "[[res]]";
            const string roundingDecimalPlaces = "2";
            const string decimalPlacesToShow   = "3";
            var          act = new DsfNumberFormatActivity {
                Expression = expression, RoundingType = roundingType, RoundingDecimalPlaces = roundingDecimalPlaces, DecimalPlacesToShow = decimalPlacesToShow, Result = result
            };

            var tuple1 = new Tuple <string, string>(expression, "Test");
            var tuple2 = new Tuple <string, string>(roundingType, "Test2");
            var tuple3 = new Tuple <string, string>(roundingDecimalPlaces, "Test3");
            var tuple4 = new Tuple <string, string>(decimalPlacesToShow, "Test4");

            //------------Execute Test---------------------------
            act.UpdateForEachInputs(new List <Tuple <string, string> > {
                tuple1, tuple2, tuple3, tuple4
            });
            //------------Assert Results-------------------------
            Assert.AreEqual("Test2", act.RoundingType);
            Assert.AreEqual("Test", act.Expression);
            Assert.AreEqual("Test3", act.RoundingDecimalPlaces);
            Assert.AreEqual("Test4", act.DecimalPlacesToShow);
        }
Example #5
0
        public void GivenIUseANumberFormatToolConfiguredAs(Table table)
        {
            var numberFormatActivity = new DsfNumberFormatActivity();

            numberFormatActivity.Expression            = table.Rows[0]["Number"];
            numberFormatActivity.DecimalPlacesToShow   = table.Rows[0]["Decimals to show"];
            numberFormatActivity.RoundingType          = table.Rows[0]["Rounding"];
            numberFormatActivity.RoundingDecimalPlaces = table.Rows[0]["Rounding Value"];
            numberFormatActivity.Result = table.Rows[0]["Result"];

            scenarioContext.Add("innerActivity", numberFormatActivity);
        }
        protected override void BuildDataList()
        {
            List <Tuple <string, string> > variableList;

            scenarioContext.TryGetValue("variableList", out variableList);

            if (variableList == null)
            {
                variableList = new List <Tuple <string, string> >();
                scenarioContext.Add("variableList", variableList);
            }

            var    resultVariable = ResultVariable;
            string resVar;

            if (scenarioContext.TryGetValue("resVar", out resVar))
            {
                resultVariable = resVar;
            }
            variableList.Add(new Tuple <string, string>(resultVariable, ""));
            BuildShapeAndTestData();

            string number;

            scenarioContext.TryGetValue("number", out number);
            string roundingType;

            scenarioContext.TryGetValue("rounding", out roundingType);
            string roundingDecimalPlaces;

            scenarioContext.TryGetValue("to", out roundingDecimalPlaces);
            string decimalToShow;

            scenarioContext.TryGetValue("decimalToShow", out decimalToShow);

            var numberFormat = new DsfNumberFormatActivity
            {
                Result                = resultVariable,
                Expression            = number,
                RoundingType          = roundingType,
                RoundingDecimalPlaces = roundingDecimalPlaces,
                DecimalPlacesToShow   = decimalToShow
            };

            TestStartNode = new FlowStep
            {
                Action = numberFormat
            };
            scenarioContext.Add("activity", numberFormat);
        }
Example #7
0
        public void DsfNumberFormatActivity_UpdateForEachOutputs_NullUpdates_DoesNothing()
        {
            //------------Setup for test--------------------------
            const string expression            = "[[Numeric(1).num]]";
            const string roundingType          = "Up";
            const string result                = "[[res]]";
            const string roundingDecimalPlaces = "2";
            const string decimalPlacesToShow   = "2";
            var          act = new DsfNumberFormatActivity {
                Expression = expression, RoundingType = roundingType, RoundingDecimalPlaces = roundingDecimalPlaces, DecimalPlacesToShow = decimalPlacesToShow, Result = result
            };

            act.UpdateForEachOutputs(null);
            //------------Assert Results-------------------------
            Assert.AreEqual(result, act.Result);
        }
        public void SelectAndApplyActivity_SetupExecute_GivenNumberFormatTool_ToCorrectFormat_ComplexObjects()
        {
            var activity = new DsfNumberFormatActivity
            {
                Expression            = "[[result]]",
                Result                = "[[result]]",
                RoundingType          = enRoundingType.Up.GetDescription(),
                RoundingDecimalPlaces = "2",
                DecimalPlacesToShow   = "2"
            };


            //------------Setup for test--------------------------
            //SetupArgumentsForFormatNumber("", "", activity);
            DataObject.Environment = new ExecutionEnvironment();
            DataObject.Environment.AssignJson(new AssignValue("[[@Person().Age]]", "5.2687454"), 0);
            DataObject.Environment.AssignJson(new AssignValue("[[@Person().Age]]", "2.3"), 0);
            DataObject.Environment.AssignJson(new AssignValue("[[@Person().Age]]", "1"), 0);
            DataObject.Environment.AssignJson(new AssignValue("[[@Person().Age]]", "-3.4554"), 0);
            DataObject.Environment.AssignJson(new AssignValue("[[@Person().Age]]", "0.875768"), 0);
            const string dataSource = "[[@Person(*).Age]]";
            const string alias      = "[[result]]";
            var          dsfSelectAndApplyActivity = new DsfSelectAndApplyActivity
            {
                DataSource = dataSource,
                Alias      = alias,
                //ApplyActivity = activity
            };

            dsfSelectAndApplyActivity.ApplyActivityFunc.Handler = activity;
            TestStartNode = new FlowStep
            {
                Action = dsfSelectAndApplyActivity
            };
            CurrentDl = string.Empty;
            TestData  = string.Empty;
            //------------Execute Test---------------------------
            ExecuteProcess(DataObject);
            //------------Assert Results-------------------------
            var ages = DataObject.Environment.EvalAsListOfStrings("[[@Person(*).Age]]", 0);

            Assert.AreEqual("5.27", ages[0]);
            Assert.AreEqual("2.30", ages[1]);
            Assert.AreEqual("1.00", ages[2]);
            Assert.AreEqual("-3.46", ages[3]);
            Assert.AreEqual("0.88", ages[4]);
        }
        public void GetActivityFieldsOffDsfNumberFormatActivityExpectedAllFindMissingFieldsToBeReturned()
        {
            DsfNumberFormatActivity activity = new DsfNumberFormatActivity();

            activity.Expression            = "[[Expression]]";
            activity.RoundingDecimalPlaces = "[[RoundingDecimalPlaces]]";
            activity.DecimalPlacesToShow   = "[[DecimalPlacesToShow]]";
            activity.Result = "[[Result]]";
            Dev2FindMissingStrategyFactory fac      = new Dev2FindMissingStrategyFactory();
            IFindMissingStrategy           strategy = fac.CreateFindMissingStrategy(enFindMissingType.StaticActivity);
            List <string> actual   = strategy.GetActivityFields(activity);
            List <string> expected = new List <string> {
                "[[Expression]]", "[[RoundingDecimalPlaces]]", "[[DecimalPlacesToShow]]", "[[Result]]"
            };

            CollectionAssert.AreEqual(expected, actual);
        }
        public void Dev2FindMissingStrategyFactory_GetActivityFieldsOff_DsfNumberFormat_Activity_ExpectAllFindMissingFieldsToBeReturned()
        {
            var activity = new DsfNumberFormatActivity
            {
                Expression            = "[[Expression]]",
                RoundingDecimalPlaces = "[[RoundingDecimalPlaces]]",
                DecimalPlacesToShow   = "[[DecimalPlacesToShow]]",
                Result = "[[Result]]"
            };
            var fac      = new Dev2FindMissingStrategyFactory();
            var strategy = fac.CreateFindMissingStrategy(enFindMissingType.StaticActivity);
            var actual   = strategy.GetActivityFields(activity);
            var expected = new List <string> {
                "[[Expression]]", "[[RoundingDecimalPlaces]]", "[[DecimalPlacesToShow]]", "[[Result]]"
            };

            CollectionAssert.AreEqual(expected, actual);
        }
Example #11
0
        public void DsfBaseActivity_GetOutputs_Called_ShouldReturnListWithResultValueInIt()
        {
            //------------Setup for test--------------------------
            const string expression            = "[[Numeric(1).num]]";
            const string roundingType          = "Up";
            const string result                = "[[res]]";
            const string roundingDecimalPlaces = "2";
            const string decimalPlacesToShow   = "2";
            var          act = new DsfNumberFormatActivity {
                Expression = expression, RoundingType = roundingType, RoundingDecimalPlaces = roundingDecimalPlaces, DecimalPlacesToShow = decimalPlacesToShow, Result = result
            };

            //------------Execute Test---------------------------
            var outputs = act.GetOutputs();

            //------------Assert Results-------------------------
            Assert.AreEqual(1, outputs.Count);
            Assert.AreEqual("[[res]]", outputs[0]);
        }
        public void SelectAndApplyActivity_SetupExecute_GivenNumberFormatTool_ToDifferentResult()
        {
            var activity = new DsfNumberFormatActivity
            {
                Expression            = "[[result]]",
                Result                = "[[b]]",
                RoundingType          = enRoundingType.Up.GetDescription(),
                RoundingDecimalPlaces = "2",
                DecimalPlacesToShow   = "2"
            };


            //------------Setup for test--------------------------
            SetupArgumentsForFormatNumber("", "", activity);
            //------------Execute Test---------------------------
            ExecuteProcess(DataObject);
            //------------Assert Results-------------------------
            var ages       = DataObject.Environment.EvalAsListOfStrings("[[Person(*).Age]]", 0);
            var evalAsList = DataObject.Environment.EvalAsList("[[b]]", 1);
        }
Example #13
0
        public void Equals_Given_EmptyActivityTools_AreEqual()
        {
            //---------------Set up test pack-------------------
            var uniqueId = Guid.NewGuid().ToString();
            var activity = new DsfNumberFormatActivity()
            {
                UniqueID = uniqueId
            };
            var activity1 = new DsfNumberFormatActivity()
            {
                UniqueID = uniqueId
            };

            //---------------Assert Precondition----------------
            Assert.IsNotNull(activity);
            //---------------Execute Test ----------------------
            var @equals = activity.Equals(activity1);

            //---------------Test Result -----------------------
            Assert.IsTrue(@equals);
        }
Example #14
0
        public void Equals_Given_DisplayName_Different_DisplayName_Is_Not_Equal()
        {
            //---------------Set up test pack-------------------
            var uniqueId  = Guid.NewGuid().ToString();
            var activity1 = new DsfNumberFormatActivity()
            {
                UniqueID = uniqueId, DisplayName = "A"
            };
            var activity = new DsfNumberFormatActivity()
            {
                UniqueID = uniqueId, DisplayName = "ass"
            };

            //---------------Assert Precondition----------------
            Assert.IsNotNull(activity1);
            //---------------Execute Test ----------------------
            var @equals = activity1.Equals(activity);

            //---------------Test Result -----------------------
            Assert.IsFalse(@equals);
        }
Example #15
0
        public void DsfNumberFormatActivity_UpdateForEachOutputs_1Updates_UpdateCommandResult()
        {
            //------------Setup for test--------------------------
            const string expression            = "[[Numeric(1).num]]";
            const string roundingType          = "Up";
            const string result                = "[[res]]";
            const string roundingDecimalPlaces = "2";
            const string decimalPlacesToShow   = "2";
            var          act = new DsfNumberFormatActivity {
                Expression = expression, RoundingType = roundingType, RoundingDecimalPlaces = roundingDecimalPlaces, DecimalPlacesToShow = decimalPlacesToShow, Result = result
            };

            var tuple1 = new Tuple <string, string>("[[res]]", "Test");

            //------------Execute Test---------------------------
            act.UpdateForEachOutputs(new List <Tuple <string, string> > {
                tuple1
            });
            //------------Assert Results-------------------------
            Assert.AreEqual("Test", act.Result);
        }
Example #16
0
        public void Equals_Given_DecimalPlacesToShow_Same_DecimalPlacesToShow_IsEqual()
        {
            //---------------Set up test pack-------------------
            var uniqueId  = Guid.NewGuid().ToString();
            var activity1 = new DsfNumberFormatActivity()
            {
                UniqueID = uniqueId, DecimalPlacesToShow = "a"
            };
            var activity = new DsfNumberFormatActivity()
            {
                UniqueID = uniqueId, DecimalPlacesToShow = "a"
            };

            //---------------Assert Precondition----------------
            Assert.IsNotNull(activity1);
            //---------------Execute Test ----------------------
            var @equals = activity1.Equals(activity);

            //---------------Test Result -----------------------
            Assert.IsTrue(@equals);
        }
        public void SelectAndApplyActivity_SetupExecute_GivenNullDataSource_DataObjectsHasCorrectErrors()
        {
            var activity = new DsfNumberFormatActivity
            {
                Expression            = "[[result]]",
                Result                = "[[result]]",
                RoundingType          = enRoundingType.Up.GetDescription(),
                RoundingDecimalPlaces = "2",
                DecimalPlacesToShow   = "2"
            };


            //------------Setup for test--------------------------
            //SetupArgumentsForFormatNumber("", "", activity);
            DataObject.Environment = new ExecutionEnvironment();
            DataObject.Environment.AssignJson(new AssignValue("[[@Person().Age]]", "5.2687454"), 0);
            DataObject.Environment.AssignJson(new AssignValue("[[@Person().Age]]", "2.3"), 0);
            DataObject.Environment.AssignJson(new AssignValue("[[@Person().Age]]", "1"), 0);
            DataObject.Environment.AssignJson(new AssignValue("[[@Person().Age]]", "-3.4554"), 0);
            DataObject.Environment.AssignJson(new AssignValue("[[@Person().Age]]", "0.875768"), 0);
            var dsfSelectAndApplyActivity = new DsfSelectAndApplyActivity();

            dsfSelectAndApplyActivity.ApplyActivityFunc.Handler = activity;
            TestStartNode = new FlowStep
            {
                Action = dsfSelectAndApplyActivity
            };
            CurrentDl = string.Empty;
            TestData  = string.Empty;
            //------------Execute Test---------------------------
            ExecuteProcess(DataObject);
            //------------Assert Results-------------------------
            var errors = DataObject.Environment.Errors;

            Assert.AreEqual(2, errors.Count);
            Assert.IsTrue(errors.Contains(ErrorResource.DataSourceEmpty));
            Assert.IsTrue(errors.Contains(string.Format(ErrorResource.CanNotBeEmpty, "Alias")));
        }
        protected override void BuildDataList()
        {
            List<Tuple<string, string>> variableList;
            ScenarioContext.Current.TryGetValue("variableList", out variableList);

            if(variableList == null)
            {
                variableList = new List<Tuple<string, string>>();
                ScenarioContext.Current.Add("variableList", variableList);
            }

            variableList.Add(new Tuple<string, string>(ResultVariable, ""));
            BuildShapeAndTestData();

            string number;
            ScenarioContext.Current.TryGetValue("number", out number);
            string roundingType;
            ScenarioContext.Current.TryGetValue("rounding", out roundingType);
            string roundingDecimalPlaces;
            ScenarioContext.Current.TryGetValue("to", out roundingDecimalPlaces);
            string decimalToShow;
            ScenarioContext.Current.TryGetValue("decimalToShow", out decimalToShow);

            var numberFormat = new DsfNumberFormatActivity
                {
                    Result = ResultVariable,
                    Expression = number,
                    RoundingType = roundingType,
                    RoundingDecimalPlaces = roundingDecimalPlaces,
                    DecimalPlacesToShow = decimalToShow
                };

            TestStartNode = new FlowStep
                {
                    Action = numberFormat
                };
            ScenarioContext.Current.Add("activity", numberFormat);
        }
        public void ForEachDesignerViewModel_MultipleItems_ModelItemsFormatListOfModelItemActivities_AddedToSequence()
        {
            //------------Setup for test--------------------------
            var modelItem      = CreateModelItem();
            var viewModel      = new ForeachDesignerViewModel(modelItem);
            var assignActivity = new DsfMultiAssignActivity();
            var gatherSystemInformationActivity = new DsfGatherSystemInformationActivity();
            var numberFormatActivity            = new DsfNumberFormatActivity();
            var dataObject = new DataObject("ModelItemsFormat", new List <ModelItem> {
                ModelItemUtils.CreateModelItem(gatherSystemInformationActivity), ModelItemUtils.CreateModelItem(assignActivity), ModelItemUtils.CreateModelItem(numberFormatActivity)
            });
            //------------Execute Test---------------------------
            bool multipleItemsToSequence = viewModel.MultipleItemsToSequence(dataObject);

            //------------Assert Results-------------------------
            Assert.IsTrue(multipleItemsToSequence);
            //            var dsfSequenceActivity = multipleItemsToSequence.GetCurrentValue() as DsfSequenceActivity;
            //            Assert.IsNotNull(dsfSequenceActivity);
            //            Assert.AreEqual(3, dsfSequenceActivity.Activities.Count);
            //            Assert.AreEqual(gatherSystemInformationActivity, dsfSequenceActivity.Activities[0]);
            //            Assert.AreEqual(assignActivity, dsfSequenceActivity.Activities[1]);
            //            Assert.AreEqual(numberFormatActivity, dsfSequenceActivity.Activities[2]);
        }
 public void GetActivityFieldsOffDsfNumberFormatActivityExpectedAllFindMissingFieldsToBeReturned()
 {
     DsfNumberFormatActivity activity = new DsfNumberFormatActivity();
     activity.Expression = "[[Expression]]";
     activity.RoundingDecimalPlaces = "[[RoundingDecimalPlaces]]";
     activity.DecimalPlacesToShow = "[[DecimalPlacesToShow]]";
     activity.Result = "[[Result]]";
     Dev2FindMissingStrategyFactory fac = new Dev2FindMissingStrategyFactory();
     IFindMissingStrategy strategy = fac.CreateFindMissingStrategy(enFindMissingType.StaticActivity);
     List<string> actual = strategy.GetActivityFields(activity);
     List<string> expected = new List<string> { "[[Expression]]", "[[RoundingDecimalPlaces]]", "[[DecimalPlacesToShow]]", "[[Result]]" };
     CollectionAssert.AreEqual(expected, actual);
 }
        public void DsfNumberFormatActivity_UpdateForEachInputs_MoreThan1Updates_Updates()
        {
            //------------Setup for test--------------------------
            const string expression = "[[Numeric(1).num]]";
            const string roundingType = "Up";
            const string result = "[[res]]";
            const string roundingDecimalPlaces = "2";
            const string decimalPlacesToShow = "3";
            var act = new DsfNumberFormatActivity { Expression = expression, RoundingType = roundingType, RoundingDecimalPlaces = roundingDecimalPlaces, DecimalPlacesToShow = decimalPlacesToShow, Result = result };

            var tuple1 = new Tuple<string, string>(expression, "Test");
            var tuple2 = new Tuple<string, string>(roundingType, "Test2");
            var tuple3 = new Tuple<string, string>(roundingDecimalPlaces, "Test3");
            var tuple4 = new Tuple<string, string>(decimalPlacesToShow, "Test4");
            //------------Execute Test---------------------------
            act.UpdateForEachInputs(new List<Tuple<string, string>> { tuple1, tuple2, tuple3, tuple4 });
            //------------Assert Results-------------------------
            Assert.AreEqual("Test2", act.RoundingType);
            Assert.AreEqual("Test", act.Expression);
            Assert.AreEqual("Test3", act.RoundingDecimalPlaces);
            Assert.AreEqual("Test4", act.DecimalPlacesToShow);
        }
        public void DsfNumberFormatActivity_UpdateForEachOutputs_NullUpdates_DoesNothing()
        {
            //------------Setup for test--------------------------
            const string expression = "[[Numeric(1).num]]";
            const string roundingType = "Up";
            const string result = "[[res]]";
            const string roundingDecimalPlaces = "2";
            const string decimalPlacesToShow = "2";
            var act = new DsfNumberFormatActivity { Expression = expression, RoundingType = roundingType, RoundingDecimalPlaces = roundingDecimalPlaces, DecimalPlacesToShow = decimalPlacesToShow, Result = result };

            act.UpdateForEachOutputs(null);
            //------------Assert Results-------------------------
            Assert.AreEqual(result, act.Result);
        }
        public void DsfNumberFormatActivity_UpdateForEachOutputs_1Updates_UpdateCommandResult()
        {
            //------------Setup for test--------------------------
            const string expression = "[[Numeric(1).num]]";
            const string roundingType = "Up";
            const string result = "[[res]]";
            const string roundingDecimalPlaces = "2";
            const string decimalPlacesToShow = "2";
            var act = new DsfNumberFormatActivity { Expression = expression, RoundingType = roundingType, RoundingDecimalPlaces = roundingDecimalPlaces, DecimalPlacesToShow = decimalPlacesToShow, Result = result };

            var tuple1 = new Tuple<string, string>("[[res]]", "Test");
            //------------Execute Test---------------------------
            act.UpdateForEachOutputs(new List<Tuple<string, string>> { tuple1 });
            //------------Assert Results-------------------------
            Assert.AreEqual("Test", act.Result);
        }
        public void DsfNumberFormatActivity_GetForEachOutputs_WhenHasResult_ReturnsOutputList()
        {
            //------------Setup for test--------------------------
            const string expression = "[[Numeric(1).num]]";
            const string roundingType = "Up";
            const string result = "[[res]]";
            const string roundingDecimalPlaces = "2";
            const string decimalPlacesToShow = "2";
            var act = new DsfNumberFormatActivity { Expression = expression, RoundingType = roundingType, RoundingDecimalPlaces = roundingDecimalPlaces, DecimalPlacesToShow = decimalPlacesToShow, Result = result };

            //------------Execute Test---------------------------
            var dsfForEachItems = act.GetForEachOutputs();
            //------------Assert Results-------------------------
            Assert.AreEqual(1, dsfForEachItems.Count);
            Assert.AreEqual(result, dsfForEachItems[0].Name);
            Assert.AreEqual(result, dsfForEachItems[0].Value);
        }
 public void ForEachDesignerViewModel_MultipleItems_ModelItemsFormatListOfModelItemActivities_AddedToSequence()
 {
     //------------Setup for test--------------------------
     var modelItem = CreateModelItem();
     var viewModel = new ForeachDesignerViewModel(modelItem);
     var assignActivity = new DsfMultiAssignActivity();
     var gatherSystemInformationActivity = new DsfGatherSystemInformationActivity();
     var numberFormatActivity = new DsfNumberFormatActivity();
     var dataObject = new DataObject("ModelItemsFormat", new List<ModelItem> { ModelItemUtils.CreateModelItem(gatherSystemInformationActivity), ModelItemUtils.CreateModelItem(assignActivity), ModelItemUtils.CreateModelItem(numberFormatActivity) });
     //------------Execute Test---------------------------
     bool multipleItemsToSequence = viewModel.MultipleItemsToSequence(dataObject);
     //------------Assert Results-------------------------
     Assert.IsTrue(multipleItemsToSequence);
     //            var dsfSequenceActivity = multipleItemsToSequence.GetCurrentValue() as DsfSequenceActivity;
     //            Assert.IsNotNull(dsfSequenceActivity);
     //            Assert.AreEqual(3, dsfSequenceActivity.Activities.Count);
     //            Assert.AreEqual(gatherSystemInformationActivity, dsfSequenceActivity.Activities[0]);
     //            Assert.AreEqual(assignActivity, dsfSequenceActivity.Activities[1]);
     //            Assert.AreEqual(numberFormatActivity, dsfSequenceActivity.Activities[2]);
 }
        public void DsfNumberFormatActivity_GetState_ReturnsStateVariable()
        {
            //---------------Set up test pack-------------------
            const string expression            = "[[Numeric(1).num]]";
            const string roundingType          = "Up";
            const string result                = "[[res]]";
            const string roundingDecimalPlaces = "2";
            const string decimalPlacesToShow   = "2";
            //------------Setup for test--------------------------
            var act = new DsfNumberFormatActivity {
                Expression = expression, RoundingType = roundingType, RoundingDecimalPlaces = roundingDecimalPlaces, DecimalPlacesToShow = decimalPlacesToShow, Result = result
            };
            //------------Execute Test---------------------------
            var stateItems = act.GetState();

            Assert.AreEqual(5, stateItems.Count());

            var expectedResults = new[]
            {
                new StateVariable
                {
                    Name  = "Expression",
                    Type  = StateVariable.StateType.Input,
                    Value = expression
                },
                new StateVariable
                {
                    Name  = "RoundingType",
                    Type  = StateVariable.StateType.Input,
                    Value = roundingType
                },
                new StateVariable
                {
                    Name  = "RoundingDecimalPlaces",
                    Type  = StateVariable.StateType.Input,
                    Value = roundingDecimalPlaces
                },
                new StateVariable
                {
                    Name  = "DecimalPlacesToShow",
                    Type  = StateVariable.StateType.Input,
                    Value = decimalPlacesToShow
                },
                new StateVariable
                {
                    Name  = "Result",
                    Type  = StateVariable.StateType.Output,
                    Value = result
                }
            };

            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);
            }
        }
        public void GivenItContainsFormatNumberAs(string parentName, string activityName, Table table)
        {
            var activity = new DsfNumberFormatActivity { DisplayName = activityName };
            foreach(var tableRow in table.Rows)
            {
                var number = tableRow["Number"];
                var roundTo = tableRow["Rounding To"];
                var roundingType = tableRow["Rounding Selected"];
                var decimalPlacesToShow = tableRow["Decimal to show"];
                var result = tableRow["Result"];

                CommonSteps.AddVariableToVariableList(result);

                activity.Expression = number;
                activity.RoundingType = roundingType;
                activity.RoundingDecimalPlaces = roundTo;
                activity.DecimalPlacesToShow = decimalPlacesToShow;
                activity.Result = result;

            }

            CommonSteps.AddActivityToActivityList(parentName, activityName, activity);
        }