示例#1
0
        public void GetNativeObjectObjectTypeAsNull()
        {
            Person person = new Person();

            var result = Types.GetType(person);

            Assert.IsNull(result);
        }
        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 SetAttributeInNativeObject()
        {
            BindingEnvironment environment = new BindingEnvironment();
            Person adam = new Person();
            environment.SetValue("adam", adam);

            SetAttributeCommand command = new SetAttributeCommand(new NameExpression("adam"), "FirstName", new ConstantExpression("Adam"));

            command.Execute(environment);

            Assert.AreEqual("Adam", adam.FirstName);
        }
        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);
        }
        public void GetNamesNativeObject()
        {
            var person = new Person();
            var result = ObjectUtilities.GetNames(person);

            Assert.IsNotNull(result);
            Assert.IsInstanceOfType(result, typeof(IList<string>));

            var names = (IList<string>)result;

            Assert.IsTrue(names.Contains("FirstName"));
            Assert.IsTrue(names.Contains("LastName"));
            Assert.IsTrue(names.Contains("GetName"));
            Assert.IsTrue(names.Contains("NameEvent"));
        }
示例#7
0
        public void NativeObject()
        {
            var person = new Person();
            var result = this.dir.Apply(null, new object[] { person }, null);

            Assert.IsNotNull(result);
            Assert.IsInstanceOfType(result, typeof(IList<string>));

            var names = (IList<string>)result;

            Assert.IsTrue(names.Contains("FirstName"));
            Assert.IsTrue(names.Contains("LastName"));
            Assert.IsTrue(names.Contains("GetName"));
            Assert.IsTrue(names.Contains("NameEvent"));
        }
        public void SetValue()
        {
            Person person = new Person();

            ObjectUtilities.SetValue(person, "FirstName", "Adam");

            Assert.AreEqual("Adam", person.FirstName);
        }
示例#9
0
 public void IdObject()
 {
     var person = new Person();
     Assert.AreEqual(person.GetHashCode(), this.id.Apply(null, new object[] { person }, null));
 }