BeanDefinition definition = beanFactory.getBeanDefinition("eventStore2");
PropertyValue upcasterChain = definition.getPropertyValues().getPropertyValue("upcasterChain");
BeanDefinition upcasterChainDefinition = (BeanDefinition) upcasterChain.getValue();
assertEquals(SimpleUpcasterChain.class.getName(), upcasterChainDefinition.getBeanClassName());
assertEquals(2, upcasterChainDefinition.getConstructorArgumentValues().getArgumentCount());
ValueHolder converterFactory = upcasterChainDefinition.getConstructorArgumentValues()
.getGenericArgumentValue(RuntimeBeanReference.class);
ValueHolder upcasterList = upcasterChainDefinition.getConstructorArgumentValues()
.getIndexedArgumentValue(1, List.class);
BeanDefinition eventEntryStoreDefinition = (BeanDefinition) definition.getConstructorArgumentValues()
.getArgumentValue(2,
EventEntryStore.class)
.getValue();
assertNotNull(upcasterList);
assertEquals(1, ((List) upcasterList.getValue()).size());
assertNotNull(converterFactory);
assertEquals("converterFactory", ((RuntimeBeanReference) converterFactory.getValue()).getBeanName());
assertEquals("true", eventEntryStoreDefinition.getConstructorArgumentValues().getArgumentValue(0, Boolean.class)
.getValue());
assertNotNull(beanFactory.getBean("eventStore2"));