You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by sk...@apache.org on 2008/04/02 10:50:04 UTC

svn commit: r643795 - in /commons/proper/collections/branches/collections_jdk5_branch: ./ src/java/org/apache/commons/collections/ src/java/org/apache/commons/collections/functors/ src/test/org/apache/commons/collections/ src/test/org/apache/commons/co...

Author: skestle
Date: Wed Apr  2 01:49:57 2008
New Revision: 643795

URL: http://svn.apache.org/viewvc?rev=643795&view=rev
Log:
Generified EqualPredicate and created individual test class moved from TestPredicateUtils

Added assertFalse() and assertTrue to BasicPredicateTestBase with (Predicate, Object) parameters

Issues: COLLECTIONS-243, COLLECTIONS-253, COLLECTIONS-293

Added:
    commons/proper/collections/branches/collections_jdk5_branch/src/test/org/apache/commons/collections/functors/TestEqualPredicate.java
Modified:
    commons/proper/collections/branches/collections_jdk5_branch/   (props changed)
    commons/proper/collections/branches/collections_jdk5_branch/src/java/org/apache/commons/collections/ClosureUtils.java
    commons/proper/collections/branches/collections_jdk5_branch/src/java/org/apache/commons/collections/PredicateUtils.java
    commons/proper/collections/branches/collections_jdk5_branch/src/java/org/apache/commons/collections/TransformerUtils.java
    commons/proper/collections/branches/collections_jdk5_branch/src/java/org/apache/commons/collections/functors/EqualPredicate.java
    commons/proper/collections/branches/collections_jdk5_branch/src/java/org/apache/commons/collections/functors/NullPredicate.java
    commons/proper/collections/branches/collections_jdk5_branch/src/test/org/apache/commons/collections/TestAllPackages.java
    commons/proper/collections/branches/collections_jdk5_branch/src/test/org/apache/commons/collections/TestClosureUtils.java
    commons/proper/collections/branches/collections_jdk5_branch/src/test/org/apache/commons/collections/TestCollectionUtils.java
    commons/proper/collections/branches/collections_jdk5_branch/src/test/org/apache/commons/collections/TestPredicateUtils.java
    commons/proper/collections/branches/collections_jdk5_branch/src/test/org/apache/commons/collections/TestTransformerUtils.java
    commons/proper/collections/branches/collections_jdk5_branch/src/test/org/apache/commons/collections/functors/BasicPredicateTestBase.java
    commons/proper/collections/branches/collections_jdk5_branch/src/test/org/apache/commons/collections/functors/TestAll.java
    commons/proper/collections/branches/collections_jdk5_branch/src/test/org/apache/commons/collections/functors/TestNullPredicate.java

Propchange: commons/proper/collections/branches/collections_jdk5_branch/
------------------------------------------------------------------------------
--- svn:ignore (original)
+++ svn:ignore Wed Apr  2 01:49:57 2008
@@ -18,3 +18,4 @@
 clirr*.txt
 commons-collections*.jar*
 collections.iml
+TEST-org.apache.commons.collections*

Modified: commons/proper/collections/branches/collections_jdk5_branch/src/java/org/apache/commons/collections/ClosureUtils.java
URL: http://svn.apache.org/viewvc/commons/proper/collections/branches/collections_jdk5_branch/src/java/org/apache/commons/collections/ClosureUtils.java?rev=643795&r1=643794&r2=643795&view=diff
==============================================================================
--- commons/proper/collections/branches/collections_jdk5_branch/src/java/org/apache/commons/collections/ClosureUtils.java (original)
+++ commons/proper/collections/branches/collections_jdk5_branch/src/java/org/apache/commons/collections/ClosureUtils.java Wed Apr  2 01:49:57 2008
@@ -360,7 +360,7 @@
         int i = 0;
         for (Iterator it = objectsAndClosures.entrySet().iterator(); it.hasNext();) {
             Map.Entry entry = (Map.Entry) it.next();
-            preds[i] = EqualPredicate.getInstance(entry.getKey());
+            preds[i] = EqualPredicate.equalPredicate(entry.getKey());
             trs[i] = (Closure) entry.getValue();
             i++;
         }

Modified: commons/proper/collections/branches/collections_jdk5_branch/src/java/org/apache/commons/collections/PredicateUtils.java
URL: http://svn.apache.org/viewvc/commons/proper/collections/branches/collections_jdk5_branch/src/java/org/apache/commons/collections/PredicateUtils.java?rev=643795&r1=643794&r2=643795&view=diff
==============================================================================
--- commons/proper/collections/branches/collections_jdk5_branch/src/java/org/apache/commons/collections/PredicateUtils.java (original)
+++ commons/proper/collections/branches/collections_jdk5_branch/src/java/org/apache/commons/collections/PredicateUtils.java Wed Apr  2 01:49:57 2008
@@ -155,9 +155,11 @@
      * 
      * @param value  the value to compare against
      * @return the predicate
