public void Test_ForEach()
        {
            int[]         array = new int[] { 1, 3, 5 };
            IParameterDic pm    = new ParameterDic();
            int           sum;

            bool success = runCommand(
                ScriptCommands.Assign("{array}", array,
                                      ScriptCommands.ForEach("{array}", "{i}",
                                                             ScriptCommands.Add("{i}", "{sum}", "{sum}"))), pm);

            Assert.IsTrue(success);
            sum = pm.Get <int>("{sum}");

            Assert.AreEqual(9, sum);
        }
        public void Test_ArithmeticCommands()
        {
            IParameterDic pm = new ParameterDic();
            int           val1 = 1; int val2 = 2;

            //Assert.IsTrue(runCommand(
            //    ScriptCommands.Assign(val1,
            //        ScriptCommands.Assign(val2,
            //          ScriptCommands.Add("{val1}", "{val2}", "{outputVal}"))), pm));
            Assert.IsTrue(runCommand(
                              ScriptCommands.AssignMulti(
                                  ScriptCommands.Add("{val1}", "{val2}", "{outputVal}"),
                                  () => val1,
                                  () => val2), pm));
            Assert.AreEqual(3, pm.Get("{outputVal}"));
        }