use JUnit parameterized test to test all known proxyFactory implementations
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/proxy/trunk@1580974 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/test/pom.xml b/test/pom.xml
index cb55f21..ffa7638 100644
--- a/test/pom.xml
+++ b/test/pom.xml
@@ -33,23 +33,26 @@
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>commons-proxy2-jdk</artifactId>
- <version>${project.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>commons-proxy2-cglib</artifactId>
- <version>${project.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>cglib</groupId>
<artifactId>cglib-nodep</artifactId>
+ <scope>test</scope>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>commons-proxy2-javassist</artifactId>
- <version>${project.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>commons-proxy2-asm4</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
diff --git a/test/src/test/java/org/apache/commons/proxy2/stub/AbstractStubTestCase.java b/test/src/test/java/org/apache/commons/proxy2/stub/AbstractStubTestCase.java
index 4105e01..17ca2af 100644
--- a/test/src/test/java/org/apache/commons/proxy2/stub/AbstractStubTestCase.java
+++ b/test/src/test/java/org/apache/commons/proxy2/stub/AbstractStubTestCase.java
@@ -5,22 +5,33 @@
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
+import java.util.ArrayList;
import java.util.Arrays;
+import java.util.List;
import org.apache.commons.proxy2.ProxyFactory;
+import org.apache.commons.proxy2.asm4.ASM4ProxyFactory;
import org.apache.commons.proxy2.cglib.CglibProxyFactory;
import org.apache.commons.proxy2.invoker.NullInvoker;
+import org.apache.commons.proxy2.javassist.JavassistProxyFactory;
+import org.apache.commons.proxy2.jdk.JdkProxyFactory;
import org.apache.commons.proxy2.provider.ObjectProviderUtils;
import org.junit.Before;
import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
+import org.junit.runners.Parameterized.Parameter;
+import org.junit.runners.Parameterized.Parameters;
+@RunWith(Parameterized.class)
public abstract class AbstractStubTestCase
{
// ----------------------------------------------------------------------------------------------------------------------
// Fields
// ----------------------------------------------------------------------------------------------------------------------
- protected ProxyFactory proxyFactory;
+ @Parameter
+ public ProxyFactory proxyFactory;
protected StubInterface target;
// ----------------------------------------------------------------------------------------------------------------------
@@ -33,10 +44,19 @@
// Other Methods
// ----------------------------------------------------------------------------------------------------------------------
+ @Parameters(name = "{0}")
+ public static List<Object[]> createParameters() {
+ final List<Object[]> result = new ArrayList<Object[]>();
+ result.add(new Object[] { new JdkProxyFactory() });
+ result.add(new Object[] { new CglibProxyFactory() });
+ result.add(new Object[] { new JavassistProxyFactory() });
+ result.add(new Object[] { new ASM4ProxyFactory() });
+ return result;
+ }
+
@Before
public final void setUpProxyFactory()
{
- this.proxyFactory = new CglibProxyFactory();
this.target = proxyFactory.createInvokerProxy(NullInvoker.INSTANCE, StubInterface.class);
}