1 7 8 package org.dom4j; 9 10 import junit.textui.TestRunner; 11 12 import java.util.Iterator ; 13 14 20 public class NodeTypeNameTest extends AbstractTestCase { 21 public static void main(String [] args) { 22 TestRunner.run(NodeTypeNameTest.class); 23 } 24 25 public void testDocument() throws Exception { 28 testDocument(getDocument()); 29 } 30 31 public void testCDATA() throws Exception { 32 testDocument("/xml/cdata.xml"); 33 } 34 35 public void testNamespaces() throws Exception { 36 testDocument("/xml/namespaces.xml"); 37 testDocument("/xml/testNamespaces.xml"); 38 } 39 40 public void testPI() throws Exception { 41 testDocument("/xml/testPI.xml"); 42 } 43 44 public void testInline() throws Exception { 45 testDocument("/xml/inline.xml"); 46 } 47 48 protected void testDocument(String fileName) throws Exception { 51 Document document = getDocument(fileName); 52 testDocument(document); 53 } 54 55 protected void testDocument(Document document) throws Exception { 56 assertEquals(document.getNodeTypeName(), "Document"); 57 58 DocumentType docType = document.getDocType(); 59 60 if (docType != null) { 61 assertEquals(docType.getNodeTypeName(), "DocumentType"); 62 } 63 64 testElement(document.getRootElement()); 65 } 66 67 protected void testElement(Element element) { 68 assertEquals(element.getNodeTypeName(), "Element"); 69 70 for (Iterator iter = element.attributeIterator(); iter.hasNext();) { 71 Attribute attribute = (Attribute) iter.next(); 72 assertEquals(attribute.getNodeTypeName(), "Attribute"); 73 } 74 75 for (Iterator iter = element.nodeIterator(); iter.hasNext();) { 76 Node node = (Node) iter.next(); 77 String nodeTypeName = node.getNodeTypeName(); 78 79 if (node instanceof Attribute) { 80 assertEquals(nodeTypeName, "Attribute"); 81 } else if (node instanceof CDATA) { 82 assertEquals(nodeTypeName, "CDATA"); 83 } else if (node instanceof Comment) { 84 assertEquals(nodeTypeName, "Comment"); 85 } else if (node instanceof Element) { 86 assertEquals(nodeTypeName, "Element"); 87 testElement((Element) node); 88 } else if (node instanceof Entity) { 89 assertEquals(nodeTypeName, "Entity"); 90 } else if (node instanceof Element) { 91 assertEquals(nodeTypeName, "Element"); 92 } else if (node instanceof Namespace) { 93 assertEquals(nodeTypeName, "Namespace"); 94 } else if (node instanceof ProcessingInstruction) { 95 assertEquals(nodeTypeName, "ProcessingInstruction"); 96 } else if (node instanceof Text) { 97 assertEquals(nodeTypeName, "Text"); 98 } else { 99 assertTrue("Invalid node type: " + nodeTypeName + " for node: " 100 + node, false); 101 } 102 } 103 } 104 } 105 106 142 | Popular Tags |