You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by si...@apache.org on 2012/01/28 11:27:15 UTC

svn commit: r1237034 - in /commons/sandbox/beanutils2/trunk/src: main/java/org/apache/commons/beanutils2/DefaultClassAccessor.java test/java/org/apache/commons/beanutils2/BeanUtilsTest.java test/java/org/apache/commons/beanutils2/ConstructorsTestCase.java

Author: simonetripodi
Date: Sat Jan 28 10:27:15 2012
New Revision: 1237034

URL: http://svn.apache.org/viewvc?rev=1237034&view=rev
Log:
[SANDBOX-362] applied patches for BeanUtilsTest and ConstrucotrTestCase, provided by Benedikt Ritter

Added:
    commons/sandbox/beanutils2/trunk/src/test/java/org/apache/commons/beanutils2/BeanUtilsTest.java   (with props)
Modified:
    commons/sandbox/beanutils2/trunk/src/main/java/org/apache/commons/beanutils2/DefaultClassAccessor.java
    commons/sandbox/beanutils2/trunk/src/test/java/org/apache/commons/beanutils2/ConstructorsTestCase.java

Modified: commons/sandbox/beanutils2/trunk/src/main/java/org/apache/commons/beanutils2/DefaultClassAccessor.java
URL: http://svn.apache.org/viewvc/commons/sandbox/beanutils2/trunk/src/main/java/org/apache/commons/beanutils2/DefaultClassAccessor.java?rev=1237034&r1=1237033&r2=1237034&view=diff
==============================================================================
--- commons/sandbox/beanutils2/trunk/src/main/java/org/apache/commons/beanutils2/DefaultClassAccessor.java (original)
+++ commons/sandbox/beanutils2/trunk/src/main/java/org/apache/commons/beanutils2/DefaultClassAccessor.java Sat Jan 28 10:27:15 2012
@@ -100,7 +100,7 @@ final class DefaultClassAccessor<B>
 
         if ( null == constructor )
         {
-            throw new NoSuchMethodException( "No such accessible constructor on object: " + beanClass.getName() );
+            throw new NoSuchMethodException( "No such accessible constructor on class: " + beanClass.getName() );
         }
 
         int argumentsLength = arguments.length;

