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/02/06 21:25:28 UTC
svn commit: r1241155 - in /commons/sandbox/beanutils2/trunk/src:
main/java/org/apache/commons/beanutils2/
test/java/org/apache/commons/beanutils2/
Author: simonetripodi
Date: Mon Feb 6 20:25:27 2012
New Revision: 1241155
URL: http://svn.apache.org/viewvc?rev=1241155&view=rev
Log:
started handling TypeLiteral instead of pure class
Modified:
commons/sandbox/beanutils2/trunk/src/main/java/org/apache/commons/beanutils2/BeanUtils.java
commons/sandbox/beanutils2/trunk/src/main/java/org/apache/commons/beanutils2/DefaultClassAccessor.java
commons/sandbox/beanutils2/trunk/src/main/java/org/apache/commons/beanutils2/DefaultClassLoaderBuilder.java
commons/sandbox/beanutils2/trunk/src/test/java/org/apache/commons/beanutils2/ConstructorsTestCase.java
commons/sandbox/beanutils2/trunk/src/test/java/org/apache/commons/beanutils2/StaticMethodsTestCase.java
Modified: commons/sandbox/beanutils2/trunk/src/main/java/org/apache/commons/beanutils2/BeanUtils.java
URL: http://svn.apache.org/viewvc/commons/sandbox/beanutils2/trunk/src/main/java/org/apache/commons/beanutils2/BeanUtils.java?rev=1241155&r1=1241154&r2=1241155&view=diff
==============================================================================
--- commons/sandbox/beanutils2/trunk/src/main/java/org/apache/commons/beanutils2/BeanUtils.java (original)
+++ commons/sandbox/beanutils2/trunk/src/main/java/org/apache/commons/beanutils2/BeanUtils.java Mon Feb 6 20:25:27 2012
@@ -21,6 +21,8 @@ package org.apache.commons.beanutils2;
import static org.apache.commons.beanutils2.internal.Assertions.checkNotNull;
+import org.apache.commons.beanutils2.type.TypeLiteral;
+
public final class BeanUtils
{
@@ -35,7 +37,7 @@ public final class BeanUtils
// introspection stuff
- public static <B> ClassAccessor<B> on( Class<B> beanType )
+ public static <B> ClassAccessor<B> on( TypeLiteral<B> beanType )
{
beanType = checkNotNull( beanType, "No bean class specified" );
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=1241155&r1=1241154&r2=1241155&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 Mon Feb 6 20:25:27 2012
@@ -26,6 +26,8 @@ import static org.apache.commons.beanuti
import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
+import org.apache.commons.beanutils2.type.TypeLiteral;
+
final class DefaultClassAccessor<B>
implements ClassAccessor<B>
{
@@ -33,9 +35,9 @@ final class DefaultClassAccessor<B>
private final AccessibleObjectsRegistry<Constructor<?>> constructorRegistry =
AccessibleObjectsRegistry.getConstructorsRegistry();
- private final Class<B> beanClass;
+ private final TypeLiteral<B> beanClass;
- public DefaultClassAccessor( Class<B> beanClass )
+ public DefaultClassAccessor( TypeLiteral<B> beanClass )
{
this.beanClass = beanClass;
}
@@ -48,7 +50,7 @@ final class DefaultClassAccessor<B>
public BeanAccessor<B> newInstance()
throws InstantiationException, IllegalAccessException
{
- B bean = beanClass.newInstance();
+ B bean = (B) beanClass.getRawType().newInstance();
return new DefaultBeanAccessor<B>( bean );
}
@@ -63,7 +65,7 @@ final class DefaultClassAccessor<B>
{
arguments = checkNotNull( arguments,
"Null arguments not admitted - don't pass any argument to use %s empty constructor",
- beanClass.getName() );
+ beanClass );
arguments = checkNoneIsNull( arguments );
return invokeConstructor( false, arguments );
}
@@ -77,7 +79,7 @@ final class DefaultClassAccessor<B>
{
arguments = checkNotNull( arguments,
"Null arguments not admitted - don't pass any argument to use %s empty constructor",
- beanClass.getName() );
+ beanClass );
arguments = checkNoneIsNull( arguments );
return invokeConstructor( true, arguments );
}
@@ -98,11 +100,13 @@ final class DefaultClassAccessor<B>
NoSuchMethodException
{
@SuppressWarnings( "unchecked" ) // type driven by beanClass
- Constructor<B> constructor = (Constructor<B>) constructorRegistry.get( exact, beanClass, getParameterTypes( arguments ) );
+ Constructor<B> constructor = (Constructor<B>) constructorRegistry.get( exact,
+ beanClass.getRawType(),
+ getParameterTypes( arguments ) );
if ( null == constructor )
{
- throw new NoSuchMethodException( "No such accessible constructor on class: " + beanClass.getName() );
+ throw new NoSuchMethodException( "No such accessible constructor on class: " + beanClass );
}
int argumentsLength = arguments.length;
@@ -123,8 +127,8 @@ final class DefaultClassAccessor<B>
*/
public ArgumentsAccessor invokeStatic( String methodName )
{
- methodName = checkNotNull( methodName, "Impossible to execute null static method in %s", beanClass.getName() );
- return new DefaultArgumentsAccessor( beanClass, false, methodName, null );
+ methodName = checkNotNull( methodName, "Impossible to execute null static method in %s", beanClass );
+ return new DefaultArgumentsAccessor( beanClass.getRawType(), false, methodName, null );
}
/**
@@ -132,8 +136,8 @@ final class DefaultClassAccessor<B>
*/
public ArgumentsAccessor invokeExactStatic( String methodName )
{
- methodName = checkNotNull( methodName, "Impossible to execute null static method in %s", beanClass.getName() );
- return new DefaultArgumentsAccessor( beanClass, true, methodName, null );
+ methodName = checkNotNull( methodName, "Impossible to execute null static method in %s", beanClass );
+ return new DefaultArgumentsAccessor( beanClass.getRawType(), true, methodName, null );
}
}
Modified: commons/sandbox/beanutils2/trunk/src/main/java/org/apache/commons/beanutils2/DefaultClassLoaderBuilder.java
URL: http://svn.apache.org/viewvc/commons/sandbox/beanutils2/trunk/src/main/java/org/apache/commons/beanutils2/DefaultClassLoaderBuilder.java?rev=1241155&r1=1241154&r2=1241155&view=diff
==============================================================================
--- commons/sandbox/beanutils2/trunk/src/main/java/org/apache/commons/beanutils2/DefaultClassLoaderBuilder.java (original)
+++ commons/sandbox/beanutils2/trunk/src/main/java/org/apache/commons/beanutils2/DefaultClassLoaderBuilder.java Mon Feb 6 20:25:27 2012
@@ -21,6 +21,8 @@ package org.apache.commons.beanutils2;
import static java.lang.Thread.currentThread;
+import org.apache.commons.beanutils2.type.TypeLiteral;
+
import static org.apache.commons.beanutils2.internal.Assertions.checkNotNull;
final class DefaultClassLoaderBuilder
@@ -63,7 +65,7 @@ final class DefaultClassLoaderBuilder
Class<?> beanType = classLoader.loadClass( beanTypeName );
@SuppressWarnings( { "rawtypes", "unchecked" } ) // ClassAccessor raw type is unknown
- DefaultClassAccessor<?> accessor = new DefaultClassAccessor( beanType );
+ DefaultClassAccessor<?> accessor = new DefaultClassAccessor( TypeLiteral.get(beanType ) );
return accessor;
}
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=1241155&r1=1241154&r2=1241155&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 Mon Feb 6 20:25:27 2012
@@ -24,6 +24,7 @@ import static org.apache.commons.beanuti
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
+import org.apache.commons.beanutils2.type.TypeLiteral;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.ExpectedException;
@@ -45,12 +46,12 @@ public class ConstructorsTestCase
throws Exception
{
{
- TestBean obj = on( TestBean.class ).invokeConstructor( argument( "TEST" ) ).get();
+ TestBean obj = on( new TypeLiteral<TestBean>(){} ).invokeConstructor( argument( "TEST" ) ).get();
assertNotNull( obj );
assertEquals( "TEST", obj.getStringProperty() );
}
{
- TestBean obj = on( TestBean.class ).invokeConstructor( argument( new Float( 17.3f ) ) ).get();
+ TestBean obj = on( new TypeLiteral<TestBean>(){} ).invokeConstructor( argument( new Float( 17.3f ) ) ).get();
assertNotNull( obj );
assertEquals( 17.3f, obj.getFloatProperty(), 0.0f );
}
@@ -60,24 +61,26 @@ public class ConstructorsTestCase
public void invokeConstructorWithInvalidArgument()
throws Exception
{
+ TypeLiteral<TestBean> testBeanLiteral = new TypeLiteral<TestBean>(){};
+
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();
+ thrown.expectMessage( String.valueOf( testBeanLiteral ) );
+ on( testBeanLiteral ).invokeConstructor( argument( (byte) 6 ) ).get();
}
@Test( expected = NullPointerException.class )
public void invokeConstructorWithNull()
throws Exception
{
- on( TestBean.class ).invokeConstructor( (Argument<?>) null );
+ on( new TypeLiteral<TestBean>(){} ).invokeConstructor( (Argument<?>) null );
}
@Test
public void invokeConstructorWithArgArray()
throws Exception
{
- TestBean obj = on( TestBean.class ).invokeConstructor( argument( new Float( 17.3f ) ), argument( "TEST" ) ).get();
+ TestBean obj = on( new TypeLiteral<TestBean>(){} ).invokeConstructor( argument( new Float( 17.3f ) ), argument( "TEST" ) ).get();
assertNotNull( obj );
assertEquals( 17.3f, obj.getFloatProperty(), 0.0f );
assertEquals( "TEST", obj.getStringProperty() );
@@ -87,17 +90,19 @@ public class ConstructorsTestCase
public void invokeConstrucotrWithInvalidArgArray()
throws Exception
{
+ TypeLiteral<TestBean> testBeanLiteral = new TypeLiteral<TestBean>(){};
+
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();
+ thrown.expectMessage( String.valueOf( testBeanLiteral ) );
+ on( testBeanLiteral ).invokeConstructor( argument( (byte) 17 ), argument( "TEST" ) ).get();
}
@Test( expected = NullPointerException.class )
public void invokeConstructorWithNullArray()
throws Exception
{
- on( TestBean.class ).invokeConstructor( null, null, null );
+ on( new TypeLiteral<TestBean>(){} ).invokeConstructor( null, null, null );
}
@Test
@@ -105,14 +110,14 @@ public class ConstructorsTestCase
throws Exception
{
{
- TestBean obj = on( TestBean.class ).invokeConstructor( argument( Boolean.TYPE, Boolean.TRUE ),
+ TestBean obj = on( new TypeLiteral<TestBean>(){} ).invokeConstructor( argument( Boolean.TYPE, Boolean.TRUE ),
argument( String.class, "TEST" ) ).get();
assertNotNull( obj );
assertEquals( true, obj.getBooleanProperty() );
assertEquals( "TEST", obj.getStringProperty() );
}
{
- TestBean obj = on( TestBean.class ).invokeConstructor( argument( Boolean.class, Boolean.TRUE ),
+ TestBean obj = on( new TypeLiteral<TestBean>(){} ).invokeConstructor( argument( Boolean.class, Boolean.TRUE ),
argument( String.class, "TEST" ) ).get();
assertNotNull( obj );
assertEquals( true, obj.isBooleanSecond() );
@@ -123,11 +128,13 @@ public class ConstructorsTestCase
@Test
public void invokeConstructorWithInvalidTypeArray() throws Exception
{
+ TypeLiteral<TestBean> testBeanLiteral = new TypeLiteral<TestBean>(){};
+
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();
+ thrown.expectMessage( String.valueOf( testBeanLiteral ) );
+ on( testBeanLiteral ).invokeConstructor( argument( String.class, "TEST" ),
+ argument( Boolean.TYPE, Boolean.TRUE )).get();
}
@Test
@@ -135,12 +142,12 @@ public class ConstructorsTestCase
throws Exception
{
{
- TestBean obj = on( TestBean.class ).invokeExactConstructor( argument( "TEST" ) ).get();
+ TestBean obj = on( new TypeLiteral<TestBean>(){} ).invokeExactConstructor( argument( "TEST" ) ).get();
assertNotNull( obj );
assertEquals( "TEST", obj.getStringProperty() );
}
{
- TestBean obj = on( TestBean.class ).invokeExactConstructor( argument( Boolean.TRUE ) ).get();
+ TestBean obj = on( new TypeLiteral<TestBean>(){} ).invokeExactConstructor( argument( Boolean.TRUE ) ).get();
assertNotNull( obj );
assertEquals( true, obj.isBooleanSecond() );
@@ -151,25 +158,27 @@ public class ConstructorsTestCase
public void invokeExactConstructorWithInvalidArgument()
throws Exception
{
+ TypeLiteral<TestBean> testBeanLiteral = new TypeLiteral<TestBean>(){};
+
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();
+ thrown.expectMessage( String.valueOf( testBeanLiteral ) );
+ on( testBeanLiteral ).invokeExactConstructor( argument( new Float( 17.3f ) ) ).get();
}
@Test( expected = NullPointerException.class )
public void invokeExactConstructorWithNull()
throws Exception
{
- on( TestBean.class ).invokeExactConstructor( (Argument<?>) null );
+ on( new TypeLiteral<TestBean>(){} ).invokeExactConstructor( (Argument<?>) null );
}
@Test
public void invokeExactConstructorWithArgArray()
throws Exception
{
- TestBean obj = on( TestBean.class ).invokeExactConstructor( argument( Boolean.TRUE ),
- argument( "TEST" ) ).get();
+ TestBean obj = on( new TypeLiteral<TestBean>(){} ).invokeExactConstructor( argument( Boolean.TRUE ),
+ argument( "TEST" ) ).get();
assertNotNull( obj );
assertEquals( true, obj.isBooleanSecond() );
assertEquals( "TEST", obj.getStringProperty() );
@@ -178,17 +187,19 @@ public class ConstructorsTestCase
@Test
public void invokeExactConstructorWithInvalidArgArray() throws Exception
{
+ TypeLiteral<TestBean> testBeanLiteral = new TypeLiteral<TestBean>(){};
+
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();
+ thrown.expectMessage( String.valueOf( testBeanLiteral ) );
+ on( testBeanLiteral ).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 );
+ on( new TypeLiteral<TestBean>(){} ).invokeExactConstructor( null, null, null );
}
@Test
@@ -196,21 +207,21 @@ public class ConstructorsTestCase
throws Exception
{
{
- TestBean obj = on( TestBean.class ).invokeExactConstructor( argument( Boolean.TYPE, Boolean.TRUE ),
+ TestBean obj = on( new TypeLiteral<TestBean>(){} ).invokeExactConstructor( argument( Boolean.TYPE, Boolean.TRUE ),
argument( String.class, "TEST" ) ).get();
assertNotNull( obj );
assertEquals( true, obj.getBooleanProperty() );
assertEquals( "TEST", obj.getStringProperty() );
}
{
- TestBean obj = on( TestBean.class ).invokeExactConstructor( argument( Boolean.class, Boolean.TRUE ),
+ TestBean obj = on( new TypeLiteral<TestBean>(){} ).invokeExactConstructor( argument( Boolean.class, Boolean.TRUE ),
argument( String.class, "TEST" ) ).get();
assertNotNull( obj );
assertEquals( true, obj.isBooleanSecond() );
assertEquals( "TEST", obj.getStringProperty() );
}
{
- TestBean obj = on( TestBean.class ).invokeExactConstructor( argument( Float.TYPE, new Float( 17.3f ) ),
+ TestBean obj = on( new TypeLiteral<TestBean>(){} ).invokeExactConstructor( argument( Float.TYPE, new Float( 17.3f ) ),
argument( String.class, "TEST" ) ).get();
assertNotNull( obj );
@@ -222,11 +233,13 @@ public class ConstructorsTestCase
@Test
public void invokeExactConstructorWithInvalidTypeArray() throws Exception
{
+ TypeLiteral<TestBean> testBeanLiteral = new TypeLiteral<TestBean>(){};
+
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();
+ thrown.expectMessage( String.valueOf( testBeanLiteral ) );
+ on( testBeanLiteral ).invokeExactConstructor( argument( Float.class, new Float( 17.3f ) ),
+ argument( String.class, "TEST" ) ).get();
}
}
Modified: commons/sandbox/beanutils2/trunk/src/test/java/org/apache/commons/beanutils2/StaticMethodsTestCase.java
URL: http://svn.apache.org/viewvc/commons/sandbox/beanutils2/trunk/src/test/java/org/apache/commons/beanutils2/StaticMethodsTestCase.java?rev=1241155&r1=1241154&r2=1241155&view=diff
==============================================================================
--- commons/sandbox/beanutils2/trunk/src/test/java/org/apache/commons/beanutils2/StaticMethodsTestCase.java (original)
+++ commons/sandbox/beanutils2/trunk/src/test/java/org/apache/commons/beanutils2/StaticMethodsTestCase.java Mon Feb 6 20:25:27 2012
@@ -23,6 +23,7 @@ import static org.apache.commons.beanuti
import static org.apache.commons.beanutils2.BeanUtils.on;
import static org.junit.Assert.assertEquals;
+import org.apache.commons.beanutils2.type.TypeLiteral;
import org.junit.After;
import org.junit.Before;
import org.junit.Rule;
@@ -52,7 +53,7 @@ public final class StaticMethodsTestCase
public void invokeStaticMethodCurrentCounter()
throws Exception
{
- Object value = on( TestBean.class ).invokeStatic( "currentCounter" ).withArguments().get();
+ Object value = on( new TypeLiteral<TestBean>(){} ).invokeStatic( "currentCounter" ).withArguments().get();
assertEquals( "currentCounter value", oldValue, ( (Integer) value ).intValue() );
}
@@ -60,7 +61,7 @@ public final class StaticMethodsTestCase
public void invokeStaticMethodIncrementCounter()
throws Exception
{
- on( TestBean.class ).invokeStatic( "incrementCounter" ).withArguments();
+ on( new TypeLiteral<TestBean>(){} ).invokeStatic( "incrementCounter" ).withArguments();
assertEquals( oldValue + 1, TestBean.currentCounter() );
}
@@ -68,7 +69,7 @@ public final class StaticMethodsTestCase
public void invokeStaticMethodIncrementCounterIntegerPrimitive()
throws Exception
{
- on( TestBean.class ).invokeStatic( "incrementCounter" ).withArguments( argument( 8 ) ).get();
+ on( new TypeLiteral<TestBean>(){} ).invokeStatic( "incrementCounter" ).withArguments( argument( 8 ) ).get();
assertEquals( oldValue + 8, TestBean.currentCounter() );
}
@@ -76,7 +77,7 @@ public final class StaticMethodsTestCase
public void invokeStaticMethodIncrementCounterIntegerWrapper()
throws Exception
{
- on( TestBean.class ).invokeStatic( "incrementCounter" ).withArguments( argument( new Integer( 8 ) ) ).get();
+ on( new TypeLiteral<TestBean>(){} ).invokeStatic( "incrementCounter" ).withArguments( argument( new Integer( 8 ) ) ).get();
assertEquals( oldValue + 8, TestBean.currentCounter() );
}
@@ -84,7 +85,7 @@ public final class StaticMethodsTestCase
public void invokeStaticMethodIncrementCounterIntegerWrapperAsPrimitive()
throws Exception
{
- on( TestBean.class ).invokeStatic( "incrementCounter" ).withArguments( argument( int.class,
+ on( new TypeLiteral<TestBean>(){} ).invokeStatic( "incrementCounter" ).withArguments( argument( int.class,
new Integer( 8 ) ) ).get();
assertEquals( oldValue + 8, TestBean.currentCounter() );
}
@@ -93,7 +94,7 @@ public final class StaticMethodsTestCase
public void invokeStaticMethodIncrementCounterNumberInteger()
throws Exception
{
- on( TestBean.class ).invokeStatic( "incrementCounter" ).withArguments( argument( Number.class,
+ on( new TypeLiteral<TestBean>(){} ).invokeStatic( "incrementCounter" ).withArguments( argument( Number.class,
new Integer( 8 ) ) ).get();
// incrementCounter(Number) will multiply its input with 2
assertEquals( oldValue + 8 * 2, TestBean.currentCounter() );
@@ -103,18 +104,20 @@ public final class StaticMethodsTestCase
public void invokeStaticMethodWithInvalidArgument()
throws Exception
{
+ TypeLiteral<TestBean> testBeanLiteral = new TypeLiteral<TestBean>(){};
+
String methodName = "incrementCounter";
thrown.expect( NoSuchMethodException.class );
thrown.expectMessage( "No such accessible method:" );
thrown.expectMessage( methodName );
- thrown.expectMessage( TestBean.class.getName() );
- on( TestBean.class ).invokeStatic( methodName ).withArguments( argument( 'x' ) );
+ thrown.expectMessage( String.valueOf( testBeanLiteral ) );
+ on( testBeanLiteral ).invokeStatic( methodName ).withArguments( argument( 'x' ) );
}
@Test
public void invokeExactStaticMethodIncrementCounter() throws Exception
{
- on( TestBean.class ).invokeExactStatic( "incrementCounter" ).withArguments();
+ on( new TypeLiteral<TestBean>(){} ).invokeExactStatic( "incrementCounter" ).withArguments();
assertEquals( oldValue + 1, TestBean.currentCounter() );
}
@@ -122,7 +125,7 @@ public final class StaticMethodsTestCase
public void invokeExactStaticMethodIncrementIntegerPrimitive()
throws Exception
{
- on( TestBean.class ).invokeExactStatic( "incrementCounter" ).withArguments( argument( int.class, 8 ) ).get();
+ on( new TypeLiteral<TestBean>(){} ).invokeExactStatic( "incrementCounter" ).withArguments( argument( int.class, 8 ) ).get();
assertEquals( oldValue + 8, TestBean.currentCounter() );
}
@@ -130,15 +133,15 @@ public final class StaticMethodsTestCase
public void invokeExactStaticMethodIncrementIntegerWrapper()
throws Exception
{
- on( TestBean.class ).invokeExactStatic( "incrementCounter" ).withArguments( argument( new Integer( 8 ) ) ).get();
+ on( new TypeLiteral<TestBean>(){} ).invokeExactStatic( "incrementCounter" ).withArguments( argument( new Integer( 8 ) ) ).get();
}
@Test
public void invokeExactStaticMethodIncrementNumberInteger()
throws Exception
{
- on( TestBean.class ).invokeExactStatic( "incrementCounter" ).withArguments( argument( Number.class,
- new Integer( 8 ) ) ).get();
+ on( new TypeLiteral<TestBean>(){} ).invokeExactStatic( "incrementCounter" ).withArguments( argument( Number.class,
+ new Integer( 8 ) ) ).get();
// incrementCounter(Number) will multiply its input with 2
assertEquals( oldValue + 2 * 8, TestBean.currentCounter() );
}