1 /***
2 * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
3 */
4 package test.net.sourceforge.pmd.jaxen;
5
6 import junit.framework.TestCase;
7 import net.sourceforge.pmd.ast.SimpleNode;
8 import net.sourceforge.pmd.jaxen.Attribute;
9 import net.sourceforge.pmd.jaxen.AttributeAxisIterator;
10
11 import java.util.HashSet;
12 import java.util.Set;
13
14 public class AttributeAxisIteratorTest extends TestCase {
15
16 public void testBasicAttributes() {
17 Set names = new HashSet();
18 names.add("BeginLine");
19 names.add("EndLine");
20 names.add("BeginColumn");
21 names.add("EndColumn");
22 names.add("Discardable");
23 SimpleNode n = new SimpleNode(0);
24 n.testingOnly__setBeginColumn(1);
25 n.testingOnly__setBeginLine(1);
26 AttributeAxisIterator iter = new AttributeAxisIterator(n);
27 try {
28 Attribute a = (Attribute)iter.next();
29 assertTrue(names.contains(a.getName()));
30 a = (Attribute)iter.next();
31 assertTrue(names.contains(a.getName()));
32 a = (Attribute)iter.next();
33 assertTrue(names.contains(a.getName()));
34 a = (Attribute)iter.next();
35 assertTrue(names.contains(a.getName()));
36 } catch (UnsupportedOperationException e) {
37
38 }
39 }
40
41 public void testRemove() {
42 SimpleNode n = new SimpleNode(0);
43 n.testingOnly__setBeginColumn(1);
44 n.testingOnly__setBeginLine(1);
45 AttributeAxisIterator iter = new AttributeAxisIterator(n);
46 try {
47 iter.remove();
48 fail("Should have thrown an exception!");
49 } catch (UnsupportedOperationException e) {
50
51 }
52 }
53
54 }