Author: carlucci
Date: Thu Jun 28 00:56:47 2012
New Revision: 1354789

URL: http://svn.apache.org/viewvc?rev=1354789&view=rev
Log:
improved unit test coverage of o.a.r.util.CollectionUtils

Modified:
    
rave/trunk/rave-components/rave-commons/src/test/java/org/apache/rave/util/CollectionUtilsTest.java

Modified: 
rave/trunk/rave-components/rave-commons/src/test/java/org/apache/rave/util/CollectionUtilsTest.java
URL: 
http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-commons/src/test/java/org/apache/rave/util/CollectionUtilsTest.java?rev=1354789&r1=1354788&r2=1354789&view=diff
==============================================================================
--- 
rave/trunk/rave-components/rave-commons/src/test/java/org/apache/rave/util/CollectionUtilsTest.java
 (original)
+++ 
rave/trunk/rave-components/rave-commons/src/test/java/org/apache/rave/util/CollectionUtilsTest.java
 Thu Jun 28 00:56:47 2012
@@ -23,7 +23,9 @@ import org.apache.commons.lang.StringUti
 import org.junit.Before;
 import org.junit.Test;
 
+import java.lang.reflect.Constructor;
 import java.util.ArrayList;
+import java.util.Collection;
 import java.util.HashMap;
 import java.util.List;
 
@@ -75,6 +77,13 @@ public class CollectionUtilsTest {
     }
 
     @Test
+    public void privateConstructor() throws Exception {
+        Constructor<?>[] cons = 
CollectionUtils.class.getDeclaredConstructors();
+        cons[0].setAccessible(true);
+        cons[0].newInstance((Object[])null);
+    }
+
+    @Test
     public void reconcileObjectCollections_addNewObject() {
         TestObject newObject = new TestObject("newName1", "newValue1");
         updatedObjectsMap.put(newObject, newObject);
@@ -199,6 +208,48 @@ public class CollectionUtilsTest {
     }
 
     @Test
+    public void toBaseTypedCollection() {
+        Collection<SubTestObject> collection = new ArrayList<SubTestObject>();
+        collection.add(new SubTestObject("a", "b"));
+        collection.add(new SubTestObject("a", "b"));
+        collection.add(new SubTestObject("a", "b"));
+
+        Collection<TestObject> down = 
CollectionUtils.toBaseTypedCollection((Collection<? extends TestObject>) 
collection);
+        assertThat(down.contains(collection.toArray()[0]), is(true));
+        assertThat(down.contains(collection.toArray()[1]), is(true));
+        assertThat(down.contains(collection.toArray()[2]), is(true));
+    }
+
+    @Test
+    public void toBaseTypedCollection_null() {
+        Collection<SubTestObject> collection = null;
+
+        Collection<TestObject> down = 
CollectionUtils.toBaseTypedCollection((Collection<? extends TestObject>) 
collection);
+        assertThat(down, is(nullValue()));
+    }
+
+    @Test
+    public void getSingleValue_empty() {
+        List<String> list = new ArrayList<String>();
+        assertThat(CollectionUtils.getSingleValue(list), 
is(nullValue(String.class)));
+    }
+
+    @Test
+    public void getSingleValue_single() {
+        List<String> list = new ArrayList<String>();
+        list.add("hello");
+        assertThat(CollectionUtils.getSingleValue(list), is("hello"));
+    }
+
+    @Test(expected = IllegalArgumentException.class)
+    public void getSingleValue_multiple() {
+        List<String> list = new ArrayList<String>();
+        list.add("foo");
+        list.add("bar");
+        CollectionUtils.getSingleValue(list);
+    }
+
+    @Test
     public void addUniqueValues() {
         List<TestObject> source = new ArrayList<TestObject>();
         TestObject testObject1 = new TestObject("a", "b");


Reply via email to