http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/df0f8689/org.apache.juneau/src/test/java/org/apache/juneau/a/rttests/CT_RoundTripBeanMaps.java
----------------------------------------------------------------------
diff --git 
a/org.apache.juneau/src/test/java/org/apache/juneau/a/rttests/CT_RoundTripBeanMaps.java
 
b/org.apache.juneau/src/test/java/org/apache/juneau/a/rttests/CT_RoundTripBeanMaps.java
deleted file mode 100755
index 72f7bd4..0000000
--- 
a/org.apache.juneau/src/test/java/org/apache/juneau/a/rttests/CT_RoundTripBeanMaps.java
+++ /dev/null
@@ -1,1012 +0,0 @@
-/***************************************************************************************************************************
- * 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.
- 
***************************************************************************************************************************/
-package org.apache.juneau.a.rttests;
-
-import static org.apache.juneau.TestUtils.*;
-import static org.junit.Assert.*;
-
-import java.util.*;
-
-import javax.xml.datatype.*;
-
-import org.apache.juneau.*;
-import org.apache.juneau.annotation.*;
-import org.apache.juneau.json.*;
-import org.apache.juneau.json.annotation.*;
-import org.apache.juneau.parser.*;
-import org.apache.juneau.serializer.*;
-import org.apache.juneau.transform.*;
-import org.apache.juneau.transforms.*;
-import org.junit.*;
-
-/**
- * Tests designed to serialize and parse objects to make sure we end up
- * with the same objects for all serializers and parsers.
- */
-@SuppressWarnings({"unchecked","hiding","serial","unused"})
-public class CT_RoundTripBeanMaps extends RoundTripTest {
-
-       public CT_RoundTripBeanMaps(String label, Serializer s, Parser p, int 
flags) throws Exception {
-               super(label, s, p, flags);
-       }
-
-       @Override /* RoundTripTest */
-       public Map<Class<?>,Class<?>> getImplClasses() {
-               Map<Class<?>,Class<?>> m = new HashMap<Class<?>,Class<?>>();
-               m.put(IBean.class, CBean.class);
-               return m;
-       }
-
-       
//====================================================================================================
-       // IBean/ABean/Bean
-       
//====================================================================================================
-       @Test
-       public void testImplClasses() throws Exception {
-               IBean bean = new CBean();
-
-               bean.setF1("bar");
-               bean = roundTrip(bean, IBean.class);
-               assertEquals("bar", bean.getF1());
-
-               bean.setF1("baz");
-               bean = roundTrip(bean, ABean.class);
-               assertEquals("baz", bean.getF1());
-
-               bean.setF1("bing");
-               bean = roundTrip(bean, CBean.class);
-               assertEquals("bing", bean.getF1());
-       }
-
-       
//====================================================================================================
-       // IBean[]/ABean[]/Bean[]
-       
//====================================================================================================
-       @Test
-       public void testImplArrayClasses() throws Exception {
-               IBean[] bean = new CBean[]{new CBean()};
-
-               bean[0].setF1("bar");
-               bean = roundTrip(bean, IBean[].class);
-               assertEquals("bar", bean[0].getF1());
-
-               bean[0].setF1("baz");
-               bean = roundTrip(bean, ABean[].class);
-               assertEquals("baz", bean[0].getF1());
-
-               bean[0].setF1("bing");
-               bean = roundTrip(bean, CBean[].class);
-               assertEquals("bing", bean[0].getF1());
-       }
-
-       
//====================================================================================================
-       // List<IBean/ABean/Bean>
-       
//====================================================================================================
-       @Test
-       public void testImplListClasses() throws Exception {
-               List<IBean> l = new LinkedList<IBean>() {{
-                       add(new CBean());
-               }};
-
-               l.get(0).setF1("bar");
-               l = roundTripCollection(l, List.class, IBean.class);
-               assertEquals("bar", l.get(0).getF1());
-               l = roundTripCollection(l, LinkedList.class, IBean.class);
-               assertEquals("bar", l.get(0).getF1());
-
-               l.get(0).setF1("baz");
-               l = roundTripCollection(l, List.class, ABean.class);
-               assertEquals("baz", l.get(0).getF1());
-               l = roundTripCollection(l, LinkedList.class, ABean.class);
-               assertEquals("baz", l.get(0).getF1());
-
-               l.get(0).setF1("bing");
-               l = roundTripCollection(l, List.class, CBean.class);
-               assertEquals("bing", l.get(0).getF1());
-               l = roundTripCollection(l, LinkedList.class, CBean.class);
-               assertEquals("bing", l.get(0).getF1());
-       }
-
-       
//====================================================================================================
-       // Map<String,IBean/ABean/Bean>
-       
//====================================================================================================
-       @Test
-       public void testImplMap() throws Exception {
-               Map<String,IBean> l = new LinkedHashMap<String,IBean>() {{
-                       put("foo", new CBean());
-               }};
-
-               l.get("foo").setF1("bar");
-               l = roundTripMap(l, Map.class, String.class, IBean.class);
-               assertEquals("bar", l.get("foo").getF1());
-               l = roundTripMap(l, LinkedHashMap.class, String.class, 
IBean.class);
-               assertEquals("bar", l.get("foo").getF1());
-
-               l.get("foo").setF1("baz");
-               l = roundTripMap(l, Map.class, String.class, ABean.class);
-               assertEquals("baz", l.get("foo").getF1());
-               l = roundTripMap(l, LinkedHashMap.class, String.class, 
ABean.class);
-               assertEquals("baz", l.get("foo").getF1());
-
-               l.get("foo").setF1("bing");
-               l = roundTripMap(l, Map.class, String.class, CBean.class);
-               assertEquals("bing", l.get("foo").getF1());
-               l = roundTripMap(l, LinkedHashMap.class, String.class, 
CBean.class);
-               assertEquals("bing", l.get("foo").getF1());
-       }
-
-       
//====================================================================================================
-       // Map<String,IBean/ABean/Bean>
-       
//====================================================================================================
-       @Test
-       public void testImplMap2() throws Exception {
-               A b = new A(1);
-               b = roundTrip(b);
-               if (returnOriginalObject || p == null)
-                       return;
-               assertEquals(0, b.f1);
-               assertEquals(0, b.f2);
-               assertEquals(1, b.f3);
-               assertEquals(1, b.f4);
-               assertEquals(0, b.getF5());
-               assertEquals(1, b.getF6());
-       }
-
-       public static interface IBean {
-               public String getF1();
-               public void setF1(String f1);
-       }
-
-       public static abstract class ABean implements IBean {
-               @Override /* IBean */
-               public abstract String getF1();
-               @Override /* IBean */
-               public abstract void setF1(String f1);
-       }
-
-       public static class CBean extends ABean {
-               private String f1 = "foo";
-               @Override /* IBean */
-               public String getF1() {
-                       return f1;
-               }
-               @Override /* IBean */
-               public void setF1(String f1) {
-                       this.f1 = f1;
-               }
-       }
-
-       public static class A {
-
-               @BeanIgnore
-               public int f1, f2;
-               public int f3, f4;
-
-               private int f5, f6;
-
-               @BeanIgnore
-               public int getF5() {
-                       return f5;
-               }
-               public void setF5(int f5) {
-                       this.f5 = f5;
-               }
-
-               public int getF6() {
-                       return f6;
-               }
-               public void setF6(int f6) {
-                       this.f6 = f6;
-               }
-
-               public A() {}
-
-               public A(int v) {
-                       f1 = f2 = f3 = f4 = f5 = f6 = v;
-               }
-       }
-
-       
//====================================================================================================
-       // Test @Bean(subTypes=xxx)
-       
//====================================================================================================
-       @Test
-       public void testSubTypesUsingAnnotation() throws Exception {
-               JsonSerializer js = 
JsonSerializer.DEFAULT_LAX.clone().addTransforms(XMLGregorianCalendarTransform.class);
-
-               // Skip validation-only tests
-               if (isValidationOnly())
-                       return;
-
-               Serializer s = 
getSerializer().clone().addTransforms(XMLGregorianCalendarTransform.class);
-               Parser p = 
getParser().clone().addTransforms(XMLGregorianCalendarTransform.class);
-
-               B1 b1 = B1.create();
-               Object r = s.serialize(b1);
-               B b = p.parse(r, B.class);
-               assertTrue(b instanceof B1);
-               assertObjectEquals("{subType:'B1',f0:'f0',f1:'f1'}", b, js);
-
-               B2 b2 = B2.create();
-               r = s.serialize(b2);
-               b = p.parse(r, B.class);
-               assertTrue(b instanceof B2);
-               assertObjectEquals("{subType:'B2',f0:'f0',f2:1}", b, js);
-
-               B3 b3 = B3.create();
-               r = s.serialize(b3);
-               b = p.parse(r, B.class);
-               assertTrue(b instanceof B3);
-               
assertObjectEquals("{subType:'B3',f0:'f0',f3:'2001-01-01T12:34:56.789Z'}", b, 
js);
-}
-
-       @Bean(
-               subTypeProperty="subType",
-               subTypes={
-                       @BeanSubType(type=B1.class, id="B1"),
-                       @BeanSubType(type=B2.class, id="B2"),
-                       @BeanSubType(type=B3.class, id="B3")
-               }
-       )
-       public abstract static class B {
-               public String f0 = "f0";
-       }
-
-       public static class B1 extends B {
-               public String f1;
-               public static B1 create() {
-                       B1 b = new B1();
-                       b.f0 = "f0";
-                       b.f1 = "f1";
-                       return b;
-               }
-       }
-
-       public static class B2 extends B {
-               public int f2;
-               public static B2 create() {
-                       B2 b = new B2();
-                       b.f0 = "f0";
-                       b.f2 = 1;
-                       return b;
-               }
-       }
-
-       public static class B3 extends B {
-               public XMLGregorianCalendar f3;
-               public static B3 create() throws Exception {
-                       B3 b = new B3();
-                       b.f0 = "f0";
-                       b.f3 = 
DatatypeFactory.newInstance().newXMLGregorianCalendar("2001-01-01T12:34:56.789Z");
-                       return b;
-               }
-       }
-
-       
//====================================================================================================
-       // Test @Bean(subTypes=xxx) using BeanTransform
-       
//====================================================================================================
-       @Test
-       public void testSubTypesUsingBeanTransform() throws Exception {
-               JsonSerializer js = 
JsonSerializer.DEFAULT_LAX.clone().addTransforms(XMLGregorianCalendarTransform.class);
-
-               // Skip validation-only tests
-               if (isValidationOnly())
-                       return;
-
-               Serializer s = 
getSerializer().clone().addTransforms(CTransform.class, 
XMLGregorianCalendarTransform.class);
-               Parser p = getParser().clone().addTransforms(CTransform.class, 
XMLGregorianCalendarTransform.class);
-
-               C1 c1 = C1.create();
-               Object r = s.serialize(c1);
-               C c = p.parse(r, C.class);
-               assertTrue(c instanceof C1);
-               assertObjectEquals("{f0:'f0',f1:'f1'}", c, js);
-
-               C2 c2 = C2.create();
-               r = s.serialize(c2);
-               c = p.parse(r, C.class);
-               assertTrue(c instanceof C2);
-               assertObjectEquals("{f0:'f0',f2:1}", c, js);
-
-               C3 c3 = C3.create();
-               r = s.serialize(c3);
-               c = p.parse(r, C.class);
-               assertTrue(c instanceof C3);
-               assertObjectEquals("{f0:'f0',f3:'2001-01-01T12:34:56.789Z'}", 
c, js);
-       }
-
-       public abstract static class C {
-               public String f0;
-       }
-
-       public static class C1 extends C {
-               public String f1;
-               public static C1 create() {
-                       C1 c = new C1();
-                       c.f0 = "f0";
-                       c.f1 = "f1";
-                       return c;
-               }
-       }
-
-       public static class C2 extends C {
-               public int f2;
-               public static C2 create() {
-                       C2 c = new C2();
-                       c.f0 = "f0";
-                       c.f2 = 1;
-                       return c;
-               }
-       }
-
-       public static class C3 extends C {
-               public XMLGregorianCalendar f3;
-               public static C3 create() throws Exception {
-                       C3 c = new C3();
-                       c.f0 = "f0";
-                       c.f3 = 
DatatypeFactory.newInstance().newXMLGregorianCalendar("2001-01-01T12:34:56.789Z");
-                       return c;
-               }
-       }
-
-       public static class CTransform extends BeanTransform<C> {
-               public CTransform() {
-                       setSubTypeProperty("subType");
-                       addSubType(C1.class, "C1");
-                       addSubType(C2.class, "C2");
-                       addSubType(C3.class, "C3");
-               }
-       }
-
-       
//====================================================================================================
-       // Test @Bean(subTypeProperty=xxx) with real bean property
-       
//====================================================================================================
-       @Test
-       public void testSubTypePropertyWithRealPropertyUsingAnnotation() throws 
Exception {
-               // Skip validation-only tests
-               if (isValidationOnly())
-                       return;
-
-               Serializer s = getSerializer();
-               Parser p = getParser();
-
-               BA1 ba1 = BA1.create();
-               Object r = s.serialize(ba1);
-               BA b = p.parse(r, BA.class);
-               assertTrue(b instanceof BA1);
-               assertEquals("BA1", b.subType);
-               
assertObjectEquals("{subType:'BA1',f0a:'f0a',f0b:'f0b',f1:'f1'}", b);
-       }
-
-       @Bean(
-               subTypeProperty="subType",
-               subTypes={
-                       @BeanSubType(type=BA1.class, id="BA1"),
-                       @BeanSubType(type=BA2.class, id="BA2")
-               }
-       )
-       public abstract static class BA {
-               public String f0a, subType, f0b;
-       }
-
-       public static class BA1 extends BA {
-               public String f1;
-               public static BA1 create() {
-                       BA1 b = new BA1();
-                       b.f0a = "f0a";
-                       b.f0b = "f0b";
-                       b.f1 = "f1";
-                       b.subType = "xxx";// Should be ignored.
-                       return b;
-               }
-       }
-
-       public static class BA2 extends BA {
-               public String f2;
-       }
-
-
-       
//====================================================================================================
-       // Test @Bean(subTypes=xxx) with real bean property using BeanTransform
-       
//====================================================================================================
-       @Test
-       public void testSubTypePropertyWithRealPropertyUsingBeanTransform() 
throws Exception {
-               // Skip validation-only tests
-               if (isValidationOnly())
-                       return;
-
-               Serializer s = 
getSerializer().clone().addTransforms(CATransform.class);
-               Parser p = getParser().clone().addTransforms(CATransform.class);
-
-               CA1 c1 = CA1.create();
-               Object r = s.serialize(c1);
-               CA c = p.parse(r, CA.class);
-               assertTrue(c instanceof CA1);
-               assertEquals("CA1", c.subType);
-               
assertObjectEquals("{f0a:'f0a',subType:'CA1',f0b:'f0b',f1:'f1'}", c);
-       }
-
-       public abstract static class CA {
-               public String f0a, subType, f0b;
-       }
-
-       public static class CA1 extends CA {
-               public String f1;
-               public static CA1 create() {
-                       CA1 c = new CA1();
-                       c.f0a = "f0a";
-                       c.f0b = "f0b";
-                       c.f1 = "f1";
-                       c.subType = "xxx";// Should be ignored.
-                       return c;
-               }
-       }
-
-       public static class CA2 extends CA {
-               public String f2;
-       }
-
-       public static class CATransform extends BeanTransform<CA> {
-               public CATransform() {
-                       setSubTypeProperty("subType");
-                       addSubType(CA1.class, "CA1");
-                       addSubType(CA2.class, "CA2");
-               }
-       }
-
-       
//====================================================================================================
-       // Test @Bean(properties=xxx)
-       
//====================================================================================================
-       @Test
-       public void testPropertiesUsingAnnotation() throws Exception {
-               // Skip validation-only tests
-               if (isValidationOnly())
-                       return;
-
-               Serializer s = getSerializer();
-               Parser p = getParser();
-
-               D1 d = new D1().init();
-               Object r = s.serialize(d);
-               d = p.parse(r, D1.class);
-               assertNull(d.f1);
-               assertObjectEquals("{f3:'f3',f2:'f2'}", d);
-       }
-
-       @Bean(properties={"f3","f2"})
-       public static class D1 {
-               public String f1, f2, f3;
-               public D1 init() {
-                       f1 = "f1";
-                       f2 = "f2";
-                       f3 = "f3";
-                       return this;
-               }
-       }
-
-       
//====================================================================================================
-       // Test @Bean(properties=xxx) using BeanTransform
-       
//====================================================================================================
-       @Test
-       public void testPropertiesUsingTransform() throws Exception {
-               JsonSerializer js = 
JsonSerializer.DEFAULT_LAX.clone().addTransforms(D2Transform.class);
-
-               // Skip validation-only tests
-               if (isValidationOnly())
-                       return;
-
-               Serializer s = 
getSerializer().clone().addTransforms(D2Transform.class);
-               Parser p = getParser().clone().addTransforms(D2Transform.class);
-
-               D2 d = new D2().init();
-               Object r = s.serialize(d);
-               d = p.parse(r, D2.class);
-               assertNull(d.f1);
-               assertObjectEquals("{f3:'f3',f2:'f2'}", d, js);
-       }
-
-       public static class D2 {
-               public String f1, f2, f3;
-               public D2 init() {
-                       f1 = "f1";
-                       f2 = "f2";
-                       f3 = "f3";
-                       return this;
-               }
-       }
-       public static class D2Transform extends BeanTransform<D2> {
-               public D2Transform() {
-                       setProperties("f3","f2");
-               }
-       }
-
-       
//====================================================================================================
-       // Test @Bean(excludeProperties=xxx)
-       
//====================================================================================================
-       @Test
-       public void testExcludePropertiesUsingAnnotation() throws Exception {
-               // Skip validation-only tests
-               if (isValidationOnly())
-                       return;
-
-               Serializer s = getSerializer();
-               Parser p = getParser();
-
-               E1 e = new E1().init();
-               Object r = s.serialize(e);
-               e = p.parse(r, E1.class);
-               assertObjectEquals("{f1:'f1',f3:'f3'}", e);
-       }
-
-       @Bean(excludeProperties={"f2"})
-       public static class E1 {
-               public String f1, f2, f3;
-               public E1 init() {
-                       f1 = "f1";
-                       f2 = "f2";
-                       f3 = "f3";
-                       return this;
-               }
-       }
-
-       
//====================================================================================================
-       // Test @Bean(excludeProperties=xxx) using BeanTransform
-       
//====================================================================================================
-       @Test
-       public void testExcludePropertiesUsingTransform() throws Exception {
-               // Skip validation-only tests
-               if (isValidationOnly())
-                       return;
-
-               Serializer s = 
getSerializer().clone().addTransforms(E2Transform.class);
-               Parser p = getParser().clone().addTransforms(E2Transform.class);
-
-               E2 e = new E2().init();
-               Object r = s.serialize(e);
-               e = p.parse(r, E2.class);
-               assertObjectEquals("{f1:'f1',f3:'f3'}", e);
-       }
-
-       public static class E2 {
-               public String f1, f2, f3;
-               public E2 init() {
-                       f1 = "f1";
-                       f2 = "f2";
-                       f3 = "f3";
-                       return this;
-               }
-       }
-       public static class E2Transform extends BeanTransform<E2> {
-               public E2Transform() {
-                       setExcludeProperties("f2");
-               }
-       }
-
-       
//====================================================================================================
-       // Test @Bean(interfaceClass=xxx)
-       
//====================================================================================================
-       @Test
-       public void testInterfaceClassUsingAnnotation() throws Exception {
-               // Skip validation-only tests
-               if (isValidationOnly())
-                       return;
-
-               Serializer s = getSerializer();
-               Parser p = getParser();
-
-               FA2 t = new FA2().init();
-               Object r = s.serialize(t);
-               t = p.parse(r, FA2.class);
-               assertObjectEquals("{f1:'f1'}", t);
-       }
-
-       @Bean(interfaceClass=FA1.class)
-       public static class FA1 {
-               public String f1;
-       }
-
-       public static class FA2 extends FA1 {
-               public String f2;
-               public FA2 init() {
-                       f1 = "f1";
-                       f2 = "f2";
-                       return this;
-               }
-       }
-
-       
//====================================================================================================
-       // Test @Bean(interfaceClass=xxx) using BeanTransform
-       
//====================================================================================================
-       @Test
-       public void testInterfaceClassUsingTransform() throws Exception {
-               Serializer s;
-               Parser p;
-               FB2 t;
-               Object r;
-
-               // Skip validation-only tests
-               if (isValidationOnly())
-                       return;
-
-               // --- Transform defined on parent class ---
-               s = getSerializer().clone().addTransforms(FB1Transform.class);
-               p = getParser().clone().addTransforms(FB1Transform.class);
-
-               t = new FB2().init();
-               r = s.serialize(t);
-               t = p.parse(r, FB2.class);
-               assertObjectEquals("{f1:'f1'}", t);
-
-               // --- Transform defined on child class class ---
-               s = getSerializer().clone().addTransforms(FB2Transform.class);
-               p = getParser().clone().addTransforms(FB2Transform.class);
-
-               t = new FB2().init();
-               r = s.serialize(t);
-               t = p.parse(r, FB2.class);
-               assertObjectEquals("{f1:'f1'}", t);
-
-               // --- Transform defined as plain class ---
-               s = getSerializer().clone().addTransforms(FB1.class);
-               p = getParser().clone().addTransforms(FB1.class);
-
-               t = new FB2().init();
-               r = s.serialize(t);
-               t = p.parse(r, FB2.class);
-               assertObjectEquals("{f1:'f1'}", t);
-       }
-
-       public static class FB1 {
-               public String f1;
-       }
-
-       public static class FB2 extends FB1 {
-               public String f2;
-               public FB2 init() {
-                       f1 = "f1";
-                       f2 = "f2";
-                       return this;
-               }
-       }
-       public static class FB1Transform extends BeanTransform<FB1> {
-               public FB1Transform() {
-                       setInterfaceClass(FB1.class);
-               }
-       }
-       public static class FB2Transform extends BeanTransform<FB2> {
-               public FB2Transform() {
-                       setInterfaceClass(FB1.class);
-               }
-       }
-
-       
//====================================================================================================
-       // testMemberClass
-       
//====================================================================================================
-       @Test
-       public void testMemberClass() throws Exception {
-               G t = G.create();
-               t = roundTrip(t, G.class);
-       }
-
-       public static class G {
-               public int a1;
-               public G1 g1;
-
-               public static G create() {
-                       G g = new G();
-                       g.a1 = 1;
-                       g.g1.a2 = 2;
-                       g.g1.g2.a3 = 3;
-                       return g;
-               }
-
-               public G() {
-                       g1 = new G1();
-               }
-
-               public class G1 {
-                       public int a2;
-                       public G2 g2;
-
-                       public G1() {
-                               g2 = new G2();
-                       }
-
-                       public class G2 {
-                               public int a3;
-                       }
-               }
-       }
-
-       
//====================================================================================================
-       // testMemberClassWithMapClass
-       
//====================================================================================================
-       @Test
-       public void testMemberClassWithMapClass() throws Exception {
-               H t = H.create();
-               t = roundTrip(t, H.class);
-       }
-
-       public static class H extends LinkedHashMap<String,H.H1> {
-
-               static H create() {
-                       H h = new H();
-                       h.add("foo", 1, 2);
-                       return h;
-               }
-
-               H add(String key, int a2, int a3) {
-                       H1 h1 = new H1();
-                       h1.a2 = a2;
-                       h1.h2.a3 = a3;
-                       put(key, h1);
-                       return this;
-               }
-
-               public class H1 {
-                       public int a2;
-                       public H2 h2;
-
-                       public H1() {
-                               h2 = new H2();
-                       }
-
-                       public class H2 {
-                               public int a3;
-                       }
-               }
-       }
-
-       
//====================================================================================================
-       // testMemberClassWithListClass
-       
//====================================================================================================
-       @Test
-       public void testMemberClassWithListClass() throws Exception {
-               I t = I.create();
-               t = roundTrip(t, I.class);
-       }
-
-       public static class I extends LinkedList<I.I1> {
-
-               static I create() {
-                       I i = new I();
-                       i.add(1, 2);
-                       return i;
-               }
-
-               I add(int a2, int a3) {
-                       I1 i1 = new I1();
-                       i1.a2 = a2;
-                       i1.i2.a3 = a3;
-                       super.add(i1);
-                       return this;
-               }
-
-               public class I1 {
-                       public int a2;
-                       public I2 i2;
-
-                       public I1() {
-                               i2 = new I2();
-                       }
-
-                       public class I2 {
-                               public int a3;
-                       }
-               }
-       }
-
-       
//====================================================================================================
-       // testMemberClassWithStringConstructor
-       
//====================================================================================================
-       @Test
-       public void testMemberClassWithStringConstructor() throws Exception {
-               J t = J.create();
-               t = roundTrip(t, J.class);
-       }
-
-       public static class J {
-               public J2 j2;
-
-               static J create() {
-                       J j = new J();
-                       j.init();
-                       return j;
-               }
-
-               private void init() {
-                       j2 = new J2("2");
-               }
-
-               public class J2 {
-                       int a2;
-
-                       public J2(String arg) {
-                               this.a2 = Integer.parseInt(arg);
-                       }
-
-                       @Override /* Object */
-                       public String toString() {
-                               return String.valueOf(a2);
-                       }
-               }
-       }
-
-       
//====================================================================================================
-       // testBeanPropertyPrecedence
-       
//====================================================================================================
-       @Test
-       public void testBeanPropertyPrecedence() throws Exception {
-               K t = K.create();
-               t = roundTrip(t, K.class);
-       }
-       public static enum KEnum { FOO, BAR, BAZ }
-
-       public static class K {
-               private KEnum a, b, c;
-
-               static K create() {
-                       K t = new K();
-                       t.a = KEnum.FOO;
-                       t.b = KEnum.BAR;
-                       t.c = KEnum.BAZ;
-                       return t;
-               }
-
-               @BeanIgnore
-               public KEnum getA() {
-                       return KEnum.FOO;
-               }
-
-               @BeanProperty(name="a")
-               public String getA2() {
-                       return a.toString();
-               }
-
-               // This method should not be interpreted as the setter for this
-               // property because it doesn't match the getter return type 
above.
-               public void setA(KEnum a) {
-                       throw new RuntimeException("Should not be called!");
-               }
-
-               public void setA(String a) {
-                       this.a = KEnum.valueOf(a);
-               }
-
-               public KEnum getB() {
-                       return b;
-               }
-
-               public void setB(String b) {
-                       throw new RuntimeException("Should not be called!");
-               }
-
-               public void setB(Object b) {
-                       throw new RuntimeException("Should not be called!");
-               }
-
-               public void setB(KEnum b) {
-                       this.b = b;
-               }
-
-               public KEnum getC() {
-                       return c;
-               }
-
-               public void setC(KEnum c) {
-                       this.c = c;
-               }
-
-               public void setC(String c) {
-                       throw new RuntimeException("Should not be called!");
-               }
-
-               public void setC(Object c) {
-                       throw new RuntimeException("Should not be called!");
-               }
-       }
-
-       
//====================================================================================================
-       // testWrapperAttrAnnotationOnBean
-       
//====================================================================================================
-       @Test
-       public void testWrapperAttrAnnotationOnBean() throws Exception {
-               L t = L.create();
-               t = roundTrip(t, L.class);
-
-               Map<String,L> m = new LinkedHashMap<String,L>();
-               m.put("bar", L.create());
-               roundTripMap(m, LinkedHashMap.class, String.class, L.class);
-       }
-
-       @Json(wrapperAttr="foo")
-       public static class L {
-               public int f1;
-
-               static L create() {
-                       L l = new L();
-                       l.f1 = 1;
-                       return l;
-               }
-       }
-
-       
//====================================================================================================
-       // testWrapperAttrAnnotationOnNonBean
-       
//====================================================================================================
-       @Test
-       public void testWrapperAttrAnnotationOnNonBean() throws Exception {
-               M t = M.create();
-               t = roundTrip(t, M.class);
-
-               Map<String,M> m = new LinkedHashMap<String,M>();
-               m.put("bar", M.create());
-               roundTripMap(m, LinkedHashMap.class, String.class, M.class);
-       }
-
-       @Json(wrapperAttr="foo")
-       public static class M {
-               int f1;
-
-               static M create() {
-                       M m = new M();
-                       m.f1 = 1;
-                       return m;
-               }
-
-               @Override /* Object */
-               public String toString() {
-                       return String.valueOf(f1);
-               }
-
-               public static M valueOf(String s) {
-                       M m = new M();
-                       m.f1 = Integer.parseInt(s);
-                       return m;
-               }
-       }
-
-       
//====================================================================================================
-       // Test parsing into top-level non-static inner classes with outer 
context.
-       
//====================================================================================================
-       @Test
-       public void testParsingIntoTopLevelNonStaticInnerClasses() throws 
Exception {
-               N n = new N(1);
-
-               if (returnOriginalObject)
-                       return;
-
-               Serializer s = getSerializer();
-               Parser p = getParser();
-
-               Object r = s.serialize(n.n2);
-               n = new N(2);
-               ParserSession session = p.createSession(r, null, null, n);
-
-               N.N2 n2 = p.parse(session, 
BeanContext.DEFAULT.getClassMeta(N.N2.class));
-
-               // The inner N2.f1 field should be the value of the outer 
object passed in through the context.
-               assertEquals(2, n2.f1);
-       }
-
-       public static class N {
-               public int f1;
-               public N2 n2;
-
-               public N(int f1) {
-                       this.f1 = f1;
-                       n2 = new N2();
-               }
-               public class N2 {
-                       private int f1 = N.this.f1;
-                       public int dummy = 1;
-               }
-       }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/df0f8689/org.apache.juneau/src/test/java/org/apache/juneau/a/rttests/CT_RoundTripClasses.java
----------------------------------------------------------------------
diff --git 
a/org.apache.juneau/src/test/java/org/apache/juneau/a/rttests/CT_RoundTripClasses.java
 
b/org.apache.juneau/src/test/java/org/apache/juneau/a/rttests/CT_RoundTripClasses.java
deleted file mode 100644
index ff246e3..0000000
--- 
a/org.apache.juneau/src/test/java/org/apache/juneau/a/rttests/CT_RoundTripClasses.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/***************************************************************************************************************************
- * 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.
- 
***************************************************************************************************************************/
-package org.apache.juneau.a.rttests;
-
-import static org.apache.juneau.TestUtils.*;
-import static org.junit.Assert.*;
-
-import java.util.*;
-
-import org.apache.juneau.parser.*;
-import org.apache.juneau.serializer.*;
-import org.junit.*;
-
-/**
- * Tests designed to serialize and parse objects to make sure we end up
- * with the same objects for all serializers and parsers.
- */
-public class CT_RoundTripClasses extends RoundTripTest {
-
-       public CT_RoundTripClasses(String label, Serializer s, Parser p, int 
flags) throws Exception {
-               super(label, s, p, flags);
-       }
-
-       @SuppressWarnings("serial")
-       @Test
-       public void classObjects() throws Exception {
-               Object o = String.class;
-               o = roundTrip(o);
-               assertTrue(o == String.class);
-
-               o = new Class[]{String.class};
-               o = roundTrip(o);
-               assertObjectEquals("['java.lang.String']", o);
-
-               o = new 
LinkedList<Class<?>>(){{add(String.class);add(Integer.class);}};
-               o = roundTrip(o);
-               assertObjectEquals("['java.lang.String','java.lang.Integer']", 
o);
-
-               o = new 
LinkedHashMap<Class<?>,Class<?>>(){{put(String.class,String.class);}};
-               o = roundTrip(o);
-               assertObjectEquals("{'java.lang.String':'java.lang.String'}", 
o);
-       }
-}

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/df0f8689/org.apache.juneau/src/test/java/org/apache/juneau/a/rttests/CT_RoundTripDTOs.java
----------------------------------------------------------------------
diff --git 
a/org.apache.juneau/src/test/java/org/apache/juneau/a/rttests/CT_RoundTripDTOs.java
 
b/org.apache.juneau/src/test/java/org/apache/juneau/a/rttests/CT_RoundTripDTOs.java
deleted file mode 100755
index 8e10888..0000000
--- 
a/org.apache.juneau/src/test/java/org/apache/juneau/a/rttests/CT_RoundTripDTOs.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/***************************************************************************************************************************
- * 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.
- 
***************************************************************************************************************************/
-package org.apache.juneau.a.rttests;
-
-import static org.apache.juneau.TestUtils.*;
-
-import org.apache.juneau.dto.jsonschema.*;
-import org.apache.juneau.parser.*;
-import org.apache.juneau.serializer.*;
-import org.junit.*;
-
-
-/**
- * Tests designed to serialize and parse objects to make sure we end up
- * with the same objects for all serializers and parsers.
- */
-@SuppressWarnings("hiding")
-public class CT_RoundTripDTOs extends RoundTripTest {
-
-       public CT_RoundTripDTOs(String label, Serializer s, Parser p, int 
flags) throws Exception {
-               super(label, s, p, flags);
-       }
-
-       
//====================================================================================================
-       // org.apache.juneau.test.dto.jsonschema
-       
//====================================================================================================
-       @Test
-       public void testJsonSchema1() throws Exception {
-               Schema s = CT_JsonSchema.getTest1();
-               Schema s2 = roundTrip(s, Schema.class);
-               assertEqualObjects(s, s2);
-       }
-
-       @Test
-       public void testJsonSchema2() throws Exception {
-               Schema s = CT_JsonSchema.getTest2();
-               Schema s2 = roundTrip(s, Schema.class);
-               assertEqualObjects(s, s2);
-       }
-}

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/df0f8689/org.apache.juneau/src/test/java/org/apache/juneau/a/rttests/CT_RoundTripEnum.java
----------------------------------------------------------------------
diff --git 
a/org.apache.juneau/src/test/java/org/apache/juneau/a/rttests/CT_RoundTripEnum.java
 
b/org.apache.juneau/src/test/java/org/apache/juneau/a/rttests/CT_RoundTripEnum.java
deleted file mode 100755
index 3311809..0000000
--- 
a/org.apache.juneau/src/test/java/org/apache/juneau/a/rttests/CT_RoundTripEnum.java
+++ /dev/null
@@ -1,246 +0,0 @@
-/***************************************************************************************************************************
- * 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.
- 
***************************************************************************************************************************/
-package org.apache.juneau.a.rttests;
-
-import static org.apache.juneau.TestUtils.*;
-import static org.junit.Assert.*;
-
-import java.util.*;
-
-import org.apache.juneau.json.*;
-import org.apache.juneau.parser.*;
-import org.apache.juneau.serializer.*;
-import org.junit.*;
-
-/**
- * Tests designed to serialize and parse objects to make sure we end up
- * with the same objects for all serializers and parsers.
- */
-@SuppressWarnings({"hiding","serial"})
-public class CT_RoundTripEnum extends RoundTripTest {
-
-       public CT_RoundTripEnum(String label, Serializer s, Parser p, int 
flags) throws Exception {
-               super(label, s, p, flags);
-       }
-
-       
//====================================================================================================
-       // Enum object
-       
//====================================================================================================
-       @Test
-       public void testEnumA() throws Exception {
-               AEnum t = AEnum.FOO;
-               assertObjectEquals("'FOO'", t);
-               t = roundTrip(t, AEnum.class);
-               assertEquals(AEnum.FOO, t);
-       }
-
-       @Test
-       public void testEnumB() throws Exception {
-               WriterSerializer s = new 
JsonSerializer.Simple().addTransforms(getTransforms());
-               BEnum t = BEnum.FOO;
-               assertEquals("'xfoo'", s.serialize(t));
-               t = roundTrip(t, BEnum.class);
-               assertEquals(BEnum.FOO, t);
-       }
-
-       
//====================================================================================================
-       // Enum[] object
-       
//====================================================================================================
-       @Test
-       public void testEnumArrayA() throws Exception {
-               AEnum[] t = {AEnum.FOO,AEnum.BAR,null};
-               assertObjectEquals("['FOO','BAR',null]", t);
-               t = roundTrip(t, AEnum[].class);
-               assertEquals(AEnum.FOO, t[0]);
-               assertEquals(AEnum.BAR, t[1]);
-               assertNull(t[2]);
-       }
-
-       @Test
-       public void testEnumArrayB() throws Exception {
-               BEnum[] t = {BEnum.FOO,BEnum.BAR,null};
-               assertObjectEquals("['xfoo','xbar',null]", t);
-               t = roundTrip(t, BEnum[].class);
-               assertEquals(BEnum.FOO, t[0]);
-               assertEquals(BEnum.BAR, t[1]);
-               assertNull(t[2]);
-       }
-
-       
//====================================================================================================
-       // Enum[][] object
-       
//====================================================================================================
-       @Test
-       public void testEnum2dArrayA() throws Exception {
-               AEnum[][] t = {{AEnum.FOO,AEnum.BAR,null},null};
-               assertObjectEquals("[['FOO','BAR',null],null]", t);
-               t = roundTrip(t, AEnum[][].class);
-               assertEquals(AEnum.FOO, t[0][0]);
-               assertEquals(AEnum.BAR, t[0][1]);
-               assertNull(t[0][2]);
-               assertNull(t[1]);
-       }
-
-       @Test
-       public void testEnum2dArrayB() throws Exception {
-               BEnum[][] t = {{BEnum.FOO,BEnum.BAR,null},null};
-               assertObjectEquals("[['xfoo','xbar',null],null]", t);
-               t = roundTrip(t, BEnum[][].class);
-               assertEquals(BEnum.FOO, t[0][0]);
-               assertEquals(BEnum.BAR, t[0][1]);
-               assertNull(t[0][2]);
-               assertNull(t[1]);
-       }
-
-       
//====================================================================================================
-       // Bean with Enum fields
-       
//====================================================================================================
-       @Test
-       public void testBeansWithEnumA() throws Exception {
-               A t1 = new A().init(), t2;
-               t2 = roundTrip(t1, A.class);
-               assertEqualObjects(t1, t2);
-               assertEquals(AEnum.FOO, t2.f3[0]);
-               assertNull(t2.f3[1]);
-               assertEquals(AEnum.FOO, t2.f4[0][0]);
-               assertNull(t2.f4[0][1]);
-               assertNull(t2.f4[1]);
-       }
-
-       @Test
-       public void testBeansWithEnumB() throws Exception {
-               B t1 = new B().init(), t2;
-               t2 = roundTrip(t1, B.class);
-               assertEqualObjects(t1, t2);
-               assertEquals(BEnum.FOO, t2.f3[0]);
-               assertNull(t2.f3[1]);
-               assertEquals(BEnum.FOO, t2.f4[0][0]);
-               assertNull(t2.f4[0][1]);
-               assertNull(t2.f4[1]);
-       }
-
-
-       /** Normal Enum */
-       public enum AEnum {
-               FOO,BAR,BAZ
-       }
-
-       /** Enum with custom serialized values */
-       public enum BEnum {
-               FOO("xfoo"), BAR("xbar"), BAZ("xbaz");
-
-               private String val;
-
-               private BEnum(String val) {
-                       this.val = val;
-               }
-
-               @Override /* Object */
-               public String toString() {
-                       return val;
-               }
-
-               public static BEnum fromString(String val) {
-                       if (val.equals("xfoo"))
-                               return FOO;
-                       if (val.equals("xbar"))
-                               return BAR;
-                       if (val.equals("xbaz"))
-                               return BAZ;
-                       return null;
-               }
-       }
-
-       public static class A {
-
-               // Should have 'enum' attribute.
-               public AEnum f1;
-
-               private AEnum f2;
-               public AEnum getF2() {return f2;}
-               public void setF2(AEnum f2) {this.f2 = f2;}
-
-               public AEnum[] f3;
-               public AEnum[][] f4;
-
-               // Should not have 'uniqueSet' attribute.
-               public List<AEnum> f5 = new LinkedList<AEnum>();
-
-               private List<AEnum> f6 = new LinkedList<AEnum>();
-               public List<AEnum> getF6() {return f6;}
-               public void setF6(List<AEnum> f6) {this.f6 = f6;}
-
-               // Should have 'uniqueSet' attribute.
-               public Set<AEnum> f7 = new HashSet<AEnum>();
-
-               private Set<AEnum> f8 = new HashSet<AEnum>();
-               public Set<AEnum> getF8() {return f8;}
-               public void setF8(Set<AEnum> f8) {this.f8 = f8;}
-
-               public Map<AEnum,AEnum> f9 = new LinkedHashMap<AEnum,AEnum>();
-
-               public A init() {
-                       f1 = AEnum.FOO;
-                       f2 = AEnum.BAR;
-                       f3 = new AEnum[]{AEnum.FOO,null};
-                       f4 = new AEnum[][]{{AEnum.FOO,null},null};
-                       f5 = new ArrayList<AEnum>(){{add(AEnum.FOO);}};
-                       f6 = new ArrayList<AEnum>(){{add(AEnum.FOO);}};
-                       f7 = new HashSet<AEnum>(){{add(AEnum.FOO);}};
-                       f8 = new HashSet<AEnum>(){{add(AEnum.FOO);}};
-
-                       return this;
-               }
-       }
-
-       public static class B {
-
-               // Should have 'enum' attribute.
-               public BEnum f1;
-
-               private BEnum f2;
-               public BEnum getF2() {return f2;}
-               public void setF2(BEnum f2) {this.f2 = f2;}
-
-               public BEnum[] f3;
-               public BEnum[][] f4;
-
-               // Should not have 'uniqueSet' attribute.
-               public List<BEnum> f5 = new LinkedList<BEnum>();
-
-               private List<BEnum> f6 = new LinkedList<BEnum>();
-               public List<BEnum> getF6() {return f6;}
-               public void setF6(List<BEnum> f6) {this.f6 = f6;}
-
-               // Should have 'uniqueSet' attribute.
-               public Set<BEnum> f7 = new HashSet<BEnum>();
-
-               private Set<BEnum> f8 = new HashSet<BEnum>();
-               public Set<BEnum> getF8() {return f8;}
-               public void setF8(Set<BEnum> f8) {this.f8 = f8;}
-
-               public Map<BEnum,BEnum> f9 = new LinkedHashMap<BEnum,BEnum>();
-
-               public B init() {
-                       f1 = BEnum.FOO;
-                       f2 = BEnum.BAR;
-                       f3 = new BEnum[]{BEnum.FOO,null};
-                       f4 = new BEnum[][]{{BEnum.FOO,null},null};
-                       f5 = new ArrayList<BEnum>(){{add(BEnum.FOO);}};
-                       f6 = new ArrayList<BEnum>(){{add(BEnum.FOO);}};
-                       f7 = new HashSet<BEnum>(){{add(BEnum.FOO);}};
-                       f8 = new HashSet<BEnum>(){{add(BEnum.FOO);}};
-
-                       return this;
-               }
-       }
-}

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/df0f8689/org.apache.juneau/src/test/java/org/apache/juneau/a/rttests/CT_RoundTripGenerics.java
----------------------------------------------------------------------
diff --git 
a/org.apache.juneau/src/test/java/org/apache/juneau/a/rttests/CT_RoundTripGenerics.java
 
b/org.apache.juneau/src/test/java/org/apache/juneau/a/rttests/CT_RoundTripGenerics.java
deleted file mode 100755
index c0536e4..0000000
--- 
a/org.apache.juneau/src/test/java/org/apache/juneau/a/rttests/CT_RoundTripGenerics.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/***************************************************************************************************************************
- * 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.
- 
***************************************************************************************************************************/
-package org.apache.juneau.a.rttests;
-
-import static org.apache.juneau.TestUtils.*;
-import static org.junit.Assert.*;
-
-import org.apache.juneau.annotation.*;
-import org.apache.juneau.parser.*;
-import org.apache.juneau.serializer.*;
-import org.junit.*;
-
-/**
- * Tests designed to serialize and parse objects to make sure we end up
- * with the same objects for all serializers and parsers.
- */
-public class CT_RoundTripGenerics extends RoundTripTest {
-
-       public CT_RoundTripGenerics(String label, Serializer s, Parser p, int 
flags) throws Exception {
-               super(label, s, p, flags);
-       }
-
-       
//====================================================================================================
-       // testBeansWithUnboundTypeVars
-       
//====================================================================================================
-       @SuppressWarnings("rawtypes")
-       @Test
-       public void testBeansWithUnboundTypeVars() throws Exception {
-
-               if (returnOriginalObject)
-                       return;
-
-               // Unbound type variables should be interpreted as Object.
-               // During parsing, these become ObjectMaps.
-               Pair pair = new Pair<Source,Target>(new Source().init(), new 
Target().init());
-               pair = roundTrip(pair);
-               assertSortedObjectEquals("{s:{s1:'a1'},t:{t1:'b1'}}", pair);
-               assertEquals("ObjectMap", 
pair.getS().getClass().getSimpleName());
-               assertEquals("ObjectMap", 
pair.getT().getClass().getSimpleName());
-
-               // If you specify a concrete class, the type variables become 
bound and
-               // the property types correctly resolve.
-               pair = roundTrip(pair, RealPair.class);
-               assertSortedObjectEquals("{s:{s1:'a1'},t:{t1:'b1'}}", pair);
-               assertEquals("Source", pair.getS().getClass().getSimpleName());
-               assertEquals("Target", pair.getT().getClass().getSimpleName());
-       }
-
-       // Class with unbound type variables.
-       @Bean(properties={"s","t"})
-       public static class Pair<S,T> {
-               private S s;
-               private T t;
-
-               public Pair() {}
-
-               public Pair(S s, T t) {
-                       this.s = s;
-                       this.t = t;
-               }
-
-               // Getters/setters
-               public S getS() { return s; }
-               public void setS(S s) { this.s = s; }
-               public T getT() { return t; }
-               public void setT(T t) { this.t = t; }
-       }
-
-       // Sublcass with bound type variables.
-       public static class RealPair extends Pair<Source,Target> {}
-
-       public static class Source {
-               public String s1;
-               public Source init() {
-                       this.s1 = "a1";
-                       return this;
-               }
-       }
-
-       public static class Target {
-               public String t1;
-               public Target init() {
-                       this.t1 = "b1";
-                       return this;
-               }
-       }
-}

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/df0f8689/org.apache.juneau/src/test/java/org/apache/juneau/a/rttests/CT_RoundTripLargeObjects.java
----------------------------------------------------------------------
diff --git 
a/org.apache.juneau/src/test/java/org/apache/juneau/a/rttests/CT_RoundTripLargeObjects.java
 
b/org.apache.juneau/src/test/java/org/apache/juneau/a/rttests/CT_RoundTripLargeObjects.java
deleted file mode 100755
index c096f58..0000000
--- 
a/org.apache.juneau/src/test/java/org/apache/juneau/a/rttests/CT_RoundTripLargeObjects.java
+++ /dev/null
@@ -1,193 +0,0 @@
-/***************************************************************************************************************************
- * 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.
- 
***************************************************************************************************************************/
-package org.apache.juneau.a.rttests;
-
-import static org.apache.juneau.a.rttests.RoundTripTest.Flags.*;
-import static org.apache.juneau.serializer.SerializerContext.*;
-import static org.apache.juneau.urlencoding.UonSerializerContext.*;
-import static org.apache.juneau.xml.XmlSerializerContext.*;
-
-import java.text.*;
-import java.util.*;
-
-import org.apache.juneau.html.*;
-import org.apache.juneau.json.*;
-import org.apache.juneau.msgpack.*;
-import org.apache.juneau.parser.*;
-import org.apache.juneau.serializer.*;
-import org.apache.juneau.urlencoding.*;
-import org.apache.juneau.xml.*;
-import org.junit.*;
-import org.junit.runners.*;
-
-/**
- * Tests designed to serialize and parse objects to make sure we end up
- * with the same objects for all serializers and parsers.
- */
-@Ignore
-@SuppressWarnings({"hiding","serial"})
-public class CT_RoundTripLargeObjects extends RoundTripTest {
-
-       private static final int NUM_RUNS = 10;
-       private static final int SIZE_PARAM = 20000;
-
-       public CT_RoundTripLargeObjects(String label, Serializer s, Parser p, 
int flags) throws Exception {
-               super(label, s, p, flags);
-       }
-
-       @Parameterized.Parameters
-       public static Collection<Object[]> getPairs() {
-               return Arrays.asList(new Object[][] {
-                       // Full round-trip testing
-                       { /* 0 */
-                               "Json DEFAULT",
-                               new 
JsonSerializer().setProperty(SERIALIZER_trimNullProperties, false),
-                               JsonParser.DEFAULT,
-                               0
-                       },
-                       { /* 1 */
-                               "Json DEFAULT_LAX",
-                               new 
JsonSerializer.Simple().setProperty(SERIALIZER_trimNullProperties, false),
-                               JsonParser.DEFAULT,
-                               0
-                       },
-                       { /* 2 */
-                               "Json DEFAULT_SQ",
-                               new 
JsonSerializer.Simple().setProperty(SERIALIZER_trimNullProperties, false),
-                               JsonParser.DEFAULT,
-                               0
-                       },
-                       { /* 3 */
-                               "Xml DEFAULT w/namespaces,validation",
-                               new 
XmlSerializer.XmlJsonSq().setProperty(SERIALIZER_trimNullProperties, 
false).setProperty(XML_addNamespaceUrisToRoot, 
true).setProperty(SERIALIZER_useIndentation, true),
-                               XmlParser.DEFAULT,
-                               CHECK_XML_WHITESPACE | VALIDATE_XML
-                       },
-                       { /* 4 */
-                               "Xml DEFAULT wo/namespaces,validation",
-                               new 
XmlSerializer.SimpleXmlJsonSq().setProperty(SERIALIZER_trimNullProperties, 
false),
-                               XmlParser.DEFAULT,
-                               CHECK_XML_WHITESPACE
-                       },
-                       { /* 5 */
-                               "Html",
-                               new 
HtmlSerializer().setProperty(SERIALIZER_trimNullProperties, false),
-                               HtmlParser.DEFAULT,
-                               CHECK_XML_WHITESPACE
-                       },
-                       { /* 6 */
-                               "UrlEncoding",
-                               new 
UrlEncodingSerializer().setProperty(SERIALIZER_trimNullProperties, 
false).setProperty(UON_simpleMode, false),
-                               UrlEncodingParser.DEFAULT,
-                               0
-                       },
-                       { /* 7 */
-                               "Uon",
-                               new 
UonSerializer().setProperty(SERIALIZER_trimNullProperties, 
false).setProperty(UON_simpleMode, false),
-                               UonParser.DEFAULT,
-                               0
-                       },
-                       { /* 8 */
-                               "MsgPack",
-                               new 
MsgPackSerializer().setProperty(SERIALIZER_trimNullProperties, 
false).setProperty(UON_simpleMode, false),
-                               MsgPackParser.DEFAULT,
-                               0
-                       },
-//                     { /* 9 */
-//                             "Rdf.Xml",
-//                             new 
RdfSerializer.Xml().setProperty(SERIALIZER_trimNullProperties, 
false).setProperty(RDF_addLiteralTypes, true),
-//                             RdfParser.DEFAULT_XML,
-//                             0
-//                     },
-//                     { /* 10 */
-//                             "Rdf.XmlAbbrev",
-//                             new 
RdfSerializer.XmlAbbrev().setProperty(SERIALIZER_trimNullProperties, 
false).setProperty(RDF_addLiteralTypes, true),
-//                             RdfParser.DEFAULT_XML,
-//                             0
-//                     },
-//                     { /* 11 */
-//                             "Rdf.Turtle",
-//                             new 
RdfSerializer.Turtle().setProperty(SERIALIZER_trimNullProperties, 
false).setProperty(RDF_addLiteralTypes, true),
-//                             RdfParser.DEFAULT_TURTLE,
-//                             0
-//                     },
-//                     { /* 12 */
-//                             "Rdf.NTriple",
-//                             new 
RdfSerializer.NTriple().setProperty(SERIALIZER_trimNullProperties, 
false).setProperty(RDF_addLiteralTypes, true),
-//                             RdfParser.DEFAULT_NTRIPLE,
-//                             0
-//                     },
-//                     { /* 13 */
-//                             "Rdf.N3",
-//                             new 
RdfSerializer.N3().setProperty(SERIALIZER_trimNullProperties, 
false).setProperty(RDF_addLiteralTypes, true),
-//                             RdfParser.DEFAULT_N3,
-//                             0
-//                     },
-               });
-       }
-
-       
//====================================================================================================
-       // test
-       
//====================================================================================================
-       @Test
-       public void testLargeMap() throws Exception {
-               long startTime;
-               int numRuns = NUM_RUNS;
-
-               A a = A.create();
-               Serializer s = getSerializer();
-               Parser p = getParser();
-               System.err.println("\n---Speed test on " + label + "---");
-               Object r = "";
-
-               // Initialization run.
-               r = s.serialize(a);
-               System.err.println(MessageFormat.format("Serialized size: 
{0,number} ", (r instanceof String ? r.toString().length() : 
((byte[])r).length)));
-               p.parse(r, A.class);
-
-               startTime = System.currentTimeMillis();
-               for (int i = 0; i < numRuns; i++)
-                       r = s.serialize(a);
-               System.err.println(MessageFormat.format("Average serialize 
time: {0,number}ms", (System.currentTimeMillis()-startTime)/numRuns));
-               startTime = System.currentTimeMillis();
-               for (int i = 0; i < numRuns; i++)
-                       a = p.parse(r, A.class);
-               System.err.println(MessageFormat.format("Average parsed time: 
{0,number}ms", (System.currentTimeMillis()-startTime)/numRuns));
-       }
-
-       public static class A {
-               public A1Map a1Map;
-               public A1List a1List;
-               public A1[] a1Array;
-
-               static A create() {
-                       A a = new A();
-                       a.a1Map = new A1Map();
-                       a.a1List = new A1List();
-                       for (int i = 0; i < SIZE_PARAM; i++) {
-                               a.a1Map.put(String.valueOf(i), new A1());
-                               a.a1List.add(new A1());
-                       }
-                       a.a1Array = a.a1List.toArray(new A1[0]);
-                       return a;
-               }
-       }
-
-       public static class A1 {
-               public String f1 = 
"a123456789b123456789c123456789d123456789e123456789f123456789g123456789h123456789i123456789j123456789";
-       }
-
-       public static class A1Map extends LinkedHashMap<String,A1> {}
-
-       public static class A1List extends LinkedList<A1> {}
-}

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/df0f8689/org.apache.juneau/src/test/java/org/apache/juneau/a/rttests/CT_RoundTripMaps.java
----------------------------------------------------------------------
diff --git 
a/org.apache.juneau/src/test/java/org/apache/juneau/a/rttests/CT_RoundTripMaps.java
 
b/org.apache.juneau/src/test/java/org/apache/juneau/a/rttests/CT_RoundTripMaps.java
deleted file mode 100755
index 82b2479..0000000
--- 
a/org.apache.juneau/src/test/java/org/apache/juneau/a/rttests/CT_RoundTripMaps.java
+++ /dev/null
@@ -1,215 +0,0 @@
-/***************************************************************************************************************************
- * 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.
- 
***************************************************************************************************************************/
-package org.apache.juneau.a.rttests;
-
-import static org.apache.juneau.serializer.SerializerContext.*;
-import static org.junit.Assert.*;
-
-import java.util.*;
-
-import org.apache.juneau.html.*;
-import org.apache.juneau.json.*;
-import org.apache.juneau.parser.*;
-import org.apache.juneau.serializer.*;
-import org.apache.juneau.transforms.*;
-import org.apache.juneau.urlencoding.*;
-import org.apache.juneau.xml.*;
-import org.junit.*;
-
-
-
-/**
- * Tests designed to serialize and parse objects to make sure we end up
- * with the same objects for all serializers and parsers.
- */
-@SuppressWarnings({"unchecked","deprecation"})
-public class CT_RoundTripMaps extends RoundTripTest {
-
-       public CT_RoundTripMaps(String label, Serializer s, Parser p, int 
flags) throws Exception {
-               super(label, s, p, flags);
-       }
-
-       @Override /* RoundTripTest */
-       public Class<?>[] getTransforms() {
-               return new Class<?>[]{
-                       ByteArrayBase64Transform.class,
-                       DateTransform.ISO8601DTZ.class,
-                       CalendarLongTransform.class,
-               };
-       }
-
-       
//====================================================================================================
-       // Map<Integer,String> test
-       
//====================================================================================================
-       @Test
-       public void testMapIntegerString() throws Exception {
-               Map<Integer,String> t = new TreeMap<Integer,String>();
-               t.put(1, "a");
-               t.put(2, null);
-               t = roundTripMap(t, TreeMap.class, Integer.class, String.class);
-               assertEquals("a", t.get(1));
-               assertNull(null, t.get(2));
-
-               t = new HashMap<Integer,String>();
-               t.put(1, "a");
-               t.put(2, null);
-               t.put(null, "b");
-               t = roundTripMap(t, HashMap.class, Integer.class, String.class);
-               assertEquals("a", t.get(1));
-               assertNull(t.get(2));
-               assertEquals("b", t.get(null));
-       }
-
-       
//====================================================================================================
-       // Map<Boolean,String> test
-       
//====================================================================================================
-       @Test
-       public void testMapBooleanString() throws Exception {
-               Map<Boolean,String> t = new TreeMap<Boolean,String>();
-               t.put(true, "a");
-               t.put(false, null);
-               t = roundTripMap(t, TreeMap.class, Boolean.class, String.class);
-               assertEquals("a", t.get(true));
-               assertNull(null, t.get(false));
-
-               t = new HashMap<Boolean,String>();
-               t.put(true, "a");
-               t.put(false, null);
-               t.put(null, "b");
-               t = roundTripMap(t, HashMap.class, Boolean.class, String.class);
-               assertEquals("a", t.get(true));
-               assertNull(t.get(false));
-               assertEquals("b", t.get(null));
-       }
-
-       
//====================================================================================================
-       // Map<byte[],String> test
-       
//====================================================================================================
-       @Test
-       public void testMapByteArrayString() throws Exception {
-
-               // Note, you cannot really test maps with byte[] keys since 
byte[] does not test for equality.
-               // So just test serialization.
-               String e;
-               Object r;
-
-               Map<byte[],String> t = new LinkedHashMap<byte[],String>();
-               t.put(new byte[]{1,2,3}, "a");
-               t.put(new byte[]{4,5,6}, null);
-               t.put(null, "b");
-
-               s = new 
JsonSerializer.Simple().addTransforms(getTransforms()).setProperty(SERIALIZER_trimNullProperties,
 false);
-               e = "{AQID:'a',BAUG:null,null:'b'}";
-               r = s.serialize(t);
-               assertEquals(e, r);
-
-               s = new 
XmlSerializer.SimpleXmlJsonSq().addTransforms(getTransforms()).setProperty(SERIALIZER_trimNullProperties,
 false);
-               e = "<object><AQID>a</AQID><BAUG 
nil='true'/><_x0000_>b</_x0000_></object>";
-               r = s.serialize(t);
-               assertEquals(e, r);
-
-               s = new 
HtmlSerializer.Sq().addTransforms(getTransforms()).setProperty(SERIALIZER_trimNullProperties,
 false);
-               e = "<table 
type='object'><tr><th><string>key</string></th><th><string>value</string></th></tr><tr><td><string>AQID</string></td><td><string>a</string></td></tr><tr><td><string>BAUG</string></td><td><null/></td></tr><tr><td><null/></td><td><string>b</string></td></tr></table>";
-               r = s.serialize(t);
-               assertEquals(e, r);
-
-               s = new 
UonSerializer.Encoding().addTransforms(getTransforms()).setProperty(SERIALIZER_trimNullProperties,
 false);
-               e = "$o(AQID=a,BAUG=%00,%00=b)";
-               r = s.serialize(t);
-               assertEquals(e, r);
-
-               s = new 
UrlEncodingSerializer().addTransforms(getTransforms()).setProperty(SERIALIZER_trimNullProperties,
 false);
-               e = "AQID=a&BAUG=%00&%00=b";
-               r = s.serialize(t);
-               assertEquals(e, r);
-       }
-
-       
//====================================================================================================
-       // Map<Date,String> test
-       
//====================================================================================================
-       @Test
-       public void testMapDateString() throws Exception {
-               Date td1 = new Date(1,2,3,4,5,6);
-               Date td2 = new Date(2,3,4,5,6,7);
-
-               Map<Date,String> t = new TreeMap<Date,String>();
-               t.put(td1, "a");
-               t.put(td2, null);
-               t = roundTripMap(t, TreeMap.class, Date.class, String.class);
-               assertEquals("a", t.get(td1));
-               assertNull(null, t.get(td2));
-
-               t = new HashMap<Date,String>();
-               t.put(td1, "a");
-               t.put(td2, null);
-               t.put(null, "b");
-               t = roundTripMap(t, HashMap.class, Date.class, String.class);
-               assertEquals("a", t.get(td1));
-               assertNull(t.get(td2));
-               assertEquals("b", t.get(null));
-       }
-
-       
//====================================================================================================
-       // Map<Calendar,String> test
-       
//====================================================================================================
-       @Test
-       public void testMapCalendarString() throws Exception {
-               Calendar td1 = new GregorianCalendar();
-               td1.setTime(new Date(1,2,3,4,5,6));
-               Calendar td2 = new GregorianCalendar();
-               td2.setTime(new Date(2,3,4,5,6,7));
-
-               Map<Calendar,String> t = new TreeMap<Calendar,String>();
-               t.put(td1, "a");
-               t.put(td2, null);
-               t = roundTripMap(t, TreeMap.class, GregorianCalendar.class, 
String.class);
-               assertEquals("a", t.get(td1));
-               assertNull(null, t.get(td2));
-
-               t = new HashMap<Calendar,String>();
-               t.put(td1, "a");
-               t.put(td2, null);
-               t.put(null, "b");
-               t = roundTripMap(t, HashMap.class, GregorianCalendar.class, 
String.class);
-               assertEquals("a", t.get(td1));
-               assertNull(t.get(td2));
-               assertEquals("b", t.get(null));
-       }
-
-       
//====================================================================================================
-       // Map<Enum,String> test
-       
//====================================================================================================
-       @Test
-       public void testMapEnumString() throws Exception {
-
-               Map<TestEnum,String> t = new TreeMap<TestEnum,String>();
-               t.put(TestEnum.FOO, "a");
-               t.put(TestEnum.BAR, null);
-               t = roundTripMap(t, TreeMap.class, TestEnum.class, 
String.class);
-               assertEquals("a", t.get(TestEnum.FOO));
-               assertNull(null, t.get(TestEnum.BAR));
-
-               t = new HashMap<TestEnum,String>();
-               t.put(TestEnum.FOO, "a");
-               t.put(TestEnum.BAR, null);
-               t.put(null, "b");
-               t = roundTripMap(t, HashMap.class, TestEnum.class, 
String.class);
-               assertEquals("a", t.get(TestEnum.FOO));
-               assertNull(t.get(TestEnum.BAR));
-               assertEquals("b", t.get(null));
-       }
-
-       public enum TestEnum {
-               FOO,BAR,BAZ
-       }
-}

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/df0f8689/org.apache.juneau/src/test/java/org/apache/juneau/a/rttests/CT_RoundTripNumericConstructors.java
----------------------------------------------------------------------
diff --git 
a/org.apache.juneau/src/test/java/org/apache/juneau/a/rttests/CT_RoundTripNumericConstructors.java
 
b/org.apache.juneau/src/test/java/org/apache/juneau/a/rttests/CT_RoundTripNumericConstructors.java
deleted file mode 100644
index 6780902..0000000
--- 
a/org.apache.juneau/src/test/java/org/apache/juneau/a/rttests/CT_RoundTripNumericConstructors.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/***************************************************************************************************************************
- * 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.
- 
***************************************************************************************************************************/
-package org.apache.juneau.a.rttests;
-
-import static org.apache.juneau.TestUtils.*;
-import static org.junit.Assert.*;
-
-import java.text.*;
-import java.util.*;
-
-import org.apache.juneau.dto.jsonschema.*;
-import org.apache.juneau.parser.*;
-import org.apache.juneau.serializer.*;
-import org.junit.*;
-
-
-/**
- * Tests designed to serialize and parse objects to make sure we end up
- * with the same objects for all serializers and parsers.
- */
-@SuppressWarnings("hiding")
-public class CT_RoundTripNumericConstructors extends RoundTripTest {
-
-       public CT_RoundTripNumericConstructors(String label, Serializer s, 
Parser p, int flags) throws Exception {
-               super(label, s, p, flags);
-       }
-
-       
//====================================================================================================
-       // Test parsing numbers to dates.
-       
//====================================================================================================
-       @Test
-       public void testParseNumberToDate() throws Exception {
-               if (isValidationOnly())
-                       return;
-
-               Serializer s = getSerializer();
-               Parser p = getParser();
-               Date d = new Date(100, 1, 1);
-
-               Object r = s.serialize(d.getTime());
-               Date d2 = p.parse(r, Date.class);
-               assertEquals(d.getTime(), d2.getTime());
-       }
-}

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/df0f8689/org.apache.juneau/src/test/java/org/apache/juneau/a/rttests/CT_RoundTripObjectsAsStrings.java
----------------------------------------------------------------------
diff --git 
a/org.apache.juneau/src/test/java/org/apache/juneau/a/rttests/CT_RoundTripObjectsAsStrings.java
 
b/org.apache.juneau/src/test/java/org/apache/juneau/a/rttests/CT_RoundTripObjectsAsStrings.java
deleted file mode 100755
index f244cc7..0000000
--- 
a/org.apache.juneau/src/test/java/org/apache/juneau/a/rttests/CT_RoundTripObjectsAsStrings.java
+++ /dev/null
@@ -1,272 +0,0 @@
-/***************************************************************************************************************************
- * 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.
- 
***************************************************************************************************************************/
-package org.apache.juneau.a.rttests;
-
-import static org.apache.juneau.TestUtils.*;
-import static org.junit.Assert.*;
-
-import org.apache.juneau.*;
-import org.apache.juneau.parser.*;
-import org.apache.juneau.serializer.*;
-import org.junit.*;
-
-/**
- * Tests to ensure the valueOf(String), fromString(String), parse(String), and 
parseString(String) methods
- * are used correctly by parsers.
- */
-@SuppressWarnings("unused")
-public class CT_RoundTripObjectsAsStrings extends RoundTripTest {
-
-       public CT_RoundTripObjectsAsStrings(String label, Serializer s, Parser 
p, int flags) throws Exception {
-               super(label, s, p, flags);
-       }
-
-       
//====================================================================================================
-       // testBasic
-       
//====================================================================================================
-       @Test
-       public void testBasic() throws Exception {
-               A t = new A().init();
-               t = roundTrip(t);
-               
assertObjectEquals("{a1:{f:'1'},a2:{f:'2'},a3:{f:'3'},a4:{f:'4'}}", t);
-       }
-
-       public static class A {
-               public A1 a1;
-               public A2 a2;
-               public A3 a3;
-               public A4 a4;
-
-               public A init() {
-                       a1 = new A1();
-                       a1.f = "1";
-                       a2 = new A2();
-                       a2.f = "2";
-                       a3 = new A3();
-                       a3.f = "3";
-                       a4 = new A4();
-                       a4.f = "4";
-                       return this;
-               }
-       }
-
-       public static class A1 {
-               public String f;
-               public static A1 fromString(String s) {
-                       A1 x = new A1();
-                       x.f = s.substring(3);
-                       return x;
-               }
-               @Override /* Object */
-               public String toString() {
-                       return "A1-" + f;
-               }
-       }
-
-       public static class A2 {
-               public String f;
-               public static A2 valueOf(String s) {
-                       A2 x = new A2();
-                       x.f = s.substring(3);
-                       return x;
-               }
-               @Override /* Object */
-               public String toString() {
-                       return "A2-" + f;
-               }
-       }
-
-       public static class A3 {
-               public String f;
-               public static A3 parse(String s) {
-                       A3 x = new A3();
-                       x.f = s.substring(3);
-                       return x;
-               }
-               @Override /* Object */
-               public String toString() {
-                       return "A3-" + f;
-               }
-       }
-
-       public static class A4 {
-               public String f;
-               public static A4 parseString(String s) {
-                       A4 x = new A4();
-                       x.f = s.substring(3);
-                       return x;
-               }
-               @Override /* Object */
-               public String toString() {
-                       return "A4-" + f;
-               }
-       }
-
-       
//====================================================================================================
-       // testEnumWithOverriddenStringValue
-       // The B1 enum should serialize as "X1" but the B2 enum should 
serialize as "X-1".
-       
//====================================================================================================
-       @Test
-       public void testEnumWithOverriddenStringValue() throws Exception {
-               B t = new B().init();
-               if (! returnOriginalObject) {
-                       Object r = getSerializer().serialize(t);
-                       assertTrue(TestUtils.toString(r).contains("X-2"));
-               }
-               t = roundTrip(t);
-               assertObjectEquals("{b1:'X1',b2:'X-2'}", t);
-       }
-
-       public static class B {
-               public B1 b1;
-               public B2 b2;
-
-               public B init() {
-                       b1 = B1.X1;
-                       b2 = B2.X2;
-                       return this;
-               }
-
-       }
-
-       public static enum B1 {
-               X1(1),
-               X2(2),
-               X3(3);
-
-               private int i;
-               B1(int i) {
-                       this.i = i;
-               }
-       }
-
-       public static enum B2 {
-               X1(1),
-               X2(2),
-               X3(3);
-
-               private int i;
-               B2(int i) {
-                       this.i = i;
-               }
-
-               @Override /* Object */
-               public String toString() {
-                       return "X-" + i;
-               }
-
-               public static B2 fromString(String s) {
-                       return valueOf("X" + s.substring(2));
-               }
-       }
-
-       
//====================================================================================================
-       // testMethodOrdering
-       
//====================================================================================================
-       @Test
-       public void testOrdering() throws Exception {
-               C t = new C().init();
-               t = roundTrip(t);
-               
assertObjectEquals("{c1:{f:'1'},c2:{f:'2'},c3:{f:'3'},c4:{f:'4'}}", t);
-       }
-
-       public static class C {
-               public C1 c1;
-               public C2 c2;
-               public C3 c3;
-               public C4 c4;
-
-               public C init() {
-                       c1 = new C1();
-                       c1.f = "1";
-                       c2 = new C2();
-                       c2.f = "2";
-                       c3 = new C3();
-                       c3.f = "3";
-                       c4 = new C4();
-                       c4.f = "4";
-                       return this;
-               }
-       }
-
-       public static class C1 {
-               public String f;
-               public static C2 valueOf(String s) {
-                       throw new RuntimeException("Shouldn't be called!");
-               }
-               public static C2 parse(String s) {
-                       throw new RuntimeException("Shouldn't be called!");
-               }
-               public static C2 parseString(String s) {
-                       throw new RuntimeException("Shouldn't be called!");
-               }
-               public static C1 fromString(String s) {
-                       C1 x = new C1();
-                       x.f = s.substring(3);
-                       return x;
-               }
-
-               @Override /* Object */
-               public String toString() {
-                       return "C1-" + f;
-               }
-       }
-
-       public static class C2 {
-               public String f;
-               public static C2 parse(String s) {
-                       throw new RuntimeException("Shouldn't be called!");
-               }
-               public static C2 parseString(String s) {
-                       throw new RuntimeException("Shouldn't be called!");
-               }
-               public static C2 valueOf(String s) {
-                       C2 x = new C2();
-                       x.f = s.substring(3);
-                       return x;
-               }
-               @Override /* Object */
-               public String toString() {
-                       return "C2-" + f;
-               }
-       }
-
-       public static class C3 {
-               public String f;
-               public static C2 parseString(String s) {
-                       throw new RuntimeException("Shouldn't be called!");
-               }
-               public static C3 parse(String s) {
-                       C3 x = new C3();
-                       x.f = s.substring(3);
-                       return x;
-               }
-               @Override /* Object */
-               public String toString() {
-                       return "C3-" + f;
-               }
-       }
-
-       public static class C4 {
-               public String f;
-               public static C4 parseString(String s) {
-                       C4 x = new C4();
-                       x.f = s.substring(3);
-                       return x;
-               }
-               @Override /* Object */
-               public String toString() {
-                       return "C4" + f;
-               }
-       }
-}

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/df0f8689/org.apache.juneau/src/test/java/org/apache/juneau/a/rttests/CT_RoundTripObjectsWithSpecialMethods.java
----------------------------------------------------------------------
diff --git 
a/org.apache.juneau/src/test/java/org/apache/juneau/a/rttests/CT_RoundTripObjectsWithSpecialMethods.java
 
b/org.apache.juneau/src/test/java/org/apache/juneau/a/rttests/CT_RoundTripObjectsWithSpecialMethods.java
deleted file mode 100755
index 0cd8df2..0000000
--- 
a/org.apache.juneau/src/test/java/org/apache/juneau/a/rttests/CT_RoundTripObjectsWithSpecialMethods.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/***************************************************************************************************************************
- * 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.
- 
***************************************************************************************************************************/
-package org.apache.juneau.a.rttests;
-
-import static org.apache.juneau.TestUtils.*;
-import static org.junit.Assert.*;
-
-import java.util.*;
-
-import org.apache.juneau.annotation.*;
-import org.apache.juneau.json.*;
-import org.apache.juneau.parser.*;
-import org.apache.juneau.serializer.*;
-import org.junit.*;
-
-
-
-/**
- * Tests designed to serialize and parse objects to make sure we end up
- * with the same objects for all serializers and parsers.
- */
-public class CT_RoundTripObjectsWithSpecialMethods extends RoundTripTest {
-
-       public CT_RoundTripObjectsWithSpecialMethods(String label, Serializer 
s, Parser p, int flags) throws Exception {
-               super(label, s, p, flags);
-       }
-
-       
//====================================================================================================
-       // @NameProperty method.
-       
//====================================================================================================
-       @Test
-       public void testNameProperty() throws Exception {
-               A t = new A().init();
-               t = roundTrip(t);
-               assertObjectEquals("{a2:{f2:2},m:{k1:{f2:2}}}", t);
-               if (isValidationOnly())
-                       return;
-               assertEquals("a2", t.a2.name);
-               assertEquals("k1", t.m.get("k1").name);
-       }
-
-       public static class A {
-               public A2 a2;
-               public Map<String,A2> m;
-
-               A init() {
-                       a2 = new A2().init();
-                       m = new LinkedHashMap<String,A2>();
-                       m.put("k1", new A2().init());
-                       return this;
-               }
-
-       }
-       public static class A2 {
-               String name;
-               public int f2;
-
-               @NameProperty
-               protected void setName(String name) {
-                       this.name = name;
-               }
-
-               A2 init() {
-                       f2 = 2;
-                       return this;
-               }
-       }
-
-       
//====================================================================================================
-       // @ParentProperty method.
-       
//====================================================================================================
-       @Test
-       public void testParentProperty() throws Exception {
-               B t = new B().init();
-               t = roundTrip(t);
-               if (isValidationOnly())
-                       return;
-               assertEquals(t.f1, t.b2.parent.f1);
-       }
-
-       public static class B {
-               public int f1;
-               public B2 b2;
-
-               B init() {
-                       f1 = 1;
-                       b2 = new B2().init();
-                       return this;
-               }
-
-       }
-       public static class B2 {
-               B parent;
-               public int f2;
-
-               @ParentProperty
-               protected void setParent(B parent) {
-                       this.parent = parent;
-               }
-
-               B2 init() {
-                       f2 = 2;
-                       return this;
-               }
-       }
-}

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/df0f8689/org.apache.juneau/src/test/java/org/apache/juneau/a/rttests/CT_RoundTripPrimitiveObjectBeans.java
----------------------------------------------------------------------
diff --git 
a/org.apache.juneau/src/test/java/org/apache/juneau/a/rttests/CT_RoundTripPrimitiveObjectBeans.java
 
b/org.apache.juneau/src/test/java/org/apache/juneau/a/rttests/CT_RoundTripPrimitiveObjectBeans.java
deleted file mode 100755
index f0dc2b3..0000000
--- 
a/org.apache.juneau/src/test/java/org/apache/juneau/a/rttests/CT_RoundTripPrimitiveObjectBeans.java
+++ /dev/null
@@ -1,197 +0,0 @@
-/***************************************************************************************************************************
- * 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.
- 
***************************************************************************************************************************/
-package org.apache.juneau.a.rttests;
-
-import static org.junit.Assert.*;
-
-import org.apache.juneau.jena.*;
-import org.apache.juneau.parser.*;
-import org.apache.juneau.serializer.*;
-import org.apache.juneau.testbeans.*;
-import org.junit.*;
-
-/**
- * Tests designed to serialize and parse objects to make sure we end up
- * with the same objects for all serializers and parsers.
- */
-public class CT_RoundTripPrimitiveObjectBeans extends RoundTripTest {
-
-       public CT_RoundTripPrimitiveObjectBeans(String label, Serializer s, 
Parser p, int flags) throws Exception {
-               super(label, s, p, flags);
-       }
-
-       
//====================================================================================================
-       // testPrimitiveObjectsBean
-       
//====================================================================================================
-       @Test
-       public void testPrimitiveObjectsBean() throws Exception {
-               PrimitiveObjectsBean t = new PrimitiveObjectsBean().init();
-               t = roundTrip(t, PrimitiveObjectsBean.class);
-               t = roundTrip(t, PrimitiveObjectsBean.class);
-
-               // primitives
-               assertEquals(Boolean.valueOf(true), t.poBoolean);
-               assertEquals(Byte.valueOf((byte)1), t.poByte);
-               assertEquals(Character.valueOf('a'), t.poChar);
-               assertEquals(Short.valueOf("2"), t.poShort);
-               assertEquals(Integer.valueOf(3), t.poInt);
-               assertEquals(Long.valueOf(4), t.poLong);
-               assertEquals(Float.valueOf(5), t.poFloat);
-               assertEquals(Double.valueOf(6), t.poDouble);
-               assertEquals(Integer.valueOf(7), t.poNumber);
-               assertEquals(8, t.poBigInteger.intValue());
-               assertTrue(t.poBigDecimal.floatValue() == 9f);
-
-               // uninitialized primitives
-               assertNull(t.pouBoolean);
-               assertNull(t.pouByte);
-               assertNull(t.pouChar);
-               assertNull(t.pouShort);
-               assertNull(t.pouInt);
-               assertNull(t.pouLong);
-               assertNull(t.pouFloat);
-               assertNull(t.pouDouble);
-               assertNull(t.pouNumber);
-               assertNull(t.pouBigInteger);
-               assertNull(t.pouBigDecimal);
-
-               // primitive arrays
-               assertEquals(Boolean.valueOf(false), t.poaBoolean[1][0]);
-               assertEquals(Byte.valueOf((byte)2), t.poaByte[1][0]);
-               assertEquals(Character.valueOf('b'), t.poaChar[1][0]);
-               assertEquals(Short.valueOf("2"), t.poaShort[1][0]);
-               assertEquals(Integer.valueOf(2), t.poaInt[1][0]);
-               assertEquals(Long.valueOf(2), t.poaLong[1][0]);
-               assertEquals(Float.valueOf(2), t.poaFloat[1][0]);
-               assertEquals(Double.valueOf(2), t.poaDouble[1][0]);
-               assertEquals(Integer.valueOf(2), t.poaNumber[1][0]);
-               assertEquals(2, t.poaBigInteger[1][0].intValue());
-               assertEquals(2, t.poaBigDecimal[1][0].intValue());
-               assertNull(t.poaBoolean[2]);
-               assertNull(t.poaByte[2]);
-               assertNull(t.poaChar[2]);
-               assertNull(t.poaShort[2]);
-               assertNull(t.poaInt[2]);
-               assertNull(t.poaLong[2]);
-               assertNull(t.poaFloat[2]);
-               assertNull(t.poaDouble[2]);
-               assertNull(t.poaNumber[2]);
-               assertNull(t.poaBigInteger[2]);
-               assertNull(t.poaBigDecimal[2]);
-
-               // uninitialized primitive arrays
-               assertNull(t.poauBoolean);
-               assertNull(t.poauByte);
-               assertNull(t.poauChar);
-               assertNull(t.poauShort);
-               assertNull(t.poauInt);
-               assertNull(t.poauLong);
-               assertNull(t.poauFloat);
-               assertNull(t.poauDouble);
-               assertNull(t.poauNumber);
-               assertNull(t.poauBigInteger);
-               assertNull(t.poauBigDecimal);
-
-               // anonymous list of object primitive arrays
-               assertEquals(Boolean.valueOf(true), t.poalBoolean.get(0)[0]);
-               assertEquals(Byte.valueOf((byte)1), t.poalByte.get(0)[0]);
-               assertEquals(Character.valueOf('a'), t.poalChar.get(0)[0]);
-               assertEquals(Short.valueOf((short)1), t.poalShort.get(0)[0]);
-               assertEquals(Integer.valueOf(1), t.poalInt.get(0)[0]);
-               assertEquals(Long.valueOf(1l), t.poalLong.get(0)[0]);
-               assertEquals(Float.valueOf(1f), t.poalFloat.get(0)[0]);
-               assertEquals(Double.valueOf(1d), t.poalDouble.get(0)[0]);
-               assertEquals(1, t.poalBigInteger.get(0)[0].intValue());
-               assertEquals(1, t.poalBigDecimal.get(0)[0].intValue());
-               assertNull(t.poalBoolean.get(1));
-               assertNull(t.poalByte.get(1));
-               assertNull(t.poalChar.get(1));
-               assertNull(t.poalShort.get(1));
-               assertNull(t.poalInt.get(1));
-               assertNull(t.poalLong.get(1));
-               assertNull(t.poalFloat.get(1));
-               assertNull(t.poalDouble.get(1));
-               assertNull(t.poalNumber.get(1));
-               assertNull(t.poalBigInteger.get(1));
-               assertNull(t.poalBigDecimal.get(1));
-
-               // regular list of object primitive arrays
-               assertEquals(Boolean.valueOf(true), t.polBoolean.get(0)[0]);
-               assertEquals(Byte.valueOf((byte)1), t.polByte.get(0)[0]);
-               assertEquals(Character.valueOf('a'), t.polChar.get(0)[0]);
-               assertEquals(Short.valueOf((short)1), t.polShort.get(0)[0]);
-               assertEquals(Integer.valueOf(1), t.polInt.get(0)[0]);
-               assertEquals(Long.valueOf(1l), t.polLong.get(0)[0]);
-               assertEquals(Float.valueOf(1f), t.polFloat.get(0)[0]);
-               assertEquals(Double.valueOf(1d), t.polDouble.get(0)[0]);
-               assertEquals(1, t.polBigInteger.get(0)[0].intValue());
-               assertEquals(1, t.polBigDecimal.get(0)[0].intValue());
-               assertNull(t.polBoolean.get(1));
-               assertNull(t.polByte.get(1));
-               assertNull(t.polChar.get(1));
-               assertNull(t.polShort.get(1));
-               assertNull(t.polInt.get(1));
-               assertNull(t.polLong.get(1));
-               assertNull(t.polFloat.get(1));
-               assertNull(t.polDouble.get(1));
-               assertNull(t.polNumber.get(1));
-               assertNull(t.polBigInteger.get(1));
-               assertNull(t.polBigDecimal.get(1));
-       }
-
-       
//====================================================================================================
-       // testPrimitiveAtomicObjectsBean
-       
//====================================================================================================
-       @Test
-       public void testPrimitiveAtomicObjectsBean() throws Exception {
-
-               // Jena does not support parsing into AtomicIntegers and 
AtomicLongs.
-               if (getSerializer() instanceof RdfSerializer)
-                       return;
-
-               PrimitiveAtomicObjectsBean t = new 
PrimitiveAtomicObjectsBean().init();
-               t = roundTrip(t, PrimitiveAtomicObjectsBean.class);
-               t = roundTrip(t, PrimitiveAtomicObjectsBean.class);
-
-               // primitives
-               assertEquals(1, t.poAtomicInteger.intValue());
-               assertEquals(2, t.poAtomicLong.intValue());
-
-               // uninitialized primitives
-               assertNull(t.pouAtomicInteger);
-               assertNull(t.pouAtomicLong);
-
-               // primitive arrays
-               assertEquals(2, t.poaAtomicInteger[1][0].intValue());
-               assertEquals(2, t.poaAtomicLong[1][0].intValue());
-               assertNull(t.poaAtomicInteger[2]);
-               assertNull(t.poaAtomicLong[2]);
-
-               // uninitialized primitive arrays
-               assertNull(t.poauAtomicInteger);
-               assertNull(t.poauAtomicLong);
-
-               // anonymous list of object primitive arrays
-               assertEquals(1, t.poalAtomicInteger.get(0)[0].intValue());
-               assertEquals(1, t.poalAtomicLong.get(0)[0].intValue());
-               assertNull(t.poalAtomicInteger.get(1));
-               assertNull(t.poalAtomicLong.get(1));
-
-               // regular list of object primitive arrays
-               assertEquals(1, t.polAtomicInteger.get(0)[0].intValue());
-               assertEquals(1, t.polAtomicLong.get(0)[0].intValue());
-               assertNull(t.polAtomicInteger.get(1));
-               assertNull(t.polAtomicLong.get(1));
-       }
-
-}

Reply via email to