source: trunk/tests/org/expeditee/gui/FrameTest.java@ 456

Last change on this file since 456 was 456, checked in by davidb, 12 years ago

Refactored to use the new PermissionPair and UserAppliedPermission classes

File size: 7.6 KB
Line 
1package org.expeditee.gui;
2
3import java.awt.Dimension;
4import java.util.Collection;
5import java.util.LinkedList;
6
7import junit.framework.TestCase;
8
9import org.expeditee.items.UserAppliedPermission;
10
11public class FrameTest extends TestCase {
12 Frame f1, f2, f3,f4, root, f5;
13 public void setUp(){
14 f1 = new Frame(); f1.setName("dgad3");
15 f2 = new Frame(); f2.setName("f4df5");
16 f3 = new Frame(); f3.setName("iu5yf4");
17 f4 = new Frame(); f4.setName("r6s3");
18 f5 = new Frame(); f4.setName("r6ssdf456");
19
20 root = new Frame(); root.setName("roottest1");
21 }
22
23 public void testConstructor() { // the most trivial test in the world
24 Frame f = new Frame();
25 assertNotNull(f);
26 }
27
28 public void testEquals1() {
29 Frame f1 = new Frame();
30 Frame f2 = new Frame();
31 assertEquals(f1, f2);
32 assertEquals(f2, f1);
33 }
34
35 public void testEquals2() {
36
37 Frame f1 = new Frame();
38 f1.setFrameset("safhsfah");
39
40 Frame f2 = new Frame();
41
42 assertFalse(f1.equals(f2));
43 assertFalse(f2.equals(f1));
44 }
45
46 public void testAddGetSingleOverlay() {
47 Frame f = new Frame();
48 Collection<Overlay> overlays = f.getOverlays();
49 assertNotNull(overlays);
50 assertEquals(0, overlays.size());
51
52 Overlay o = new Overlay(new Frame(), UserAppliedPermission.none);
53 f.addOverlay(o);
54 assertEquals(0, overlays.size()); // getOverlays should be immutable
55 overlays = f.getOverlays();
56 assertNotNull(overlays);
57 assertEquals(1, overlays.size());
58 assertEquals(o, overlays.iterator().next());
59 }
60
61 public void testAddGetMultipleOverlays() {
62
63 // TODO: REMOVE THIS LINE - THIS SHOULD NOT BE NEEDED - OTHER TEST CAPTURE THIS ERROR
64 FrameGraphics.setMaxSize(new Dimension(100,100));
65
66 Overlay o1 = new Overlay(f1, UserAppliedPermission.none);
67 Overlay o2 = new Overlay(f2, UserAppliedPermission.followLinks);
68 Overlay o3 = new Overlay(f3, UserAppliedPermission.copy);
69 Overlay o4 = new Overlay(f4, UserAppliedPermission.createFrames);
70
71 root.addOverlay(o1);
72
73 Collection<Overlay> overlays = root.getOverlays();
74 assertNotNull(overlays);
75 assertEquals(1, overlays.size());
76 assertEquals(o1, overlays.iterator().next());
77
78 f3.addOverlay(o2);
79 root.addOverlay(o3);
80
81 overlays = root.getOverlays();
82 assertNotNull(overlays);
83 assertEquals(3, overlays.size());
84 assertTrue(overlays.contains(o1));
85 assertTrue(overlays.contains(o3));
86
87 overlays.clear();
88 overlays.add(new Overlay(new Frame(), UserAppliedPermission.none));
89 overlays.add(new Overlay(new Frame(), UserAppliedPermission.followLinks));
90 overlays.add(new Overlay(new Frame(), UserAppliedPermission.copy));
91 overlays.add(o4);
92 overlays.add(new Overlay(new Frame(), UserAppliedPermission.createFrames));
93 overlays.add(new Overlay(new Frame(), UserAppliedPermission.full));
94 String framesetname = "X";
95 for (Overlay o : overlays) {
96 if (o.Frame.getFramesetName() == null) {
97 o.Frame.setName(framesetname+"1");
98 o.Frame.setName(framesetname + "name"+"1");
99 framesetname = framesetname + "X";
100
101 }
102 }
103 root.addAllOverlays(overlays);
104
105 overlays = root.getOverlays();
106 assertNotNull(overlays);
107 assertEquals(9, overlays.size());
108 assertTrue(overlays.contains(o1));
109 assertTrue(overlays.contains(o3));
110 assertTrue(overlays.contains(o4));
111
112 }
113
114 public void testClearOverlays() {
115
116 // TODO: REMOVE THIS LINE - THIS SHOULD NOT BE NEEDED - OTHER TEST CAPTURE THIS ERROR
117 FrameGraphics.setMaxSize(new Dimension(100,100));
118
119 Collection<Overlay> overlays = new LinkedList<Overlay>();
120 overlays.add(new Overlay(new Frame(), UserAppliedPermission.none));
121 overlays.add(new Overlay(new Frame(), UserAppliedPermission.followLinks));
122 overlays.add(new Overlay(new Frame(), UserAppliedPermission.copy));
123 overlays.add(new Overlay(new Frame(), UserAppliedPermission.createFrames));
124 overlays.add(new Overlay(new Frame(), UserAppliedPermission.full));
125 String framesetname = "X";
126 for (Overlay o : overlays) {
127 o.Frame.setName(framesetname + "1");
128 o.Frame.setName(framesetname + "name"+ "1");
129 framesetname = framesetname + "X"+ "1";
130 }
131 Frame root = new Frame(); root.setName("roottest1");
132
133 root.addAllOverlays(overlays);
134
135 root.clearOverlays();
136 overlays = root.getOverlays();
137 assertNotNull(overlays);
138 assertEquals(0, overlays.size());
139 }
140
141 public void testRemoveOverlay() {
142
143 // TODO: REMOVE THIS LINE - THIS SHOULD NOT BE NEEDED - OTHER TEST CAPTURE THIS ERROR
144 FrameGraphics.setMaxSize(new Dimension(100,100));
145
146 Collection<Overlay> overlays = new LinkedList<Overlay>();
147 Overlay toRemove = new Overlay(new Frame(), UserAppliedPermission.followLinks);
148 overlays.add(new Overlay(new Frame(), UserAppliedPermission.none));
149 overlays.add(toRemove);
150 overlays.add(new Overlay(new Frame(), UserAppliedPermission.copy));
151 overlays.add(new Overlay(new Frame(), UserAppliedPermission.createFrames));
152 overlays.add(new Overlay(new Frame(), UserAppliedPermission.full));
153 String framesetname = "X";
154 for (Overlay o : overlays) {
155 o.Frame.setName(framesetname+ "1");
156 o.Frame.setName(framesetname + "name"+ "1");
157 framesetname = framesetname + "X";
158 }
159
160 root.addAllOverlays(overlays);
161
162 root.removeOverlay(toRemove.Frame);
163 overlays = root.getOverlays();
164 assertNotNull(overlays);
165 assertEquals(4, overlays.size());
166 assertFalse(overlays.contains(toRemove));
167 }
168
169
170
171 public void testGetOverlaysDeep() {
172
173 // TODO: REMOVE THIS LINE - THIS SHOULD NOT BE NEEDED - OTHER TEST CAPTURE THIS ERROR
174 FrameGraphics.setMaxSize(new Dimension(100,100));
175
176 Overlay o0 = new Overlay(f1, UserAppliedPermission.none);
177 Overlay o1 = new Overlay(f1, UserAppliedPermission.full);
178 Overlay o2 = new Overlay(f2, UserAppliedPermission.followLinks);
179 Overlay o3 = new Overlay(f3, UserAppliedPermission.copy);
180 Overlay o4 = new Overlay(f4, UserAppliedPermission.createFrames);
181 Overlay o5 = new Overlay(f5, UserAppliedPermission.copy);
182
183 f1.addOverlay(o2);
184 f2.addOverlay(o3);
185 f3.addOverlay(o4);
186
187
188 root.addOverlay(o0);
189 Collection<Overlay> overlays = root.getOverlays();
190 assertNotNull(overlays);
191 assertEquals(4, overlays.size());
192 assertTrue(overlays.contains(o0));
193 assertTrue(overlays.contains(o2));
194 assertTrue(overlays.contains(o3));
195 assertTrue(overlays.contains(o4));
196
197
198 f3.addOverlay(o5);
199 root.clearOverlays();
200 root.addOverlay(o0);
201 overlays = root.getOverlays();
202 assertNotNull(overlays);
203 assertEquals(5, overlays.size());
204 assertTrue(overlays.contains(o0));
205 assertTrue(overlays.contains(o2));
206 assertTrue(overlays.contains(o3));
207 assertTrue(overlays.contains(o4));
208 assertTrue(overlays.contains(o5));
209
210 root.clearOverlays();
211 overlays = root.getOverlays();
212 assertNotNull(overlays);
213 assertEquals(0, overlays.size());
214
215 overlays.clear();
216 overlays.add(new Overlay(new Frame(), UserAppliedPermission.none));
217 overlays.add(new Overlay(new Frame(), UserAppliedPermission.followLinks));
218 overlays.add(new Overlay(new Frame(), UserAppliedPermission.copy));
219 overlays.add(new Overlay(new Frame(), UserAppliedPermission.createFrames));
220 overlays.add(new Overlay(new Frame(), UserAppliedPermission.full));
221 String framesetname = "X";
222 for (Overlay o : overlays) {
223 if (o.Frame.getFramesetName() == null) {
224 o.Frame.setName(framesetname + "1");
225 o.Frame.setName(framesetname + "name" + "1");
226 framesetname = framesetname + "X" + "1";
227
228 }
229 }
230 root.addAllOverlays(overlays);
231 root.addOverlay(o1);
232
233 Collection<Overlay> overlays2 = root.getOverlays();
234 assertNotNull(overlays2);
235 assertEquals(10, overlays2.size());
236
237
238 f2.removeOverlay(f3);
239 root.clearOverlays();
240 root.addAllOverlays(overlays);
241 root.addOverlay(o1);
242
243 overlays = root.getOverlays();
244 assertNotNull(overlays);
245 assertEquals(7, overlays.size());
246 }
247
248}
Note: See TracBrowser for help on using the repository browser.