You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by sc...@apache.org on 2004/10/08 23:44:41 UTC

cvs commit: jakarta-commons/lang/src/test/org/apache/commons/lang ValidateTest.java

scolebourne    2004/10/08 14:44:41

  Modified:    lang/src/java/org/apache/commons/lang Validate.java
               lang/src/test/org/apache/commons/lang ValidateTest.java
  Log:
  Rename allElementsOfClass to allElementsOfType, and change to instanceof check
  
  Revision  Changes    Path
  1.13      +19 -17    jakarta-commons/lang/src/java/org/apache/commons/lang/Validate.java
  
  Index: Validate.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons/lang/src/java/org/apache/commons/lang/Validate.java,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- Validate.java	1 Jun 2004 21:25:35 -0000	1.12
  +++ Validate.java	8 Oct 2004 21:44:41 -0000	1.13
  @@ -492,52 +492,54 @@
               }
           }
       }
  -    
  +
       /**
        * <p>Validate an argument, throwing <code>IllegalArgumentException</code>
        * if the argument collection  is <code>null</code> or has elements that
  -     * are not of type <code>clazz</code>.</p>
  +     * are not of type <code>clazz</code> or a subclass.</p>
        *
        * <pre>
  -     * Validate.allElementsOfClass(collection, String.class, "Collection has invalid elements");
  +     * Validate.allElementsOfType(collection, String.class, "Collection has invalid elements");
        * </pre>
        *
  -     * @param collection  the collection to check
  -     * @param clazz  the <code>Class</code> which the collection's elements are expected to be
  +     * @param collection  the collection to check, not null
  +     * @param clazz  the <code>Class</code> which the collection's elements are expected to be, not null
        * @param message  the exception message if the <code>Collection</code> has elements not of type <code>clazz</code>
        * @since 2.1
        */
  -    public static void allElementsOfClass(Collection collection, Class clazz, String message) {
  +    public static void allElementsOfType(Collection collection, Class clazz, String message) {
       	Validate.notNull(collection);
  +        Validate.notNull(clazz);
       	for (Iterator it = collection.iterator(); it.hasNext(); ) {
  -    		if ((it.next().getClass().equals(clazz)) == false) {
  +    		if (clazz.isInstance(it.next()) == false) {
       			throw new IllegalArgumentException(message);
       		}
       	}
  -    }   
  -    
  +    }
  +
       /**
        * <p>Validate an argument, throwing <code>IllegalArgumentException</code>
        * if the argument collection  is <code>null</code> or has elements that are not of 
  -     * type <code>clazz</code>.</p>
  +     * type <code>clazz</code> or a subclass.</p>
        *
        * <pre>
  -     * Validate.allElementsOfClass(collection, String.class);
  +     * Validate.allElementsOfType(collection, String.class);
        * </pre>
        *
        * <p>The message in the exception is 'The validated collection contains an element not of type clazz at index: '.</p>
        * 
  -     * @param collection  the collection to check
  -     * @param clazz the <code>Class</code> which the collection's elements are expected to be
  +     * @param collection  the collection to check, not null
  +     * @param clazz the <code>Class</code> which the collection's elements are expected to be, not null
        * @since 2.1
        */
  -    public static void allElementsOfClass(Collection collection, Class clazz) {
  +    public static void allElementsOfType(Collection collection, Class clazz) {
       	Validate.notNull(collection);
  +        Validate.notNull(clazz);
       	int i = 0;
       	for (Iterator it = collection.iterator(); it.hasNext(); i++) {
  -    		if ((it.next().getClass().equals(clazz)) == false) {
  +            if (clazz.isInstance(it.next()) == false) {
       			throw new IllegalArgumentException("The validated collection contains an element not of type "
  -                    + (clazz == null ? "null" : clazz.getName()) + " at index: " + i);
  +                    + clazz.getName() + " at index: " + i);
       		}
       	}
       }
  
  
  
  1.6       +23 -5     jakarta-commons/lang/src/test/org/apache/commons/lang/ValidateTest.java
  
  Index: ValidateTest.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons/lang/src/test/org/apache/commons/lang/ValidateTest.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- ValidateTest.java	18 Feb 2004 23:06:19 -0000	1.5
  +++ ValidateTest.java	8 Oct 2004 21:44:41 -0000	1.6
  @@ -358,23 +358,41 @@
       }
   
       //-----------------------------------------------------------------------
  -    public void testAllElementsOfClass() {
  +    public void testAllElementsOfType() {
       	List coll = new ArrayList();
       	coll.add("a");
       	coll.add("b");
  -    	Validate.allElementsOfClass(coll, String.class, "MSG");
  +    	Validate.allElementsOfType(coll, String.class, "MSG");
       	try {
  -    		Validate.allElementsOfClass(coll, Integer.class, "MSG");
  +    		Validate.allElementsOfType(coll, Integer.class, "MSG");
       		fail("Expecting IllegalArgumentException");
       	} catch (IllegalArgumentException ex) {
       		assertEquals("MSG", ex.getMessage());
       	}
       	coll.set(1, Boolean.FALSE);
       	try {
  -    		Validate.allElementsOfClass(coll, String.class);
  +    		Validate.allElementsOfType(coll, String.class);
       		fail("Expecting IllegalArgumentException");
       	} catch (IllegalArgumentException ex) {
       		assertEquals("The validated collection contains an element not of type java.lang.String at index: 1", ex.getMessage());
       	}
  +        
  +        coll = new ArrayList();
  +        coll.add(new Integer(5));
  +        coll.add(new Double(2.0d));
  +        Validate.allElementsOfType(coll, Number.class, "MSG");
  +        try {
  +            Validate.allElementsOfType(coll, Integer.class, "MSG");
  +            fail("Expecting IllegalArgumentException");
  +        } catch (IllegalArgumentException ex) {
  +            assertEquals("MSG", ex.getMessage());
  +        }
  +        try {
  +            Validate.allElementsOfType(coll, Double.class, "MSG");
  +            fail("Expecting IllegalArgumentException");
  +        } catch (IllegalArgumentException ex) {
  +            assertEquals("MSG", ex.getMessage());
  +        }
       }
  +
   }
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org