Added: commons/sandbox/beanutils2/trunk/src/test/java/org/apache/commons/beanutils2/BeanUtilsTest.java
URL: http://svn.apache.org/viewvc/commons/sandbox/beanutils2/trunk/src/test/java/org/apache/commons/beanutils2/BeanUtilsTest.java?rev=1237034&view=auto
==============================================================================
--- commons/sandbox/beanutils2/trunk/src/test/java/org/apache/commons/beanutils2/BeanUtilsTest.java (added)
+++ commons/sandbox/beanutils2/trunk/src/test/java/org/apache/commons/beanutils2/BeanUtilsTest.java Sat Jan 28 10:27:15 2012
@@ -0,0 +1,284 @@
+package org.apache.commons.beanutils2;
+
+import static org.apache.commons.beanutils2.BeanUtils.on;
+import static org.junit.Assert.assertNotNull;
+
+import org.junit.Test;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+public class BeanUtilsTest
+{
+
+    private static final byte BYTE = 6;
+
+    private static final short SHOT = 45;
+
+    private static final int INT = 329;
+
+    private static final long LONG = 451268l;
+
+    private static final float FLOAT = 47.11f;
+
+    private static final double DOUBLE = 0.4e12d;
+
+    private static final char CHAR = 'X';
+
+    private static final String STRING = "Hello World!";
+
+    @Test
+    public void onBeanBooleanPrimitive()
+    {
+        assertNotNull( on( true ) );
+    }
+
+    @Test
+    public void onBeanBooleanWrapper()
+    {
+        assertNotNull( on( new Boolean( true ) ) );
+    }
+
+    @Test
+    public void onBeanBytePrimtive()
+    {
+        assertNotNull( on( BYTE ) );
+    }
+
+    @Test
+    public void onBeanByteWrapper()
+    {
+        assertNotNull( on( new Byte( BYTE ) ) );
+    }
+
+    @Test
+    public void onBeanShortPrimitive()
+    {
+        assertNotNull( on( SHOT ) );
+    }
+
+    @Test
+    public void onBeanShortWrapper()
+    {
+        assertNotNull( on( new Short( SHOT ) ) );
+    }
+
+    @Test
+    public void onBeanIntPrimitive()
+    {
+        assertNotNull( on( INT ) );
+    }
+
+    @Test
+    public void onBeanIntegerWrapper()
+    {
+        assertNotNull( on( new Integer( INT ) ) );
+    }
+
+    @Test
+    public void onBeanLongPrimitive()
+    {
+        assertNotNull( on( LONG ) );
+    }
+
+    @Test
+    public void onBeanLongWrapper()
+    {
+        assertNotNull( on( new Long( LONG ) ) );
+    }
+
+    @Test
+    public void onBeanFloatPrimitive()
+    {
+        assertNotNull( on( FLOAT ) );
+    }
+
+    @Test
+    public void onBeanFloatWrapper()
+    {
+        assertNotNull( on( new Float( FLOAT ) ) );
+    }
+
+    @Test
+    public void onBeanDoublePrimitive()
+    {
+        assertNotNull( on( DOUBLE ) );
+    }
+
+    @Test
+    public void onBeanDoubleWrapper()
+    {
+        assertNotNull( on( new Double( DOUBLE ) ) );
+    }
+
+    @Test
+    public void onBeanCharPrimitive()
+    {
+        assertNotNull( on( CHAR ) );
+    }
+
+    @Test
+    public void onBeanCharacterWrapper()
+    {
+        assertNotNull( on( new Character( CHAR ) ) );
+    }
+
+    @Test
+    public void onBeanString()
+    {
+        assertNotNull( on( STRING ) );
+    }
+
+    @Test
+    public void onBeanObject()
+    {
+        assertNotNull( on( new Object() ) );
+    }
+
+    @Test
+    public void onBeanTestBean()
+    {
+        assertNotNull( on( new TestBean( FLOAT, STRING ) ) );
+    }
+
+    @Test( expected = NullPointerException.class )
+    public void onBeanNull()
+    {
+        on( (Object) null );
+    }
+
+    @Test
+    public void onClassBooleanPrimitive()
+    {
+        assertNotNull( on( boolean.class ) );
+    }
+
+    @Test
+    public void onClassBytePrimitive()
+    {
+        assertNotNull( on( byte.class ) );
+    }
+
+    @Test
+    public void onClassShortPrimitive()
+    {
+        assertNotNull( on( short.class ) );
+    }
+
+    @Test
+    public void onClassIntPrimitive()
+    {
+        assertNotNull( on( int.class ) );
+    }
+
+    @Test
+    public void onClassLongPrimitive()
+    {
+        assertNotNull( on( long.class ) );
+    }
+
+    @Test
+    public void onClassFloatPrimitive()
+    {
+        assertNotNull( on( float.class ) );
+    }
+
+    @Test
+    public void onClassDoublePrimitive()
+    {
+        assertNotNull( on( double.class ) );
+    }
+
+    @Test
+    public void onClassCharPrimitive()
+    {
+        assertNotNull( on( char.class ) );
+    }
+
+    @Test
+    public void onClassBooleanWrapper()
+    {
+        assertNotNull( on( Boolean.class ) );
+    }
+
+    @Test
+    public void onClassByteWrapper()
+    {
+        assertNotNull( on( Byte.class ) );
+    }
+
+    @Test
+    public void onClassShortWrapper()
+    {
+        assertNotNull( on( Short.class ) );
+    }
+
+    @Test
+    public void onClassIntegerWrapper()
+    {
+        assertNotNull( on( Integer.class ) );
+    }
+
+    @Test
+    public void onClassLongWrapper()
+    {
+        assertNotNull( on( Long.class ) );
+    }
+
+    @Test
+    public void onClassFloatWrapper()
+    {
+        assertNotNull( on( Float.class ) );
+    }
+
+    @Test
+    public void onClassDoubleWrapper()
+    {
+        assertNotNull( on( Double.class ) );
+    }
+
+    @Test
+    public void onClassWrappers()
+    {
+        assertNotNull( on( Character.class ) );
+    }
+
+    @Test
+    public void onClassString()
+    {
+        assertNotNull( on( String.class ) );
+    }
+
+    @Test
+    public void onClassObject()
+    {
+        assertNotNull( on( Object.class ) );
+    }
+
+    @Test
+    public void onClassTestBean()
+    {
+        assertNotNull( on( TestBean.class ) );
+    }
+
+    @Test( expected = NullPointerException.class )
+    public void onClassNull()
+    {
+        on( null );
+    }
+
+}

