浏览代码

Unit tests (and fixed a but in WeakList)

Change-Id: Ie17ad694c5a02c757fbc4403852b67bac44f84a9
Reviewed-on: http://gerrit.dmdirc.com/2439
Reviewed-by: Chris Smith <chris@dmdirc.com>
Automatic-Compile: DMDirc Build Manager
tags/0.7rc1
Greg Holmes 12 年前
父节点
当前提交
3e8ac978f7

+ 2
- 2
src/com/dmdirc/util/collections/WeakList.java 查看文件

@@ -212,7 +212,7 @@ public class WeakList<T> implements List<T> {
212 212
     public int indexOf(final Object o) {
213 213
         cleanUp();
214 214
 
215
-        return list.indexOf(o);
215
+        return dereferenceList(list).indexOf(o);
216 216
     }
217 217
 
218 218
     /** {@inheritDoc} */
@@ -220,7 +220,7 @@ public class WeakList<T> implements List<T> {
220 220
     public int lastIndexOf(final Object o) {
221 221
         cleanUp();
222 222
 
223
-        return list.lastIndexOf(o);
223
+        return dereferenceList(list).lastIndexOf(o);
224 224
     }
225 225
 
226 226
     /** {@inheritDoc} */

+ 11
- 1
test/com/dmdirc/util/collections/MapListTest.java 查看文件

@@ -22,10 +22,11 @@
22 22
 
23 23
 package com.dmdirc.util.collections;
24 24
 
25
-import com.dmdirc.util.collections.MapList;
26 25
 import java.util.ArrayList;
27 26
 import java.util.List;
27
+
28 28
 import org.junit.Test;
29
+
29 30
 import static org.junit.Assert.*;
30 31
 
31 32
 public class MapListTest {
@@ -90,6 +91,15 @@ public class MapListTest {
90 91
         assertEquals(1, test.values("d").size());
91 92
     }
92 93
 
94
+    @Test
95
+    public void testRemoveKey() {
96
+        final MapList<String, String> instance = new MapList<String, String>();
97
+        instance.add("a", "b");
98
+        assertTrue(instance.containsKey("a"));
99
+        instance.remove("a");
100
+        assertFalse(instance.containsKey("a"));
101
+    }
102
+
93 103
     @Test
94 104
     public void testKeySet() {
95 105
         final MapList<String, String> test = new MapList<String, String>();

+ 250
- 18
test/com/dmdirc/util/collections/WeakListTest.java 查看文件

@@ -22,30 +22,262 @@
22 22
 
23 23
 package com.dmdirc.util.collections;
24 24
 
25
-import com.dmdirc.util.collections.WeakList;
25
+import java.util.ArrayList;
26
+import java.util.Iterator;
27
+import java.util.List;
28
+import java.util.ListIterator;
29
+
26 30
 import org.junit.Test;
31
+
27 32
 import static org.junit.Assert.*;
28 33
 
29 34
 public class WeakListTest {
30 35
 
31 36
     @Test
32
-    public void testBasics() {
33
-        final WeakList<String> test = new WeakList<String>();
34
-        assertTrue(test.isEmpty());
35
-        
36
-        test.add("abcdef");
37
-        test.add("123");
38
-        
39
-        assertEquals(2, test.size());
40
-        assertTrue(test.get(0).equals("abcdef"));
41
-        assertTrue(test.contains("123"));
42
-        assertFalse(test.isEmpty());
43
-        
44
-        test.remove("abcdef");
45
-        assertFalse(test.contains("abcdef"));
46
-        
47
-        test.remove("123");
48
-        assertTrue(test.isEmpty());
37
+    public void testIsEmpty() {
38
+        final WeakList<String> instance = new WeakList<String>();
39
+        assertTrue(instance.isEmpty());
40
+        instance.add("test1");
41
+        assertFalse(instance.isEmpty());
42
+    }
43
+
44
+    @Test
45
+    public void testAdd() {
46
+        final WeakList<String> instance = new WeakList<String>();
47
+        assertTrue(instance.add("test1"));
48
+        assertFalse(instance.isEmpty());
49
+    }
50
+
51
+    @Test
52
+    public void testAdd_Int() {
53
+        final WeakList<String> instance = new WeakList<String>();
54
+        assertTrue(instance.add("test1"));
55
+        instance.add(0, "test2");
56
+        assertEquals("test2", instance.get(0));
57
+    }
58
+
59
+    @Test
60
+    public void testRemove() {
61
+        final WeakList<String> instance = new WeakList<String>();
62
+        instance.add("test1");
63
+        assertFalse(instance.isEmpty());
64
+        assertTrue(instance.remove("test1"));
65
+        assertFalse(instance.remove("test1"));
66
+    }
67
+
68
+    @Test
69
+    public void testRemove_Int() {
70
+        final WeakList<String> instance = new WeakList<String>();
71
+        assertTrue(instance.isEmpty());
72
+        instance.add("test1");
73
+        instance.add("test2");
74
+        assertEquals(2, instance.size());
75
+        instance.remove(1);
76
+        assertTrue(instance.contains(("test1")));
77
+        assertFalse(instance.contains(("test2")));
78
+    }
79
+
80
+    @Test
81
+    public void testGet() {
82
+        final WeakList<String> instance = new WeakList<String>();
83
+        instance.add("test1");
84
+        instance.add("test2");
85
+        assertEquals("test1", instance.get(0));
86
+        assertEquals("test2", instance.get(1));
87
+    }
88
+
89
+    @Test
90
+    public void testContains() {
91
+        final WeakList<String> instance = new WeakList<String>();
92
+        assertFalse(instance.contains("test1"));
93
+        instance.add("test1");
94
+        assertTrue(instance.contains("test1"));
95
+    }
96
+
97
+    /**
98
+     * Test of toArray method, of class WeakList.
99
+     */
100
+    @Test
101
+    public void testToArray_0args() {
102
+        final WeakList<String> instance = new WeakList<String>();
103
+        assertEquals(0, instance.toArray().length);
104
+        instance.add("test1");
105
+        instance.add("test2");
106
+        final Object[] result = instance.toArray();
107
+        assertEquals(2, result.length);
108
+        assertEquals("test1", result[0]);
109
+        assertEquals("test2", result[1]);
110
+    }
111
+
112
+    /**
113
+     * Test of toArray method, of class WeakList.
114
+     */
115
+    @Test
116
+    public void testToArray_GenericType() {
117
+        final WeakList<String> instance = new WeakList<String>();
118
+        assertEquals(0, instance.toArray(new String[0]).length);
119
+        instance.add("test1");
120
+        instance.add("test2");
121
+        final Object[] result = instance.toArray(new String[2]);
122
+        assertEquals(2, result.length);
123
+        assertEquals("test1", result[0]);
124
+        assertEquals("test2", result[1]);
125
+    }
126
+
127
+    /**
128
+     * Test of containsAll method, of class WeakList.
129
+     */
130
+    @Test
131
+    public void testContainsAllAddAll() {
132
+        final List<String> list = new ArrayList<String>();
133
+        list.add("test1");
134
+        list.add("test2");
135
+        final WeakList<String> instance = new WeakList<String>();
136
+        assertFalse(instance.containsAll(list));
137
+        instance.addAll(list);
138
+        assertTrue(instance.contains("test1"));
139
+        assertTrue(instance.contains("test2"));
140
+        assertTrue(instance.containsAll(list));
141
+    }
142
+
143
+    @Test
144
+    public void testAddAll_int_Collection() {
145
+        final List<String> list = new ArrayList<String>();
146
+        list.add("test1");
147
+        list.add("test2");
148
+        final WeakList<String> instance = new WeakList<String>();
149
+        instance.add("test3");
150
+        System.out.println(instance);
151
+        assertEquals("test3", instance.get(0));
152
+        assertFalse(instance.containsAll(list));
153
+        instance.addAll(0, list);
154
+        assertEquals("test1", instance.get(0));
155
+        assertEquals("test2", instance.get(1));
156
+    }
157
+
158
+    @Test
159
+    public void testIndexOf() {
160
+        final String one = "test1";
161
+        final String two = "test2";
162
+        final WeakList<String> instance = new WeakList<String>();
163
+        instance.add(one);
164
+        instance.add(two);
165
+        assertEquals(2, instance.size());
166
+        assertEquals(0, instance.indexOf(one));
167
+        assertEquals(1, instance.indexOf(two));
168
+    }
169
+
170
+    @Test
171
+    public void testLastIndexOf() {
172
+        final String one = "test1";
173
+        final String two = "test2";
174
+        final WeakList<String> instance = new WeakList<String>();
175
+        instance.add(one);
176
+        instance.add(two);
177
+        instance.add(one);
178
+        assertEquals(3, instance.size());
179
+        assertEquals(2, instance.lastIndexOf(one));
180
+    }
181
+
182
+    @Test
183
+    public void testRemoveAll() {
184
+        final List<String> list = new ArrayList<String>();
185
+        list.add("test1");
186
+        list.add("test2");
187
+        final WeakList<String> instance = new WeakList<String>();
188
+        instance.addAll(list);
189
+        assertFalse(instance.isEmpty());
190
+        instance.removeAll(list);
191
+        assertTrue(instance.isEmpty());
192
+    }
193
+
194
+    @Test
195
+    public void testRetainAll() {
196
+        final List<String> list = new ArrayList<String>();
197
+        list.add("test1");
198
+        list.add("test2");
199
+        final WeakList<String> instance = new WeakList<String>();
200
+        instance.addAll(list);
201
+        instance.add("test3");
202
+        instance.add("test4");
203
+        assertFalse(list.size() == instance.size());
204
+        instance.retainAll(list);
205
+        assertTrue(list.size() == instance.size());
206
+    }
207
+
208
+    @Test
209
+    public void testClear() {
210
+        final List<String> list = new ArrayList<String>();
211
+        list.add("test1");
212
+        list.add("test2");
213
+        final WeakList<String> instance = new WeakList<String>();
214
+        instance.addAll(list);
215
+        assertFalse(instance.isEmpty());
216
+        instance.clear();
217
+        assertTrue(instance.isEmpty());
218
+    }
219
+
220
+    @Test
221
+    public void testSet() {
222
+        final WeakList<String> instance = new WeakList<String>();
223
+        instance.add("test1");
224
+        assertEquals("test1", instance.get(0));
225
+        instance.set(0, "test2");
226
+        assertEquals("test2", instance.get(0));
227
+    }
228
+
229
+    @Test
230
+    public void testIterator() {
231
+        final WeakList<String> instance = new WeakList<String>();
232
+        Iterator result = instance.iterator();
233
+        assertFalse(result.hasNext());
234
+        instance.add("test1");
235
+        instance.add("test2");
236
+        result = instance.iterator();
237
+        assertEquals("test1", result.next());
238
+        assertEquals("test2", result.next());
239
+        assertFalse(result.hasNext());
240
+    }
241
+
242
+    @Test
243
+    public void testListIterator_0args() {
244
+        final WeakList<String> instance = new WeakList<String>();
245
+        ListIterator result = instance.listIterator();
246
+        assertFalse(result.hasNext());
247
+        instance.add("test1");
248
+        instance.add("test2");
249
+        result = instance.listIterator();
250
+        assertEquals("test1", result.next());
251
+        assertEquals("test2", result.next());
252
+        assertFalse(result.hasNext());
253
+    }
254
+
255
+    @Test(expected=IndexOutOfBoundsException.class)
256
+    public void testListIterator_int() {
257
+        final WeakList<String> instance = new WeakList<String>();
258
+        ListIterator result = instance.listIterator(1);
259
+        assertFalse(result.hasNext());
260
+        instance.add("test1");
261
+        instance.add("test2");
262
+        instance.add("text3");
263
+        result = instance.listIterator(1);
264
+        assertEquals("test1", result.previous());
265
+        assertEquals("test2", result.next());
266
+        assertEquals("test3", result.next());
267
+        assertFalse(result.hasNext());
268
+    }
269
+
270
+    @Test
271
+    public void testSubList() {
272
+        final WeakList<String> instance = new WeakList<String>();
273
+        instance.add("test1");
274
+        instance.add("test2");
275
+        instance.add("test3");
276
+        instance.add("test4");
277
+        List result = instance.subList(1, 3);
278
+        assertEquals(2, result.size());
279
+        assertTrue(result.contains("test2"));
280
+        assertTrue(result.contains("test3"));
49 281
     }
50 282
 
51 283
 }

正在加载...
取消
保存