View Javadoc

1   package net.wotonomy.foundation;
2   
3   import java.util.ArrayList;
4   import java.util.Collection;
5   import java.util.Enumeration;
6   import java.util.Iterator;
7   import java.util.List;
8   import java.util.ListIterator;
9   
10  import junit.framework.TestCase;
11  
12  public class NSArrayTest extends TestCase {
13  
14  	
15  	Object o1, o2, o3, o4, o5;		
16  	
17  	public void setUp() throws Exception {
18  		o1 = "o1";
19  		o2 = new Integer(2);
20  		o3 = null;
21  		o4 = "o4";
22  		super.setUp();
23  	}
24  	
25  	public void tearDown() throws Exception {
26  		o1 = null;
27  		o2 = null;
28  		o3 = null;
29  		o4 = null;
30  		super.tearDown();
31  	}
32  	
33  	/*
34  	 * Test method for 'net.wotonomy.foundation.NSArray.hashCode()'
35  	 */
36  	public void testHashCode() {
37  		NSArray array1 = new NSArray(o1);
38  		NSArray array2 = new NSArray(o1);  //same content, same hashcode.
39  		NSArray array3 = new NSArray("Different");
40  		assertNotSame(array1,array2);
41  		assertEquals(array1.hashCode(),array2.hashCode());
42  		assertFalse("Should have different hashcodes",array1.hashCode() == array3.hashCode());
43  	}
44  
45  	/*
46  	 * Test method for 'net.wotonomy.foundation.NSArray.arrayBackedByList(List)'
47  	 */
48  	public void testArrayBackedByList() {
49  		List list = new ArrayList();
50  		NSArray array = NSArray.arrayBackedByList(list);
51  		assertNotNull(array);
52  		assertSame(list,array.list);
53  	}
54  
55  	/*
56  	 * Test method for 'net.wotonomy.foundation.NSArray.NSArray(List, Object)'
57  	 */
58  	public void testEmptyList() {
59  		assertNotNull(NSArray.EmptyArray);
60  		assertEquals(0,NSArray.EmptyArray.count());
61  	}
62  
63  	/*
64  	 * Test method for 'net.wotonomy.foundation.NSArray.NSArray(List, Object)'
65  	 */
66  	public void testNSArrayListObject() {
67  		List list = new ArrayList();
68  		NSArray array = new NSArray(list, null);
69  		assertNotNull(array);
70  		assertSame(list,array.list);
71  	}
72  
73  	/*
74  	 * Test method for 'net.wotonomy.foundation.NSArray.NSArray(int)'
75  	 */
76  	public void testNSArrayInt() {
77  		NSArray array = new NSArray(5);
78  		assertNotNull(array);
79  		array = new NSArray(0);
80  		assertNotNull(array);
81  		try {
82  			array = new NSArray(-1);
83  			fail("Failed to catch IllegalArgumentException.");
84  		} catch (IllegalArgumentException e) {}
85  		assertNotNull(array);
86  		array = new NSArray(1000);
87  		assertNotNull(array);
88  	}
89  
90  	/*
91  	 * Test method for 'net.wotonomy.foundation.NSArray.NSArray()'
92  	 */
93  	public void testNSArray() {
94  		NSArray array = new NSArray();
95  		assertNotNull(array);
96  	}
97  
98  	/*
99  	 * Test method for 'net.wotonomy.foundation.NSArray.NSArray(Object)'
100 	 */
101 	public void testNSArrayObject() {
102 		NSArray array = new NSArray(o1);
103 		assertNotNull(array);
104 		assertEquals(1,array.count());
105 		assertEquals(o1,array.get(0));
106 	}
107 
108 	/*
109 	 * Test method for 'net.wotonomy.foundation.NSArray.NSArray(Object)'
110 	 */
111 	public void testNSArrayObjectWithNull() {
112 		NSArray array = new NSArray((Object)null);
113 		assertNotNull(array);
114 		assertEquals(1,array.count());
115 		assertEquals(null,array.get(0));
116 	}
117 	
118 	/*
119 	 * Test method for 'net.wotonomy.foundation.NSArray.NSArray(Object[])'
120 	 */
121 	public void testNSArrayObjectArray() {
122 		Object[] objects = { o1, o2, o3 };
123 		NSArray array = new NSArray(objects);
124 		assertEquals(3,array.count());
125 		for (int i = 0; i < objects.length ; i++) {
126 			assertEquals(objects[i],array.get(i));
127 		}
128 	}
129 
130 	/*
131 	 * Test method for 'net.wotonomy.foundation.NSArray.NSArray(Collection)'
132 	 */
133 	public void testNSArrayCollection() {
134 		ArrayList list = new ArrayList();
135 		list.add(o1);
136 		list.add(o2);
137 		list.add(o3);
138 		NSArray array = new NSArray(list);
139 		assertNotNull(array);
140 		assertNotSame(list,array.list);
141 		assertEquals(3,array.count());
142 		// the following only works because we used ArrayList.
143 		// A collection that doesn't guarrantee order may not
144 		// pass this test.
145 		for (int i = 0; i < list.size() ; i++) {
146 			assertEquals(list.get(i),array.get(i));
147 		}
148 	}
149 	
150 	/*
151 	 * Test method for 'net.wotonomy.foundation.NSArray.arrayByAddingObject(Object)'
152 	 */
153 	public void testArrayByAddingObject() {
154 		NSArray array = new NSArray(o1);
155 		NSArray array2 = array.arrayByAddingObject(o2);
156 		assertEquals(2,array2.count());
157 		assertEquals(o1,array2.get(0));
158 		assertEquals(o2,array2.get(1));
159 	}
160 
161 	/*
162 	 * Test method for 'net.wotonomy.foundation.NSArray.arrayByAddingObjectsFromArray(Collection)'
163 	 */
164 	public void testArrayByAddingObjectsFromArray() {
165 		NSArray array = new NSArray(o1);
166 		List list = new ArrayList();
167 		list.add(o2);
168 		list.add(o3);
169 		NSArray array2 = array.arrayByAddingObjectsFromArray(list);
170 		assertEquals(3,array2.count());
171 		assertEquals(o1,array2.get(0));
172 		assertEquals(o2,array2.get(1));
173 		assertEquals(o3,array2.get(2));
174 	}
175 
176 	/*
177 	 * Test method for 'net.wotonomy.foundation.NSArray.componentsJoinedByString(String)'
178 	 */
179 	public void testComponentsJoinedByString() {
180 		Object[] objects = { o1, o2, o3 };
181 		NSArray array = new NSArray(objects);
182 		assertEquals("o1, 2, null", array.componentsJoinedByString(", "));
183 	}
184 
185 	/*
186 	 * Test method for 'net.wotonomy.foundation.NSArray.containsObject(Object)'
187 	 */
188 	public void testContainsObject() {
189 		NSArray array = new NSArray(o1);
190 		assertTrue(array.contains(o1));
191 		assertFalse(array.contains(o2));
192 	}
193 
194 	/*
195 	 * Test method for 'net.wotonomy.foundation.NSArray.firstObjectCommonWithArray(Collection)'
196 	 */
197 	public void testFirstObjectCommonWithArray() {		
198 		ArrayList list = new ArrayList();
199 		list.add(o2);
200 		list.add(o3);
201 		list.add(o4);
202 		NSArray array = new NSArray(new Object[]{o1, o3, o4});
203 		assertEquals(o3,array.firstObjectCommonWithArray(list));
204 	}
205 
206 	/*
207 	 * Test method for 'net.wotonomy.foundation.NSArray.isEqualToArray(List)'
208 	 */
209 	public void testEqualsAndIsEqualToArray() {
210 		NSArray array1 = new NSArray(o1);
211 		NSArray array2 = new NSArray(o1);  //same content, same hashcode.
212 		NSArray array3 = new NSArray(o2);
213 		assertNotSame(array1,array2);
214 		assertTrue("Should be equal",array1.equals(array2));
215 		assertTrue("Should be equal",array1.isEqualToArray(array2));
216 		assertFalse("Should be unequal",array1.equals(array3));
217 		assertFalse("Should be unequal",array1.isEqualToArray(array3));
218 	}
219 
220 	/*
221 	 * Test method for 'net.wotonomy.foundation.NSArray.lastObject()'
222 	 */
223 	public void testLastObject() {	
224 		NSArray array = new NSArray(new Object[]{o1, o2});
225 		assertEquals(o2,array.lastObject());
226 		// test for empty array
227 		assertEquals(null,NSArray.EmptyArray.lastObject());
228 	}
229 
230 	/*
231 	 * Test method for 'net.wotonomy.foundation.NSArray.subarrayWithRange(NSRange)'
232 	 * TODO: Add ranges that exceed the size of the array.
233 	 */
234 	public void testSubarrayWithRange() {	
235 		NSArray array = new NSArray(new Object[]{o1, o2, o3, o4});
236 		NSArray subarray = array.subarrayWithRange(new NSRange(1,2));
237 		assertEquals(2,subarray.count());
238 		assertEquals(o2,subarray.get(0));
239 		assertEquals(o3,subarray.get(1));
240 	}
241 
242 	/*
243 	 * Test method for 'net.wotonomy.foundation.NSArray.objectEnumerator()'
244 	 */
245 	public void testObjectEnumerator() {
246 		NSArray array = new NSArray(new Object[]{o1, o2, o3, o4});
247 		Enumeration e = array.objectEnumerator();
248 		assertTrue(e.hasMoreElements());
249 		assertEquals(o1,e.nextElement());
250 		assertEquals(o2,e.nextElement());
251 		assertEquals(o3,e.nextElement());
252 		assertEquals(o4,e.nextElement());
253 	}
254 
255 	/*
256 	 * Test method for 'net.wotonomy.foundation.NSArray.reverseObjectEnumerator()'
257 	 */
258 	public void testReverseObjectEnumerator() {
259 		NSArray array = new NSArray(new Object[]{o1, o2, o3, o4});
260 		Enumeration e = array.reverseObjectEnumerator();
261 		assertTrue(e.hasMoreElements());
262 		assertEquals(o4,e.nextElement());
263 		assertEquals(o3,e.nextElement());
264 		assertEquals(o2,e.nextElement());
265 		assertEquals(o1,e.nextElement());
266 	}
267 
268 	/*
269 	 * Test method for 'net.wotonomy.foundation.NSArray.getObjects(Object[])'
270 	 */
271 	public void testGetObjectsObjectArray() {
272 		Object[] oa = new Object[4];
273 		NSArray array = new NSArray(new Object[] { o1,o2,o3,o4 });
274 		array.getObjects(oa);
275 		assertEquals(o1,oa[0]);
276 		assertEquals(o2,oa[1]);
277 		assertEquals(o3,oa[2]);
278 		assertEquals(o4,oa[3]);
279 		assertEquals(4,oa.length);
280 	}
281 	
282 	public void testGetObjectsObjectArrayWithSmallArray() {
283 		Object[] oa = new Object[2];
284 		NSArray array = new NSArray(new Object[] { o1,o2,o3,o4 });
285 		array.getObjects(oa);
286 		assertEquals(o1,oa[0]);
287 		assertEquals(o2,oa[1]);
288 		assertEquals(2,oa.length);
289 	}
290 	
291 	public void testGetObjectsObjectArrayWithLargeArray() {
292 		Object[] oa = new Object[5];
293 		NSArray array = new NSArray(new Object[] { o1,o2,o3,o4 });
294 		array.getObjects(oa);
295 		assertEquals(o1,oa[0]);
296 		assertEquals(o2,oa[1]);
297 		assertEquals(o3,oa[2]);
298 		assertEquals(o4,oa[3]);
299 		assertEquals(null,oa[4]);
300 		assertEquals(5,oa.length);
301 	}
302 	/*
303 	 * Test method for 'net.wotonomy.foundation.NSArray.getObjects(Object[], NSRange)'
304 	 * TODO: Try more ranges.
305 	 */
306 	public void testGetObjectsObjectArrayNSRange() {
307 		Object[] oa = new Object[2];
308 		NSArray array = new NSArray(new Object[] { o1,o2,o3,o4 });
309 		array.getObjects(oa, new NSRange(1,2));
310 		assertEquals(o2,oa[0]);
311 		assertEquals(o3,oa[1]);
312 		assertEquals(2,oa.length);
313 	}
314 
315 	public void testGetObjectsObjectArrayNSRangeWithLargeRange() {
316 		Object[] oa = new Object[4];
317 		NSArray array = new NSArray(new Object[] { o1,o2,o3,o4 });
318 		array.getObjects(oa, new NSRange(1,90));
319 		assertEquals(o2,oa[0]);
320 		assertEquals(o3,oa[1]);
321 		assertEquals(o4,oa[2]);
322 		assertEquals(null,oa[3]);
323 		assertEquals(4,oa.length);
324 	}
325 	
326 	
327 	/*
328 	 * Test method for 'net.wotonomy.foundation.NSArray.indexOfObject(Object)'
329 	 */
330 	public void testIndexOfObjectObject() {
331 		NSArray array = new NSArray(new Object[] { o1,o2,o3,o4 });
332 		assertEquals(0,array.indexOfObject(o1));
333 		assertEquals(1,array.indexOfObject(o2));
334 		assertEquals(2,array.indexOfObject(o3));
335 		assertEquals(3,array.indexOfObject(o4));
336 		assertEquals(-1,array.indexOfObject("No Such Object"));
337 	}
338 
339 	/*
340 	 * Test method for 'net.wotonomy.foundation.NSArray.indexOfObject(Object, NSRange)'
341 	 */
342 	public void testIndexOfObjectObjectNSRange() {
343 		NSArray array = new NSArray(new Object[] { o1,o2,o3,o4 });
344 		NSRange range = new NSRange(1,2);
345 		assertEquals(-1,array.indexOfObject(o1,range));
346 		assertEquals(1,array.indexOfObject(o2,range));
347 		
348 		// should be -1 because o3 == null;
349 		assertEquals(-1,array.indexOfObject(o3,range));
350 		assertEquals(-1,array.indexOfObject(o4,range));
351 		assertEquals(-1,array.indexOfObject("No Such Object"));
352 	}
353 
354 
355 	public void testIndexOfIdenticalObjectObject() {
356 		Integer i1 = new Integer(3-1);
357 		Integer i2 = new Integer(4/2);
358 		NSArray array = new NSArray(new Object[] { o1,i2,o3,o4 });
359 		assertEquals(1,array.indexOfObject(i1));
360 		assertFalse(1 == array.indexOfIdenticalObject(i1));
361 		assertEquals(1, array.indexOfIdenticalObject(i2));
362 	}
363 
364 	public void testIndexOfIdenticalObjectObjectNSRange() {
365 		Integer i1 = new Integer(3-1);
366 		Integer i2 = new Integer(4/2);
367 		NSRange range = new NSRange(1,2);
368 		NSArray array = new NSArray(new Object[] { o1,i2,o3,o4 });
369 		assertEquals(1,array.indexOfObject(i1,range));
370 		assertFalse(1 == array.indexOfIdenticalObject(i1,range));
371 		assertEquals(1, array.indexOfIdenticalObject(i2,range));
372 		NSRange range2 = new NSRange(3,2);
373 		assertEquals(-1, array.indexOfObject(i1,range2));
374 		assertEquals(-1, array.indexOfIdenticalObject(i1,range2));
375 		assertEquals(-1, array.indexOfIdenticalObject(i2,range2));
376 	}
377 
378 	public void testObjectAtIndex() {
379 		NSArray array = new NSArray(new Object[] { o1,o2,o3,o4 });
380 		assertEquals(o1,array.objectAtIndex(0));
381 		assertEquals(o2,array.objectAtIndex(1));
382 		assertEquals(o3,array.objectAtIndex(2));
383 		assertEquals(o4,array.objectAtIndex(3));
384 		try {
385 			assertEquals(null,array.objectAtIndex(4));
386 			fail("Should have thrown index out of bounds.");
387 		} catch (IndexOutOfBoundsException e) {}
388 	}
389 
390 	public void testComponentsSeparatedByString() {
391 		String arrayString = "word0 word1 word2 word3";
392 		NSArray array = NSArray.componentsSeparatedByString(arrayString," ");
393 		assertEquals("word0",array.objectAtIndex(0));
394 		assertEquals("word1",array.objectAtIndex(1));
395 		assertEquals("word2",array.objectAtIndex(2));
396 		assertEquals("word3",array.objectAtIndex(3));
397 	}
398 
399 /*
400 	public void testClone() {
401 		fail("Not yet implemented");
402 
403 	}
404 
405 	public void testImmutableClone() {
406 		fail("Not yet implemented");
407 
408 	}
409 
410 	public void testMutableClone() {
411 		fail("Not yet implemented");
412 
413 	}
414 */
415 	
416 	public void testToString() {
417 		NSArray array = new NSArray(new Object[] { "o1",new Integer(1),"o3" });
418 		assertEquals("(o1, 1, o3)",array.toString());
419 	}
420 
421 
422 
423 	public void testContains() {
424 		NSArray array = new NSArray(new Object[] { o1,o2,o4 });
425 		assertTrue("Should contain object",array.contains(o1));
426 		assertTrue("Should contain object",array.contains(o2));
427 		assertFalse("Should not contain object",array.contains(o3));
428 		assertTrue("Should contain object",array.contains(o4));
429 	}
430 	public void testContainsAll() {
431 		NSArray array = new NSArray(new Object[] { o1,o2,o4 });
432 		ArrayList list = new ArrayList();
433 		list.add(o1);
434 		list.add(o2);
435 		assertTrue("Should have all elements of provided list.",array.containsAll(list));
436 		ArrayList list2 = new ArrayList();
437 		list2.add(o2);
438 		list2.add(o3);
439 		assertFalse("Should not have all elements of provided list.",array.containsAll(list2));
440 	}
441 
442 	public void testGet() {
443 		NSArray array = new NSArray(new Object[] { o1,o2,o4 });
444 		assertEquals(o1,array.get(0));
445 		assertEquals(o2,array.get(1));
446 		assertEquals(o4,array.get(2));
447 		try {
448 			array.get(3);
449 		} catch (IndexOutOfBoundsException e) {}
450 	}
451 
452 	public void testIndexOf() {
453 		NSArray array = new NSArray(new Object[] { o1,o2,o4 });
454 		assertEquals(0,array.indexOf(o1));
455 		assertEquals(1,array.indexOf(o2));
456 		assertEquals(-1,array.indexOf(o3));
457 		assertEquals(2,array.indexOf(o4));
458 	}
459 	
460 	public void testIsEmpty() {
461 		assertFalse(new NSArray(new Object[] { o1,o2,o4 } ).isEmpty());
462 		assertTrue(new NSArray(new Object[] {} ).isEmpty());
463 	}
464 
465 	public void testLastIndexOf() {
466 		NSArray array = new NSArray(new Object[] { o1,o4,o2,o4 });
467 		assertEquals(0,array.lastIndexOf(o1));
468 		assertEquals(2,array.lastIndexOf(o2));
469 		assertEquals(-1,array.lastIndexOf(o3));
470 		assertEquals(3,array.lastIndexOf(o4));
471 	}
472 
473 	public void testSize() {
474 		assertEquals(3,new NSArray(new Object[] { o1,o2,o4 }).size());
475 		assertEquals(1,new NSArray(new Object[] { o1 }).size());
476 		assertEquals(0,new NSArray(new Object[] { }).size());
477 	}
478 
479 	public void testToArray() {
480 		NSArray array = new NSArray(new Object[] { o1,o2,o4 });
481 		Object[] oarray = array.toArray();
482 		assertEquals(oarray[0],o1);
483 		assertEquals(oarray[1],o2);
484 		assertEquals(oarray[2],o4);
485 	}
486 
487 	public void testToArrayObjectArray() {
488 		NSArray array = new NSArray(new Object[] { o1,o2,o4 });
489 		Object[] oa0 = new Object[3];
490 		Object[] oa1 = array.toArray(oa0);
491 		assertSame(oa0,oa1);
492 		assertEquals(oa1[0],o1);
493 		assertEquals(oa1[1],o2);
494 		assertEquals(oa1[2],o4);
495 	}
496 
497 	public void testAddIntObject() {
498 		NSArray array = new NSArray(new Object[] { o1,o3,o4 });
499 		array.add(1,o2);
500 		assertEquals(0,array.indexOfObject(o1));
501 		assertEquals(1,array.indexOfObject(o2));
502 		assertEquals(2,array.indexOfObject(o3));
503 		assertEquals(3,array.indexOfObject(o4));
504 	}
505 
506 	public void testAddObject() {
507 		NSArray array = new NSArray(new Object[] { o1,o2,o3 });
508 		array.add(o4);
509 		assertEquals(0,array.indexOfObject(o1));
510 		assertEquals(1,array.indexOfObject(o2));
511 		assertEquals(2,array.indexOfObject(o3));
512 		assertEquals(3,array.indexOfObject(o4));
513 	}
514 
515 	public void testAddAllCollection() {
516 		NSArray array = new NSArray(new Object[] { o1,o2 });
517 		ArrayList list = new ArrayList();
518 		list.add(o3);
519 		list.add(o4);
520 		array.addAll(list);
521 		assertEquals(0,array.indexOfObject(o1));
522 		assertEquals(1,array.indexOfObject(o2));
523 		assertEquals(2,array.indexOfObject(o3));
524 		assertEquals(3,array.indexOfObject(o4));
525 	}
526 
527 
528 	public void testAddAllIntCollection() {
529 		NSArray array = new NSArray(new Object[] { o1,o4 });
530 		ArrayList list = new ArrayList();
531 		list.add(o2);
532 		list.add(o3);
533 		array.addAll(1,list);
534 		assertEquals(0,array.indexOfObject(o1));
535 		assertEquals(1,array.indexOfObject(o2));
536 		assertEquals(2,array.indexOfObject(o3));
537 		assertEquals(3,array.indexOfObject(o4));
538 	}
539 
540 
541 	public void testClear() {
542 		NSArray array = new NSArray(new Object[] { o1,o2 });
543 		array.clear();
544 		assertEquals(0,array.size());
545 	}
546 
547 	public void testIterator() {
548 		NSArray array = new NSArray(new Object[] { o1,o4 });
549 		Iterator i = array.iterator();
550 		assertEquals(o1,i.next());
551 		assertEquals(o4,i.next());
552 		assertFalse(i.hasNext());
553 	}
554 
555 	public void testListIterator() {
556 		NSArray array = new NSArray(new Object[] { o1,o2,o3,o4 });
557 		ListIterator i = array.listIterator();
558 		assertEquals(o1,i.next());
559 		assertEquals(o2,i.next());
560 		assertEquals(o3,i.next());
561 		assertEquals(o4,i.next());
562 		assertEquals(o4,i.previous());
563 		assertEquals(o3,i.previous());
564 		assertEquals(o3,i.next());
565 		assertEquals(o4,i.next());
566 		assertFalse(i.hasNext());
567 	}
568 
569 	public void testListIteratorInt() {
570 		NSArray array = new NSArray(new Object[] { o1,o2,o3,o4 });
571 		ListIterator i = array.listIterator(1);
572 		assertEquals(o2,i.next());
573 		assertEquals(o3,i.next());
574 		assertEquals(o4,i.next());
575 		assertEquals(o4,i.previous());
576 		assertEquals(o3,i.previous());
577 		assertEquals(o3,i.next());
578 		assertEquals(o4,i.next());
579 		assertFalse(i.hasNext());
580 	}
581 
582 	public void testRemoveInt() {
583 		NSArray array = new NSArray(new Object[] { o1,o2,o3,o4 });
584 		assertEquals(o2,array.remove(1));
585 		assertEquals(o3,array.remove(1));
586 		assertEquals(o1,array.objectAtIndex(0));
587 		assertEquals(o4,array.objectAtIndex(1));
588 	}
589 
590 	public void testRemoveObject() {
591 		NSArray array = new NSArray(new Object[] { o1,o2,o3,o4 });
592 		assertTrue(array.remove(o2));
593 		assertTrue(array.remove(o3));
594 		assertFalse(array.remove("blah"));
595 		assertEquals(o1,array.objectAtIndex(0));
596 		assertEquals(o4,array.objectAtIndex(1));
597 	}
598 
599 	public void testRemoveAll() {
600 		NSArray array = new NSArray(new Object[] { o1,o2,o3,o4 });
601 		ArrayList list = new ArrayList();
602 		list.add(o1);
603 		list.add(o2);		
604 		array.removeAll(list);
605 		assertEquals(2,array.size());
606 		assertEquals(o3,array.objectAtIndex(0));
607 		assertEquals(o4,array.objectAtIndex(1));
608 	}
609 
610 	/*
611 	public void testRetainAll() {
612 		fail("Not yet implemented");
613 
614 	}
615 
616 	public void testSet() {
617 		fail("Not yet implemented");
618 
619 	}
620 
621 	public void testSubList() {
622 		fail("Not yet implemented");
623 
624 	}
625 
626 	public void testProtectedAdd() {
627 		fail("Not yet implemented");
628 
629 	}
630 
631 	public void testProtectedAddAll() {
632 		fail("Not yet implemented");
633 
634 	}
635 */
636 
637 
638 }