public void testGetUsedNamespaces() throws Exception {
NamespacePrefixTracker namespacePrefixTracker =
new DefaultNamespacePrefixTracker();
JXPathFunctions functions =
new JXPathFunctions(namespacePrefixTracker);
ImmutableExpandedName nameA =
new ImmutableExpandedName("http://spaceA",
"a");
ImmutableExpandedName nameB = new ImmutableExpandedName("", "b");
ImmutableExpandedName nameC =
new ImmutableExpandedName("http://spaceC",
"c");
ImmutableExpandedName nameC2 =
new ImmutableExpandedName("http://spaceC",
"c2");
Function a = new TestFunction();
Function b = new TestFunction();
Function c = new TestFunction();
Set namespaceURLs;
Set expectedURLs = new HashSet();
functions.addFunction(nameA, a);
functions.addFunction(nameB, b);
functions.addFunction(nameC, c);
functions.addFunction(nameC2, c);
expectedURLs.add(nameA.getNamespaceURI());
expectedURLs.add(nameB.getNamespaceURI());
expectedURLs.add(nameC.getNamespaceURI());
expectedURLs.add(nameC2.getNamespaceURI());
namespaceURLs = functions.getUsedNamespaces();
assertEquals("number of used namespaces not as",
3,