KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > test > dom4j > swing > TestTableModel


1 /*
2  * Copyright 2001 (C) MetaStuff, Ltd. All Rights Reserved.
3  *
4  * This software is open source.
5  * See the bottom of this file for the licence.
6  *
7  * $Id: TestTableModel.java,v 1.1 2003/07/07 10:30:30 per_nyfelt Exp $
8  */

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 JavaDoc;
22
23 /** Tests the Swing TableModel using a dom4j document.
24   *
25   * @author <a HREF="mailto:jstrachan@apache.org">James Strachan</a>
26   * @version $Revision: 1.1 $
27   */

28 public class TestTableModel extends TestCase
29 {
30     public TestTableModel(String JavaDoc name) {
31         super( name );
32     }
33
34     public static void main(String JavaDoc[] 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 JavaDoc {
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         // now lets test the values come out
55
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 JavaDoc {
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         // now lets test the values come out
78
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 JavaDoc 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 JavaDoc value) {
100         assertEquals( "Cell value at row: " + rowIndex + " col: " + columnIndex,
101             value, tableModel.getValueAt( rowIndex, columnIndex )
102         );
103     }
104 }
105
Popular Tags