1 19 20 package org.apache.james.mailboxmanager.impl; 21 22 import javax.mail.Flags ; 23 24 import junit.framework.TestCase; 25 26 import org.apache.james.mailboxmanager.MessageResult; 27 import org.apache.james.mailboxmanager.tracking.UidChangeTracker; 28 import org.apache.james.mailboxmanager.tracking.UidRange; 29 30 public class UidChangeTrackerTestCase extends TestCase { 31 32 protected UidChangeTracker tracker; 33 34 protected MailboxListenerCollector collector; 35 36 public void setUp() { 37 tracker=new UidChangeTracker(null,"test",1000); 38 collector=new MailboxListenerCollector(); 39 tracker.addMailboxListener(collector); 40 } 41 42 43 44 protected void assertCollectorSizes(int added, int expunged, int flags) { 45 assertEquals(added,collector.getAddedList(false).size()); 46 assertEquals(expunged,collector.getExpungedList(false).size()); 47 assertEquals(flags,collector.getFlaggedList(false).size()); 48 } 49 50 51 public void testFound() { 52 MessageResultImpl[] results; 53 MessageResult result; 54 55 results=new MessageResultImpl[1]; 56 57 results[0]=new MessageResultImpl(1000l); 58 tracker.found(new UidRange(1000,1000),results, null); 59 assertCollectorSizes(0,0,0); 60 61 results[0]=new MessageResultImpl(1001l); 62 tracker.found(new UidRange(1001,1001),results, null); 63 assertCollectorSizes(1,0,0); 64 assertEquals(1001,((MessageResult) collector.getAddedList(true).get(0)).getUid()); 65 assertCollectorSizes(0,0,0); 66 67 results[0]=new MessageResultImpl(1001l,new Flags (Flags.Flag.FLAGGED)); 68 tracker.found(new UidRange(1001,1001),results, null); 69 assertCollectorSizes(0,0,1); 70 result=(MessageResult) collector.getFlaggedList(true).get(0); 71 assertEquals(1001,result.getUid()); 72 assertEquals(new Flags (Flags.Flag.FLAGGED),result.getFlags()); 73 74 tracker.found(new UidRange(1001,1001),results,null); 76 assertCollectorSizes(0,0,0); 77 78 tracker.found(new UidRange(1000,1001),results,null); 80 assertCollectorSizes(0,1,0); 81 assertEquals(1000,((MessageResult) collector.getExpungedList(true).get(0)).getUid()); 82 83 84 } 85 86 } 87 | Popular Tags |