+     * @deprecated use {@link EqualPredicate#equalPredicate(Object)} instead.
      */
-    public static Predicate equalPredicate(Object value) {
-        return EqualPredicate.getInstance(value);
+    @Deprecated
+    public static <T> Predicate<T> equalPredicate(T value) {
+        return EqualPredicate.equalPredicate(value);
     }
 
     /**

Modified: commons/proper/collections/branches/collections_jdk5_branch/src/java/org/apache/commons/collections/TransformerUtils.java
URL: http://svn.apache.org/viewvc/commons/proper/collections/branches/collections_jdk5_branch/src/java/org/apache/commons/collections/TransformerUtils.java?rev=643795&r1=643794&r2=643795&view=diff
==============================================================================
--- commons/proper/collections/branches/collections_jdk5_branch/src/java/org/apache/commons/collections/TransformerUtils.java (original)
+++ commons/proper/collections/branches/collections_jdk5_branch/src/java/org/apache/commons/collections/TransformerUtils.java Wed Apr  2 01:49:57 2008
@@ -341,7 +341,7 @@
         int i = 0;
         for (Iterator it = objectsAndTransformers.entrySet().iterator(); it.hasNext();) {
             Map.Entry entry = (Map.Entry) it.next();
-            preds[i] = EqualPredicate.getInstance(entry.getKey());
+            preds[i] = EqualPredicate.equalPredicate(entry.getKey());
             trs[i] = (Transformer) entry.getValue();
             i++;
         }

Modified: commons/proper/collections/branches/collections_jdk5_branch/src/java/org/apache/commons/collections/functors/EqualPredicate.java
URL: http://svn.apache.org/viewvc/commons/proper/collections/branches/collections_jdk5_branch/src/java/org/apache/commons/collections/functors/EqualPredicate.java?rev=643795&r1=643794&r2=643795&view=diff
==============================================================================
--- commons/proper/collections/branches/collections_jdk5_branch/src/java/org/apache/commons/collections/functors/EqualPredicate.java (original)
+++ commons/proper/collections/branches/collections_jdk5_branch/src/java/org/apache/commons/collections/functors/EqualPredicate.java Wed Apr  2 01:49:57 2008
@@ -16,6 +16,8 @@
  */
 package org.apache.commons.collections.functors;
 
+import static org.apache.commons.collections.functors.NullPredicate.nullPredicate;
+
 import java.io.Serializable;
 
 import org.apache.commons.collections.Predicate;
@@ -29,7 +31,7 @@
  *
  * @author Stephen Colebourne
  */
-public final class EqualPredicate implements Predicate, Serializable {
+public final class EqualPredicate<T> implements Predicate<T>, Serializable {
 
     /** Serial version UID */
     private static final long serialVersionUID = 5633766978029907089L;
@@ -43,12 +45,28 @@
      * @param object  the object to compare to
      * @return the predicate
      * @throws IllegalArgumentException if the predicate is null
+     * @deprecated use {@link #equalPredicate(Object)} instead.
+     */
+    @Deprecated
+    public static <T> Predicate<T> getInstance(T object) {
+        if (object == null) {
+            return nullPredicate();
+        }
+        return new EqualPredicate<T>(object);
+    }
+
+    /**
+     * Factory to create the identity predicate.
+     * 
+     * @param object  the object to compare to
+     * @return the predicate
+     * @throws IllegalArgumentException if the predicate is null
      */
-    public static Predicate getInstance(Object object) {
+    public static <T, O extends T> Predicate<T> equalPredicate(O object) {
         if (object == null) {
-            return NullPredicate.INSTANCE;
+            return nullPredicate();
         }
-        return new EqualPredicate(object);
+        return new EqualPredicate<T>(object);
     }
 
     /**

Modified: commons/proper/collections/branches/collections_jdk5_branch/src/java/org/apache/commons/collections/functors/NullPredicate.java
URL: http://svn.apache.org/viewvc/commons/proper/collections/branches/collections_jdk5_branch/src/java/org/apache/commons/collections/functors/NullPredicate.java?rev=643795&r1=643794&r2=643795&view=diff
==============================================================================
--- commons/proper/collections/branches/collections_jdk5_branch/src/java/org/apache/commons/collections/functors/NullPredicate.java (original)
+++ commons/proper/collections/branches/collections_jdk5_branch/src/java/org/apache/commons/collections/functors/NullPredicate.java Wed Apr  2 01:49:57 2008
@@ -41,6 +41,18 @@
      * 
      * @return the singleton instance
      * @since Commons Collections 3.1
+     * @deprecated use {@link #nullPredicate()} instead.
+     */
+    @Deprecated
+    public static <T> Predicate<T> getInstance() {
+        return nullPredicate();
+    }
+
+    /**
+     * Factory returning the singleton instance.
+     * 
+     * @return the singleton instance
+     * @since Commons Collections 3.1
      */
     @SuppressWarnings("unchecked")
     public static <T> Predicate<T> nullPredicate() {

Modified: commons/proper/collections/branches/collections_jdk5_branch/src/test/org/apache/commons/collections/TestAllPackages.java
URL: http://svn.apache.org/viewvc/commons/proper/collections/branches/collections_jdk5_branch/src/test/org/apache/commons/collections/TestAllPackages.java?rev=643795&r1=643794&r2=643795&view=diff
==============================================================================
--- commons/proper/collections/branches/collections_jdk5_branch/src/test/org/apache/commons/collections/TestAllPackages.java (original)
+++ commons/proper/collections/branches/collections_jdk5_branch/src/test/org/apache/commons/collections/TestAllPackages.java Wed Apr  2 01:49:57 2008
@@ -36,6 +36,7 @@
     org.apache.commons.collections.buffer.TestAll.class,
     org.apache.commons.collections.collection.TestAll.class,
     org.apache.commons.collections.comparators.TestAll.class,
+    org.apache.commons.collections.functors.TestAll.class,
     org.apache.commons.collections.iterators.TestAll.class,
     org.apache.commons.collections.keyvalue.TestAll.class,
     org.apache.commons.collections.list.TestAll.class,

Modified: commons/proper/collections/branches/collections_jdk5_branch/src/test/org/apache/commons/collections/TestClosureUtils.java
URL: http://svn.apache.org/viewvc/commons/proper/collections/branches/collections_jdk5_branch/src/test/org/apache/commons/collections/TestClosureUtils.java?rev=643795&r1=643794&r2=643795&view=diff
==============================================================================
--- commons/proper/collections/branches/collections_jdk5_branch/src/test/org/apache/commons/collections/TestClosureUtils.java (original)
+++ commons/proper/collections/branches/collections_jdk5_branch/src/test/org/apache/commons/collections/TestClosureUtils.java Wed Apr  2 01:49:57 2008
@@ -26,6 +26,7 @@
 import junit.framework.TestSuite;
 import junit.textui.TestRunner;
 
+import org.apache.commons.collections.functors.EqualPredicate;
 import org.apache.commons.collections.functors.NOPClosure;
 
 /**
@@ -276,7 +277,7 @@
         MockClosure a = new MockClosure();
         MockClosure b = new MockClosure();
         ClosureUtils.switchClosure(
-            new Predicate[] {PredicateUtils.equalPredicate("HELLO"), PredicateUtils.equalPredicate("THERE")}, 
+            new Predicate[] {EqualPredicate.equalPredicate("HELLO"), EqualPredicate.equalPredicate("THERE")}, 
             new Closure[] {a, b}).execute("WELL");
         assertEquals(0, a.count);
         assertEquals(0, b.count);
@@ -284,7 +285,7 @@
         a = new MockClosure();
         b = new MockClosure();
         ClosureUtils.switchClosure(
-            new Predicate[] {PredicateUtils.equalPredicate("HELLO"), PredicateUtils.equalPredicate("THERE")}, 
+            new Predicate[] {EqualPredicate.equalPredicate("HELLO"), EqualPredicate.equalPredicate("THERE")}, 
             new Closure[] {a, b}).execute("HELLO");
         assertEquals(1, a.count);
         assertEquals(0, b.count);
@@ -293,7 +294,7 @@
         b = new MockClosure();
         MockClosure c = new MockClosure();
         ClosureUtils.switchClosure(
-            new Predicate[] {PredicateUtils.equalPredicate("HELLO"), PredicateUtils.equalPredicate("THERE")}, 
+            new Predicate[] {EqualPredicate.equalPredicate("HELLO"), EqualPredicate.equalPredicate("THERE")}, 
             new Closure[] {a, b}, c).execute("WELL");
         assertEquals(0, a.count);
         assertEquals(0, b.count);
@@ -302,8 +303,8 @@
         a = new MockClosure();
         b = new MockClosure();
         Map map = new HashMap();
-        map.put(PredicateUtils.equalPredicate("HELLO"), a);
-        map.put(PredicateUtils.equalPredicate("THERE"), b);
+        map.put(EqualPredicate.equalPredicate("HELLO"), a);
+        map.put(EqualPredicate.equalPredicate("THERE"), b);
         ClosureUtils.switchClosure(map).execute(null);
         assertEquals(0, a.count);
         assertEquals(0, b.count);
@@ -311,8 +312,8 @@
         a = new MockClosure();
         b = new MockClosure();
         map = new HashMap();
-        map.put(PredicateUtils.equalPredicate("HELLO"), a);
-        map.put(PredicateUtils.equalPredicate("THERE"), b);
+        map.put(EqualPredicate.equalPredicate("HELLO"), a);
+        map.put(EqualPredicate.equalPredicate("THERE"), b);
         ClosureUtils.switchClosure(map).execute("THERE");
         assertEquals(0, a.count);
         assertEquals(1, b.count);
@@ -321,8 +322,8 @@
         b = new MockClosure();
         c = new MockClosure();
         map = new HashMap();
-        map.put(PredicateUtils.equalPredicate("HELLO"), a);
-        map.put(PredicateUtils.equalPredicate("THERE"), b);
+        map.put(EqualPredicate.equalPredicate("HELLO"), a);
+        map.put(EqualPredicate.equalPredicate("THERE"), b);
         map.put(null, c);
         ClosureUtils.switchClosure(map).execute("WELL");
         assertEquals(0, a.count);

Modified: commons/proper/collections/branches/collections_jdk5_branch/src/test/org/apache/commons/collections/TestCollectionUtils.java
URL: http://svn.apache.org/viewvc/commons/proper/collections/branches/collections_jdk5_branch/src/test/org/apache/commons/collections/TestCollectionUtils.java?rev=643795&r1=643794&r2=643795&view=diff
==============================================================================
--- commons/proper/collections/branches/collections_jdk5_branch/src/test/org/apache/commons/collections/TestCollectionUtils.java (original)
+++ commons/proper/collections/branches/collections_jdk5_branch/src/test/org/apache/commons/collections/TestCollectionUtils.java Wed Apr  2 01:49:57 2008
@@ -17,6 +17,7 @@
 package org.apache.commons.collections;
 
 import static junit.framework.Assert.assertFalse;
+import static org.apache.commons.collections.functors.EqualPredicate.equalPredicate;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
@@ -30,6 +31,7 @@
 import org.apache.commons.collections.collection.SynchronizedCollection;
 import org.apache.commons.collections.collection.TransformedCollection;
 import org.apache.commons.collections.collection.UnmodifiableCollection;
+import org.apache.commons.collections.functors.EqualPredicate;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -486,10 +488,10 @@
 
     @Test
     public void find() {
-        Predicate<Number> testPredicate = PredicateUtils.equalPredicate(4);
+        Predicate<Number> testPredicate = equalPredicate(4);
         Integer test = CollectionUtils.find(collectionA, testPredicate);
         assertTrue(test.equals(4));
-        testPredicate = PredicateUtils.equalPredicate(45);
+        testPredicate = equalPredicate(45);
         test = CollectionUtils.find(collectionA, testPredicate);
         assertTrue(test == null);
         assertEquals(CollectionUtils.find(null, testPredicate), null);

Modified: commons/proper/collections/branches/collections_jdk5_branch/src/test/org/apache/commons/collections/TestPredicateUtils.java
URL: http://svn.apache.org/viewvc/commons/proper/collections/branches/collections_jdk5_branch/src/test/org/apache/commons/collections/TestPredicateUtils.java?rev=643795&r1=643794&r2=643795&view=diff
==============================================================================
--- commons/proper/collections/branches/collections_jdk5_branch/src/test/org/apache/commons/collections/TestPredicateUtils.java (original)
+++ commons/proper/collections/branches/collections_jdk5_branch/src/test/org/apache/commons/collections/TestPredicateUtils.java Wed Apr  2 01:49:57 2008
@@ -17,11 +17,10 @@
 package org.apache.commons.collections;
 
 import static org.apache.commons.collections.functors.NullPredicate.nullPredicate;
+import static org.apache.commons.collections.functors.TruePredicate.truePredicate;
 import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertSame;
-import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
 import java.util.ArrayList;
@@ -32,7 +31,8 @@
 import java.util.Map;
 
 import org.apache.commons.collections.functors.BasicPredicateTestBase;
-import org.apache.commons.collections.functors.NullPredicate;
+import org.apache.commons.collections.functors.EqualPredicate;
+import org.apache.commons.collections.functors.TruePredicate;
 import org.junit.Test;
 
 /**
@@ -87,18 +87,6 @@
         assertEquals(true, PredicateUtils.notNullPredicate().evaluate(cInteger));
     }
 
-    // equalPredicate
-    //------------------------------------------------------------------
-
-    @Test public void testEqualPredicate() {
-        assertSame(nullPredicate(), PredicateUtils.equalPredicate(null));
-        assertNotNull(PredicateUtils.equalPredicate(new Integer(6)));
-        assertEquals(false, PredicateUtils.equalPredicate(new Integer(6)).evaluate(null));
-        assertEquals(false, PredicateUtils.equalPredicate(new Integer(6)).evaluate(cObject));
-        assertEquals(false, PredicateUtils.equalPredicate(new Integer(6)).evaluate(cString));
-        assertEquals(true, PredicateUtils.equalPredicate(new Integer(6)).evaluate(cInteger));
-    }
-
     // identityPredicate
     //------------------------------------------------------------------
 
@@ -180,7 +168,7 @@
 
     @Test public void testAllPredicate() {
         assertTrue(PredicateUtils.allPredicate(
-            new Predicate[] {}).evaluate(null));
+            new Predicate[] {}), null);
         assertEquals(true, PredicateUtils.allPredicate(new Predicate[] {
             PredicateUtils.truePredicate(), PredicateUtils.truePredicate(), PredicateUtils.truePredicate()}).evaluate(null));
         assertEquals(false, PredicateUtils.allPredicate(new Predicate[] {
@@ -211,12 +199,12 @@
         assertEquals(false, PredicateUtils.allPredicate(coll).evaluate(null));
         coll.clear();
         coll.add(PredicateUtils.falsePredicate());
-        assertFalse(PredicateUtils.allPredicate(coll).evaluate(null));
+        assertFalse(PredicateUtils.allPredicate(coll), null);
         coll.clear();
         coll.add(PredicateUtils.truePredicate());
-        assertTrue(PredicateUtils.allPredicate(coll).evaluate(null));
+        assertTrue(PredicateUtils.allPredicate(coll), null);
         coll.clear();
-        assertTrue(PredicateUtils.allPredicate(coll).evaluate(null));
+        assertTrue(PredicateUtils.allPredicate(coll), null);
     }
 
     @Test public void testAllPredicateEx1() {
@@ -295,7 +283,7 @@
 
     @Test public void testAnyPredicate() {
         assertFalse(PredicateUtils.anyPredicate(
-            new Predicate[] {}).evaluate(null));
+            new Predicate[] {}), null);
         assertEquals(true, PredicateUtils.anyPredicate(new Predicate[] {
             PredicateUtils.truePredicate(), PredicateUtils.truePredicate(), PredicateUtils.truePredicate()}).evaluate(null));
         assertEquals(true, PredicateUtils.anyPredicate(new Predicate[] {
@@ -326,12 +314,12 @@
         assertEquals(false, PredicateUtils.anyPredicate(coll).evaluate(null));
         coll.clear();
         coll.add(PredicateUtils.falsePredicate());
-        assertFalse(PredicateUtils.anyPredicate(coll).evaluate(null));
+        assertFalse(PredicateUtils.anyPredicate(coll), null);
         coll.clear();
         coll.add(PredicateUtils.truePredicate());
-        assertTrue(PredicateUtils.anyPredicate(coll).evaluate(null));
+        assertTrue(PredicateUtils.anyPredicate(coll), null);
         coll.clear();
-        assertFalse(PredicateUtils.anyPredicate(coll).evaluate(null));
+        assertFalse(PredicateUtils.anyPredicate(coll), null);
     }
 
     @Test public void testAnyPredicateEx1() {
@@ -409,8 +397,7 @@
     //------------------------------------------------------------------
 
     @Test public void testOnePredicate() {
-        assertFalse(PredicateUtils.onePredicate(
-            new Predicate[] {}).evaluate(null));
+        assertFalse(PredicateUtils.onePredicate(new Predicate[] {}), null);
         assertEquals(false, PredicateUtils.onePredicate(new Predicate[] {
             PredicateUtils.truePredicate(), PredicateUtils.truePredicate(), PredicateUtils.truePredicate()}).evaluate(null));
         assertEquals(false, PredicateUtils.onePredicate(new Predicate[] {
@@ -445,12 +432,12 @@
         assertEquals(false, PredicateUtils.onePredicate(coll).evaluate(null));
         coll.clear();
         coll.add(PredicateUtils.falsePredicate());
-        assertFalse(PredicateUtils.onePredicate(coll).evaluate(null));
+        assertFalse(PredicateUtils.onePredicate(coll), null);
         coll.clear();
         coll.add(PredicateUtils.truePredicate());
-        assertTrue(PredicateUtils.onePredicate(coll).evaluate(null));
+        assertTrue(PredicateUtils.onePredicate(coll), null);
         coll.clear();
-        assertFalse(PredicateUtils.onePredicate(coll).evaluate(null));
+        assertFalse(PredicateUtils.onePredicate(coll), null);
     }
 
     @Test public void testOnePredicateEx1() {
@@ -528,8 +515,7 @@
     //------------------------------------------------------------------
 
     @Test public void testNonePredicate() {
-        assertTrue(PredicateUtils.nonePredicate(
-            new Predicate[] {}).evaluate(null));
+        assertTrue(PredicateUtils.nonePredicate(new Predicate[] {}), null);
         assertEquals(false, PredicateUtils.nonePredicate(new Predicate[] {
             PredicateUtils.truePredicate(), PredicateUtils.truePredicate(), PredicateUtils.truePredicate()}).evaluate(null));
         assertEquals(false, PredicateUtils.nonePredicate(new Predicate[] {
@@ -560,12 +546,12 @@
         assertEquals(true, PredicateUtils.nonePredicate(coll).evaluate(null));
         coll.clear();
         coll.add(PredicateUtils.falsePredicate());
-        assertTrue(PredicateUtils.nonePredicate(coll).evaluate(null));
+        assertTrue(PredicateUtils.nonePredicate(coll), null);
         coll.clear();
         coll.add(PredicateUtils.truePredicate());
-        assertFalse(PredicateUtils.nonePredicate(coll).evaluate(null));
+        assertFalse(PredicateUtils.nonePredicate(coll), null);
         coll.clear();
-        assertTrue(PredicateUtils.nonePredicate(coll).evaluate(null));
+        assertTrue(PredicateUtils.nonePredicate(coll), null);
     }
 
     @Test public void testNonePredicateEx1() {
@@ -816,13 +802,18 @@
         Map map = new HashMap();
         map.put(Boolean.TRUE, "Hello");
         Transformer t = TransformerUtils.mapTransformer(map);
-        Predicate p = PredicateUtils.equalPredicate("Hello");
+        Predicate p = EqualPredicate.equalPredicate("Hello");
         assertEquals(false, PredicateUtils.transformedPredicate(t, p).evaluate(null));
         assertEquals(true, PredicateUtils.transformedPredicate(t, p).evaluate(Boolean.TRUE));
         try {
             PredicateUtils.transformedPredicate(null, null);
             fail();
         } catch (IllegalArgumentException ex) {}
+    }
+
+    @Override
+    protected Predicate<?> generatePredicate() {
+        return truePredicate();  //Just return something to satisfy super class.
     }
 
 }

Modified: commons/proper/collections/branches/collections_jdk5_branch/src/test/org/apache/commons/collections/TestTransformerUtils.java
URL: http://svn.apache.org/viewvc/commons/proper/collections/branches/collections_jdk5_branch/src/test/org/apache/commons/collections/TestTransformerUtils.java?rev=643795&r1=643794&r2=643795&view=diff
==============================================================================
--- commons/proper/collections/branches/collections_jdk5_branch/src/test/org/apache/commons/collections/TestTransformerUtils.java (original)
+++ commons/proper/collections/branches/collections_jdk5_branch/src/test/org/apache/commons/collections/TestTransformerUtils.java Wed Apr  2 01:49:57 2008
@@ -29,6 +29,7 @@
 import junit.textui.TestRunner;
 
 import org.apache.commons.collections.functors.ConstantTransformer;
+import org.apache.commons.collections.functors.EqualPredicate;
 import org.apache.commons.collections.functors.NOPTransformer;
 
 /**
@@ -266,22 +267,22 @@
         assertEquals("B", TransformerUtils.switchTransformer(PredicateUtils.falsePredicate(), a, b).transform(null));
         
         assertEquals(null, TransformerUtils.switchTransformer(
-            new Predicate[] {PredicateUtils.equalPredicate("HELLO"), PredicateUtils.equalPredicate("THERE")}, 
+            new Predicate[] {EqualPredicate.equalPredicate("HELLO"), EqualPredicate.equalPredicate("THERE")}, 
             new Transformer[] {a, b}).transform("WELL"));
         assertEquals("A", TransformerUtils.switchTransformer(
-            new Predicate[] {PredicateUtils.equalPredicate("HELLO"), PredicateUtils.equalPredicate("THERE")}, 
+            new Predicate[] {EqualPredicate.equalPredicate("HELLO"), EqualPredicate.equalPredicate("THERE")}, 
             new Transformer[] {a, b}).transform("HELLO"));
         assertEquals("B", TransformerUtils.switchTransformer(
-            new Predicate[] {PredicateUtils.equalPredicate("HELLO"), PredicateUtils.equalPredicate("THERE")}, 
+            new Predicate[] {EqualPredicate.equalPredicate("HELLO"), EqualPredicate.equalPredicate("THERE")}, 
             new Transformer[] {a, b}).transform("THERE"));
             
         assertEquals("C", TransformerUtils.switchTransformer(
-            new Predicate[] {PredicateUtils.equalPredicate("HELLO"), PredicateUtils.equalPredicate("THERE")}, 
+            new Predicate[] {EqualPredicate.equalPredicate("HELLO"), EqualPredicate.equalPredicate("THERE")}, 
             new Transformer[] {a, b}, c).transform("WELL"));
             
         Map map = new HashMap();
-        map.put(PredicateUtils.equalPredicate("HELLO"), a);
-        map.put(PredicateUtils.equalPredicate("THERE"), b);
+        map.put(EqualPredicate.equalPredicate("HELLO"), a);
+        map.put(EqualPredicate.equalPredicate("THERE"), b);
         assertEquals(null, TransformerUtils.switchTransformer(map).transform("WELL"));
         assertEquals("A", TransformerUtils.switchTransformer(map).transform("HELLO"));
         assertEquals("B", TransformerUtils.switchTransformer(map).transform("THERE"));

Modified: commons/proper/collections/branches/collections_jdk5_branch/src/test/org/apache/commons/collections/functors/BasicPredicateTestBase.java
URL: http://svn.apache.org/viewvc/commons/proper/collections/branches/collections_jdk5_branch/src/test/org/apache/commons/collections/functors/BasicPredicateTestBase.java?rev=643795&r1=643794&r2=643795&view=diff
==============================================================================
--- commons/proper/collections/branches/collections_jdk5_branch/src/test/org/apache/commons/collections/functors/BasicPredicateTestBase.java (original)
+++ commons/proper/collections/branches/collections_jdk5_branch/src/test/org/apache/commons/collections/functors/BasicPredicateTestBase.java Wed Apr  2 01:49:57 2008
@@ -1,8 +1,11 @@
 package org.apache.commons.collections.functors;
 
+import org.apache.commons.collections.Predicate;
+import org.junit.Assert;
 import org.junit.Before;
+import org.junit.Test;
 
-public class BasicPredicateTestBase {
+public abstract class BasicPredicateTestBase {
     protected Object cObject;
     protected String cString;
     protected Integer cInteger;
@@ -12,5 +15,24 @@
         cObject = new Object();
         cString = "Hello";
         cInteger = new Integer(6);
+    }
+    
+    @Test
+    public void predicateSanityTests() throws Exception {
+        Predicate<?> predicate = generatePredicate();
+        Assert.assertNotNull(predicate);
+    }
+
+    /**
+     * @return a predicate for general sanity tests.
+     */
+    protected abstract Predicate<?> generatePredicate();
+
+    protected <T> void assertFalse(Predicate<T> predicate, T testObject) {
+        Assert.assertFalse(predicate.evaluate(testObject));
+    }
+
+    protected <T> void assertTrue(Predicate<T> predicate, T testObject) {
+        Assert.assertTrue(predicate.evaluate(testObject));
     }
 }

Modified: commons/proper/collections/branches/collections_jdk5_branch/src/test/org/apache/commons/collections/functors/TestAll.java
URL: http://svn.apache.org/viewvc/commons/proper/collections/branches/collections_jdk5_branch/src/test/org/apache/commons/collections/functors/TestAll.java?rev=643795&r1=643794&r2=643795&view=diff
==============================================================================
--- commons/proper/collections/branches/collections_jdk5_branch/src/test/org/apache/commons/collections/functors/TestAll.java (original)
+++ commons/proper/collections/branches/collections_jdk5_branch/src/test/org/apache/commons/collections/functors/TestAll.java Wed Apr  2 01:49:57 2008
@@ -14,7 +14,8 @@
  * @author Edwin Tellman
  */
 @RunWith(Suite.class)
-@SuiteClasses({TestAllPredicate.class, 
+@SuiteClasses({TestAllPredicate.class,
+    TestEqualPredicate.class,
     TestNullPredicate.class})
 public class TestAll extends TestCase {
 }

Added: commons/proper/collections/branches/collections_jdk5_branch/src/test/org/apache/commons/collections/functors/TestEqualPredicate.java
URL: http://svn.apache.org/viewvc/commons/proper/collections/branches/collections_jdk5_branch/src/test/org/apache/commons/collections/functors/TestEqualPredicate.java?rev=643795&view=auto
==============================================================================
--- commons/proper/collections/branches/collections_jdk5_branch/src/test/org/apache/commons/collections/functors/TestEqualPredicate.java (added)
+++ commons/proper/collections/branches/collections_jdk5_branch/src/test/org/apache/commons/collections/functors/TestEqualPredicate.java Wed Apr  2 01:49:57 2008
@@ -0,0 +1,50 @@
+package org.apache.commons.collections.functors;
+
+import static org.apache.commons.collections.functors.EqualPredicate.equalPredicate;
+import static org.apache.commons.collections.functors.NullPredicate.nullPredicate;
+import static org.junit.Assert.assertSame;
+
+import org.apache.commons.collections.Predicate;
+import org.junit.Test;
+
+
+public class TestEqualPredicate extends BasicPredicateTestBase {
+    private static final EqualsTestObject FALSE_OBJECT = new EqualsTestObject(false);
+    private static final EqualsTestObject TRUE_OBJECT = new EqualsTestObject(true);
+
+    @Override
+    protected Predicate<?> generatePredicate() {
+       return equalPredicate(null);
+    }
+    
+    @Test
+    public void testNullArgumentEqualsNullPredicate() throws Exception {
+        assertSame(nullPredicate(), equalPredicate(null));
+    }
+    
+    @Test
+    public void objectFactoryUsesEqualsForTest() throws Exception {
+        Predicate<EqualsTestObject> predicate = equalPredicate(FALSE_OBJECT);
+        assertFalse(predicate, FALSE_OBJECT);
+        assertTrue(equalPredicate(TRUE_OBJECT), TRUE_OBJECT);
+    }
+    
+    @Test
+    public void testPredicateTypeCanBeSuperClassOfObject() throws Exception {
+        Predicate<Number> predicate = equalPredicate(4);
+        assertTrue(predicate, 4);
+    }
+
+    public static class EqualsTestObject {
+        private final boolean b;
+
+        public EqualsTestObject(boolean b) {
+            this.b = b;
+        }
+        
+        @Override
+        public boolean equals(Object obj) {
+            return b;
+        }
+    }
+}

Modified: commons/proper/collections/branches/collections_jdk5_branch/src/test/org/apache/commons/collections/functors/TestNullPredicate.java
URL: http://svn.apache.org/viewvc/commons/proper/collections/branches/collections_jdk5_branch/src/test/org/apache/commons/collections/functors/TestNullPredicate.java?rev=643795&r1=643794&r2=643795&view=diff
==============================================================================
--- commons/proper/collections/branches/collections_jdk5_branch/src/test/org/apache/commons/collections/functors/TestNullPredicate.java (original)
+++ commons/proper/collections/branches/collections_jdk5_branch/src/test/org/apache/commons/collections/functors/TestNullPredicate.java Wed Apr  2 01:49:57 2008
@@ -1,9 +1,7 @@
 package org.apache.commons.collections.functors;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
+import static org.apache.commons.collections.functors.NullPredicate.nullPredicate;
+import static org.junit.Assert.assertSame;
 
 import org.apache.commons.collections.Predicate;
 import org.junit.Test;
@@ -12,14 +10,17 @@
 public class TestNullPredicate extends BasicPredicateTestBase {
     @Test
     public void testNullPredicate() {
-        assertNotNull(NullPredicate.nullPredicate());
-        assertEquals(NullPredicate.nullPredicate(), NullPredicate.nullPredicate());
-        assertTrue(NullPredicate.nullPredicate().evaluate(null));
+        assertSame(NullPredicate.nullPredicate(), NullPredicate.nullPredicate());
+        assertTrue(nullPredicate(), null);
     }
     
     public void ensurePredicateCanBeTypedWithoutWarning() throws Exception {
         Predicate<String> predicate = NullPredicate.nullPredicate();
-        predicate.evaluate(null); //Just "use" the predicate for strict compiler settings
-        assertFalse(predicate.evaluate(cString));
+        assertFalse(predicate, cString);
+    }
+
+    @Override
+    protected Predicate<?> generatePredicate() {
+        return nullPredicate();
     }    
 }