public void TestRefOp() { Method <int> f = new Method <int>(); Var a = new Var <int>(); a.Assign(Constant(5)).Load(f); RefVar b = new RefVar(a); b.RefAssign(Constant(3)).Load(f); Var c = new Var <int>(); c.Assign(Constant(15)).Load(f); b.Assign(GetRefByVar(c)).Load(f); b.RefAssign(Constant(5)).Load(f); Return(Add(a, c)).Load(f); f.Create(); int val = f[null]; Assert.AreEqual(val, 8); }
public override object Evaluate(Data.jsObject Context) { Variable Var; if ((Var = Left as Variable) != null) { return(Var.Assign(Context, GetRight(Context))); } return(null); }
public void TestSub2() { Method <int> f = new Method <int>(); var v = new Var <int>(); v.Assign(Sub(Constant(2), Sub(Constant(5), Constant(3)))).Load(f); Return(v).Load(f); f.Create(); int val = f[null]; // execute the method! Assert.AreEqual(val, 0); }
public void TestAdd1() { Method <int> f = new Method <int>(); var p = new Param <int>(); var v = new Var <int>(); v.Assign(Add(p, Constant(2), Constant(3))).Load(f); Return(Add(v, p)).Load(f); f.Create(); int val = f[10]; // execute the method! Assert.AreEqual(val, 25); }
public void TestRef() { Method <int> f = new Method <int>(); Var a = new Var <int>(); a.Assign(Constant(5)).Load(f); RefVar b = new RefVar(a); b.RefAssign(Constant(3)).Load(f); Return(a).Load(f); f.Create(); int val = f[null]; Assert.AreEqual(val, 3); }