/** * Test for {@link GenericItem#setAttribute(String, Object)} and {@link * GenericItem#getAttribute(String)}. */ public void testAttributes() { GenericItem item = new GenericItem(null, ATTRIBUTES); assertNull(item.getAttribute("string")); assertNull(item.getAttribute("integer")); item.setAttribute("string", mStringAttribute); item.setAttribute("integer", mIntegerAttribute); assertEquals(mStringAttribute, item.getAttribute("string")); assertEquals(mIntegerAttribute, item.getAttribute("integer")); item.setAttribute("string", null); item.setAttribute("integer", null); assertNull(item.getAttribute("string")); assertNull(item.getAttribute("integer")); try { item.setAttribute("object", new Object()); fail("Failed to throw IllegalArgumentException"); } catch (IllegalArgumentException e) { // Expected because "object" is not "string" or "integer". } }