public void TestGetPropertyType()
        {
            Type[] expected = {typeof(int), typeof(int), typeof(int), typeof(int)};
            for (var i = 0; i < indexed.Length; i++) {
                Assert.AreEqual(
                    expected[i],
                    indexed[i]
                        .GetPropertyType(
                            eventType,
                            supportEventTypeFactory.BEAN_EVENT_TYPE_FACTORY));
            }

            // try invalid case
            var ind = new IndexedProperty("dummy", 0);
            Assert.IsNull(
                ind.GetPropertyType(
                    eventType,
                    supportEventTypeFactory.BEAN_EVENT_TYPE_FACTORY));
        }
        public void TestGetGetter()
        {
            int[] expected = {1, 2, 10, 20};
            for (var i = 0; i < indexed.Length; i++) {
                EventPropertyGetter getter = indexed[i]
                    .GetGetter(
                        eventType,
                        EventBeanTypedEventFactoryCompileTime.INSTANCE,
                        supportEventTypeFactory.BEAN_EVENT_TYPE_FACTORY);
                Assert.AreEqual(expected[i], getter.Get(theEvent));
            }

            // try invalid case
            var ind = new IndexedProperty("dummy", 0);
            Assert.IsNull(
                ind.GetGetter(
                    eventType,
                    EventBeanTypedEventFactoryCompileTime.INSTANCE,
                    supportEventTypeFactory.BEAN_EVENT_TYPE_FACTORY));
        }