def);
attribute = def.getAttribute("list");
assertNotNull("Couldn't Find list attribute.", attribute);
assertTrue("Attribute not of valid type",
attribute instanceof ListAttribute);
ListAttribute listAttribute = (ListAttribute) attribute;
List<Attribute> list = (List<Attribute>) listAttribute.getValue();
assertEquals("The list is not of correct size", 1, list.size());
attribute = list.get(0);
assertNotNull("Couldn't Find element attribute.", attribute);
assertEquals("Attribute not of 'definition' type", "definition",
attribute.getRenderer());
assertNotNull("Attribute value null", attribute.getValue());
defName = attribute.getValue().toString();
def = definitions.get(defName);
assertNotNull("Couldn't find " + defName + " tile.", def);
defName = "test.inherit.list.base";
def = definitions.get(defName);
assertNotNull("Couldn't find " + defName + " tile.", def);
defName = "test.inherit.list";
def = definitions.get(defName);
assertNotNull("Couldn't find " + defName + " tile.", def);
listAttribute = (ListAttribute) def.getAttribute("list");
assertEquals("This definition does not inherit its list attribute",
true, listAttribute.isInherit());
defName = "test.noinherit.list";
def = definitions.get(defName);
listAttribute = (ListAttribute) def.getAttribute("list");
assertEquals("This definition inherits its list attribute",
false, listAttribute.isInherit());
defName = "test.new.attributes";
def = definitions.get(defName);
assertNotNull("Couldn't find " + defName + " tile.", def);
Attribute templateAttribute = def.getTemplateAttribute();