}
}
@Test
public void test20ExtensibleSizes() throws InvalidDDMSException {
DDMSVersion version = DDMSVersion.setCurrentVersion("2.0");
createComponents();
String ismPrefix = PropertyReader.getPrefix("ism");
// Base Case
Resource component = new Resource(TEST_TOP_LEVEL_COMPONENTS, null);
assertNull(component.getIsmDESVersion());
assertTrue(component.getSecurityAttributes().isEmpty());
assertEquals(0, component.getExtensibleAttributes().getAttributes().size());
// ism:DESVersion in element
Element element = getTestResourceNoHeader();
Util.addAttribute(element, ismPrefix, Resource.DES_VERSION_NAME, version.getIsmNamespace(),
String.valueOf(getTestIsmDesVersion()));
component = new Resource(element);
assertEquals(getTestIsmDesVersion(), component.getIsmDESVersion());
assertTrue(component.getSecurityAttributes().isEmpty());
assertEquals(0, component.getExtensibleAttributes().getAttributes().size());
// ism:classification in element
element = getTestResourceNoHeader();
Util.addAttribute(element, ismPrefix, SecurityAttributes.CLASSIFICATION_NAME, version.getIsmNamespace(), "U");
component = new Resource(element);
assertFalse(component.getSecurityAttributes().isEmpty());
assertEquals(0, component.getExtensibleAttributes().getAttributes().size());
// ddmsence:confidence in element
element = getTestResourceNoHeader();
Util.addAttribute(element, "ddmsence", "confidence", "http://ddmsence.urizone.net/", "95");
component = new Resource(element);
assertTrue(component.getSecurityAttributes().isEmpty());
assertEquals(1, component.getExtensibleAttributes().getAttributes().size());
// This can be a parameter or an extensible.
Attribute icAttribute = new Attribute("ism:DESVersion", version.getIsmNamespace(), "2");
// This can be a securityAttribute or an extensible.
Attribute secAttribute = new Attribute("ism:classification", version.getIsmNamespace(), "U");
// This can be an extensible.
Attribute uniqueAttribute = new Attribute("ddmsence:confidence", "http://ddmsence.urizone.net/", "95");
List<Attribute> exAttr = new ArrayList<Attribute>();
// icAttribute as parameter, uniqueAttribute as extensibleAttribute