1 27 package org.htmlparser.tests.utilTests; 28 29 import org.htmlparser.Node; 30 import org.htmlparser.nodes.AbstractNode; 31 import org.htmlparser.tests.ParserTestCase; 32 import org.htmlparser.util.NodeList; 33 import org.htmlparser.util.SimpleNodeIterator; 34 import org.htmlparser.visitors.NodeVisitor; 35 36 public class NodeListTest extends ParserTestCase { 37 38 static 39 { 40 System.setProperty ("org.htmlparser.tests.utilTests.NodeListTest", "NodeListTest"); 41 } 42 43 private NodeList nodeList; 44 private Node[] testNodes; 45 46 public NodeListTest(String name) { 47 super(name); 48 } 49 50 protected void setUp() { 51 nodeList = new NodeList(); 52 } 53 54 public void testAddOneItem() { 55 Node node = createHTMLNodeObject(); 56 nodeList.add(node); 57 assertEquals("Vector Size",1,nodeList.size()); 58 assertTrue("First Element",node==nodeList.elementAt(0)); 59 } 60 61 public void testAddTwoItems() { 62 Node node1 = createHTMLNodeObject(); 63 Node node2 = createHTMLNodeObject(); 64 nodeList.add(node1); 65 nodeList.add(node2); 66 assertEquals("Vector Size",2,nodeList.size()); 67 assertTrue("First Element",node1==nodeList.elementAt(0)); 68 assertTrue("Second Element",node2==nodeList.elementAt(1)); 69 } 70 71 public void testAddTenItems() { 72 createTestDataAndPutInVector(10); 73 assertTestDataCouldBeExtractedFromVector(10); 74 } 75 76 public void testAddElevenItems() { 77 createTestDataAndPutInVector(11); 78 assertTestDataCouldBeExtractedFromVector(11); 79 } 80 81 public void testAddThirtyItems() { 82 createTestDataAndPutInVector(30); 83 assertTestDataCouldBeExtractedFromVector(30); 84 assertEquals("Number of Adjustments",1,nodeList.getNumberOfAdjustments()); 85 } 86 87 public void testAddThirtyOneItems() { 88 createTestDataAndPutInVector(31); 89 assertTestDataCouldBeExtractedFromVector(31); 90 assertEquals("Number of Adjustments",2,nodeList.getNumberOfAdjustments()); 91 } 92 93 public void testAddFiftyItems() { 94 createTestDataAndPutInVector(50); 95 assertTestDataCouldBeExtractedFromVector(50); 96 assertEquals("Number of Adjustments",2,nodeList.getNumberOfAdjustments()); 97 } 98 99 public void testAddFiftyOneItems() { 100 createTestDataAndPutInVector(51); 101 assertTestDataCouldBeExtractedFromVector(51); 102 assertEquals("Number of Adjustments",2,nodeList.getNumberOfAdjustments()); 103 } 104 105 public void testAddTwoHundredItems() { 106 createTestDataAndPutInVector(200); 107 assertEquals("Number of Adjustments",4,nodeList.getNumberOfAdjustments()); 108 } 109 110 public void testElements() throws Exception { 111 createTestDataAndPutInVector(11); 112 Node [] resultNodes = new Node[11]; 113 int i = 0; 114 for (SimpleNodeIterator e = nodeList.elements();e.hasMoreNodes();) { 115 resultNodes[i] = e.nextNode(); 116 assertTrue("Node "+i+" did not match",testNodes[i]==resultNodes[i]); 117 i++; 118 } 119 120 } 121 122 private Node createHTMLNodeObject() { 123 Node node = new AbstractNode(null,10,20) { 124 public void accept(NodeVisitor visitor) { 125 } 126 127 public String toHtml() { 128 return null; 129 } 130 131 public String toPlainTextString() { 132 return null; 133 } 134 135 public String toString() { 136 return ""; 137 } 138 }; 139 return node; 140 } 141 142 private void createTestDataAndPutInVector(int nodeCount) { 143 testNodes = new Node[nodeCount]; 144 for (int i=0;i<nodeCount;i++) { 145 testNodes[i]= createHTMLNodeObject(); 146 nodeList.add(testNodes[i]); 147 } 148 } 149 150 private void assertTestDataCouldBeExtractedFromVector(int nodeCount) { 151 for (int i=0;i<nodeCount;i++) { 152 assertTrue("Element "+i+" did not match",testNodes[i]==nodeList.elementAt(i)); 153 } 154 } 155 156 public void testToNodeArray() { 157 createTestDataAndPutInVector(387); 158 Node nodes [] = nodeList.toNodeArray(); 159 assertEquals("Length of array",387,nodes.length); 160 for (int i=0;i<nodes.length;i++) 161 assertNotNull("node "+i+" should not be null",nodes[i]); 162 } 163 164 public void testRemove() { 165 Node node1 = createHTMLNodeObject(); 166 Node node2 = createHTMLNodeObject(); 167 nodeList.add(node1); 168 nodeList.add(node2); 169 assertEquals("Vector Size",2,nodeList.size()); 170 assertTrue("First Element",node1==nodeList.elementAt(0)); 171 assertTrue("Second Element",node2==nodeList.elementAt(1)); 172 nodeList.remove(1); 173 assertEquals("List Size",1,nodeList.size()); 174 assertTrue("First Element",node1==nodeList.elementAt(0)); 175 } 176 177 public void testRemoveAll() { 178 Node node1 = createHTMLNodeObject(); 179 Node node2 = createHTMLNodeObject(); 180 nodeList.add(node1); 181 nodeList.add(node2); 182 assertEquals("Vector Size",2,nodeList.size()); 183 assertTrue("First Element",node1==nodeList.elementAt(0)); 184 assertTrue("Second Element",node2==nodeList.elementAt(1)); 185 nodeList.removeAll(); 186 assertEquals("List Size",0,nodeList.size()); 187 assertTrue("First Element",null==nodeList.elementAt(0)); 188 assertTrue("Second Element",null==nodeList.elementAt(1)); 189 } 190 } 191 | Popular Tags |