Repository: incubator-juneau
Updated Branches:
  refs/heads/master 8e6e5a042 -> 8591ef182


Proxy interface testcases.

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

Branch: refs/heads/master
Commit: 8591ef182589784d267156553a63b615130730b1
Parents: 8e6e5a0
Author: JamesBognar <[email protected]>
Authored: Tue Mar 28 09:08:58 2017 -0400
Committer: JamesBognar <[email protected]>
Committed: Tue Mar 28 09:08:58 2017 -0400

----------------------------------------------------------------------
 juneau-core/src/main/javadoc/overview.html      |   6 +
 .../apache/juneau/rest/test/InterfaceProxy.java |  59 ++++--
 .../rest/test/InterfaceProxyResource.java       | 146 ++++---------
 .../juneau/rest/test/InterfaceProxyTest.java    | 210 ++++++-------------
 4 files changed, 146 insertions(+), 275 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/8591ef18/juneau-core/src/main/javadoc/overview.html
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/javadoc/overview.html 
b/juneau-core/src/main/javadoc/overview.html
index 5c80d9a..8ca14b2 100644
--- a/juneau-core/src/main/javadoc/overview.html
+++ b/juneau-core/src/main/javadoc/overview.html
@@ -5764,6 +5764,12 @@
                        </ul>
                        <li>{@link org.apache.juneau.html.HtmlParser} can now 
parse full body contents generated by {@link 
org.apache.juneau.html.HtmlDocSerializer}. 
                        <li>Parse-args supported added to {@link 
org.apache.juneau.msgpack.MsgPackParser} to allow it to be used in remoteable 
proxies. 
+                       <li>Added some convenience classes for constructing 
collections using a fluent interface:
+                       <ul>
+                               <li>{@link org.apache.juneau.utils.AList}
+                               <li>{@link org.apache.juneau.utils.ASet}
+                               <li>{@link org.apache.juneau.utils.AMap}
+                       </ul>
                </ul>
                
                <h6 class='topic'>org.apache.juneau.rest</h6>

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/8591ef18/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 2391dc0..38f8aa3 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
@@ -14,6 +14,12 @@ package org.apache.juneau.rest.test;
 
 import java.util.*;
 
+import org.apache.juneau.*;
+import org.apache.juneau.annotation.*;
+import org.apache.juneau.parser.*;
+import org.apache.juneau.serializer.*;
+import org.apache.juneau.transform.*;
+
 /**
  * Interface proxy exposed in InterfaceProxyResource and tested in 
InterfaceProxyTest.
  */
@@ -30,31 +36,24 @@ public interface InterfaceProxy {
        Float returnFloatObject();
        String returnString();
        String returnNullString();
-       int[] returnIntArray();
-       int[][] returnInt2dArray();
        int[][][] returnInt3dArray();
-       Integer[] returnIntegerArray();
-       Integer[][] returnInteger2dArray();
        Integer[][][] returnInteger3dArray();
-       String[] returnStringArray();
-       String[][] returnString2dArray();
        String[][][] returnString3dArray();
        List<Integer> returnIntegerList();
-       List<List<Integer>> returnInteger2dList();
        List<List<List<Integer>>> returnInteger3dList();
-       List<Integer[]> returnInteger1d1dList();
-       List<Integer[][]> returnInteger1d2dList();
        List<Integer[][][]> returnInteger1d3dList();
-       List<int[]> returnInt1d1dList();
-       List<int[][]> returnInt1d2dList();
        List<int[][][]> returnInt1d3dList();
        List<String> returnStringList();
        Bean returnBean();
-       Bean[] returnBeanArray();
+       Bean[][][] returnBean3dArray();
        List<Bean> returnBeanList();
+       List<Bean[][][]> returnBean1d3dList();
        Map<String,Bean> returnBeanMap();
        Map<String,List<Bean>> returnBeanListMap();
+       Map<String,List<Bean[][][]>> returnBean1d3dListMap();
        Map<Integer,List<Bean>> returnBeanListMapIntegerKeys();
+       SwappedPojo returnSwappedPojo();
+       SwappedPojo[][][] returnSwappedPojo3dArray();
 
        
//--------------------------------------------------------------------------------
        // Test server-side exception serialization.
@@ -73,31 +72,25 @@ public interface InterfaceProxy {
        void setFloatObject(Float x);
        void setString(String x);
        void setNullString(String x);
-       void setIntArray(int[] x);
-       void setInt2dArray(int[][] x);
        void setInt3dArray(int[][][] x);
-       void setIntegerArray(Integer[] x);
-       void setInteger2dArray(Integer[][] x);
        void setInteger3dArray(Integer[][][] x);
-       void setStringArray(String[] x);
-       void setString2dArray(String[][] x);
        void setString3dArray(String[][][] x);
        void setIntegerList(List<Integer> x);
        void setInteger2dList(List<List<Integer>> x);
        void setInteger3dList(List<List<List<Integer>>> x);
-       void setInteger1d1dList(List<Integer[]> x);
-       void setInteger1d2dList(List<Integer[][]> x);
        void setInteger1d3dList(List<Integer[][][]> x);
-       void setInt1d1dList(List<int[]> x);
-       void setInt1d2dList(List<int[][]> x);
        void setInt1d3dList(List<int[][][]> x);
        void setStringList(List<String> x);
        void setBean(Bean x);
-       void setBeanArray(Bean[] x);
+       void setBean3dArray(Bean[][][] x);
        void setBeanList(List<Bean> x);
+       void setBean1d3dList(List<Bean[][][]> x);
        void setBeanMap(Map<String,Bean> x);
        void setBeanListMap(Map<String,List<Bean>> x);
+       void setBean1d3dListMap(Map<String,List<Bean[][][]>> x);
        void setBeanListMapIntegerKeys(Map<Integer,List<Bean>> x);
+       void setSwappedPojo(SwappedPojo x);
+       void setSwappedPojo3dArray(SwappedPojo[][][] x);
 
        public static class Bean {
                public int a;
@@ -120,4 +113,24 @@ public interface InterfaceProxy {
        @SuppressWarnings("serial")
        public static class InterfaceProxyException2 extends Throwable {
        }
+
+       @Pojo(swap=SwappedPojoSwap.class)
+       public static class SwappedPojo {
+               public boolean wasUnswapped;
+       }
+
+       public static class SwappedPojoSwap extends 
PojoSwap<SwappedPojo,String> {
+               @Override
+               public String swap(BeanSession session, SwappedPojo c) throws 
SerializeException {
+                       return "[{(<swapped>)}]";
+               }
+
+               @Override
+               public SwappedPojo unswap(BeanSession session, String f, 
ClassMeta<?> hint) throws ParseException {
+                       SwappedPojo c = new SwappedPojo();
+                       if (f.equals("[{(<swapped>)}]"))
+                               c.wasUnswapped = true;
+                       return c;
+               }
+       }
 }

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/8591ef18/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 06edda7..cf4132e 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
@@ -15,10 +15,8 @@ package org.apache.juneau.rest.test;
 import static java.util.Arrays.*;
 import static org.junit.Assert.*;
 
-import java.lang.reflect.*;
 import java.util.*;
 
-import org.apache.juneau.*;
 import org.apache.juneau.json.*;
 import org.apache.juneau.rest.annotation.*;
 import org.apache.juneau.rest.jena.*;
@@ -30,7 +28,6 @@ import org.junit.*;
  */
 @RestResource(
        path="/testInterfaceProxyResource")
-@SuppressWarnings("serial")
 public class InterfaceProxyResource extends RestServletJenaDefault {
        private static final long serialVersionUID = 1L;
 
@@ -72,38 +69,14 @@ public class InterfaceProxyResource extends 
RestServletJenaDefault {
                                return null;
                        }
                        @Override
-                       public int[] returnIntArray() {
-                               return new int[]{1,2};
-                       }
-                       @Override
-                       public int[][] returnInt2dArray() {
-                               return new int[][]{{1,2}};
-                       }
-                       @Override
                        public int[][][] returnInt3dArray() {
                                return new int[][][]{{{1,2}}};
                        }
                        @Override
-                       public Integer[] returnIntegerArray() {
-                               return new Integer[]{1,null};
-                       }
-                       @Override
-                       public Integer[][] returnInteger2dArray() {
-                               return new Integer[][]{{1,null}};
-                       }
-                       @Override
                        public Integer[][][] returnInteger3dArray() {
                                return new Integer[][][]{{{1,null}}};
                        }
                        @Override
-                       public String[] returnStringArray() {
-                               return new String[]{"foo","bar",null};
-                       }
-                       @Override
-                       public String[][] returnString2dArray() {
-                               return new String[][]{{"foo","bar",null}};
-                       }
-                       @Override
                        public String[][][] returnString3dArray() {
                                return new String[][][]{{{"foo","bar",null}}};
                        }
@@ -112,13 +85,6 @@ public class InterfaceProxyResource extends 
RestServletJenaDefault {
                                return asList(new Integer[]{1,null});
                        }
                        @Override
-                       public List<List<Integer>> returnInteger2dList() {
-                               return new AList<List<Integer>>()
-                               .append(
-                                       new 
AList<Integer>().append(1).append(null)
-                               );
-                       }
-                       @Override
                        public List<List<List<Integer>>> returnInteger3dList() {
                                return new AList<List<List<Integer>>>()
                                .append(
@@ -129,26 +95,10 @@ public class InterfaceProxyResource extends 
RestServletJenaDefault {
                                );
                        }
                        @Override
-                       public List<Integer[]> returnInteger1d1dList() {
-                               return new AList<Integer[]>().append(new 
Integer[]{1,null}).append(null);
-                       }
-                       @Override
-                       public List<Integer[][]> returnInteger1d2dList() {
-                               return new AList<Integer[][]>().append(new 
Integer[][]{{1,null},null}).append(null);
-                       }
-                       @Override
                        public List<Integer[][][]> returnInteger1d3dList() {
                                return new AList<Integer[][][]>().append(new 
Integer[][][]{{{1,null},null},null}).append(null);
                        }
                        @Override
-                       public List<int[]> returnInt1d1dList() {
-                               return new AList<int[]>().append(new 
int[]{1,2}).append(null);
-                       }
-                       @Override
-                       public List<int[][]> returnInt1d2dList() {
-                               return new AList<int[][]>().append(new 
int[][]{{1,2},null}).append(null);
-                       }
-                       @Override
                        public List<int[][][]> returnInt1d3dList() {
                                return new AList<int[][][]>().append(new 
int[][][]{{{1,2},null},null}).append(null);
                        }
@@ -161,14 +111,18 @@ public class InterfaceProxyResource extends 
RestServletJenaDefault {
                                return new Bean().init();
                        }
                        @Override
-                       public Bean[] returnBeanArray() {
-                               return new Bean[]{new Bean().init()};
+                       public Bean[][][] returnBean3dArray() {
+                               return new Bean[][][]{{{new 
Bean().init(),null},null},null};
                        }
                        @Override
                        public List<Bean> returnBeanList() {
                                return asList(new Bean().init());
                        }
                        @Override
+                       public List<Bean[][][]> returnBean1d3dList() {
+                               return new AList<Bean[][][]>().append(new 
Bean[][][]{{{new Bean().init(),null},null},null}).append(null);
+                       }
+                       @Override
                        public Map<String,Bean> returnBeanMap() {
                                return new AMap<String,Bean>().append("foo",new 
Bean().init());
                        }
@@ -177,10 +131,22 @@ public class InterfaceProxyResource extends 
RestServletJenaDefault {
                                return new 
AMap<String,List<Bean>>().append("foo",asList(new Bean().init()));
                        }
                        @Override
+                       public Map<String,List<Bean[][][]>> 
returnBean1d3dListMap() {
+                               return new 
AMap<String,List<Bean[][][]>>().append("foo", new 
AList<Bean[][][]>().append(new Bean[][][]{{{new 
Bean().init(),null},null},null}).append(null));
+                       }
+                       @Override
                        public Map<Integer,List<Bean>> 
returnBeanListMapIntegerKeys() {
                                return new 
AMap<Integer,List<Bean>>().append(1,asList(new Bean().init()));
                        }
                        @Override
+                       public SwappedPojo returnSwappedPojo() {
+                               return new SwappedPojo();
+                       }
+                       @Override
+                       public SwappedPojo[][][] returnSwappedPojo3dArray() {
+                               return new SwappedPojo[][][]{{{new 
SwappedPojo(),null},null},null};
+                       }
+                       @Override
                        public void throwException1() throws 
InterfaceProxy.InterfaceProxyException1 {
                                throw new 
InterfaceProxy.InterfaceProxyException1("foo");
                        }
@@ -220,38 +186,14 @@ public class InterfaceProxyResource extends 
RestServletJenaDefault {
                                assertNull(x);
                        }
                        @Override
-                       public void setIntArray(int[] x) {
-                               assertObjectEquals("[1,2]", x);
-                       }
-                       @Override
-                       public void setInt2dArray(int[][] x) {
-                               assertObjectEquals("[[1,2]]", x);
-                       }
-                       @Override
                        public void setInt3dArray(int[][][] x) {
                                assertObjectEquals("[[[1,2]]]", x);
                        }
                        @Override
-                       public void setIntegerArray(Integer[] x) {
-                               assertObjectEquals("[1,null]", x);
-                       }
-                       @Override
-                       public void setInteger2dArray(Integer[][] x) {
-                               assertObjectEquals("[[1,null]]", x);
-                       }
-                       @Override
                        public void setInteger3dArray(Integer[][][] x) {
                                assertObjectEquals("[[[1,null]]]", x);
                        }
                        @Override
-                       public void setStringArray(String[] x) {
-                               assertObjectEquals("['foo','bar',null]", x);
-                       }
-                       @Override
-                       public void setString2dArray(String[][] x) {
-                               assertObjectEquals("[['foo','bar',null]]", x);
-                       }
-                       @Override
                        public void setString3dArray(String[][][] x) {
                                assertObjectEquals("[[['foo','bar',null]]]", x);
                        }
@@ -271,34 +213,12 @@ public class InterfaceProxyResource extends 
RestServletJenaDefault {
                                assertEquals(Integer.class, 
x.get(0).get(0).get(0).getClass());
                        }
                        @Override
-                       public void setInteger1d1dList(List<Integer[]> x) {
-                               assertObjectEquals("[[1,null],null]", x);
-                               assertEquals(Integer[].class, 
x.get(0).getClass());
-                               assertEquals(Integer.class, 
x.get(0)[0].getClass());
-                       }
-                       @Override
-                       public void setInteger1d2dList(List<Integer[][]> x) {
-                               assertObjectEquals("[[[1,null],null],null]", x);
-                               assertEquals(Integer[][].class, 
x.get(0).getClass());
-                               assertEquals(Integer.class, 
x.get(0)[0][0].getClass());
-                       }
-                       @Override
                        public void setInteger1d3dList(List<Integer[][][]> x) {
                                
assertObjectEquals("[[[[1,null],null],null],null]", x);
                                assertEquals(Integer[][][].class, 
x.get(0).getClass());
                                assertEquals(Integer.class, 
x.get(0)[0][0][0].getClass());
                        }
                        @Override
-                       public void setInt1d1dList(List<int[]> x) {
-                               assertObjectEquals("[[1,2],null]", x);
-                               assertEquals(int[].class, x.get(0).getClass());
-                       }
-                       @Override
-                       public void setInt1d2dList(List<int[][]> x) {
-                               assertObjectEquals("[[[1,2],null],null]", x);
-                               assertEquals(int[][].class, 
x.get(0).getClass());
-                       }
-                       @Override
                        public void setInt1d3dList(List<int[][][]> x) {
                                
assertObjectEquals("[[[[1,2],null],null],null]", x);
                                assertEquals(int[][][].class, 
x.get(0).getClass());
@@ -312,14 +232,18 @@ public class InterfaceProxyResource extends 
RestServletJenaDefault {
                                assertObjectEquals("{a:1,b:'foo'}", x);
                        }
                        @Override
-                       public void setBeanArray(Bean[] x) {
-                               assertObjectEquals("[{a:1,b:'foo'}]", x);
+                       public void setBean3dArray(Bean[][][] x) {
+                               
assertObjectEquals("[[[{a:1,b:'foo'},null],null],null]", x);
                        }
                        @Override
                        public void setBeanList(List<Bean> x) {
                                assertObjectEquals("[{a:1,b:'foo'}]", x);
                        }
                        @Override
+                       public void setBean1d3dList(List<Bean[][][]> x) {
+                               
assertObjectEquals("[[[[{a:1,b:'foo'},null],null],null],null]", x);
+                       }
+                       @Override
                        public void setBeanMap(Map<String,Bean> x) {
                                assertObjectEquals("{foo:{a:1,b:'foo'}}", x);
                        }
@@ -328,23 +252,27 @@ public class InterfaceProxyResource extends 
RestServletJenaDefault {
                                assertObjectEquals("{foo:[{a:1,b:'foo'}]}", x);
                        }
                        @Override
+                       public void 
setBean1d3dListMap(Map<String,List<Bean[][][]>> x) {
+                               
assertObjectEquals("{foo:[[[[{a:1,b:'foo'},null],null],null],null]}", x);
+                       }
+                       @Override
                        public void 
setBeanListMapIntegerKeys(Map<Integer,List<Bean>> x) {
                                assertObjectEquals("{'1':[{a:1,b:'foo'}]}", x); 
 // Note: JsonSerializer serializes key as string.
                                assertEquals(Integer.class, 
x.keySet().iterator().next().getClass());
                        }
+                       @Override
+                       public void setSwappedPojo(SwappedPojo x) {
+                               assertTrue(x.wasUnswapped);
+                       }
+                       @Override
+                       public void setSwappedPojo3dArray(SwappedPojo[][][] x) {
+                               
assertObjectEquals("[[['[{(<swapped>)}]',null],null],null]", x);
+                               assertTrue(x[0][0][0].wasUnswapped);
+                       }
                };
        }
 
        private static void assertObjectEquals(String e, Object o) {
                Assert.assertEquals(e, JsonSerializer.DEFAULT_LAX.toString(o));
        }
-
-       public static void main(String[] args) {
-               
JsonSerializer.DEFAULT_LAX_READABLE.println(BeanContext.DEFAULT.createSession().getClassMetas(new
 Type[]{X.class}));
-
-       }
-
-       public static class X extends LinkedList<int[][]> {
-
-       }
 }

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/8591ef18/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 d1312c6..c4c0299 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
@@ -101,145 +101,122 @@ public class InterfaceProxyTest extends RestTestcase {
        }
 
        @Test
-       public void returnIntArray() {
-               assertObjectEquals("[1,2]", getProxy().returnIntArray());
-       }
-
-       @Test
-       public void returnInt2dArray() {
-               assertObjectEquals("[[1,2]]", getProxy().returnInt2dArray());
-       }
-
-       @Test
        public void returnInt3dArray() {
                assertObjectEquals("[[[1,2]]]", getProxy().returnInt3dArray());
        }
 
        @Test
-       public void returnIntegerArray() {
-               assertObjectEquals("[1,null]", getProxy().returnIntegerArray());
-       }
-
-       @Test
-       public void returnInteger2dArray() {
-               assertObjectEquals("[[1,null]]", 
getProxy().returnInteger2dArray());
-       }
-
-       @Test
        public void returnInteger3dArray() {
                assertObjectEquals("[[[1,null]]]", 
getProxy().returnInteger3dArray());
        }
 
        @Test
-       public void returnStringArray() {
-               assertObjectEquals("['foo','bar',null]", 
getProxy().returnStringArray());
-       }
-
-       @Test
-       public void returnString2dArray() {
-               assertObjectEquals("[['foo','bar',null]]", 
getProxy().returnString2dArray());
-       }
-
-       @Test
        public void returnString3dArray() {
                assertObjectEquals("[[['foo','bar',null]]]", 
getProxy().returnString3dArray());
        }
 
        @Test
        public void returnIntegerList() {
-               assertObjectEquals("[1,null]", getProxy().returnIntegerList());
-               assertEquals(Integer.class, 
getProxy().returnIntegerList().get(0).getClass());
-       }
-
-       @Test
-       public void returnInteger2dList() {
-               assertObjectEquals("[[1,null]]", 
getProxy().returnInteger2dList());
-               assertEquals(Integer.class, 
getProxy().returnInteger2dList().get(0).get(0).getClass());
+               List<Integer> x = getProxy().returnIntegerList();
+               assertObjectEquals("[1,null]", x);
+               assertEquals(Integer.class, x.get(0).getClass());
        }
 
        @Test
        public void returnInteger3dList() {
-               assertObjectEquals("[[[1,null]]]", 
getProxy().returnInteger3dList());
-               assertEquals(Integer.class, 
getProxy().returnInteger3dList().get(0).get(0).get(0).getClass());
+               List<List<List<Integer>>> x = getProxy().returnInteger3dList();
+               assertObjectEquals("[[[1,null]]]", x);
+               assertEquals(Integer.class, x.get(0).get(0).get(0).getClass());
        }
 
        @Test
-       public void returnInteger1d1dList() {
-               assertObjectEquals("[[1,null],null]", 
getProxy().returnInteger1d1dList());
-               assertEquals(Integer.class, 
getProxy().returnInteger1d1dList().get(0)[0].getClass());
+       public void returnInteger1d3dList() {
+               List<Integer[][][]> x = getProxy().returnInteger1d3dList();
+               assertObjectEquals("[[[[1,null],null],null],null]", x);
+               assertEquals(Integer.class, x.get(0)[0][0][0].getClass());
        }
 
        @Test
-       public void returnInteger1d2dList() {
-               assertObjectEquals("[[[1,null],null],null]", 
getProxy().returnInteger1d2dList());
-               assertEquals(Integer.class, 
getProxy().returnInteger1d2dList().get(0)[0][0].getClass());
+       public void returnInt1d3dList() {
+               List<int[][][]> x = getProxy().returnInt1d3dList();
+               assertObjectEquals("[[[[1,2],null],null],null]", x);
+               assertEquals(int[][][].class, x.get(0).getClass());
        }
 
        @Test
-       public void returnInteger1d3dList() {
-               assertObjectEquals("[[[[1,null],null],null],null]", 
getProxy().returnInteger1d3dList());
-               assertEquals(Integer.class, 
getProxy().returnInteger1d3dList().get(0)[0][0][0].getClass());
+       public void returnStringList() {
+               assertObjectEquals("['foo','bar',null]", 
getProxy().returnStringList());
        }
 
        @Test
-       public void returnInt1d1dList() {
-               assertObjectEquals("[[1,2],null]", 
getProxy().returnInt1d1dList());
-               assertEquals(int[].class, 
getProxy().returnInt1d1dList().get(0).getClass());
+       public void returnBean() {
+               Bean x = getProxy().returnBean();
+               assertObjectEquals("{a:1,b:'foo'}", x);
+               assertEquals(InterfaceProxy.Bean.class, x.getClass());
        }
 
        @Test
-       public void returnInt1d2dList() {
-               assertObjectEquals("[[[1,2],null],null]", 
getProxy().returnInt1d2dList());
-               assertEquals(int[][].class, 
getProxy().returnInt1d2dList().get(0).getClass());
+       public void returnBean3dArray() {
+               Bean[][][] x = getProxy().returnBean3dArray();
+               assertObjectEquals("[[[{a:1,b:'foo'},null],null],null]", x);
+               assertEquals(InterfaceProxy.Bean.class, x[0][0][0].getClass());
        }
 
        @Test
-       public void returnInt1d3dList() {
-               assertObjectEquals("[[[[1,2],null],null],null]", 
getProxy().returnInt1d3dList());
-               assertEquals(int[][][].class, 
getProxy().returnInt1d3dList().get(0).getClass());
+       public void returnBeanList() {
+               List<Bean> x = getProxy().returnBeanList();
+               assertObjectEquals("[{a:1,b:'foo'}]", x);
+               assertEquals(InterfaceProxy.Bean.class, x.get(0).getClass());
        }
 
        @Test
-       public void returnStringList() {
-               assertObjectEquals("['foo','bar',null]", 
getProxy().returnStringList());
-               assertTrue(getProxy().returnStringList() instanceof List);
+       public void returnBean1d3dList() {
+               List<Bean[][][]> x = getProxy().returnBean1d3dList();
+               assertObjectEquals("[[[[{a:1,b:'foo'},null],null],null],null]", 
x);
+               assertEquals(InterfaceProxy.Bean.class, 
x.get(0)[0][0][0].getClass());
        }
 
        @Test
-       public void returnBean() {
-               assertObjectEquals("{a:1,b:'foo'}", getProxy().returnBean());
-               assertEquals(InterfaceProxy.Bean.class, 
getProxy().returnBean().getClass());
+       public void returnBeanMap() {
+               Map<String,Bean> x = getProxy().returnBeanMap();
+               assertObjectEquals("{foo:{a:1,b:'foo'}}", x);
+               assertEquals(InterfaceProxy.Bean.class, 
x.get("foo").getClass());
        }
 
        @Test
-       public void returnBeanArray() {
-               assertObjectEquals("[{a:1,b:'foo'}]", 
getProxy().returnBeanArray());
-               assertEquals(InterfaceProxy.Bean.class, 
getProxy().returnBeanArray()[0].getClass());
+       public void returnBeanListMap() {
+               Map<String,List<Bean>> x = getProxy().returnBeanListMap();
+               assertObjectEquals("{foo:[{a:1,b:'foo'}]}", x);
+               assertEquals(InterfaceProxy.Bean.class, 
x.get("foo").get(0).getClass());
        }
 
        @Test
-       public void returnBeanList() {
-               assertObjectEquals("[{a:1,b:'foo'}]", 
getProxy().returnBeanList());
-               assertEquals(InterfaceProxy.Bean.class, 
getProxy().returnBeanList().get(0).getClass());
+       public void returnBean1d3dListMap() {
+               Map<String,List<Bean[][][]>> x = 
getProxy().returnBean1d3dListMap();
+               
assertObjectEquals("{foo:[[[[{a:1,b:'foo'},null],null],null],null]}", x);
+               assertEquals(InterfaceProxy.Bean.class, 
x.get("foo").get(0)[0][0][0].getClass());
        }
 
        @Test
-       public void returnBeanMap() {
-               assertObjectEquals("{foo:{a:1,b:'foo'}}", 
getProxy().returnBeanMap());
-               assertEquals(InterfaceProxy.Bean.class, 
getProxy().returnBeanMap().get("foo").getClass());
+       public void returnBeanListMapIntegerKeys() {
+               // Note: JsonSerializer serializes key as string.
+               Map<Integer,List<Bean>> x = 
getProxy().returnBeanListMapIntegerKeys();
+               assertObjectEquals("{'1':[{a:1,b:'foo'}]}", x);
+               assertEquals(Integer.class, 
x.keySet().iterator().next().getClass());
        }
 
        @Test
-       public void returnBeanListMap() {
-               assertObjectEquals("{foo:[{a:1,b:'foo'}]}", 
getProxy().returnBeanListMap());
-               assertEquals(InterfaceProxy.Bean.class, 
getProxy().returnBeanListMap().get("foo").get(0).getClass());
+       public void returnSwappedPojo() {
+               SwappedPojo x = getProxy().returnSwappedPojo();
+               assertObjectEquals("'[{(<swapped>)}]'", x);
+               assertTrue(x.wasUnswapped);
        }
 
        @Test
-       public void returnBeanListMapIntegerKeys() {
-               // Note: JsonSerializer serializes key as string.
-               assertObjectEquals("{'1':[{a:1,b:'foo'}]}", 
getProxy().returnBeanListMapIntegerKeys());
-               assertEquals(Integer.class, 
getProxy().returnBeanListMapIntegerKeys().keySet().iterator().next().getClass());
+       public void returnSwappedPojo3dArray() {
+               SwappedPojo[][][] x = getProxy().returnSwappedPojo3dArray();
+               assertObjectEquals("[[['[{(<swapped>)}]',null],null],null]", x);
+               assertTrue(x[0][0][0].wasUnswapped);
        }
 
        @Test
@@ -322,46 +299,16 @@ public class InterfaceProxyTest extends RestTestcase {
        }
 
        @Test
-       public void setIntArray() {
-               getProxy().setIntArray(new int[]{1,2});
-       }
-
-       @Test
-       public void setInt2dArray() {
-               getProxy().setInt2dArray(new int[][]{{1,2}});
-       }
-
-       @Test
        public void setInt3dArray() {
                getProxy().setInt3dArray(new int[][][]{{{1,2}}});
        }
 
        @Test
-       public void setIntegerArray() {
-               getProxy().setIntegerArray(new Integer[]{1,null});
-       }
-
-       @Test
-       public void setInteger2dArray() {
-               getProxy().setInteger2dArray(new Integer[][]{{1,null}});
-       }
-
-       @Test
        public void setInteger3dArray() {
                getProxy().setInteger3dArray(new Integer[][][]{{{1,null}}});
        }
 
        @Test
-       public void setStringArray() {
-               getProxy().setStringArray(new String[]{"foo","bar",null});
-       }
-
-       @Test
-       public void setString2dArray() {
-               getProxy().setString2dArray(new String[][]{{"foo","bar",null}});
-       }
-
-       @Test
        public void setString3dArray() {
                getProxy().setString3dArray(new 
String[][][]{{{"foo","bar",null}}});
        }
@@ -391,20 +338,6 @@ public class InterfaceProxyTest extends RestTestcase {
        }
 
        @Test
-       public void setInteger1d1dList() {
-               getProxy().setInteger1d1dList(
-                       new AList<Integer[]>().append(new 
Integer[]{1,null}).append(null)
-               );
-       }
-
-       @Test
-       public void setInteger1d2dList() {
-               getProxy().setInteger1d2dList(
-                       new AList<Integer[][]>().append(new 
Integer[][]{{1,null},null}).append(null)
-               );
-       }
-
-       @Test
        public void setInteger1d3dList() {
                getProxy().setInteger1d3dList(
                        new AList<Integer[][][]>().append(new 
Integer[][][]{{{1,null},null},null}).append(null)
@@ -412,20 +345,6 @@ public class InterfaceProxyTest extends RestTestcase {
        }
 
        @Test
-       public void setInt1d1dList() {
-               getProxy().setInt1d1dList(
-                       new AList<int[]>().append(new int[]{1,2}).append(null)
-               );
-       }
-
-       @Test
-       public void setInt1d2dList() {
-               getProxy().setInt1d2dList(
-                       new AList<int[][]>().append(new 
int[][]{{1,2},null}).append(null)
-               );
-       }
-
-       @Test
        public void setInt1d3dList() {
                getProxy().setInt1d3dList(
                        new AList<int[][][]>().append(new 
int[][][]{{{1,2},null},null}).append(null)
@@ -443,11 +362,6 @@ public class InterfaceProxyTest extends RestTestcase {
        }
 
        @Test
-       public void setBeanArray() {
-               getProxy().setBeanArray(new Bean[]{new Bean().init()});
-       }
-
-       @Test
        public void setBeanList() {
                getProxy().setBeanList(Arrays.asList(new Bean().init()));
        }
@@ -466,4 +380,14 @@ public class InterfaceProxyTest extends RestTestcase {
        public void setBeanListMapIntegerKeys() {
                getProxy().setBeanListMapIntegerKeys(new 
AMap<Integer,List<Bean>>().append(1,Arrays.asList(new Bean().init())));
        }
+
+       @Test
+       public void setSwappedPojo() {
+               getProxy().setSwappedPojo(new SwappedPojo());
+       }
+
+       @Test
+       public void setSwappedPojo3dArray() {
+               getProxy().setSwappedPojo3dArray(new SwappedPojo[][][]{{{new 
SwappedPojo(),null},null},null});
+       }
 }

Reply via email to