Author: scolebourne
Date: Wed Aug  2 13:24:02 2006
New Revision: 428130

URL: http://svn.apache.org/viewvc?rev=428130&view=rev
Log:
COLLECTIONS-219 - CollectionUtils - Fix removeAll() method which was completely 
broken

Modified:
    jakarta/commons/proper/collections/trunk/RELEASE-NOTES.html
    
jakarta/commons/proper/collections/trunk/src/java/org/apache/commons/collections/CollectionUtils.java
    
jakarta/commons/proper/collections/trunk/src/test/org/apache/commons/collections/TestCollectionUtils.java
    
jakarta/commons/proper/collections/trunk/src/test/org/apache/commons/collections/TestListUtils.java

Modified: jakarta/commons/proper/collections/trunk/RELEASE-NOTES.html
URL: 
http://svn.apache.org/viewvc/jakarta/commons/proper/collections/trunk/RELEASE-NOTES.html?rev=428130&r1=428129&r2=428130&view=diff
==============================================================================
--- jakarta/commons/proper/collections/trunk/RELEASE-NOTES.html (original)
+++ jakarta/commons/proper/collections/trunk/RELEASE-NOTES.html Wed Aug  2 
13:24:02 2006
@@ -56,6 +56,7 @@
 <ul>
 <li>Flat3Map - Fix setValue in MapIterator and EntrySetIterator to work 
correctly [COLLECTIONS-217]</li>
 <li>ExtendedProperties - Include property name had confused static/instance 
semantics [COLLECTIONS-214]</li>
+<li>CollectionUtils - Fix removeAll() method which was completely broken 
[COLLECTIONS-219]</li>
 </ul>
 
 <center><h3>JAVADOC</h3></center>

Modified: 
jakarta/commons/proper/collections/trunk/src/java/org/apache/commons/collections/CollectionUtils.java
URL: 
http://svn.apache.org/viewvc/jakarta/commons/proper/collections/trunk/src/java/org/apache/commons/collections/CollectionUtils.java?rev=428130&r1=428129&r2=428130&view=diff
==============================================================================
--- 
jakarta/commons/proper/collections/trunk/src/java/org/apache/commons/collections/CollectionUtils.java
 (original)
+++ 
jakarta/commons/proper/collections/trunk/src/java/org/apache/commons/collections/CollectionUtils.java
 Wed Aug  2 13:24:02 2006
@@ -1,5 +1,5 @@
 /*
- *  Copyright 2001-2005 The Apache Software Foundation
+ *  Copyright 2001-2006 The Apache Software Foundation
  *
  *  Licensed under the Apache License, Version 2.0 (the "License");
  *  you may not use this file except in compliance with the License.
@@ -1115,10 +1115,10 @@
      * @return a <code>Collection</code> containing all the elements of 
<code>collection</code> except
      * any elements that also occur in <code>remove</code>.
      * @throws NullPointerException if either parameter is null
-     * @since Commons Collections 3.2
+     * @since Commons Collections 3.3 (method existed in 3.2 but was 
completely broken)
      */
     public static Collection removeAll(Collection collection, Collection 
remove) {
-        return ListUtils.retainAll(collection, remove);
+        return ListUtils.removeAll(collection, remove);
     }
 
     //-----------------------------------------------------------------------

Modified: 
jakarta/commons/proper/collections/trunk/src/test/org/apache/commons/collections/TestCollectionUtils.java
URL: 
http://svn.apache.org/viewvc/jakarta/commons/proper/collections/trunk/src/test/org/apache/commons/collections/TestCollectionUtils.java?rev=428130&r1=428129&r2=428130&view=diff
==============================================================================
--- 
jakarta/commons/proper/collections/trunk/src/test/org/apache/commons/collections/TestCollectionUtils.java
 (original)
+++ 
jakarta/commons/proper/collections/trunk/src/test/org/apache/commons/collections/TestCollectionUtils.java
 Wed Aug  2 13:24:02 2006