Propchange: commons/sandbox/beanutils2/trunk/src/test/java/org/apache/commons/beanutils2/BeanUtilsTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: commons/sandbox/beanutils2/trunk/src/test/java/org/apache/commons/beanutils2/BeanUtilsTest.java
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL

Propchange: commons/sandbox/beanutils2/trunk/src/test/java/org/apache/commons/beanutils2/BeanUtilsTest.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: commons/sandbox/beanutils2/trunk/src/test/java/org/apache/commons/beanutils2/ConstructorsTestCase.java
URL: http://svn.apache.org/viewvc/commons/sandbox/beanutils2/trunk/src/test/java/org/apache/commons/beanutils2/ConstructorsTestCase.java?rev=1237034&r1=1237033&r2=1237034&view=diff
==============================================================================
--- commons/sandbox/beanutils2/trunk/src/test/java/org/apache/commons/beanutils2/ConstructorsTestCase.java (original)
+++ commons/sandbox/beanutils2/trunk/src/test/java/org/apache/commons/beanutils2/ConstructorsTestCase.java Sat Jan 28 10:27:15 2012
@@ -21,9 +21,10 @@ import static org.apache.commons.beanuti
 import static org.apache.commons.beanutils2.BeanUtils.on;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.fail;
 
+import org.junit.Rule;
 import org.junit.Test;
+import org.junit.rules.ExpectedException;
 
 /**
  * <p>
@@ -32,6 +33,8 @@ import org.junit.Test;
  */
 public class ConstructorsTestCase
 {
+    @Rule
+    public ExpectedException thrown = ExpectedException.none();
 
     // ------------------------------------------------ Individual Test Methods
 
@@ -52,6 +55,23 @@ public class ConstructorsTestCase
     }
 
     @Test
+    public void invokeConstructorWithInvalidArgument()
+        throws Exception
+    {
+        thrown.expect( NoSuchMethodException.class );
+        thrown.expectMessage( "No such accessible constructor on class:" );
+        thrown.expectMessage( TestBean.class.getName() );
+        on( TestBean.class ).invokeConstructor( argument( (byte) 6 ) ).get();
+    }
+
+    @Test( expected = NullPointerException.class )
+    public void invokeConstructorWithNull()
+        throws Exception
+    {
+        on( TestBean.class ).invokeConstructor( (Argument<?>) null );
+    }
+
+    @Test
     public void invokeConstructorWithArgArray()
         throws Exception
     {
@@ -62,6 +82,23 @@ public class ConstructorsTestCase
     }
 
     @Test
+    public void invokeConstrucotrWithInvalidArgArray()
+        throws Exception
+    {
+        thrown.expect( NoSuchMethodException.class );
+        thrown.expectMessage( "No such accessible constructor on class:" );
+        thrown.expectMessage( TestBean.class.getName() );
+        on( TestBean.class ).invokeConstructor( argument( (byte) 17 ), argument( "TEST" ) ).get();
+    }
+
+    @Test( expected = NullPointerException.class )
+    public void invokeConstructorWithNullArray()
+        throws Exception
+    {
+        on( TestBean.class ).invokeConstructor( null, null, null );
+    }
+
+    @Test
     public void invokeConstructorWithTypeArray()
         throws Exception
     {
@@ -82,6 +119,16 @@ public class ConstructorsTestCase
     }
 
     @Test
