KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > columba > mail > folder > mbox > MboxDataStorageTest


1 //The contents of this file are subject to the Mozilla Public License Version 1.1
2
//(the "License"); you may not use this file except in compliance with the
3
//License. You may obtain a copy of the License at http://www.mozilla.org/MPL/
4
//
5
//Software distributed under the License is distributed on an "AS IS" basis,
6
//WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
7
//for the specific language governing rights and
8
//limitations under the License.
9
//
10
//The Original Code is "The Columba Project"
11
//
12
//The Initial Developers of the Original Code are Frederik Dietz and Timo Stich.
13
//Portions created by Frederik Dietz and Timo Stich are Copyright (C) 2003.
14
//
15
//All Rights Reserved.
16

17 package org.columba.mail.folder.mbox;
18
19 import java.io.ByteArrayInputStream JavaDoc;
20
21 import junit.framework.TestCase;
22
23 import org.columba.mail.folder.MHFolderFactory;
24 import org.columba.ristretto.io.Source;
25
26 public class MboxDataStorageTest extends TestCase {
27
28     private static final String JavaDoc mail1 = "From: alice1@columba-mail.org\r\nTo: bob@columba-mail.org\r\n\r\ntest 1 mail";
29     private static final String JavaDoc mail2 = "From: alice2@columba-mail.org\r\nTo: bob@columba-mail.org\r\n\r\ntest 2 mail";
30     private static final String JavaDoc mail3 = "From: alice3@columba-mail.org\r\nTo: bob@columba-mail.org\r\n\r\ntest 3 mail";
31     
32     public void testSaveMessage() throws Exception JavaDoc {
33         MboxDataStorage storage = new MboxDataStorage(new MHFolderFactory().createFolder(100));
34         
35         storage.saveMessage(new Integer JavaDoc(1), new ByteArrayInputStream JavaDoc(mail1.getBytes("US-ASCII")));
36         
37         Source source = storage.getMessageSource(new Integer JavaDoc(1));
38         
39         assertEquals(mail1, source.toString());
40         
41         storage.removeMessage(new Integer JavaDoc(1));
42         
43         assertFalse(storage.exists(new Integer JavaDoc(1)));
44         assertEquals(storage.getMessageCount(), 0);
45     }
46     
47     public void testSaveMultipleMessages() throws Exception JavaDoc {
48         MboxDataStorage storage = new MboxDataStorage(new MHFolderFactory().createFolder(100));
49         
50         storage.saveMessage(new Integer JavaDoc(1), new ByteArrayInputStream JavaDoc(mail1.getBytes("US-ASCII")));
51         storage.saveMessage(new Integer JavaDoc(2), new ByteArrayInputStream JavaDoc(mail2.getBytes("US-ASCII")));
52         
53         Source source = storage.getMessageSource(new Integer JavaDoc(1));
54         assertEquals(mail1, source.toString());
55         source = null;
56         
57         storage.saveMessage(new Integer JavaDoc(3), new ByteArrayInputStream JavaDoc(mail3.getBytes("US-ASCII")));
58
59         storage.removeMessage(new Integer JavaDoc(1));
60         storage.removeMessage(new Integer JavaDoc(3));
61
62         source = storage.getMessageSource(new Integer JavaDoc(2));
63         assertEquals(mail2, source.toString());
64     }
65     
66     public void testLoadSave() throws Exception JavaDoc {
67         MboxDataStorage storage = new MboxDataStorage(new MHFolderFactory().createFolder(100));
68         
69         storage.saveMessage(new Integer JavaDoc(1), new ByteArrayInputStream JavaDoc(mail1.getBytes("US-ASCII")));
70         storage.saveMessage(new Integer JavaDoc(2), new ByteArrayInputStream JavaDoc(mail2.getBytes("US-ASCII")));
71         
72         storage.save();
73         
74         storage.load();
75         Source source = storage.getMessageSource(new Integer JavaDoc(1));
76         assertEquals(mail1, source.toString());
77         
78     }
79
80
81 }
82
Popular Tags