AbstractConfigMasterDetailsBlock block = page.getMasterDetailsBlock();
IDetailsPage details = block.getDetailsPart().getCurrentPage();
assertTrue("Could not load details part.", details instanceof AbstractNamespaceDetailsPart);
AbstractNamespaceDetailsPart detailsPart = (AbstractNamespaceDetailsPart) details;
SpringConfigInputAccessor accessor = new SpringConfigInputAccessor(cEditor, detailsPart.getInput());
assertEquals("myConcreteClass", accessor.getAttributeValue(BeansSchemaConstants.ATTR_ID));
assertEquals(detailsPart.getInput().getAttribute(BeansSchemaConstants.ATTR_ID),
accessor.getAttributeValue(BeansSchemaConstants.ATTR_ID));
accessor.editAttribute(BeansSchemaConstants.ATTR_ID, "foo");
assertEquals("foo", accessor.getAttributeValue(BeansSchemaConstants.ATTR_ID));
assertEquals(detailsPart.getInput().getAttribute(BeansSchemaConstants.ATTR_ID),
accessor.getAttributeValue(BeansSchemaConstants.ATTR_ID));
accessor.editAttribute(BeansSchemaConstants.ATTR_ID, "");
assertEquals("", accessor.getAttributeValue(BeansSchemaConstants.ATTR_ID));
assertNull(detailsPart.getInput().getAttributeNode(BeansSchemaConstants.ATTR_ID));
accessor.editAttribute(BeansSchemaConstants.ATTR_ID, "myConcreteClass");
assertEquals("myConcreteClass", accessor.getAttributeValue(BeansSchemaConstants.ATTR_ID));
assertEquals(detailsPart.getInput().getAttribute(BeansSchemaConstants.ATTR_ID),
accessor.getAttributeValue(BeansSchemaConstants.ATTR_ID));
}