[portal-commits] JBoss Portal SVN: r8875 - in modules/common/trunk/common/src: test/java/org/jboss/portal/test/common and 1 other directory.

portal-commits at lists.jboss.org portal-commits at lists.jboss.org
Mon Nov 12 05:54:49 EST 2007


Author: julien at jboss.com
Date: 2007-11-12 05:54:49 -0500 (Mon, 12 Nov 2007)
New Revision: 8875

Modified:
   modules/common/trunk/common/src/main/java/org/jboss/portal/common/util/Tools.java
   modules/common/trunk/common/src/test/java/org/jboss/portal/test/common/ToolsTestCase.java
Log:
more test cases for tools and fix a bug (huge) in appendTo (my bad)

Modified: modules/common/trunk/common/src/main/java/org/jboss/portal/common/util/Tools.java
===================================================================
--- modules/common/trunk/common/src/main/java/org/jboss/portal/common/util/Tools.java	2007-11-12 09:48:33 UTC (rev 8874)
+++ modules/common/trunk/common/src/main/java/org/jboss/portal/common/util/Tools.java	2007-11-12 10:54:49 UTC (rev 8875)
@@ -227,7 +227,7 @@
       return set;
    }
 
-   public static <E> Set<E> toSet(E[] objects)
+   public static <E> Set<E> toSet(E... objects)
    {
       if (objects == null)
       {
@@ -313,7 +313,7 @@
       return list;
    }
 
-   public static <E> List<E> toList(E[] objects)
+   public static <E> List<E> toList(E... objects)
    {
       if (objects == null)
       {
@@ -382,7 +382,7 @@
     * @return the iterator
     * @throws IllegalArgumentException if the object array is null or the specified range is not valid
     */
-   public static <E> Iterator<E> iterator(final E[] objects) throws IllegalArgumentException
+   public static <E> Iterator<E> iterator(final E... objects) throws IllegalArgumentException
    {
       if (objects == null)
       {
@@ -791,13 +791,20 @@
       {
          throw new IllegalArgumentException();
       }
+
+      //
       Class componentType = array.getClass().getComponentType();
-      if (o != null && componentType.isAssignableFrom(o.getClass()))
+      if (o != null && !componentType.isAssignableFrom(o.getClass()))
       {
-         throw new ClassCastException("Object with class " + o.getClass().getName() + " cannot be casted to class " + componentType.getComponentType().getName());
+         throw new ClassCastException("Object with class " + o.getClass().getName() + " cannot be casted to class " + componentType.getName());
       }
+
+      //
       E[] copy = (E[])Array.newInstance(componentType, array.length + 1);
+      System.arraycopy(array, 0, copy, 0, array.length);
       copy[array.length] = o;
+
+      //
       return copy;
    }
 
@@ -829,6 +836,17 @@
       return replaceBoundedString(initial, prefix, suffix, replacement, true, false);
    }
 
+   /**
+    * Todo : define what "bounded" means.
+    *
+    * @param initial
+    * @param prefix
+    * @param suffix
+    * @param replacement
+    * @param replaceIfBoundedStringEmpty
+    * @param keepBoundaries
+    * @return
+    */
    public static String replaceBoundedString(String initial, String prefix, String suffix, String replacement,
                                              boolean replaceIfBoundedStringEmpty, boolean keepBoundaries)
    {

Modified: modules/common/trunk/common/src/test/java/org/jboss/portal/test/common/ToolsTestCase.java
===================================================================
--- modules/common/trunk/common/src/test/java/org/jboss/portal/test/common/ToolsTestCase.java	2007-11-12 09:48:33 UTC (rev 8874)
+++ modules/common/trunk/common/src/test/java/org/jboss/portal/test/common/ToolsTestCase.java	2007-11-12 10:54:49 UTC (rev 8875)
@@ -24,6 +24,7 @@
 package org.jboss.portal.test.common;
 
 import junit.framework.TestCase;
+import org.jboss.portal.common.junit.ExtendedAssert;
 import org.jboss.portal.common.util.Tools;
 
 import java.util.ArrayList;
@@ -262,7 +263,7 @@
    {
       try
       {
-         Tools.iterator(null);
+         Tools.iterator((Object[])null);
          fail();
       }
       catch (IllegalArgumentException ignore)
@@ -335,6 +336,37 @@
       assertIterator(Tools.iterator(new String[]{"a","b"}, 0, 2), "a", "b");
    }
 
+   public void testArrayAppendToThrowsIAE()
+   {
+      try
+      {
+         Tools.appendTo(null, "a");
+         fail();
+      }
+      catch (IllegalArgumentException e)
+      {
+      }
+   }
+
+   public void testEmptyEnumeration()
+   {
+      assertEnumeration(Tools.EMPTY_ENUMERATION);
+   }
+
+   public void testEmptyIterator()
+   {
+      assertIterator(Tools.EMPTY_ITERATOR);
+   }
+
+   public void testArrayAppendTo()
+   {
+      ExtendedAssert.assertEquals(new String[]{"a"}, Tools.appendTo(new String[0], "a"));
+      ExtendedAssert.assertEquals(new String[]{null}, Tools.appendTo(new String[0], null));
+      ExtendedAssert.assertEquals(new String[]{"a", "b"}, Tools.appendTo(new String[]{"a"}, "b"));
+      ExtendedAssert.assertEquals(new String[]{null, "b"}, Tools.appendTo(new String[]{null}, "b"));
+      ExtendedAssert.assertEquals(new String[]{"a", null}, Tools.appendTo(new String[]{"a"}, null));
+   }
+
    private <E> void assertEnumeration(Enumeration<E> elements, E... expectedElements)
    {
       assertNotNull(elements);




More information about the portal-commits mailing list