You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@juneau.apache.org by ja...@apache.org on 2016/08/09 17:15:46 UTC
[25/44] incubator-juneau git commit: Rename CT_* testcases.
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));
- }
-
-}