public void testExposesAttributesKeysAndValuesByIndex() throws Exception {
// overrides test in superclass, because XppDom does not retain order of actualAttributes.
HierarchicalStreamReader xmlReader = createReader("<node hello='world' a='b' c='d'><empty/></node>");
assertEquals(3, xmlReader.getAttributeCount());
Map expectedAttributes = new HashMap();
expectedAttributes.put("hello", "world");
expectedAttributes.put("a", "b");
expectedAttributes.put("c", "d");
Map actualAttributes = new HashMap();
for (int i = 0; i < xmlReader.getAttributeCount(); i++) {
String name = xmlReader.getAttributeName(i);
String value = xmlReader.getAttribute(i);
actualAttributes.put(name, value);
}
assertEquals(expectedAttributes, actualAttributes);
xmlReader.moveDown();
assertEquals("empty", xmlReader.getNodeName());
assertEquals(0, xmlReader.getAttributeCount());
}