1 17 18 package javax.mail.event; 19 import javax.mail.Folder; 20 import javax.mail.TestData; 21 import junit.framework.TestCase; 22 25 public class MessageCountEventTest extends TestCase { 26 public MessageCountEventTest(String name) { 27 super(name); 28 } 29 public void testEvent() { 30 doEventTests(MessageCountEvent.ADDED); 31 doEventTests(MessageCountEvent.REMOVED); 32 try { 33 doEventTests(-12345); 34 fail("Expected exception due to invalid type -12345"); 35 } catch (IllegalArgumentException e) { 36 } 37 } 38 private void doEventTests(int type) { 39 Folder folder = TestData.getTestFolder(); 40 MessageCountEvent event = 41 new MessageCountEvent(folder, type, false, null); 42 assertEquals(folder, event.getSource()); 43 assertEquals(type, event.getType()); 44 MessageCountListenerTest listener = new MessageCountListenerTest(); 45 event.dispatch(listener); 46 assertEquals("Unexpcted method dispatched", type, listener.getState()); 47 } 48 public static class MessageCountListenerTest 49 implements MessageCountListener { 50 private int state = 0; 51 public void messagesAdded(MessageCountEvent event) { 52 if (state != 0) { 53 fail("Recycled Listener"); 54 } 55 state = MessageCountEvent.ADDED; 56 } 57 public void messagesRemoved(MessageCountEvent event) { 58 if (state != 0) { 59 fail("Recycled Listener"); 60 } 61 state = MessageCountEvent.REMOVED; 62 } 63 public int getState() { 64 return state; 65 } 66 } 67 } 68 | Popular Tags |