public void testIntrospection() throws Exception {
log.info("testIntrospection() started");
XMLIntrospector introspector = new XMLIntrospector();
XMLBeanInfo beanInfo = introspector
.introspect(VersioningTestData.class);
// 2 Element descriptors
ElementDescriptor[] elementDescriptors = beanInfo
.getElementDescriptor().getElementDescriptors();
assertEquals("Need 2 element descriptors", 2, elementDescriptors.length);
ElementDescriptor element1Descriptor = beanInfo.getElementDescriptor()
.getElementDescriptor("element1");
log.info("element1Descriptor: " + element1Descriptor);
debugOptions(element1Descriptor.getOptions());
assertNotNull(element1Descriptor);
assertEquals("1", element1Descriptor.getOptions().getValue(
"version-from"));
assertNull(element1Descriptor.getOptions().getValue("version-until"));
ElementDescriptor element2Descriptor = beanInfo.getElementDescriptor()
.getElementDescriptor("element2");
log.info("element2Descriptor: " + element2Descriptor);
debugOptions(element2Descriptor.getOptions());
assertNotNull(element2Descriptor);
assertEquals("2", element2Descriptor.getOptions().getValue(
"version-from"));
assertNull(element2Descriptor.getOptions().getValue("version-until"));
// 2 Attribute descriptors
AttributeDescriptor[] attributeDescriptors = beanInfo
.getElementDescriptor().getAttributeDescriptors();
assertEquals("Need 2 attribute descriptors", 2,
attributeDescriptors.length);
AttributeDescriptor attribute1Descriptor = beanInfo
.getElementDescriptor().getAttributeDescriptor("attribute1");
log.info("attribute1Descriptor: " + attribute1Descriptor);
debugOptions(attribute1Descriptor.getOptions());
assertNotNull(attribute1Descriptor);
assertEquals("2", attribute1Descriptor.getOptions().getValue(
"version-from"));
assertNull(attribute1Descriptor.getOptions().getValue("version-until"));
AttributeDescriptor attribute2Descriptor = beanInfo
.getElementDescriptor().getAttributeDescriptor("attribute2");
log.info("attribute2Descriptor: " + attribute2Descriptor);
debugOptions(attribute2Descriptor.getOptions());
assertNotNull(attribute2Descriptor);
assertEquals("1", attribute2Descriptor.getOptions().getValue(