KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > columba > mail > gui > table > model > HeaderTableModelTest


1 // The contents of this file are subject to the Mozilla Public License Version
2
// 1.1
3
//(the "License"); you may not use this file except in compliance with the
4
//License. You may obtain a copy of the License at http://www.mozilla.org/MPL/
5
//
6
//Software distributed under the License is distributed on an "AS IS" basis,
7
//WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
8
//for the specific language governing rights and
9
//limitations under the License.
10
//
11
//The Original Code is "The Columba Project"
12
//
13
//The Initial Developers of the Original Code are Frederik Dietz and Timo
14
// Stich.
15
//Portions created by Frederik Dietz and Timo Stich are Copyright (C) 2003.
16
//
17
//All Rights Reserved.
18
package org.columba.mail.gui.table.model;
19
20 import java.util.Date JavaDoc;
21
22 import junit.framework.TestCase;
23
24 import org.columba.mail.folder.headercache.MemoryHeaderList;
25 import org.columba.mail.message.ColumbaHeader;
26 import org.columba.mail.message.IHeaderList;
27 import org.frapuccino.treetable.Tree;
28 import org.frapuccino.treetable.TreeTable;
29
30 /**
31  * @author fdietz
32  *
33  */

34 public class HeaderTableModelTest extends TestCase {
35
36     public static String JavaDoc[] columns = { "Subject", "From", "columba.date"};
37
38     protected IHeaderList createHeaderList() {
39         IHeaderList list = new MemoryHeaderList();
40         ColumbaHeader h = new ColumbaHeader();
41         h.set("columba.uid", new Integer JavaDoc(0));
42         h.set("Subject", "Test1");
43         h.set("From", "test@test.de");
44         h.set("columba.date", new Date JavaDoc());
45         list.add(h, new Integer JavaDoc(0));
46
47         h = new ColumbaHeader();
48         h.set("columba.uid", new Integer JavaDoc(1));
49         h.set("Subject", "Test2");
50         h.set("From", "test@test.de");
51         h.set("columba.date", new Date JavaDoc());
52         list.add(h, new Integer JavaDoc(1));
53
54         return list;
55     }
56
57     /**
58      * Test number of columns after init
59      *
60      */

61     public void testColumns() {
62         HeaderTableModel model = new HeaderTableModel(columns);
63
64         // 3 columns table
65
assertEquals(3, model.getColumnCount());
66     }
67
68     public void testSet() {
69         HeaderTableModel model = new HeaderTableModel(columns);
70
71         TreeTable treetable = new TreeTable();
72         treetable.setModel(model);
73         model.setTree((Tree) treetable.getTree());
74
75         // create sample headerlist
76
IHeaderList list = createHeaderList();
77
78         model.set(list);
79
80         // check number of tree nodes
81
assertEquals(2, model.getRootNode().getChildCount());
82
83         // check number of cached MessageNodes
84
//assertEquals(2, model.getMap().size());
85

86         // check number of JTable rows
87
assertEquals(2, model.getRowCount());
88
89         // check number of JTree rows
90
assertEquals(2, model.getTree().getRowCount());
91
92     }
93
94     public void testRemove() {
95         HeaderTableModel model = new HeaderTableModel(columns);
96         Tree tree = new Tree();
97         model.setTree(tree);
98
99         IHeaderList list = createHeaderList();
100
101         model.set(list);
102
103         // remove MessageNode with uid=0
104
model.remove(new Object JavaDoc[] { new Integer JavaDoc(0)});
105
106         // check number of tree nodes
107
assertEquals(1, model.getRootNode().getChildCount());
108         // check number of cached MessageNodes
109
//assertEquals(1, model.getMap().size());
110

111         // check number of JTable rows
112
assertEquals(1, model.getRowCount());
113
114         // check number of JTree rows
115
assertEquals(1, model.getTree().getRowCount());
116     }
117
118     public void testModify() {
119         HeaderTableModel model = new HeaderTableModel(columns);
120         Tree tree = new Tree();
121         model.setTree(tree);
122
123         IHeaderList list = createHeaderList();
124
125         model.set(list);
126     }
127 }
Popular Tags