public void Execute(IBindingEnvironment environment) { LocalBindingEnvironment local = new LocalBindingEnvironment(environment); foreach (ICommand command in this.commands) { if (Machine.CurrentFunctionStatus.Returned) return; command.Execute(local); } }
public void SetUndefinedValueUsingTwoLocalEnviroments() { BindingEnvironment environment = new BindingEnvironment(); LocalBindingEnvironment local = new LocalBindingEnvironment(environment); LocalBindingEnvironment local2 = new LocalBindingEnvironment(local); local2.SetValue("one", 1); Assert.AreEqual(1, local.GetValue("one")); Assert.AreEqual(1, local2.GetValue("one")); Assert.AreEqual(1, environment.GetValue("one")); }
public void SetValueThruLocalEnviroment() { BindingEnvironment environment = new BindingEnvironment(); environment.SetValue("one", 0); LocalBindingEnvironment local = new LocalBindingEnvironment(environment); local.SetValue("one", 1); Assert.AreEqual(1, local.GetValue("one")); Assert.AreEqual(1, environment.GetValue("one")); }
public void DefineAndSetGlobalValueThruLocalEnvironment() { Machine machine = new Machine(); BindingEnvironment environment = new BindingEnvironment(); LocalBindingEnvironment local = new LocalBindingEnvironment(environment); local.DefineGlobal("global"); local.SetValue("global", 100); Assert.AreEqual(100, local.GetValue("global")); Assert.AreEqual(100, environment.GetValue("global")); Assert.AreEqual(100, machine.Environment.GetValue("global")); }
public void DefineAndSetGlobalValueThruLocalEnvironment() { Machine machine = new Machine(); BindingEnvironment environment = new BindingEnvironment(); LocalBindingEnvironment local = new LocalBindingEnvironment(environment); local.DefineGlobal("global"); local.SetValue("global", 100); Assert.AreEqual(100, local.GetValue("global")); Assert.AreEqual(100, environment.GetValue("global")); Assert.AreEqual(100, machine.Environment.GetValue("global")); }
public void Execute(IBindingEnvironment environment) { LocalBindingEnvironment local = new LocalBindingEnvironment(environment); foreach (ICommand command in this.commands) { if (Machine.CurrentFunctionStatus.Returned) { return; } command.Execute(local); } }
public void Execute(IBindingEnvironment environment) { IBindingEnvironment newenv = new LocalBindingEnvironment(environment); if (this.initialCommand != null) this.initialCommand.Execute(newenv); while (this.condition == null || Predicates.IsTrue(this.condition.Evaluate(newenv))) { if (this.body != null) this.body.Execute(newenv); if (this.endCommand != null) this.endCommand.Execute(newenv); } }
public void Execute(IBindingEnvironment environment) { IBindingEnvironment newenv = environment; if (this.localvar) { newenv = new LocalBindingEnvironment(environment); newenv.SetLocalValue(this.name, null); } foreach (object result in (IEnumerable)this.expression.Evaluate(newenv)) { newenv.SetValue(this.name, result); this.command.Execute(newenv); } }
public void Execute(IBindingEnvironment environment) { IBindingEnvironment newenv = environment; if (this.localvar) { newenv = new LocalBindingEnvironment(environment); newenv.SetLocalValue(this.name, null); } foreach (object result in (IEnumerable)this.expression.Evaluate(newenv)) { newenv.SetValue(this.name, result); this.command.Execute(newenv); } }
public void ExecuteVarCommandWithNullExpression() { VarCommand command = new VarCommand("foo", null); IBindingEnvironment environment = new BindingEnvironment(); IBindingEnvironment local = new LocalBindingEnvironment(environment); IBindingEnvironment local2 = new LocalBindingEnvironment(local); command.Execute(local2); Assert.IsTrue(local2.ContainsName("foo")); Assert.IsFalse(local.ContainsName("foo")); Assert.IsFalse(environment.ContainsName("foo")); Assert.IsNull(local2.GetValue("foo")); }
public void ExecuteVarCommand() { VarCommand command = new VarCommand("foo", new ConstantExpression(10)); IBindingEnvironment environment = new BindingEnvironment(); IBindingEnvironment local = new LocalBindingEnvironment(environment); IBindingEnvironment local2 = new LocalBindingEnvironment(local); command.Execute(local2); Assert.IsTrue(local2.ContainsName("foo")); Assert.IsFalse(local.ContainsName("foo")); Assert.IsFalse(environment.ContainsName("foo")); Assert.AreEqual(10, local2.GetValue("foo")); }
public void SetValueThruLocalAndNormalEnviroment() { BindingEnvironment parent = new BindingEnvironment(); LocalBindingEnvironment toplocal = new LocalBindingEnvironment(parent); toplocal.SetLocalValue("one", 0); BindingEnvironment environment = new BindingEnvironment(toplocal); LocalBindingEnvironment local = new LocalBindingEnvironment(environment); local.SetValue("one", 1); Assert.AreEqual(1, local.GetValue("one")); Assert.AreEqual(1, environment.GetValue("one")); Assert.AreEqual(1, toplocal.GetValue("one")); Assert.IsNull(parent.GetValue("one")); }
public void Execute(IBindingEnvironment environment) { IBindingEnvironment newenv = new LocalBindingEnvironment(environment); if (this.initialCommand != null) { this.initialCommand.Execute(newenv); } while (this.condition == null || Predicates.IsTrue(this.condition.Evaluate(newenv))) { if (this.body != null) { this.body.Execute(newenv); } if (this.endCommand != null) { this.endCommand.Execute(newenv); } } }
public void SetValueThruLocalEnviroment() { BindingEnvironment environment = new BindingEnvironment(); environment.SetValue("one", 0); LocalBindingEnvironment local = new LocalBindingEnvironment(environment); local.SetValue("one", 1); Assert.AreEqual(1, local.GetValue("one")); Assert.AreEqual(1, environment.GetValue("one")); }
public void SetValueThruLocalAndNormalEnviroment() { BindingEnvironment parent = new BindingEnvironment(); LocalBindingEnvironment toplocal = new LocalBindingEnvironment(parent); toplocal.SetLocalValue("one", 0); BindingEnvironment environment = new BindingEnvironment(toplocal); LocalBindingEnvironment local = new LocalBindingEnvironment(environment); local.SetValue("one", 1); Assert.AreEqual(1, local.GetValue("one")); Assert.AreEqual(1, environment.GetValue("one")); Assert.AreEqual(1, toplocal.GetValue("one")); Assert.IsNull(parent.GetValue("one")); }
public void SetUndefinedValueUsingTwoLocalEnviroments() { BindingEnvironment environment = new BindingEnvironment(); LocalBindingEnvironment local = new LocalBindingEnvironment(environment); LocalBindingEnvironment local2 = new LocalBindingEnvironment(local); local2.SetValue("one", 1); Assert.AreEqual(1, local.GetValue("one")); Assert.AreEqual(1, local2.GetValue("one")); Assert.AreEqual(1, environment.GetValue("one")); }