1 9 10 package test.dom4j.swing; 11 12 import junit.framework.Test; 13 import junit.framework.TestCase; 14 import junit.framework.TestSuite; 15 import junit.textui.TestRunner; 16 import org.dom4j.Document; 17 import org.dom4j.io.SAXReader; 18 import org.dom4j.swing.XMLTableDefinition; 19 import org.dom4j.swing.XMLTableModel; 20 21 import javax.swing.table.TableModel ; 22 23 28 public class TestTableModel extends TestCase 29 { 30 public TestTableModel(String name) { 31 super( name ); 32 } 33 34 public static void main(String [] args) { 35 TestRunner.run( suite() ); 36 } 37 38 public static Test suite() { 39 return new TestSuite( TestTableModel.class ); 40 } 41 42 public void testServletTable() throws Exception { 43 SAXReader reader = new SAXReader(); 44 Document document = reader.read( "xml/web.xml" ); 45 46 XMLTableDefinition tableDefinition = new XMLTableDefinition(); 47 tableDefinition.setRowExpression( "/web-app/servlet" ); 48 tableDefinition.addStringColumn( "Name", "servlet-name" ); 49 tableDefinition.addStringColumn( "Class", "servlet-class" ); 50 tableDefinition.addStringColumn( "Mapping", "../servlet-mapping[servlet-name=$Name]/url-pattern" ); 51 52 XMLTableModel tableModel = new XMLTableModel( tableDefinition, document ); 53 54 assertEquals( "correct row count", tableModel.getRowCount(), 2 ); 56 assertEquals( "correct column count", tableModel.getColumnCount(), 3 ); 57 58 assertColumnNameEquals( tableModel, 0, "Name" ); 59 assertColumnNameEquals( tableModel, 1, "Class" ); 60 assertColumnNameEquals( tableModel, 2, "Mapping" ); 61 62 assertCellEquals( tableModel, 0, 0, "snoop" ); 63 assertCellEquals( tableModel, 1, 0, "file" ); 64 assertCellEquals( tableModel, 0, 1, "SnoopServlet" ); 65 assertCellEquals( tableModel, 1, 1, "ViewFile" ); 66 assertCellEquals( tableModel, 0, 2, "/foo/snoop" ); 67 assertCellEquals( tableModel, 1, 2, "" ); 68 } 69 70 public void testServletTableViaXMLDescription() throws Exception { 71 SAXReader reader = new SAXReader(); 72 Document definition = reader.read( "xml/swing/tableForWeb.xml" ); 73 Document document = reader.read( "xml/web.xml" ); 74 75 XMLTableModel tableModel = new XMLTableModel( definition, document ); 76 77 assertEquals( "correct row count", tableModel.getRowCount(), 2 ); 79 assertEquals( "correct column count", tableModel.getColumnCount(), 3 ); 80 81 assertColumnNameEquals( tableModel, 0, "Name" ); 82 assertColumnNameEquals( tableModel, 1, "Class" ); 83 assertColumnNameEquals( tableModel, 2, "Mapping" ); 84 85 assertCellEquals( tableModel, 0, 0, "snoop" ); 86 assertCellEquals( tableModel, 1, 0, "file" ); 87 assertCellEquals( tableModel, 0, 1, "SnoopServlet" ); 88 assertCellEquals( tableModel, 1, 1, "ViewFile" ); 89 assertCellEquals( tableModel, 0, 2, "/foo/snoop" ); 90 assertCellEquals( tableModel, 1, 2, "" ); 91 } 92 93 protected void assertColumnNameEquals(TableModel tableModel, int columnIndex, String name) { 94 assertEquals( "Column name correct for index: " + columnIndex, 95 name, tableModel.getColumnName( columnIndex ) 96 ); 97 } 98 99 protected void assertCellEquals(TableModel tableModel, int rowIndex, int columnIndex, Object value) { 100 assertEquals( "Cell value at row: " + rowIndex + " col: " + columnIndex, 101 value, tableModel.getValueAt( rowIndex, columnIndex ) 102 ); 103 } 104 } 105 | Popular Tags |