AjScript.Commands.ForEachCommand.Execute C# (CSharp) Method

Execute() public method

public Execute ( IContext context ) : void
context IContext
return void
        public void Execute(IContext context)
        {
            foreach (object result in (IEnumerable)this.expression.Evaluate(context))
            {
                context.SetValue(this.name, result);
                this.command.Execute(context);
            }
        }

Usage Example

Ejemplo n.º 1
0
        public void ExecuteForEachCommand()
        {
            IExpression addToX = new ArithmeticBinaryExpression(ArithmeticOperator.Add, new VariableExpression("b"), new VariableExpression("a"));
            ICommand setX = new SetVariableCommand("a", addToX);
            IExpression values = new ConstantExpression(new int [] { 1, 2, 3 } );

            ForEachCommand foreachcmd = new ForEachCommand("b", values, setX);

            Context context = new Context();

            context.SetValue("a", 0);

            foreachcmd.Execute(context);

            Assert.AreEqual(6, context.GetValue("a"));
        }