@@ -1,5 +1,5 @@
 /*
- *  Copyright 2001-2005 The Apache Software Foundation
+ *  Copyright 2001-2006 The Apache Software Foundation
  *
  *  Licensed under the Apache License, Version 2.0 (the "License");
  *  you may not use this file except in compliance with the License.
@@ -1237,8 +1237,70 @@
         assertEquals(eltb,eltc);
         assertEquals(eltc,eltb);
     }
-    
-     public void testTransformedCollection() {
+
+    //-----------------------------------------------------------------------
+    public void testRetainAll() {
+        List base = new ArrayList();
+        base.add("A");
+        base.add("B");
+        base.add("C");
+        List sub = new ArrayList();
+        sub.add("A");
+        sub.add("C");
+        sub.add("X");
+        
+        Collection result = CollectionUtils.retainAll(base, sub);
+        assertEquals(2, result.size());
+        assertEquals(true, result.contains("A"));
+        assertEquals(false, result.contains("B"));
+        assertEquals(true, result.contains("C"));
+        assertEquals(3, base.size());
+        assertEquals(true, base.contains("A"));
+        assertEquals(true, base.contains("B"));
+        assertEquals(true, base.contains("C"));
+        assertEquals(3, sub.size());
+        assertEquals(true, sub.contains("A"));
+        assertEquals(true, sub.contains("C"));
+        assertEquals(true, sub.contains("X"));
+        
+        try {
+            CollectionUtils.retainAll(null, null);
+            fail("expecting NullPointerException");
+        } catch(NullPointerException npe){} // this is what we want
+    }
+
+    public void testRemoveAll() {
+        List base = new ArrayList();
+        base.add("A");
+        base.add("B");
+        base.add("C");
+        List sub = new ArrayList();
+        sub.add("A");
+        sub.add("C");
+        sub.add("X");
+        
+        Collection result = CollectionUtils.removeAll(base, sub);
+        assertEquals(1, result.size());
+        assertEquals(false, result.contains("A"));
+        assertEquals(true, result.contains("B"));
+        assertEquals(false, result.contains("C"));
+        assertEquals(3, base.size());
+        assertEquals(true, base.contains("A"));
+        assertEquals(true, base.contains("B"));
+        assertEquals(true, base.contains("C"));
+        assertEquals(3, sub.size());
+        assertEquals(true, sub.contains("A"));
+        assertEquals(true, sub.contains("C"));
+        assertEquals(true, sub.contains("X"));
+        
+        try {
+            CollectionUtils.removeAll(null, null);
+            fail("expecting NullPointerException");
+        } catch(NullPointerException npe){} // this is what we want
+    }
+
+    //-----------------------------------------------------------------------
+    public void testTransformedCollection() {
         Transformer transformer = TransformerUtils.nopTransformer();
         Collection collection = 
             CollectionUtils.transformedCollection(new ArrayList(), 
transformer);

Modified: 
jakarta/commons/proper/collections/trunk/src/test/org/apache/commons/collections/TestListUtils.java
URL: 
http://svn.apache.org/viewvc/jakarta/commons/proper/collections/trunk/src/test/org/apache/commons/collections/TestListUtils.java?rev=428130&r1=428129&r2=428130&view=diff
==============================================================================
--- 
jakarta/commons/proper/collections/trunk/src/test/org/apache/commons/collections/TestListUtils.java
 (original)
+++ 
jakarta/commons/proper/collections/trunk/src/test/org/apache/commons/collections/TestListUtils.java
 Wed Aug  2 13:24:02 2006
@@ -1,5 +1,5 @@
 /*
- *  Copyright 2001-2004 The Apache Software Foundation
+ *  Copyright 2001-2004,2006 The Apache Software Foundation
  *
  *  Licensed under the Apache License, Version 2.0 (the "License");
  *  you may not use this file except in compliance with the License.
@@ -150,7 +150,7 @@
         assertTrue(retained.equals(fullList));
         
         try {
-            List list = ListUtils.retainAll(null, null);
+            ListUtils.retainAll(null, null);
             fail("expecting NullPointerException");
         } catch(NullPointerException npe){} // this is what we want
     }
@@ -167,7 +167,7 @@
         assertTrue(remainder.equals(fullList));
         
         try {
-            List list = ListUtils.removeAll(null, null);
+            ListUtils.removeAll(null, null);
             fail("expecting NullPointerException");
         } catch(NullPointerException npe) {} // this is what we want
     }



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to