public void AddFunctionAsPersonEventHandler() { Person person = new Person() { FirstName = "Adam" }; NameListener listener = new NameListener(); ObjectUtilities.AddHandler(person, "NameEvent", listener, null); person.GetName(); Assert.AreEqual(4, listener.Length); Assert.AreEqual("Adam", listener.Name); }
public void AddEventHandlerToPerson() { NameListener listener = new NameListener(); Person person = new Person() { FirstName = "Adam" }; FunctionWrapper<string, int, MyEvent> wrapper = new FunctionWrapper<string, int, MyEvent>(listener, null); typeof(Person).GetEvent("NameEvent").AddEventHandler(person, wrapper.CreateFunctionDelegate()); person.GetName(); Assert.AreEqual(4, listener.Length); Assert.AreEqual("Adam", listener.Name); }
public void CallNativeObjectMethodWithoutArguments() { Person person = new Person() { FirstName = "Adam", LastName = "Doe" }; BindingEnvironment environment = new BindingEnvironment(); environment.SetValue("adam", person); CallExpression expression = new CallExpression(new AttributeExpression(new NameExpression("adam"), "GetName"), null); var result = expression.Evaluate(environment); Assert.IsNotNull(result); Assert.AreEqual(person.GetName(), result); }