示例#1
0
        public void SetUp()
        {
            eventTypeSimple  = supportEventTypeFactory.CreateBeanType(typeof(SupportBeanSimple));
            eventTypeComplex = supportEventTypeFactory.CreateBeanType(typeof(SupportBeanComplexProps));
            eventTypeNested  = supportEventTypeFactory.CreateBeanType(typeof(SupportBeanCombinedProps));

            objSimple   = new SupportBeanSimple("a", 20);
            objComplex  = SupportBeanComplexProps.MakeDefaultBean();
            objCombined = SupportBeanCombinedProps.MakeDefaultBean();

            eventSimple  = new BeanEventBean(objSimple, eventTypeSimple);
            eventComplex = new BeanEventBean(objComplex, eventTypeComplex);
            eventNested  = new BeanEventBean(objCombined, eventTypeNested);
        }
示例#2
0
        public void TestGet()
        {
            EventType eventType = supportEventTypeFactory.CreateBeanType(typeof(SupportBean));
            var eventBean = new BeanEventBean(testEvent, eventType);

            Assert.AreEqual(eventType, eventBean.EventType);
            Assert.AreEqual(testEvent, eventBean.Underlying);

            Assert.AreEqual(10, eventBean.Get("IntPrimitive"));

            // Test wrong property name
            Assert.Throws<PropertyAccessException>(() => {
                eventBean.Get("dummy");
                Assert.IsTrue(false);
            });

            // Test wrong event type - not possible to happen under normal use
            Assert.Throws<PropertyAccessException>(() => {
                eventType = supportEventTypeFactory.CreateBeanType(typeof(SupportBeanSimple));
                eventBean = new BeanEventBean(testEvent, eventType);
                eventBean.Get("MyString");
                Assert.IsTrue(false);
            });
        }