Example #1
0
 public void DefineMethod()
 {
     IClass type = new BaseClass("String", null);
     IClass klass = new BaseClass("MyClass", null);
     IMethod getname = new FuncMethod(type, (obj, context, arguments) => ((IObject)obj).GetValue("name"));
     klass.DefineMethod("getName", getname);
     var result = klass.GetMethod("getName");
     Assert.IsNotNull(result);
     Assert.AreEqual(type, result.Type);
 }
Example #2
0
 public void DefineAndCallFuncMethod()
 {
     IMethod method = new FuncMethod(null, (obj, context, args) => ((string)obj).Length);
     Assert.IsNull(method.Type);
     Assert.AreEqual(3, method.Call("foo", null, null));
 }
Example #3
0
 public void Setup()
 {
     IClass type = new BaseClass("String", null);
     this.type = new BaseClass("MyClass", null);
     IMethod getname = new FuncMethod(null, (obj, context, arguments) => ((IObject)obj).GetValue("name"));
     this.type.DefineVariable("name", type);
     this.type.DefineMethod("getName", getname);
 }
Example #4
0
 public void RaiseIfMethodIsAlreadyDefined()
 {
     IClass type = new BaseClass("String", null);
     IClass klass = new BaseClass("MyClass", null);
     IMethod getname = new FuncMethod(type, (obj, context, arguments) => ((IObject)obj).GetValue("name"));
     klass.DefineMethod("getName", getname);
     klass.DefineMethod("getName", getname);
 }