+    public void invokeConstructorWithInvalidTypeArray() throws Exception
+    {
+        thrown.expect( NoSuchMethodException.class );
+        thrown.expectMessage( "No such accessible constructor on class:" );
+        thrown.expectMessage( TestBean.class.getName() );
+        on( TestBean.class ).invokeConstructor( argument( String.class, "TEST" ),
+                                                argument( Boolean.TYPE, Boolean.TRUE )).get();
+    }
+
+    @Test
     public void invokeExactConstructor()
         throws Exception
     {
@@ -91,17 +138,6 @@ public class ConstructorsTestCase
             assertEquals( "TEST", obj.getStringProperty() );
         }
         {
-            try
-            {
-                TestBean obj = on( TestBean.class ).invokeExactConstructor( argument( new Float( 17.3f ) ) ).get();
-                fail( "Expected NoSuchMethodException" );
-            }
-            catch ( NoSuchMethodException e )
-            {
-                // expected
-            }
-        }
-        {
             TestBean obj = on( TestBean.class ).invokeExactConstructor( argument( Boolean.TRUE ) ).get();
             assertNotNull( obj );
 
@@ -110,28 +146,47 @@ public class ConstructorsTestCase
     }
 
     @Test
+    public void invokeExactConstructorWithInvalidArgument()
+        throws Exception
+    {
+        thrown.expect( NoSuchMethodException.class );
+        thrown.expectMessage( "No such accessible constructor on class:" );
+        thrown.expectMessage( TestBean.class.getName() );
+        on( TestBean.class ).invokeExactConstructor( argument( new Float( 17.3f ) ) ).get();
+    }
+
+    @Test( expected = NullPointerException.class )
+    public void invokeExactConstructorWithNull()
+        throws Exception
+    {
+        on( TestBean.class ).invokeExactConstructor( (Argument<?>) null );
+    }
+
+    @Test
     public void invokeExactConstructorWithArgArray()
         throws Exception
     {
-        {
-            try
-            {
-                TestBean obj = on( TestBean.class ).invokeExactConstructor( argument( new Float( 17.3f ) ),
-                                                                            argument( "TEST" ) ).get();
-                fail( "Expected NoSuchMethodException" );
-            }
-            catch ( NoSuchMethodException e )
-            {
-                // expected
-            }
-        }
-        {
-            TestBean obj = on( TestBean.class ).invokeExactConstructor( argument( Boolean.TRUE ),
-                                                                        argument( "TEST" ) ).get();
-            assertNotNull( obj );
-            assertEquals( true, obj.isBooleanSecond() );
-            assertEquals( "TEST", obj.getStringProperty() );
-        }
+        TestBean obj = on( TestBean.class ).invokeExactConstructor( argument( Boolean.TRUE ),
+                                                                    argument( "TEST" ) ).get();
+        assertNotNull( obj );
+        assertEquals( true, obj.isBooleanSecond() );
+        assertEquals( "TEST", obj.getStringProperty() );
+    }
+
+    @Test
+    public void invokeExactConstructorWithInvalidArgArray() throws Exception
+    {
+        thrown.expect( NoSuchMethodException.class );
+        thrown.expectMessage( "No such accessible constructor on class:" );
+        thrown.expectMessage( TestBean.class.getName() );
+        on( TestBean.class ).invokeExactConstructor( argument( new Float( 17.3f ) ),argument( "TEST" ) ).get();
+    }
+
+    @Test( expected = NullPointerException.class )
+    public void invokeExactConstructorWithNullArray()
+        throws Exception
+    {
+        on( TestBean.class ).invokeExactConstructor( null, null, null );
     }
 
     @Test
@@ -160,18 +215,16 @@ public class ConstructorsTestCase
             assertEquals( 17.3f, obj.getFloatProperty(), 0.0f );
             assertEquals( "TEST", obj.getStringProperty() );
         }
-        {
-            try
-            {
-                TestBean obj = on( TestBean.class ).invokeExactConstructor( argument( Float.class, new Float( 17.3f ) ),
-                                                                            argument( String.class, "TEST" ) ).get();
-                fail( "Expected NoSuchMethodException" );
-            }
-            catch ( NoSuchMethodException e )
-            {
-                // expected
-            }
-        }
+    }
+
+    @Test
+    public void invokeExactConstructorWithInvalidTypeArray() throws Exception
+    {
+        thrown.expect( NoSuchMethodException.class );
+        thrown.expectMessage( "No such accessible constructor on class:" );
+        thrown.expectMessage( TestBean.class.getName() );
+        on( TestBean.class ).invokeExactConstructor( argument( Float.class, new Float( 17.3f ) ),
+                                                     argument( String.class, "TEST" ) ).get();
     }
 
 }