KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > net > sf > retrotranslator > runtime > java > util > _DequeJava6TestCase


1 /***
2  * Retrotranslator: a Java bytecode transformer that translates Java classes
3  * compiled with JDK 5.0 into classes that can be run on JVM 1.4.
4  *
5  * Copyright (c) 2005 - 2007 Taras Puchko
6  * All rights reserved.
7  *
8  * Redistribution and use in source and binary forms, with or without
9  * modification, are permitted provided that the following conditions
10  * are met:
11  * 1. Redistributions of source code must retain the above copyright
12  * notice, this list of conditions and the following disclaimer.
13  * 2. Redistributions in binary form must reproduce the above copyright
14  * notice, this list of conditions and the following disclaimer in the
15  * documentation and/or other materials provided with the distribution.
16  * 3. Neither the name of the copyright holders nor the names of its
17  * contributors may be used to endorse or promote products derived from
18  * this software without specific prior written permission.
19  *
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
24  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
25  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
26  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
27  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
28  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
29  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
30  * THE POSSIBILITY OF SUCH DAMAGE.
31  */

32 package net.sf.retrotranslator.runtime.java.util;
33
34 import junit.framework.*;
35 import java.util.*;
36
37 /**
38  * @author Taras Puchko
39  */

40 public class _DequeJava6TestCase extends TestCase {
41
42     public void testAddFirst() throws Exception JavaDoc {
43         for (Deque deque : new Deque[] {new ArrayDeque(), new LinkedList()}) {
44             Collections.addAll(deque, "a", "b", "c");
45             deque.addFirst("x");
46             assertEquals("[x, a, b, c]", deque.toString());
47         }
48     }
49
50     public void testAddLast() throws Exception JavaDoc {
51         for (Deque deque : new Deque[] {new ArrayDeque(), new LinkedList()}) {
52             Collections.addAll(deque, "a", "b", "c");
53             deque.addLast("x");
54             assertEquals("[a, b, c, x]", deque.toString());
55         }
56     }
57
58     public void testDescendingIterator() throws Exception JavaDoc {
59         for (Deque deque : new Deque[] {new ArrayDeque(), new LinkedList()}) {
60             Collections.addAll(deque, "a", "b", "c");
61             Iterator iterator = deque.descendingIterator();
62             assertTrue(iterator.hasNext());
63             assertEquals("c", iterator.next());
64             assertTrue(iterator.hasNext());
65             assertEquals("b", iterator.next());
66             iterator.remove();
67             assertTrue(iterator.hasNext());
68             assertEquals("a", iterator.next());
69             assertFalse(iterator.hasNext());
70             assertEquals("[a, c]", deque.toString());
71         }
72     }
73
74     public void testElement() throws Exception JavaDoc {
75         for (Deque deque : new Deque[] {new ArrayDeque(), new LinkedList()}) {
76             Collections.addAll(deque, "a", "b", "c");
77             assertEquals("a", deque.element());
78             assertEquals(3, deque.size());
79             deque.clear();
80             try {
81                 deque.element();
82                 fail();
83             } catch (NoSuchElementException e) {
84                 //ok
85
}
86         }
87     }
88
89     public void testGetFirst() throws Exception JavaDoc {
90         for (Deque deque : new Deque[] {new ArrayDeque(), new LinkedList()}) {
91             Collections.addAll(deque, "a", "b", "c");
92             assertEquals("a", deque.getFirst());
93             assertEquals("[a, b, c]", deque.toString());
94             deque.clear();
95             try {
96                 deque.getFirst();
97                 fail();
98             } catch (NoSuchElementException e) {
99                 //ok
100
}
101         }
102     }
103
104     public void testGetLast() throws Exception JavaDoc {
105         for (Deque deque : new Deque[] {new ArrayDeque(), new LinkedList()}) {
106             Collections.addAll(deque, "a", "b", "c");
107             assertEquals("c", deque.getLast());
108             assertEquals("[a, b, c]", deque.toString());
109             deque.clear();
110             try {
111                 deque.getLast();
112                 fail();
113             } catch (NoSuchElementException e) {
114                 //ok
115
}
116         }
117     }
118
119     public void testOffer() throws Exception JavaDoc {
120         for (Deque deque : new Deque[] {new ArrayDeque(), new LinkedList()}) {
121             Collections.addAll(deque, "a", "b", "c");
122             assertTrue(deque.offer("x"));
123             assertEquals(4, deque.size());
124             assertEquals("x", deque.getLast());
125         }
126     }
127
128     public void testOfferFirst() throws Exception JavaDoc {
129         for (Deque deque : new Deque[] {new ArrayDeque(), new LinkedList()}) {
130             Collections.addAll(deque, "a", "b", "c");
131             assertTrue(deque.offerFirst("x"));
132             assertEquals(4, deque.size());
133             assertEquals("x", deque.getFirst());
134         }
135     }
136
137     public void testOfferLast() throws Exception JavaDoc {
138         for (Deque deque : new Deque[] {new ArrayDeque(), new LinkedList()}) {
139             Collections.addAll(deque, "a", "b", "c");
140             assertTrue(deque.offerLast("x"));
141             assertEquals(4, deque.size());
142             assertEquals("x", deque.getLast());
143         }
144     }
145
146     public void testPeek() throws Exception JavaDoc {
147         for (Deque deque : new Deque[] {new ArrayDeque(), new LinkedList()}) {
148             Collections.addAll(deque, "a", "b", "c");
149             assertEquals("a", deque.peek());
150             assertEquals(3, deque.size());
151             deque.clear();
152             assertNull(deque.peek());
153         }
154     }
155
156     public void testPeekFirst() throws Exception JavaDoc {
157         for (Deque deque : new Deque[] {new ArrayDeque(), new LinkedList()}) {
158             Collections.addAll(deque, "a", "b", "c");
159             assertEquals("a", deque.peekFirst());
160             assertEquals(3, deque.size());
161             deque.clear();
162             assertNull(deque.peekFirst());
163         }
164     }
165
166     public void testPeekLast() throws Exception JavaDoc {
167         for (Deque deque : new Deque[] {new ArrayDeque(), new LinkedList()}) {
168             Collections.addAll(deque, "a", "b", "c");
169             assertEquals("c", deque.peekLast());
170             assertEquals(3, deque.size());
171             deque.clear();
172             assertNull(deque.peekLast());
173         }
174     }
175
176     public void testPoll() throws Exception JavaDoc {
177         for (Deque deque : new Deque[] {new ArrayDeque(), new LinkedList()}) {
178             Collections.addAll(deque, "a", "b", "c");
179             assertEquals("a", deque.poll());
180             assertEquals(2, deque.size());
181             deque.clear();
182             assertNull(deque.poll());
183         }
184     }
185
186     public void testPollFirst() throws Exception JavaDoc {
187         for (Deque deque : new Deque[] {new ArrayDeque(), new LinkedList()}) {
188             Collections.addAll(deque, "a", "b", "c");
189             assertEquals("a", deque.pollFirst());
190             assertEquals(2, deque.size());
191             deque.clear();
192             assertNull(deque.pollFirst());
193         }
194     }
195
196     public void testPollLast() throws Exception JavaDoc {
197         for (Deque deque : new Deque[] {new ArrayDeque(), new LinkedList()}) {
198             Collections.addAll(deque, "a", "b", "c");
199             assertEquals("c", deque.pollLast());
200             assertEquals(2, deque.size());
201             deque.clear();
202             assertNull(deque.pollLast());
203         }
204     }
205
206     public void testPop() throws Exception JavaDoc {
207         for (Deque deque : new Deque[] {new ArrayDeque(), new LinkedList()}) {
208             Collections.addAll(deque, "a", "b", "c");
209             assertEquals("a", deque.pop());
210             assertEquals(2, deque.size());
211             deque.clear();
212             try {
213                 deque.pop();
214                 fail();
215             } catch (NoSuchElementException e) {
216                 //ok
217
}
218         }
219     }
220
221     public void testPush() throws Exception JavaDoc {
222         for (Deque deque : new Deque[] {new ArrayDeque(), new LinkedList()}) {
223             Collections.addAll(deque, "a", "b", "c");
224             deque.push("x");
225             assertEquals(4, deque.size());
226             assertEquals("x", deque.getFirst());
227         }
228     }
229
230     public void testRemove() throws Exception JavaDoc {
231         for (Deque deque : new Deque[] {new ArrayDeque(), new LinkedList()}) {
232             Collections.addAll(deque, "a", "b", "c");
233             assertEquals("a", deque.remove());
234             assertEquals(2, deque.size());
235             deque.clear();
236             try {
237                 deque.remove();
238                 fail();
239             } catch (NoSuchElementException e) {
240                 //ok
241
}
242         }
243     }
244
245     public void testRemoveFirst() throws Exception JavaDoc {
246         for (Deque deque : new Deque[] {new ArrayDeque(), new LinkedList()}) {
247             Collections.addAll(deque, "a", "b", "c");
248             assertEquals("a", deque.removeFirst());
249             assertEquals("[b, c]", deque.toString());
250             deque.clear();
251             try {
252                 deque.removeFirst();
253                 fail();
254             } catch (NoSuchElementException e) {
255                 //ok
256
}
257         }
258     }
259
260     public void testRemoveLast() throws Exception JavaDoc {
261         for (Deque deque : new Deque[] {new ArrayDeque(), new LinkedList()}) {
262             Collections.addAll(deque, "a", "b", "c");
263             assertEquals("c", deque.removeLast());
264             assertEquals("[a, b]", deque.toString());
265             deque.clear();
266             try {
267                 deque.removeLast();
268                 fail();
269             } catch (NoSuchElementException e) {
270                 //ok
271
}
272         }
273     }
274
275     public void testRemoveFirstOccurrence() throws Exception JavaDoc {
276         for (Deque deque : new Deque[] {new ArrayDeque(), new LinkedList()}) {
277             Collections.addAll(deque, "a", "b", "c", "b", "d");
278             assertTrue(deque.removeFirstOccurrence("b"));
279             assertEquals(4, deque.size());
280             assertEquals("[a, c, b, d]", deque.toString());
281             assertFalse(deque.removeFirstOccurrence("x"));
282         }
283     }
284
285     public void testRemoveLastOccurrence() throws Exception JavaDoc {
286         for (Deque deque : new Deque[] {new ArrayDeque(), new LinkedList()}) {
287             Collections.addAll(deque, "a", "b", "c", "b", "d");
288             assertTrue(deque.removeLastOccurrence("b"));
289             assertEquals(4, deque.size());
290             assertEquals("[a, b, c, d]", deque.toString());
291             assertFalse(deque.removeLastOccurrence("x"));
292         }
293     }
294
295 }
Popular Tags