You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by mo...@apache.org on 2002/02/26 00:26:44 UTC

cvs commit: jakarta-commons/collections/src/test/org/apache/commons/collections TestFilterIterator.java

morgand     02/02/25 15:26:44

  Modified:    collections/src/test/org/apache/commons/collections
                        TestFilterIterator.java
  Log:
  added base class for testing iterators
  
  Revision  Changes    Path
  1.2       +53 -4     jakarta-commons/collections/src/test/org/apache/commons/collections/TestFilterIterator.java
  
  Index: TestFilterIterator.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons/collections/src/test/org/apache/commons/collections/TestFilterIterator.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- TestFilterIterator.java	19 Oct 2001 20:33:01 -0000	1.1
  +++ TestFilterIterator.java	25 Feb 2002 23:26:43 -0000	1.2
  @@ -4,13 +4,14 @@
   import junit.framework.TestCase;
   import junit.framework.TestSuite;
   import junit.framework.Test;
  +import java.util.Iterator;
   import java.util.NoSuchElementException;
   
   /**
    *
    * @author  Jan Sorensen
    */
  -public class TestFilterIterator extends TestCase {
  +public class TestFilterIterator extends TestIterator {
   
       /** Creates new TestFilterIterator */
       public TestFilterIterator(String name) {
  @@ -41,6 +42,30 @@
           return (new TestSuite(TestFilterIterator.class));
       }
   
  +    /**
  +     * Returns an full iterator wrapped in a
  +     * FilterIterator that blocks all the elements
  +     * 
  +     * @return "empty" FilterIterator
  +     */
  +    public Iterator makeEmptyIterator() {
  +        return makeBlockAllFilter(new ArrayIterator(array));
  +    }
  +
  +    /**
  +     * Returns an array with elements wrapped in a pass-through
  +     * FilterIterator
  +     * 
  +     * @return 
  +     */
  +    public Iterator makeFullIterator() {
  +        return makePassThroughFilter(new ArrayIterator(array));
  +    }
  +
  +    public Object makeObject() {
  +        return makeFullIterator();
  +    }
  +
       public void testRepeatedHasNext() {
           for (int i = 0; i <= array.length; i++) {
               assertTrue(iterator.hasNext());
  @@ -95,11 +120,35 @@
       }
   
       private void initIterator() {
  -        iterator = new FilterIterator(new ArrayIterator(array));
  +        iterator = makePassThroughFilter(new ArrayIterator(array));
  +    }
  +
  +    /**
  +     * Returns a FilterIterator that does not filter
  +     * any of its elements
  +     * 
  +     * @param i      the Iterator to "filter"
  +     * @return "filtered" iterator
  +     */
  +    protected FilterIterator makePassThroughFilter(Iterator i) {
           Predicate pred = new Predicate() {
  -            public boolean evaluate(Object x) { return true; }
  +                public boolean evaluate(Object x) { return true; }
           };
  -        iterator.setPredicate(pred);
  +        return new FilterIterator(i,pred);
  +    }
  +
  +    /**
  +     * Returns a FilterIterator that blocks
  +     * all of its elements
  +     * 
  +     * @param i      the Iterator to "filter"
  +     * @return "filtered" iterator
  +     */
  +    protected FilterIterator makeBlockAllFilter(Iterator i) {
  +        Predicate pred = new Predicate() {
  +                public boolean evaluate(Object x) { return false; }
  +        };
  +        return new FilterIterator(i,pred);
       }
   }
   
  
  
  

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>