protected void runTest() throws Throwable {
InputStream in = TestGetNamespaceContext.class.getResourceAsStream("namespacecontext.xml");
OMElement root = OMXMLBuilderFactory.createOMBuilder(metaFactory.getOMFactory(), in).getDocumentElement();
OMElement inner = root.getFirstElement().getFirstElement();
NamespaceContext context = inner.getNamespaceContext(detached);
assertEquals("urn:test2", context.getNamespaceURI("p"));
assertEquals("urn:test3", context.getNamespaceURI("q"));
assertEquals("urn:test3", context.getNamespaceURI("r"));
assertEquals("urn:test4", context.getNamespaceURI(""));
assertEquals("", context.getNamespaceURI("unbound"));
assertNull(context.getPrefix("urn:test1"));
assertEquals("p", context.getPrefix("urn:test2"));
String prefix = context.getPrefix("urn:test3");
assertTrue(prefix.equals("q") || prefix.equals("r"));
assertEquals("", context.getPrefix("urn:test4"));
assertNull(context.getPrefix("unbound"));
Iterator it = context.getPrefixes("urn:test1");
assertFalse(it.hasNext());
it = context.getPrefixes("urn:test2");
assertTrue(it.hasNext());
assertEquals("p", it.next());
assertFalse(it.hasNext());
it = context.getPrefixes("urn:test3");
Set prefixes = new HashSet();
while (it.hasNext()) {
prefixes.add(it.next());
}
assertEquals(2, prefixes.size());