📄 nodelisttest.java
字号:
// HTMLParser Library $Name: v1_6 $ - A java-based parser for HTML// http://sourceforge.org/projects/htmlparser// Copyright (C) 2004 Somik Raha//// Revision Control Information//// $Source: /cvsroot/htmlparser/htmlparser/src/org/htmlparser/tests/utilTests/NodeListTest.java,v $// $Author: derrickoswald $// $Date: 2006/05/31 02:10:14 $// $Revision: 1.29 $//// This library is free software; you can redistribute it and/or// modify it under the terms of the GNU Lesser General Public// License as published by the Free Software Foundation; either// version 2.1 of the License, or (at your option) any later version.//// This library is distributed in the hope that it will be useful,// but WITHOUT ANY WARRANTY; without even the implied warranty of// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU// Lesser General Public License for more details.//// You should have received a copy of the GNU Lesser General Public// License along with this library; if not, write to the Free Software// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA//package org.htmlparser.tests.utilTests;import org.htmlparser.Node;import org.htmlparser.nodes.AbstractNode;import org.htmlparser.tests.ParserTestCase;import org.htmlparser.util.NodeList;import org.htmlparser.util.SimpleNodeIterator;import org.htmlparser.visitors.NodeVisitor;public class NodeListTest extends ParserTestCase { static { System.setProperty ("org.htmlparser.tests.utilTests.NodeListTest", "NodeListTest"); } private NodeList nodeList; private Node[] testNodes; public NodeListTest(String name) { super(name); } protected void setUp() { nodeList = new NodeList(); } public void testOneItemConstructor() { Node node = createHTMLNodeObject(); nodeList = new NodeList(node); assertEquals("Vector Size",1,nodeList.size()); assertTrue("First Element",node==nodeList.elementAt(0)); } public void testAddOneItem() { Node node = createHTMLNodeObject(); nodeList.add(node); assertEquals("Vector Size",1,nodeList.size()); assertTrue("First Element",node==nodeList.elementAt(0)); } public void testAddTwoItems() { Node node1 = createHTMLNodeObject(); Node node2 = createHTMLNodeObject(); nodeList.add(node1); nodeList.add(node2); assertEquals("Vector Size",2,nodeList.size()); assertTrue("First Element",node1==nodeList.elementAt(0)); assertTrue("Second Element",node2==nodeList.elementAt(1)); } public void testAddTenItems() { createTestDataAndPutInVector(10); assertTestDataCouldBeExtractedFromVector(10); } public void testAddElevenItems() { createTestDataAndPutInVector(11); assertTestDataCouldBeExtractedFromVector(11); } public void testAddThirtyItems() { createTestDataAndPutInVector(30); assertTestDataCouldBeExtractedFromVector(30); } public void testAddThirtyOneItems() { createTestDataAndPutInVector(31); assertTestDataCouldBeExtractedFromVector(31); } public void testAddFiftyItems() { createTestDataAndPutInVector(50); assertTestDataCouldBeExtractedFromVector(50); } public void testAddFiftyOneItems() { createTestDataAndPutInVector(51); assertTestDataCouldBeExtractedFromVector(51); } public void testAddTwoHundredItems() { createTestDataAndPutInVector(200); assertTestDataCouldBeExtractedFromVector(200); } public void testElements() throws Exception { createTestDataAndPutInVector(11); Node [] resultNodes = new Node[11]; int i = 0; for (SimpleNodeIterator e = nodeList.elements();e.hasMoreNodes();) { resultNodes[i] = e.nextNode(); assertTrue("Node "+i+" did not match",testNodes[i]==resultNodes[i]); i++; } } private Node createHTMLNodeObject () { Node node = new AbstractNode(null,10,20) { public void accept(NodeVisitor visitor) { } public String toHtml() { return null; } public String toHtml(boolean verbatim) { return null; } public String toPlainTextString() { return null; } public String toString() { return ""; } }; return node; } private void createTestDataAndPutInVector(int nodeCount) { testNodes = new Node[nodeCount]; for (int i=0;i<nodeCount;i++) { testNodes[i]= createHTMLNodeObject(); nodeList.add(testNodes[i]); } } private void assertTestDataCouldBeExtractedFromVector(int nodeCount) { for (int i=0;i<nodeCount;i++) { assertTrue("Element "+i+" did not match",testNodes[i]==nodeList.elementAt(i)); } } public void testToNodeArray() { createTestDataAndPutInVector(387); Node nodes [] = nodeList.toNodeArray(); assertEquals("Length of array",387,nodes.length); for (int i=0;i<nodes.length;i++) assertNotNull("node "+i+" should not be null",nodes[i]); } public void testRemove() { Node node1 = createHTMLNodeObject(); Node node2 = createHTMLNodeObject(); nodeList.add(node1); nodeList.add(node2); assertEquals("Vector Size",2,nodeList.size()); assertTrue("First Element",node1==nodeList.elementAt(0)); assertTrue("Second Element",node2==nodeList.elementAt(1)); nodeList.remove(1); assertEquals("List Size",1,nodeList.size()); assertTrue("First Element",node1==nodeList.elementAt(0)); } public void testRemoveAll() { Node node1 = createHTMLNodeObject(); Node node2 = createHTMLNodeObject(); nodeList.add(node1); nodeList.add(node2); assertEquals("Vector Size",2,nodeList.size()); assertTrue("First Element",node1==nodeList.elementAt(0)); assertTrue("Second Element",node2==nodeList.elementAt(1)); nodeList.removeAll(); assertEquals("List Size",0,nodeList.size()); assertTrue("First Element",null==nodeList.elementAt(0)); assertTrue("Second Element",null==nodeList.elementAt(1)); } public void testIndexOf() { Node node1 = createHTMLNodeObject(); Node node2 = createHTMLNodeObject(); Node node3 = createHTMLNodeObject(); nodeList.add(node1); nodeList.add(node2); nodeList.add(node3); assertEquals("Vector Size",3,nodeList.size()); assertTrue("First Element",node1==nodeList.elementAt(0)); assertTrue("Second Element",node2==nodeList.elementAt(1)); assertTrue("Third Element",node3==nodeList.elementAt(2)); assertTrue("Index wrong",1 == nodeList.indexOf(node2)); assertTrue("Index wrong",0 == nodeList.indexOf(node1)); assertTrue("Index wrong",2 == nodeList.indexOf(node3)); } public void testRemoveItem() { Node node1 = createHTMLNodeObject(); Node node2 = createHTMLNodeObject(); nodeList.add(node1); nodeList.add(node2); assertEquals("Vector Size",2,nodeList.size()); assertTrue("First Element",node1==nodeList.elementAt(0)); assertTrue("Second Element",node2==nodeList.elementAt(1)); nodeList.remove(node1); assertEquals("List Size",1,nodeList.size()); assertTrue("First Element",node2==nodeList.elementAt(0)); } public void testRemoveLastItem() { Node node1 = createHTMLNodeObject(); Node node2 = createHTMLNodeObject(); nodeList.add(node1); nodeList.add(node2); assertEquals("Vector Size",2,nodeList.size()); assertTrue("First Element",node1==nodeList.elementAt(0)); assertTrue("Second Element",node2==nodeList.elementAt(1)); nodeList.remove(node2); assertEquals("List Size",1,nodeList.size()); assertTrue("First Element",node1==nodeList.elementAt(0)); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -