You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@juneau.apache.org by ja...@apache.org on 2017/03/28 21:04:44 UTC

incubator-juneau git commit: Proxy interface tests.

Repository: incubator-juneau
Updated Branches:
  refs/heads/master 62641ca77 -> 3e79baeb0


Proxy interface tests.

Project: http://git-wip-us.apache.org/repos/asf/incubator-juneau/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-juneau/commit/3e79baeb
Tree: http://git-wip-us.apache.org/repos/asf/incubator-juneau/tree/3e79baeb
Diff: http://git-wip-us.apache.org/repos/asf/incubator-juneau/diff/3e79baeb

Branch: refs/heads/master
Commit: 3e79baeb0587b61686bd95d49c4321ba93b988c5
Parents: 62641ca
Author: JamesBognar <ja...@apache.org>
Authored: Tue Mar 28 17:04:41 2017 -0400
Committer: JamesBognar <ja...@apache.org>
Committed: Tue Mar 28 17:04:41 2017 -0400

----------------------------------------------------------------------
 .../apache/juneau/rest/test/InterfaceProxy.java |  15 ++-
 .../rest/test/InterfaceProxyResource.java       | 125 ++++++++++++++++--
 .../juneau/rest/test/InterfaceProxyTest.java    | 128 ++++++++++++++++---
 3 files changed, 239 insertions(+), 29 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/3e79baeb/juneau-rest-test/src/main/java/org/apache/juneau/rest/test/InterfaceProxy.java
----------------------------------------------------------------------
diff --git a/juneau-rest-test/src/main/java/org/apache/juneau/rest/test/InterfaceProxy.java b/juneau-rest-test/src/main/java/org/apache/juneau/rest/test/InterfaceProxy.java
index ccafb08..787efe3 100644
--- a/juneau-rest-test/src/main/java/org/apache/juneau/rest/test/InterfaceProxy.java
+++ b/juneau-rest-test/src/main/java/org/apache/juneau/rest/test/InterfaceProxy.java
@@ -103,7 +103,6 @@ public interface InterfaceProxy {
 	void setInteger3dArray(Integer[][][] x);
 	void setString3dArray(String[][][] x);
 	void setIntegerList(List<Integer> x);
-	void setInteger2dList(List<List<Integer>> x);
 	void setInteger3dList(List<List<List<Integer>>> x);
 	void setInteger1d3dList(List<Integer[][][]> x);
 	void setInt1d3dList(List<int[][][]> x);
@@ -142,6 +141,20 @@ public interface InterfaceProxy {
 	void setEnum1d3dListMap(Map<TestEnum,List<TestEnum[][][]>> x);
 
 	//--------------------------------------------------------------------------------
+	// Test multi-parameters
+	//--------------------------------------------------------------------------------
+
+	void setMultiParamsInts(int x1, int[][][] x2, int[][][] x2n, List<int[][][]> x3, List<int[][][]> x3n);
+	void setMultiParamsInteger(Integer x1, Integer x1n, Integer[][][] x2, Integer[][][] x2n, List<Integer[][][]> x3, List<Integer[][][]> x3n);
+	void setMultiParamsFloat(float x1, float[][][] x2, float[][][] x2n, List<float[][][]> x3, List<float[][][]> x3n);
+	void setMultiParamsFloatObject(Float x1, Float x1n, Float[][][] x2, Float[][][] x2n, List<Float[][][]> x3, List<Float[][][]> x3n);
+	void setMultiParamsString(String x1, String[][][] x2, String[][][] x2n, List<String[][][]> x3, List<String[][][]> x3n);
+	void setMultiParamsBean(Bean x1, Bean[][][] x2, Bean[][][] x2n, List<Bean[][][]> x3, List<Bean[][][]> x3n, Map<String,Bean> x4, Map<String,Bean> x4n, Map<String,List<Bean[][][]>> x5, Map<String,List<Bean[][][]>> x5n);
+	void setMultiParamsSwappedPojo(SwappedPojo x1, SwappedPojo[][][] x2, SwappedPojo[][][] x2n, List<SwappedPojo[][][]> x3, List<SwappedPojo[][][]> x3n, Map<SwappedPojo,SwappedPojo> x4, Map<SwappedPojo,SwappedPojo> x4n, Map<SwappedPojo,List<SwappedPojo[][][]>> x5, Map<SwappedPojo,List<SwappedPojo[][][]>> x5n);
+	void setMultiParamsImplicitSwappedPojo(ImplicitSwappedPojo x1, ImplicitSwappedPojo[][][] x2, ImplicitSwappedPojo[][][] x2n, List<ImplicitSwappedPojo[][][]> x3, List<ImplicitSwappedPojo[][][]> x3n, Map<ImplicitSwappedPojo,ImplicitSwappedPojo> x4, Map<ImplicitSwappedPojo,ImplicitSwappedPojo> x4n, Map<ImplicitSwappedPojo,List<ImplicitSwappedPojo[][][]>> x5, Map<ImplicitSwappedPojo,List<ImplicitSwappedPojo[][][]>> x5n);
+	void setMultiParamsEnum(TestEnum x1, TestEnum[][][] x2, TestEnum[][][] x2n, List<TestEnum[][][]> x3, List<TestEnum[][][]> x3n, Map<TestEnum,TestEnum> x4, Map<TestEnum,TestEnum> x4n, Map<TestEnum,List<TestEnum[][][]>> x5, Map<TestEnum,List<TestEnum[][][]>> x5n);
+
+	//--------------------------------------------------------------------------------
 	// Helper classes
 	//--------------------------------------------------------------------------------
 

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/3e79baeb/juneau-rest-test/src/main/java/org/apache/juneau/rest/test/InterfaceProxyResource.java
----------------------------------------------------------------------
diff --git a/juneau-rest-test/src/main/java/org/apache/juneau/rest/test/InterfaceProxyResource.java b/juneau-rest-test/src/main/java/org/apache/juneau/rest/test/InterfaceProxyResource.java
index 28e9ca5..18fa8e9 100644
--- a/juneau-rest-test/src/main/java/org/apache/juneau/rest/test/InterfaceProxyResource.java
+++ b/juneau-rest-test/src/main/java/org/apache/juneau/rest/test/InterfaceProxyResource.java
@@ -76,15 +76,15 @@ public class InterfaceProxyResource extends RestServletJenaDefault {
 			}
 			@Override
 			public int[][][] returnInt3dArray() {
-				return new int[][][]{{{1,2}}};
+				return new int[][][]{{{1,2},null},null};
 			}
 			@Override
 			public Integer[][][] returnInteger3dArray() {
-				return new Integer[][][]{{{1,null}}};
+				return new Integer[][][]{{{1,null},null},null};
 			}
 			@Override
 			public String[][][] returnString3dArray() {
-				return new String[][][]{{{"foo","bar",null}}};
+				return new String[][][]{{{"foo","bar",null},null},null};
 			}
 			@Override
 			public List<Integer> returnIntegerList() {
@@ -98,7 +98,9 @@ public class InterfaceProxyResource extends RestServletJenaDefault {
 					.append(
 						new AList<Integer>().append(1).append(null)
 					)
-				);
+					.append(null)
+				)
+				.append(null);
 			}
 			@Override
 			public List<Integer[][][]> returnInteger1d3dList() {
@@ -276,15 +278,15 @@ public class InterfaceProxyResource extends RestServletJenaDefault {
 			}
 			@Override
 			public void setInt3dArray(int[][][] x) {
-				assertObjectEquals("[[[1,2]]]", x);
+				assertObjectEquals("[[[1,2],null],null]", x);
 			}
 			@Override
 			public void setInteger3dArray(Integer[][][] x) {
-				assertObjectEquals("[[[1,null]]]", x);
+				assertObjectEquals("[[[1,null],null],null]", x);
 			}
 			@Override
 			public void setString3dArray(String[][][] x) {
-				assertObjectEquals("[[['foo','bar',null]]]", x);
+				assertObjectEquals("[[['foo',null],null],null]", x);
 			}
 			@Override
 			public void setIntegerList(List<Integer> x) {
@@ -292,13 +294,8 @@ public class InterfaceProxyResource extends RestServletJenaDefault {
 				assertEquals(Integer.class, x.get(0).getClass());
 			}
 			@Override
-			public void setInteger2dList(List<List<Integer>> x) {
-				assertObjectEquals("[[1,null]]", x);
-				assertEquals(Integer.class, x.get(0).get(0).getClass());
-			}
-			@Override
 			public void setInteger3dList(List<List<List<Integer>>> x) {
-				assertObjectEquals("[[[1,null]]]", x);
+				assertObjectEquals("[[[1,null],null],null]", x);
 				assertEquals(Integer.class, x.get(0).get(0).get(0).getClass());
 			}
 			@Override
@@ -447,6 +444,108 @@ public class InterfaceProxyResource extends RestServletJenaDefault {
 				assertEquals(TestEnum.class, e.getKey().getClass());
 				assertEquals(TestEnum[][][].class, e.getValue().get(0).getClass());
 			}
+
+			//--------------------------------------------------------------------------------
+			// Test multi-parameters
+			//--------------------------------------------------------------------------------
+
+			@Override
+			public void setMultiParamsInts(int x1, int[][][] x2, int[][][] x2n, List<int[][][]> x3, List<int[][][]> x3n) {
+				assertObjectEquals("1", x1);
+				assertObjectEquals("[[[1,2],null],null]", x2);
+				assertNull(x2n);
+				assertObjectEquals("[[[[1,2],null],null],null]", x3);
+				assertEquals(int[][][].class, x3.get(0).getClass());
+				assertNull(x3n);
+			}
+			@Override
+			public void setMultiParamsInteger(Integer x1, Integer x1n, Integer[][][] x2, Integer[][][] x2n, List<Integer[][][]> x3, List<Integer[][][]> x3n) {
+				assertObjectEquals("1", x1);
+				assertObjectEquals("[[[1,null],null],null]", x2);
+				assertNull(x2n);
+				assertObjectEquals("[[[[1,null],null],null],null]", x3);
+				assertEquals(Integer[][][].class, x3.get(0).getClass());
+				assertNull(x3n);
+			}
+			@Override
+			public void setMultiParamsFloat(float x1, float[][][] x2, float[][][] x2n, List<float[][][]> x3, List<float[][][]> x3n) {
+				assertObjectEquals("1.0", x1);
+				assertObjectEquals("[[[1.0,2.0],null],null]", x2);
+				assertNull(x2n);
+				assertObjectEquals("[[[[1.0,2.0],null],null],null]", x3);
+				assertEquals(float[][][].class, x3.get(0).getClass());
+				assertNull(x3n);
+			}
+			@Override
+			public void setMultiParamsFloatObject(Float x1, Float x1n, Float[][][] x2, Float[][][] x2n, List<Float[][][]> x3, List<Float[][][]> x3n) {
+				assertObjectEquals("1.0", x1);
+				assertObjectEquals("[[[1.0,null],null],null]", x2);
+				assertNull(x2n);
+				assertObjectEquals("[[[[1.0,null],null],null],null]", x3);
+				assertEquals(Float[][][].class, x3.get(0).getClass());
+				assertNull(x3n);
+			}
+			@Override
+			public void setMultiParamsString(String x1, String[][][] x2, String[][][] x2n, List<String[][][]> x3, List<String[][][]> x3n) {
+				assertObjectEquals("'foo'", x1);
+				assertObjectEquals("[[['foo',null],null],null]", x2);
+				assertNull(x2n);
+				assertObjectEquals("[[[['foo',null],null],null],null]", x3);
+				assertEquals(String[][][].class, x3.get(0).getClass());
+				assertNull(x3n);
+			}
+			@Override
+			public void setMultiParamsBean(Bean x1, Bean[][][] x2, Bean[][][] x2n, List<Bean[][][]> x3, List<Bean[][][]> x3n, Map<String,Bean> x4, Map<String,Bean> x4n, Map<String,List<Bean[][][]>> x5, Map<String,List<Bean[][][]>> x5n) {
+				assertObjectEquals("{a:1,b:'foo'}", x1);
+				assertObjectEquals("[[[{a:1,b:'foo'},null],null],null]", x2);
+				assertNull(x2n);
+				assertObjectEquals("[[[[{a:1,b:'foo'},null],null],null],null]", x3);
+				assertEquals(Bean[][][].class, x3.get(0).getClass());
+				assertNull(x3n);
+				assertObjectEquals("{foo:{a:1,b:'foo'}}", x4);
+				assertNull(x4n);
+				assertObjectEquals("{foo:[[[[{a:1,b:'foo'},null],null],null],null]}", x5);
+				assertNull(x5n);
+			}
+			@Override
+			public void setMultiParamsSwappedPojo(SwappedPojo x1, SwappedPojo[][][] x2, SwappedPojo[][][] x2n, List<SwappedPojo[][][]> x3, List<SwappedPojo[][][]> x3n, Map<SwappedPojo,SwappedPojo> x4, Map<SwappedPojo,SwappedPojo> x4n, Map<SwappedPojo,List<SwappedPojo[][][]>> x5, Map<SwappedPojo,List<SwappedPojo[][][]>> x5n) {
+				assertObjectEquals("'[{(<swapped>)}]'", x1);
+				assertObjectEquals("[[['[{(<swapped>)}]',null],null],null]", x2);
+				assertNull(x2n);
+				assertObjectEquals("[[[['[{(<swapped>)}]',null],null],null],null]", x3);
+				assertEquals(SwappedPojo[][][].class, x3.get(0).getClass());
+				assertNull(x3n);
+				assertObjectEquals("{'[{(<swapped>)}]':'[{(<swapped>)}]'}", x4);
+				assertNull(x4n);
+				assertObjectEquals("{'[{(<swapped>)}]':[[[['[{(<swapped>)}]',null],null],null],null]}", x5);
+				assertNull(x5n);
+			}
+			@Override
+			public void setMultiParamsImplicitSwappedPojo(ImplicitSwappedPojo x1, ImplicitSwappedPojo[][][] x2, ImplicitSwappedPojo[][][] x2n, List<ImplicitSwappedPojo[][][]> x3, List<ImplicitSwappedPojo[][][]> x3n, Map<ImplicitSwappedPojo,ImplicitSwappedPojo> x4, Map<ImplicitSwappedPojo,ImplicitSwappedPojo> x4n, Map<ImplicitSwappedPojo,List<ImplicitSwappedPojo[][][]>> x5, Map<ImplicitSwappedPojo,List<ImplicitSwappedPojo[][][]>> x5n) {
+				assertObjectEquals("'[{(<swapped>)}]'", x1);
+				assertObjectEquals("[[['[{(<swapped>)}]',null],null],null]", x2);
+				assertNull(x2n);
+				assertObjectEquals("[[[['[{(<swapped>)}]',null],null],null],null]", x3);
+				assertEquals(ImplicitSwappedPojo[][][].class, x3.get(0).getClass());
+				assertNull(x3n);
+				assertObjectEquals("{'[{(<swapped>)}]':'[{(<swapped>)}]'}", x4);
+				assertNull(x4n);
+				assertObjectEquals("{'[{(<swapped>)}]':[[[['[{(<swapped>)}]',null],null],null],null]}", x5);
+				assertNull(x5n);
+			}
+			@Override
+			public void setMultiParamsEnum(TestEnum x1, TestEnum[][][] x2, TestEnum[][][] x2n, List<TestEnum[][][]> x3, List<TestEnum[][][]> x3n, Map<TestEnum,TestEnum> x4, Map<TestEnum,TestEnum> x4n, Map<TestEnum,List<TestEnum[][][]>> x5, Map<TestEnum,List<TestEnum[][][]>> x5n) {
+				assertObjectEquals("'TWO'", x1);
+				assertObjectEquals("[[['TWO',null],null],null]", x2);
+				assertNull(x2n);
+				assertObjectEquals("[[[['TWO',null],null],null],null]", x3);
+				assertEquals(TestEnum[][][].class, x3.get(0).getClass());
+				assertNull(x3n);
+				assertObjectEquals("{ONE:'TWO'}", x4);
+				assertNull(x4n);
+				assertObjectEquals("{ONE:[[[['TWO',null],null],null],null]}", x5);
+				assertNull(x5n);
+			}
 		};
 	}
 

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/3e79baeb/juneau-rest-test/src/test/java/org/apache/juneau/rest/test/InterfaceProxyTest.java
----------------------------------------------------------------------
diff --git a/juneau-rest-test/src/test/java/org/apache/juneau/rest/test/InterfaceProxyTest.java b/juneau-rest-test/src/test/java/org/apache/juneau/rest/test/InterfaceProxyTest.java
index b7b8261..7840798 100644
--- a/juneau-rest-test/src/test/java/org/apache/juneau/rest/test/InterfaceProxyTest.java
+++ b/juneau-rest-test/src/test/java/org/apache/juneau/rest/test/InterfaceProxyTest.java
@@ -107,17 +107,17 @@ public class InterfaceProxyTest extends RestTestcase {
 
 	@Test
 	public void returnInt3dArray() {
-		assertObjectEquals("[[[1,2]]]", getProxy().returnInt3dArray());
+		assertObjectEquals("[[[1,2],null],null]", getProxy().returnInt3dArray());
 	}
 
 	@Test
 	public void returnInteger3dArray() {
-		assertObjectEquals("[[[1,null]]]", getProxy().returnInteger3dArray());
+		assertObjectEquals("[[[1,null],null],null]", getProxy().returnInteger3dArray());
 	}
 
 	@Test
 	public void returnString3dArray() {
-		assertObjectEquals("[[['foo','bar',null]]]", getProxy().returnString3dArray());
+		assertObjectEquals("[[['foo','bar',null],null],null]", getProxy().returnString3dArray());
 	}
 
 	@Test
@@ -130,7 +130,7 @@ public class InterfaceProxyTest extends RestTestcase {
 	@Test
 	public void returnInteger3dList() {
 		List<List<List<Integer>>> x = getProxy().returnInteger3dList();
-		assertObjectEquals("[[[1,null]]]", x);
+		assertObjectEquals("[[[1,null],null],null]", x);
 		assertEquals(Integer.class, x.get(0).get(0).get(0).getClass());
 	}
 
@@ -427,17 +427,17 @@ public class InterfaceProxyTest extends RestTestcase {
 
 	@Test
 	public void setInt3dArray() {
-		getProxy().setInt3dArray(new int[][][]{{{1,2}}});
+		getProxy().setInt3dArray(new int[][][]{{{1,2},null},null});
 	}
 
 	@Test
 	public void setInteger3dArray() {
-		getProxy().setInteger3dArray(new Integer[][][]{{{1,null}}});
+		getProxy().setInteger3dArray(new Integer[][][]{{{1,null},null},null});
 	}
 
 	@Test
 	public void setString3dArray() {
-		getProxy().setString3dArray(new String[][][]{{{"foo","bar",null}}});
+		getProxy().setString3dArray(new String[][][]{{{"foo",null},null},null});
 	}
 
 	@Test
@@ -446,21 +446,15 @@ public class InterfaceProxyTest extends RestTestcase {
 	}
 
 	@Test
-	public void setInteger2dList() {
-		getProxy().setInteger2dList(
-			new AList<List<Integer>>()
-			.append(new AList<Integer>().append(1).append(null))
-		);
-	}
-
-	@Test
 	public void setInteger3dList() {
 		getProxy().setInteger3dList(
 			new AList<List<List<Integer>>>()
 			.append(
 				new AList<List<Integer>>()
 				.append(new AList<Integer>().append(1).append(null))
+				.append(null)
 			)
+			.append(null)
 		);
 	}
 
@@ -601,4 +595,108 @@ public class InterfaceProxyTest extends RestTestcase {
 	public void setEnum1d3dListMap() {
 		getProxy().setEnum1d3dListMap(new AMap<TestEnum,List<TestEnum[][][]>>().append(TestEnum.ONE, new AList<TestEnum[][][]>().append(new TestEnum[][][]{{{TestEnum.TWO,null},null},null}).append(null)));
 	}
+
+	//--------------------------------------------------------------------------------
+	// Test multi-parameters
+	//--------------------------------------------------------------------------------
+
+	@Test
+	public void setMultiParamsInts() {
+		int x1 = 1;
+		int[][][] x2 = new int[][][]{{{1,2},null},null};
+		int[][][] x2n = null;
+		List<int[][][]> x3 = new AList<int[][][]>().append(x2).append(null);
+		List<int[][][]> x3n = null;
+		getProxy().setMultiParamsInts(x1, x2, x2n, x3, x3n);
+	}
+	@Test
+	public void setMultiParamsInteger() {
+		Integer x1 = 1;
+		Integer x1n = null;
+		Integer[][][] x2 = new Integer[][][]{{{1,null},null},null};
+		Integer[][][] x2n = null;
+		List<Integer[][][]> x3 = new AList<Integer[][][]>().append(x2).append(null);
+		List<Integer[][][]> x3n = null;
+		getProxy().setMultiParamsInteger(x1, x1n, x2, x2n, x3, x3n);
+	}
+	@Test
+	public void setMultiParamsFloat() {
+		float x1 = 1;
+		float[][][] x2 = new float[][][]{{{1,2},null},null};
+		float[][][] x2n = null;
+		List<float[][][]> x3 = new AList<float[][][]>().append(x2).append(null);
+		List<float[][][]> x3n = null;
+		getProxy().setMultiParamsFloat(x1, x2, x2n, x3, x3n);
+	}
+	@Test
+	public void setMultiParamsFloatObject() {
+		Float x1 = 1f;
+		Float x1n = null;
+		Float[][][] x2 = new Float[][][]{{{1f,null},null},null};
+		Float[][][] x2n = null;
+		List<Float[][][]> x3 = new AList<Float[][][]>().append(x2).append(null);
+		List<Float[][][]> x3n = null;
+		getProxy().setMultiParamsFloatObject(x1, x1n, x2, x2n, x3, x3n);
+	}
+	@Test
+	public void setMultiParamsString() {
+		String x1 = "foo";
+		String[][][] x2 = new String[][][]{{{"foo",null},null},null};
+		String[][][] x2n = null;
+		List<String[][][]> x3 = new AList<String[][][]>().append(x2).append(null);
+		List<String[][][]> x3n = null;
+		getProxy().setMultiParamsString(x1, x2, x2n, x3, x3n);
+	}
+	@Test
+	public void setMultiParamsBean() {
+		Bean x1 = new Bean().init();
+		Bean[][][] x2 = new Bean[][][]{{{new Bean().init(),null},null},null};
+		Bean[][][] x2n = null;
+		List<Bean[][][]> x3 = new AList<Bean[][][]>().append(x2).append(null);
+		List<Bean[][][]> x3n = null;
+		Map<String,Bean> x4 = new AMap<String,Bean>().append("foo",new Bean().init());
+		Map<String,Bean> x4n = null;
+		Map<String,List<Bean[][][]>> x5 = new AMap<String,List<Bean[][][]>>().append("foo", x3);
+		Map<String,List<Bean[][][]>> x5n = null;
+		getProxy().setMultiParamsBean(x1, x2, x2n, x3, x3n, x4, x4n, x5, x5n);
+	}
+	@Test
+	public void setMultiParamsSwappedPojo() {
+		SwappedPojo x1 = new SwappedPojo();
+		SwappedPojo[][][] x2 = new SwappedPojo[][][]{{{new SwappedPojo(),null},null},null};
+		SwappedPojo[][][] x2n = null;
+		List<SwappedPojo[][][]> x3 = new AList<SwappedPojo[][][]>().append(x2).append(null);
+		List<SwappedPojo[][][]> x3n = null;
+		Map<SwappedPojo,SwappedPojo> x4 = new AMap<SwappedPojo,SwappedPojo>().append(new SwappedPojo(), new SwappedPojo());
+		Map<SwappedPojo,SwappedPojo> x4n = null;
+		Map<SwappedPojo,List<SwappedPojo[][][]>> x5 = new AMap<SwappedPojo,List<SwappedPojo[][][]>>().append(new SwappedPojo(), x3);
+		Map<SwappedPojo,List<SwappedPojo[][][]>> x5n = null;
+		getProxy().setMultiParamsSwappedPojo(x1, x2, x2n, x3, x3n, x4, x4n, x5, x5n);
+	}
+	@Test
+	public void setMultiParamsImplicitSwappedPojo() {
+		ImplicitSwappedPojo x1 = new ImplicitSwappedPojo();
+		ImplicitSwappedPojo[][][] x2 = new ImplicitSwappedPojo[][][]{{{new ImplicitSwappedPojo(),null},null},null};
+		ImplicitSwappedPojo[][][] x2n = null;
+		List<ImplicitSwappedPojo[][][]> x3 = new AList<ImplicitSwappedPojo[][][]>().append(x2).append(null);
+		List<ImplicitSwappedPojo[][][]> x3n = null;
+		Map<ImplicitSwappedPojo,ImplicitSwappedPojo> x4 = new AMap<ImplicitSwappedPojo,ImplicitSwappedPojo>().append(new ImplicitSwappedPojo(), new ImplicitSwappedPojo());
+		Map<ImplicitSwappedPojo,ImplicitSwappedPojo> x4n = null;
+		Map<ImplicitSwappedPojo,List<ImplicitSwappedPojo[][][]>> x5 = new AMap<ImplicitSwappedPojo,List<ImplicitSwappedPojo[][][]>>().append(new ImplicitSwappedPojo(), x3);
+		Map<ImplicitSwappedPojo,List<ImplicitSwappedPojo[][][]>> x5n = null;
+		getProxy().setMultiParamsImplicitSwappedPojo(x1, x2, x2n, x3, x3n, x4, x4n, x5, x5n);
+	}
+	@Test
+	public void setMultiParamsEnum() {
+		TestEnum x1 = TestEnum.TWO;
+		TestEnum[][][] x2 = new TestEnum[][][]{{{TestEnum.TWO,null},null},null};
+		TestEnum[][][] x2n = null;
+		List<TestEnum[][][]> x3 = new AList<TestEnum[][][]>().append(x2).append(null);
+		List<TestEnum[][][]> x3n = null;
+		Map<TestEnum,TestEnum> x4 = new AMap<TestEnum,TestEnum>().append(TestEnum.ONE,TestEnum.TWO);
+		Map<TestEnum,TestEnum> x4n = null;
+		Map<TestEnum,List<TestEnum[][][]>> x5 = new AMap<TestEnum,List<TestEnum[][][]>>().append(TestEnum.ONE, x3);
+		Map<TestEnum,List<TestEnum[][][]>> x5n = null;
+		getProxy().setMultiParamsEnum(x1, x2, x2n, x3, x3n, x4, x4n, x5, x5n);
+	}
 }