1 /**
2 *
3 * Copyright 2003-2004 The Apache Software Foundation
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17
18 package javax.mail.event;
19 import junit.framework.TestCase;
20 /**
21 * @version $Rev: 125583 $ $Date: 2005-01-18 19:44:27 -0800 (Tue, 18 Jan 2005) $
22 */
23 public class FolderEventTest extends TestCase {
24 public FolderEventTest(String name) {
25 super(name);
26 }
27 public void testEvent() {
28 doEventTests(FolderEvent.CREATED);
29 doEventTests(FolderEvent.RENAMED);
30 doEventTests(FolderEvent.DELETED);
31 }
32 private void doEventTests(int type) {
33 FolderEvent event = new FolderEvent(this, null, type);
34 assertEquals(this, event.getSource());
35 assertEquals(type, event.getType());
36 FolderListenerTest listener = new FolderListenerTest();
37 event.dispatch(listener);
38 assertEquals("Unexpcted method dispatched", type, listener.getState());
39 }
40 public static class FolderListenerTest implements FolderListener {
41 private int state = 0;
42 public void folderCreated(FolderEvent event) {
43 if (state != 0) {
44 fail("Recycled Listener");
45 }
46 state = FolderEvent.CREATED;
47 }
48 public void folderDeleted(FolderEvent event) {
49 if (state != 0) {
50 fail("Recycled Listener");
51 }
52 state = FolderEvent.DELETED;
53 }
54 public void folderRenamed(FolderEvent event) {
55 if (state != 0) {
56 fail("Recycled Listener");
57 }
58 state = FolderEvent.RENAMED;
59 }
60 public int getState() {
61 return state;
62 }
63 }
64 }