KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > javax > mail > FlagsTest


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;
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 /**
25  * @version $Rev: 46019 $ $Date: 2004-09-14 02:56:06 -0700 (Tue, 14 Sep 2004) $
26  */

27 public class FlagsTest extends TestCase {
28     private List flagtypes;
29     private Flags flags;
30     /**
31      * Constructor for FlagsTest.
32      * @param arg0
33      */

34     public FlagsTest(String name) {
35         super(name);
36     }
37     /*
38      * @see TestCase#setUp()
39      */

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     /*
61      * Test for void add(Flag)
62      */

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     /*
79      * Test for void add(String)
80      */

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     /*
89      * Test for void add(Flags)
90      */

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     /*
109      * Test for boolean equals(Object)
110      */

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