1 17 18 package javax.mail; 19 import java.util.Collections; 20 import java.util.Iterator; 21 import java.util.LinkedList; 22 import java.util.List; 23 import junit.framework.TestCase; 24 27 public class FlagsTest extends TestCase { 28 private List flagtypes; 29 private Flags flags; 30 34 public FlagsTest(String name) { 35 super(name); 36 } 37 40 protected void setUp() throws Exception { 41 super.setUp(); 42 flags = new Flags(); 43 flagtypes = new LinkedList(); 44 flagtypes.add(Flags.Flag.ANSWERED); 45 flagtypes.add(Flags.Flag.DELETED); 46 flagtypes.add(Flags.Flag.DRAFT); 47 flagtypes.add(Flags.Flag.FLAGGED); 48 flagtypes.add(Flags.Flag.RECENT); 49 flagtypes.add(Flags.Flag.SEEN); 50 Collections.shuffle(flagtypes); 51 } 52 public void testHashCode() { 53 int before = flags.hashCode(); 54 flags.add("Test"); 55 assertTrue( 56 "Before: " + before + ", now " + flags.hashCode(), 57 flags.hashCode() != before); 58 assertTrue(flags.hashCode() != 0); 59 } 60 63 public void testAddAndRemoveFlag() { 64 Iterator it = flagtypes.iterator(); 65 while (it.hasNext()) { 66 Flags.Flag flag = (Flags.Flag) it.next(); 67 assertFalse(flags.contains(flag)); 68 flags.add(flag); 69 assertTrue(flags.contains(flag)); 70 } 71 it = flagtypes.iterator(); 72 while (it.hasNext()) { 73 Flags.Flag flag = (Flags.Flag) it.next(); 74 flags.remove(flag); 75 assertFalse(flags.contains(flag)); 76 } 77 } 78 81 public void testAddString() { 82 assertFalse(flags.contains("Frog")); 83 flags.add("Frog"); 84 assertTrue(flags.contains("Frog")); 85 flags.remove("Frog"); 86 assertFalse(flags.contains("Frog")); 87 } 88 91 public void testAddFlags() { 92 Flags other = new Flags(); 93 other.add("Stuff"); 94 other.add(Flags.Flag.RECENT); 95 flags.add(other); 96 assertTrue(flags.contains("Stuff")); 97 assertTrue(flags.contains(Flags.Flag.RECENT)); 98 assertTrue(flags.contains(other)); 99 assertTrue(flags.contains(flags)); 100 flags.add("Thing"); 101 assertTrue(flags.contains("Thing")); 102 flags.remove(other); 103 assertFalse(flags.contains("Stuff")); 104 assertFalse(flags.contains(Flags.Flag.RECENT)); 105 assertFalse(flags.contains(other)); 106 assertTrue(flags.contains("Thing")); 107 } 108 111 public void testEqualsObject() { 112 Flags other = new Flags(); 113 other.add("Stuff"); 114 other.add(Flags.Flag.RECENT); 115 flags.add(other); 116 assertEquals(flags, other); 117 } 118 public void testGetSystemFlags() { 119 flags.add("Stuff"); 120 flags.add("Another"); 121 flags.add(Flags.Flag.FLAGGED); 122 flags.add(Flags.Flag.RECENT); 123 Flags.Flag[] array = flags.getSystemFlags(); 124 assertEquals(2, array.length); 125 assertTrue( 126 (array[0] == Flags.Flag.FLAGGED && array[1] == Flags.Flag.RECENT) 127 || (array[0] == Flags.Flag.RECENT 128 && array[1] == Flags.Flag.FLAGGED)); 129 } 130 public void testGetUserFlags() { 131 final String stuff = "Stuff"; 132 final String another = "Another"; 133 flags.add(stuff); 134 flags.add(another); 135 flags.add(Flags.Flag.FLAGGED); 136 flags.add(Flags.Flag.RECENT); 137 String[] array = flags.getUserFlags(); 138 assertEquals(2, array.length); 139 assertTrue( 140 (array[0] == stuff && array[1] == another) 141 || (array[0] == another && array[1] == stuff)); 142 } 143 public void testClone() throws CloneNotSupportedException { 144 flags.add("Thing"); 145 flags.add(Flags.Flag.RECENT); 146 Flags other = (Flags) flags.clone(); 147 assertTrue(other != flags); 148 assertEquals(other, flags); 149 } 150 } 151 | Popular Tags |