KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > columba > mail > parser > ListBuilderTest


1 package org.columba.mail.parser;
2
3 import java.util.Enumeration JavaDoc;
4 import java.util.List JavaDoc;
5 import java.util.Vector JavaDoc;
6
7 import javax.swing.ImageIcon JavaDoc;
8 import javax.swing.tree.TreeNode JavaDoc;
9
10 import junit.framework.TestCase;
11
12 import org.columba.addressbook.facade.ContactItem;
13 import org.columba.addressbook.facade.GroupItem;
14 import org.columba.addressbook.facade.HeaderItem;
15 import org.columba.addressbook.facade.IContactFacade;
16 import org.columba.addressbook.facade.IContactItem;
17 import org.columba.addressbook.facade.IFolder;
18 import org.columba.addressbook.facade.IFolderFacade;
19 import org.columba.addressbook.facade.IGroupItem;
20 import org.columba.addressbook.facade.IHeaderItem;
21 import org.columba.api.exception.StoreException;
22 import org.columba.core.facade.ServiceFacadeRegistry;
23
24 public class ListBuilderTest extends TestCase {
25
26     private IContactItem contact1;
27
28     private IContactItem contact2;
29
30     private IGroupItem group1;
31
32     private IGroupItem group2;
33
34     @Override JavaDoc
35     protected void setUp() throws Exception JavaDoc {
36
37         IContactFacade contactFacade = new MyContactFacade();
38         IFolderFacade folderFacade = new MyFolderFacade();
39
40         ServiceFacadeRegistry.getInstance().register(IContactFacade.class,
41                 contactFacade);
42         ServiceFacadeRegistry.getInstance().register(IFolderFacade.class,
43                 folderFacade);
44
45         contact1 = new ContactItem("0", "name1", "firstname1", "lastname1",
46                 "name1@mail.org");
47         contact2 = new ContactItem("1", "name2", "firstname2", "lastname2",
48                 "name2@mail.org");
49         
50         // create group containing first contact
51
group1 = new GroupItem("0", "groupname1", "description1");
52         group1.addContact(contact1);
53
54         // create group with two contacts
55
group2 = new GroupItem("1", "groupname2", "description2");
56         group2.addContact(contact1);
57         group2.addContact(contact2);
58     }
59
60     /**
61      * Test if contact display names are resolved correctly in email address
62      */

63     public void testCreateFlatListWithNamesOnly() {
64         List JavaDoc<String JavaDoc> l = new Vector JavaDoc<String JavaDoc>();
65         l.add("name1");
66         l.add("name2");
67
68         List JavaDoc<String JavaDoc> result = ListBuilder.createFlatList(l);
69         assertEquals("name1@mail.org", result.get(0));
70         assertEquals("name2@mail.org", result.get(1));
71
72     }
73
74     /**
75      * Now, mix in real email address
76      */

77     public void testCreateFlatListWithEmailAddressMixedIn() {
78         List JavaDoc<String JavaDoc> l = new Vector JavaDoc<String JavaDoc>();
79         l.add("name1");
80         l.add("name2@mail.org");
81
82         List JavaDoc<String JavaDoc> result = ListBuilder.createFlatList(l);
83         assertEquals("name1@mail.org", result.get(0));
84         assertEquals("name2@mail.org", result.get(1));
85
86     }
87     
88     /**
89      * Test if groups are resolved correctly
90      *
91      */

92     public void testCreateFlatListWithGroups() {
93         List JavaDoc<String JavaDoc> l = new Vector JavaDoc<String JavaDoc>();
94         l.add("groupname1");
95         l.add("name2@mail.org");
96
97         List JavaDoc<String JavaDoc> result = ListBuilder.createFlatList(l);
98         // first group contains first contact item
99
assertEquals("name1@mail.org", result.get(0));
100         assertEquals("name2@mail.org", result.get(1));
101
102     }
103     
104     /**
105      * Again, but with a group containing two contact items
106      *
107      */

108     public void testCreateFlatListWithGroups2() {
109         List JavaDoc<String JavaDoc> l = new Vector JavaDoc<String JavaDoc>();
110         l.add("groupname2");
111         l.add("name2@mail.org");
112
113         List JavaDoc<String JavaDoc> result = ListBuilder.createFlatList(l);
114         // first group contains first contact item
115
assertEquals("name1@mail.org", result.get(0));
116         assertEquals("name2@mail.org", result.get(1));
117         assertEquals("name2@mail.org", result.get(2));
118
119     }
120
121     
122     /*
123      * Test method for
124      * 'org.columba.mail.parser.ListBuilder.createStringListFromItemList(List<IHeaderItem>)'
125      */

126     public void testCreateStringListFromItemList() {
127
128         List JavaDoc<IHeaderItem> l = new Vector JavaDoc<IHeaderItem>();
129         IHeaderItem item1 = new HeaderItem(true);
130         item1.setName("name1");
131         l.add(item1);
132         IHeaderItem item2 = new HeaderItem(true);
133         item2.setName("name2");
134         l.add(item2);
135
136         List JavaDoc<String JavaDoc> result = ListBuilder.createStringListFromItemList(l);
137         assertEquals("name1", result.get(0));
138         assertEquals("name2", result.get(1));
139     }
140
141     // mock folder class, only returns folder id
142
class Folder implements IFolder {
143         Folder() {
144
145         }
146
147         public ImageIcon JavaDoc getIcon() {
148             return null;
149         }
150
151         public String JavaDoc getId() {
152             return "101";
153         }
154
155         public String JavaDoc getName() {
156             return null;
157         }
158
159         public TreeNode JavaDoc getChildAt(int childIndex) {
160             return null;
161         }
162
163         public int getChildCount() {
164             return 0;
165         }
166
167         public TreeNode JavaDoc getParent() {
168             return null;
169         }
170
171         public int getIndex(TreeNode JavaDoc node) {
172             return 0;
173         }
174
175         public boolean getAllowsChildren() {
176             return false;
177         }
178
179         public boolean isLeaf() {
180             return false;
181         }
182
183         public Enumeration JavaDoc children() {
184             return null;
185         }
186     }
187
188     // mock object folder facade, only returns folder list
189
class MyFolderFacade implements IFolderFacade {
190         MyFolderFacade() {
191
192         }
193
194         public IFolder getFolder(String JavaDoc uid) {
195             return null;
196         }
197
198         public IFolder getCollectedAddresses() {
199             return null;
200         }
201
202         public IFolder getLocalAddressbook() {
203             return null;
204         }
205
206         public IFolder getFolderByName(String JavaDoc name) {
207             return null;
208         }
209
210         public List JavaDoc<IFolder> getAllFolders() {
211             List JavaDoc<IFolder> list = new Vector JavaDoc<IFolder>();
212             IFolder f = new Folder();
213
214             list.add(f);
215
216             return list;
217         }
218
219         public IFolder getRootFolder() {
220             return null;
221         }
222     }
223
224     // mock objects contact facade, only returns getContactItem() and
225
// getAllGroups()
226
class MyContactFacade implements IContactFacade {
227         MyContactFacade() {
228
229         }
230
231         public void addContact(String JavaDoc id, IContactItem contactItem)
232                 throws StoreException, IllegalArgumentException JavaDoc {
233
234         }
235
236         public void addContacts(String JavaDoc id, IContactItem[] contactItem)
237                 throws StoreException, IllegalArgumentException JavaDoc {
238         }
239
240         public void addContact(IContactItem contactItem) throws StoreException,
241                 IllegalArgumentException JavaDoc {
242
243         }
244
245         public void addContacts(IContactItem[] contactItems)
246                 throws StoreException, IllegalArgumentException JavaDoc {
247
248         }
249
250         public IContactItem getContactItem(String JavaDoc folderId, String JavaDoc contactId)
251                 throws StoreException, IllegalArgumentException JavaDoc {
252             if (contactId.equals("0"))
253                 return contact1;
254             else if (contactId.equals("1"))
255                 return contact2;
256             return null;
257         }
258
259         public List JavaDoc<IHeaderItem> getAllHeaderItems(String JavaDoc folderId,
260                 boolean flattenGroupItems) throws StoreException,
261                 IllegalArgumentException JavaDoc {
262             return null;
263         }
264
265         public List JavaDoc<IContactItem> getAllContacts(String JavaDoc folderId)
266                 throws StoreException, IllegalArgumentException JavaDoc {
267             return null;
268         }
269
270         public List JavaDoc<IGroupItem> getAllGroups(String JavaDoc folderId)
271                 throws StoreException, IllegalArgumentException JavaDoc {
272             List JavaDoc<IGroupItem> list = new Vector JavaDoc<IGroupItem>();
273             list.add(group1);
274             list.add(group2);
275             return list;
276         }
277
278         public String JavaDoc findByEmailAddress(String JavaDoc folderId, String JavaDoc emailAddress)
279                 throws StoreException, IllegalArgumentException JavaDoc {
280
281             return null;
282         }
283
284         public String JavaDoc findByName(String JavaDoc folderId, String JavaDoc name)
285                 throws StoreException, IllegalArgumentException JavaDoc {
286             if (name.equals("name1"))
287                 return "0";
288             else if (name.equals("name2"))
289                 return "1";
290
291             return null;
292         }
293     }
294 }
295
Popular Tags