You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@juneau.apache.org by ja...@apache.org on 2017/09/02 14:11:56 UTC
[40/51] [partial] incubator-juneau git commit: Add project
hierarchies, part 2.
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/ab15d45b/juneau-core-test/src/test/java/org/apache/juneau/a/rttests/RoundTripSimpleObjectsTest.java
----------------------------------------------------------------------
diff --git a/juneau-core-test/src/test/java/org/apache/juneau/a/rttests/RoundTripSimpleObjectsTest.java b/juneau-core-test/src/test/java/org/apache/juneau/a/rttests/RoundTripSimpleObjectsTest.java
deleted file mode 100755
index d3339a8..0000000
--- a/juneau-core-test/src/test/java/org/apache/juneau/a/rttests/RoundTripSimpleObjectsTest.java
+++ /dev/null
@@ -1,750 +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 java.util.*;
-
-import org.apache.juneau.*;
-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({"unchecked","rawtypes","javadoc"})
-public class RoundTripSimpleObjectsTest extends RoundTripTest {
-
- public RoundTripSimpleObjectsTest(String label, SerializerBuilder s, ParserBuilder p, int flags) throws Exception {
- super(label, s, p, flags);
- }
-
- //====================================================================================================
- // testNull
- //====================================================================================================
- @Test
- public void testNull() throws Exception {
- String t = null;
- t = roundTrip(t);
- assertNull(t);
- }
-
- //====================================================================================================
- // testString
- //====================================================================================================
- @Test
- public void testString() throws Exception {
- String t = "foobar";
- t = roundTrip(t);
- assertEquals("foobar", t);
- t = "";
- t = roundTrip(t);
- assertEquals("", t);
- }
-
- //====================================================================================================
- // testStringArray
- //====================================================================================================
- @Test
- public void testStringArray() throws Exception {
- String[] t = {"foo", null, "null", ""};
- t = roundTrip(t, String[].class);
- assertEquals("foo", t[0]);
- assertNull(t[1]);
- assertEquals("null", t[2]);
- assertEquals("", t[3]);
- }
-
- //====================================================================================================
- // testString2dArray
- //====================================================================================================
- @Test
- public void testString2dArray() throws Exception {
- String[][] t = {{"foo", null, "null", ""},null};
- t = roundTrip(t, String[][].class);
- assertEquals("foo", t[0][0]);
- assertNull(t[0][1]);
- assertEquals("null", t[0][2]);
- assertEquals("", t[0][3]);
- assertNull(t[1]);
- }
-
- //====================================================================================================
- // testInt
- //====================================================================================================
- @Test
- public void testInt() throws Exception {
- int t = 123;
- t = roundTrip(t);
- assertEquals(123, t);
- }
-
- //====================================================================================================
- // testIntArray
- //====================================================================================================
- @Test
- public void testIntArray() throws Exception {
- int[] t = roundTrip(new int[]{1,2,3}, int[].class);
- assertEquals(1, t[0]);
- assertEquals(2, t[1]);
- assertEquals(3, t[2]);
- }
-
- //====================================================================================================
- // testInt2dArray
- //====================================================================================================
- @Test
- public void testInt2dArray() throws Exception {
- int[][] t = {{1,2,3},null};
- t = roundTrip(t, int[][].class);
- assertEquals(1, t[0][0]);
- assertEquals(2, t[0][1]);
- assertEquals(3, t[0][2]);
- assertNull(t[1]);
- }
-
- //====================================================================================================
- // testInt3dArray
- //====================================================================================================
- @Test
- public void testInt3dArray() throws Exception {
- int[][][] t = {{{1,2,3},{4,5,6},null},null};
- t = roundTrip(t, int[][][].class);
- assertEquals(1, t[0][0][0]);
- assertEquals(2, t[0][0][1]);
- assertEquals(3, t[0][0][2]);
- assertEquals(4, t[0][1][0]);
- assertEquals(5, t[0][1][1]);
- assertEquals(6, t[0][1][2]);
- assertNull(t[0][2]);
- assertNull(t[1]);
- }
-
- //====================================================================================================
- // testBoolean
- //====================================================================================================
- @Test
- public void testBoolean() throws Exception {
- boolean t = true;
- t = roundTrip(t);
- assertTrue(t);
- t = false;
- t = roundTrip(t);
- assertFalse(t);
- }
-
- //====================================================================================================
- // testBooleanArray
- //====================================================================================================
- @Test
- public void testBooleanArray() throws Exception {
- boolean[] t = {true,false};
- t = roundTrip(t, boolean[].class);
- assertTrue(t[0]);
- assertFalse(t[1]);
- }
-
- //====================================================================================================
- // testBoolean2dArray
- //====================================================================================================
- @Test
- public void testBoolean2dArray() throws Exception {
- boolean[][] t = {{true,false},null};
- t = roundTrip(t, boolean[][].class);
- assertTrue(t[0][0]);
- assertFalse(t[0][1]);
- assertNull(t[1]);
- }
-
- //====================================================================================================
- // testChar
- //====================================================================================================
- @Test
- public void testChar() throws Exception {
- char t = 'a';
- t = roundTrip(t, char.class);
- assertEquals('a', t);
- }
-
- //====================================================================================================
- // testCharArray
- //====================================================================================================
- @Test
- public void testCharArray() throws Exception {
- char[] t = {'a',0};
- t = roundTrip(t, char[].class);
- assertEquals('a', t[0]);
- assertEquals(0, t[1]);
- }
-
- //====================================================================================================
- // testChar2dArray
- //====================================================================================================
- @Test
- public void testChar2dArray() throws Exception {
- char[][] t = {{'a',0},null};
- t = roundTrip(t, char[][].class);
- assertEquals('a', t[0][0]);
- assertEquals(0, t[0][1]);
- assertNull(t[1]);
- }
-
- //====================================================================================================
- // testFloat
- //====================================================================================================
- @Test
- public void testFloat() throws Exception {
- float t = 1f;
- t = roundTrip(t, float.class);
- assertEquals(1f, t, 0.1f);
- }
-
- //====================================================================================================
- // testFloatArray
- //====================================================================================================
- @Test
- public void testFloatArray() throws Exception {
- float[] t = {1f};
- t = roundTrip(t, float[].class);
- assertEquals(1f, t[0], 0.1f);
- }
-
- //====================================================================================================
- // testFloat2dArray
- //====================================================================================================
- @Test
- public void testFloat2dArray() throws Exception {
- float[][] t = {{1f},null};
- t = roundTrip(t, float[][].class);
- assertEquals(1f, t[0][0], 0.1f);
- assertNull(t[1]);
- }
-
- //====================================================================================================
- // testDouble
- //====================================================================================================
- @Test
- public void testDouble() throws Exception {
- double t = 1d;
- t = roundTrip(t, double.class);
- assertEquals(1d, t, 0.1f);
- }
-
- //====================================================================================================
- // testDoubleArray
- //====================================================================================================
- @Test
- public void testDoubleArray() throws Exception {
- double[] t = {1d};
- t = roundTrip(t, double[].class);
- assertEquals(1d, t[0], 0.1f);
- }
-
- //====================================================================================================
- // testDouble2dArray
- //====================================================================================================
- @Test
- public void testDouble2dArray() throws Exception {
- double[][] t = {{1d},null};
- t = roundTrip(t, double[][].class);
- assertEquals(1d, t[0][0], 0.1f);
- assertNull(t[1]);
- }
-
- //====================================================================================================
- // testLong
- //====================================================================================================
- @Test
- public void testLong() throws Exception {
- long t = 1l;
- t = roundTrip(t, long.class);
- assertEquals(1l, t);
- }
-
- //====================================================================================================
- // testLongArray
- //====================================================================================================
- @Test
- public void testLongArray() throws Exception {
- long[] t = {1l};
- t = roundTrip(t, long[].class);
- assertEquals(1l, t[0]);
- }
-
- //====================================================================================================
- // testLong2dArray
- //====================================================================================================
- @Test
- public void testLong2dArray() throws Exception {
- long[][] t = {{1l},null};
- t = roundTrip(t, long[][].class);
- assertEquals(1l, t[0][0]);
- assertNull(t[1]);
- }
-
- //====================================================================================================
- // testShort
- //====================================================================================================
- @Test
- public void testShort() throws Exception {
- short t = (short)1;
- t = roundTrip(t, short.class);
- assertEquals(1l, t);
- }
-
- //====================================================================================================
- // testShortArray
- //====================================================================================================
- @Test
- public void testShortArray() throws Exception {
- short[] t = {(short)1};
- t = roundTrip(t, short[].class);
- assertEquals(1l, t[0]);
- }
-
- //====================================================================================================
- // testShort2dArray
- //====================================================================================================
- @Test
- public void testShort2dArray() throws Exception {
- short[][] t = {{(short)1},null};
- t = roundTrip(t, short[][].class);
- assertEquals((short)1, t[0][0]);
- assertNull(t[1]);
- }
-
- //====================================================================================================
- // testInteger
- //====================================================================================================
- @Test
- public void testInteger() throws Exception {
- Integer t = 123;
- t = roundTrip(t, Integer.class);
- assertEquals(new Integer(123), t);
- }
-
- //====================================================================================================
- // testIntegerArray
- //====================================================================================================
- @Test
- public void testIntegerArray() throws Exception {
- Integer[] t = {123, null};
- t = roundTrip(t, Integer[].class);
- assertEquals(new Integer(123), t[0]);
- assertNull(t[1]);
- }
-
- //====================================================================================================
- // testInteger2dArray
- //====================================================================================================
- @Test
- public void testInteger2dArray() throws Exception {
- Integer[][] t = {{123,null},null};
- t = roundTrip(t, Integer[][].class);
- assertEquals(new Integer(123), t[0][0]);
- assertNull(t[0][1]);
- assertNull(t[1]);
- }
-
- //====================================================================================================
- // testInteger3dArray
- //====================================================================================================
- @Test
- public void testInteger3dArray() throws Exception {
- Integer[][][] t = {{{123,null},null},null};
- t = roundTrip(t, Integer[][][].class);
- assertEquals(new Integer(123), t[0][0][0]);
- assertNull(t[0][0][1]);
- assertNull(t[0][1]);
- assertNull(t[1]);
- }
-
- //====================================================================================================
- // testBooleanObject
- //====================================================================================================
- @Test
- public void testBooleanObject() throws Exception {
- Boolean t = Boolean.TRUE;
- t = roundTrip(t, Boolean.class);
- assertTrue(t);
- t = Boolean.FALSE;
- t = roundTrip(t, Boolean.class);
- assertFalse(t);
- }
-
- //====================================================================================================
- // testBooleanObjectArray
- //====================================================================================================
- @Test
- public void testBooleanObjectArray() throws Exception {
- Boolean[] t = {true,false,null};
- t = roundTrip(t, Boolean[].class);
- assertTrue(t[0]);
- assertFalse(t[1]);
- assertNull(t[2]);
- }
-
- //====================================================================================================
- // testBooleanObject2dArray
- //====================================================================================================
- @Test
- public void testBooleanObject2dArray() throws Exception {
- Boolean[][] t = {{true,false,null},null};
- t = roundTrip(t, Boolean[][].class);
- assertTrue(t[0][0]);
- assertFalse(t[0][1]);
- assertNull(t[0][2]);
- assertNull(t[1]);
- }
-
- //====================================================================================================
- // testCharacter
- //====================================================================================================
- @Test
- public void testCharacter() throws Exception {
- Character t = 'a';
- t = roundTrip(t, Character.class);
- assertEquals(new Character('a'), t);
- }
-
- //====================================================================================================
- // testCharacterArray
- //====================================================================================================
- @Test
- public void testCharacterArray() throws Exception {
- Character[] t = {'a',null};
- t = roundTrip(t, Character[].class);
- assertEquals(new Character('a'), t[0]);
- assertNull(t[1]);
- }
-
- //====================================================================================================
- // testCharacter2dArray
- //====================================================================================================
- @Test
- public void testCharacter2dArray() throws Exception {
- Character[][] t = {{'a',null},null};
- t = roundTrip(t, Character[][].class);
- assertEquals(new Character('a'), t[0][0]);
- assertNull(t[0][1]);
- assertNull(t[1]);
- }
-
- //====================================================================================================
- // testFloatObject
- //====================================================================================================
- @Test
- public void testFloatObject() throws Exception {
- Float t = 1f;
- t = roundTrip(t, Float.class);
- assertEquals(new Float(1f), t);
- }
-
- //====================================================================================================
- // testFloatObjectArray
- //====================================================================================================
- @Test
- public void testFloatObjectArray() throws Exception {
- Float[] t = {1f, null};
- t = roundTrip(t, Float[].class);
- assertEquals(new Float(1f), t[0]);
- assertNull(t[1]);
- }
-
- //====================================================================================================
- // testFloatObject2dArray
- //====================================================================================================
- @Test
- public void testFloatObject2dArray() throws Exception {
- Float[][] t = {{1f,null},null};
- t = roundTrip(t, Float[][].class);
- assertEquals(new Float(1f), t[0][0]);
- assertNull(t[0][1]);
- assertNull(t[1]);
- }
-
- //====================================================================================================
- // testDoubleObject
- //====================================================================================================
- @Test
- public void testDoubleObject() throws Exception {
- Double t = 1d;
- t = roundTrip(t, Double.class);
- assertEquals(new Double(1d), t);
- }
-
- //====================================================================================================
- // testDoubleObjectArray
- //====================================================================================================
- @Test
- public void testDoubleObjectArray() throws Exception {
- Double[] t = {1d,null};
- t = roundTrip(t, Double[].class);
- assertEquals(new Double(1d), t[0]);
- assertNull(t[1]);
- }
-
- //====================================================================================================
- // testDoubleObject2dArray
- //====================================================================================================
- @Test
- public void testDoubleObject2dArray() throws Exception {
- Double[][] t = {{1d,null},null};
- t = roundTrip(t, Double[][].class);
- assertEquals(new Double(1d), t[0][0]);
- assertNull(t[0][1]);
- assertNull(t[1]);
- }
-
- //====================================================================================================
- // testLongObject
- //====================================================================================================
- @Test
- public void testLongObject() throws Exception {
- Long t = 1l;
- t = roundTrip(t, Long.class);
- assertEquals(new Long(1l), t);
- }
-
- //====================================================================================================
- // testLongObjectArray
- //====================================================================================================
- @Test
- public void testLongObjectArray() throws Exception {
- Long[] t = {1l, null};
- t = roundTrip(t, Long[].class);
- assertEquals(new Long(1l), t[0]);
- assertNull(t[1]);
- }
-
- //====================================================================================================
- // testLongObject2dArray
- //====================================================================================================
- @Test
- public void testLongObject2dArray() throws Exception {
- Long[][] t = {{1l,null},null};
- t = roundTrip(t, Long[][].class);
- assertEquals(new Long(1l), t[0][0]);
- assertNull(t[0][1]);
- assertNull(t[1]);
- }
-
- //====================================================================================================
- // testShortObject
- //====================================================================================================
- @Test
- public void testShortObject() throws Exception {
- Short t = (short)1;
- t = roundTrip(t, Short.class);
- assertEquals(new Short((short)1), t);
- }
-
- //====================================================================================================
- // testShortObjectArray
- //====================================================================================================
- @Test
- public void testShortObjectArray() throws Exception {
- Short[] t = {(short)1,null};
- t = roundTrip(t, Short[].class);
- assertEquals(new Short((short)1), t[0]);
- assertNull(t[1]);
- }
-
- //====================================================================================================
- // testShortObject2dArray
- //====================================================================================================
- @Test
- public void testShortObject2dArray() throws Exception {
- Short[][] t = {{(short)1,null},null};
- t = roundTrip(t, Short[][].class);
- assertEquals(new Short((short)1), t[0][0]);
- assertNull(t[0][1]);
- assertNull(t[1]);
- }
-
- //====================================================================================================
- // testObjectMap
- //====================================================================================================
- @Test
- public void testObjectMap() throws Exception {
- ObjectMap t = new ObjectMap("{a:'b',c:123,d:false,e:null,f:[123,'abc',true,false,null]}");
- t = roundTrip(t);
- assertEquals("b", t.get("a"));
- assertEquals(123, t.get("c"));
- assertEquals(false, t.get("d"));
- assertNull(t.get("e"));
- List l = (List)t.get("f");
- assertEquals(123, l.get(0));
- assertEquals("abc", l.get(1));
- assertEquals(true, l.get(2));
- assertEquals(false, l.get(3));
- assertNull(l.get(4));
- }
-
- //====================================================================================================
- // testObjectList
- //====================================================================================================
- @Test
- public void testObjectList() throws Exception {
- ObjectList t = new ObjectList("['abc',123,true,false,null,{a:'b'}]");
- t = roundTrip(t);
- assertEquals("abc", t.get(0));
- assertEquals(123, t.get(1));
- assertEquals(true, t.get(2));
- assertEquals(false, t.get(3));
- assertNull(t.get(4));
- Map m = (Map)t.get(5);
- assertEquals("b", m.get("a"));
- }
-
- //====================================================================================================
- // testTreeMap
- //====================================================================================================
- @Test
- public void testTreeMap() throws Exception {
- TreeMap t = new TreeMap();
- t.put("a", 1);
- t.put("b", 2);
- t.put("c", 3);
- t = roundTrip(t, TreeMap.class);
- assertEquals(1, t.get("a"));
- assertEquals(2, t.get("b"));
- assertEquals(3, t.get("c"));
-
- t = new TreeMap();
- t.put("a", true);
- t.put("b", false);
- t.put("c", null);
- t.put("d", "foo");
- t.put("null", "baz");
- t.put("a\"a", "a\"a");
- t.put("b'b", "b'b");
- t.put("\"cc\"", "\"cc\"");
- t.put("'dd'", "'dd'");
- t = roundTrip(t, TreeMap.class);
- assertEquals(true, t.get("a"));
- assertEquals(false, t.get("b"));
- assertNull(t.get("c"));
- assertEquals("foo", t.get("d"));
- assertEquals("baz", t.get("null"));
- assertEquals("a\"a", t.get("a\"a"));
- assertEquals("b'b", t.get("b'b"));
- assertEquals("\"cc\"", t.get("\"cc\""));
- assertEquals("'dd'", t.get("'dd'"));
- }
-
- //====================================================================================================
- // testLinkedHashMap
- //====================================================================================================
- @Test
- public void testLinkedHashMap() throws Exception {
- LinkedHashMap t = new LinkedHashMap();
- t.put("a", true);
- t.put("b", false);
- t.put("c", null);
- t.put("d", "foo");
- t.put(null, "bar");
- t.put("null", "null");
- t.put("true", "true");
- t.put("false", "false");
- t.put("a\"a", "a\"a");
- t.put("b'b", "b'b");
- t.put("\"cc\"", "\"cc\"");
- t.put("'dd'", "'dd'");
- t.put("<ee>", "<ee>");
- t.put("<ff/>", "<ff/>");
- t.put("</gg>", "</gg>");
- t.put("<>", "<>");
- t.put("{}", "{}");
- t.put("[]", "[]");
- t.put("&", "&");
- t.put("?", "?");
- t.put("/", "/");
- t.put("\b", "\b");
- t.put("\\b", "\\b");
- t.put("\n", "\n");
- t.put("\\n", "\\n");
- t.put("\t", "\t");
- t.put("\\t", "\\t");
- t.put("\f", "\f");
- t.put("\\f", "\\f");
- t.put("\\", "\\");
- t.put("\\\\", "\\\\");
- t.put("\u2345", "\u2345");
- t.put("\\u2345", "\\u2345");
- t.put("\\\u2345", "\\\u2345");
- t.put("<>{}[]&?/\b\n\t\f\\\\\u2345", "<>{}[]&?/\b\n\t\f\\\\\u2345");
- t = roundTrip(t, LinkedHashMap.class);
- assertEquals(true, t.get("a"));
- assertEquals(false, t.get("b"));
- assertNull(t.get("c"));
- assertEquals("foo", t.get("d"));
- assertEquals("bar", t.get(null));
- assertEquals("null", t.get("null"));
- assertEquals("true", t.get("true"));
- assertEquals("false", t.get("false"));
- assertEquals("a\"a", t.get("a\"a"));
- assertEquals("b'b", t.get("b'b"));
- assertEquals("\"cc\"", t.get("\"cc\""));
- assertEquals("'dd'", t.get("'dd'"));
- assertEquals("<ee>", t.get("<ee>"));
- assertEquals("<ff/>", t.get("<ff/>"));
- assertEquals("</gg>", t.get("</gg>"));
- assertEquals("<>", t.get("<>"));
- assertEquals("{}", t.get("{}"));
- assertEquals("[]", t.get("[]"));
- assertEquals("&", t.get("&"));
- assertEquals("?", t.get("?"));
- assertEquals("/", t.get("/"));
- assertEquals("\b", t.get("\b"));
- assertEquals("\\b", t.get("\\b"));
- assertEquals("\n", t.get("\n"));
- assertEquals("\\n", t.get("\\n"));
- assertEquals("\t", t.get("\t"));
- assertEquals("\\t", t.get("\\t"));
- assertEquals("\f", t.get("\f"));
- assertEquals("\\f", t.get("\\f"));
- assertEquals("\\", t.get("\\"));
- assertEquals("\\\\", t.get("\\\\"));
- assertEquals("\u2345", t.get("\u2345"));
- assertEquals("\\u2345", t.get("\\u2345"));
- assertEquals("\\\u2345", t.get("\\\u2345"));
- assertEquals("<>{}[]&?/\b\n\t\f\\\\\u2345", t.get("<>{}[]&?/\b\n\t\f\\\\\u2345"));
- }
-
- //====================================================================================================
- // testVector
- //====================================================================================================
- @Test
- public void testVector() throws Exception {
- Vector<Integer> t = new Vector<Integer>();
- t.add(1);
- t.add(2);
- t.add(3);
- t = roundTrip(t, Vector.class, Integer.class);
- }
-
- //====================================================================================================
- // testNull
- //====================================================================================================
- @Test
- public void testExtendedUnicode() throws Exception {
- // Test 4-byte UTF-8 character
- String t = "𤭢𤭢";
- t = roundTrip(t);
- assertEquals("𤭢𤭢", t);
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/ab15d45b/juneau-core-test/src/test/java/org/apache/juneau/a/rttests/RoundTripTest.java
----------------------------------------------------------------------
diff --git a/juneau-core-test/src/test/java/org/apache/juneau/a/rttests/RoundTripTest.java b/juneau-core-test/src/test/java/org/apache/juneau/a/rttests/RoundTripTest.java
deleted file mode 100755
index b09a8bd..0000000
--- a/juneau-core-test/src/test/java/org/apache/juneau/a/rttests/RoundTripTest.java
+++ /dev/null
@@ -1,304 +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 java.lang.reflect.*;
-import java.util.*;
-import java.util.Map.*;
-
-import org.apache.juneau.*;
-import org.apache.juneau.html.*;
-import org.apache.juneau.jena.*;
-import org.apache.juneau.json.*;
-import org.apache.juneau.msgpack.*;
-import org.apache.juneau.parser.*;
-import org.apache.juneau.serializer.*;
-import org.apache.juneau.uon.*;
-import org.apache.juneau.urlencoding.*;
-import org.apache.juneau.xml.*;
-import org.junit.runner.*;
-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.
- */
-@RunWith(Parameterized.class)
-@SuppressWarnings({"unchecked","javadoc"})
-public abstract class RoundTripTest {
-
- public static class Flags {
- public static int CHECK_XML_WHITESPACE = 1, VALIDATE_XML = 2, SERIALIZE_SCHEMA = 4, RETURN_ORIGINAL_OBJECT = 8;
- }
-
- @Parameterized.Parameters
- public static Collection<Object[]> getPairs() {
- return Arrays.asList(new Object[][] {
- // Full round-trip testing
- { /* 0 */
- "Json - default",
- new JsonSerializerBuilder().trimNullProperties(false),
- new JsonParserBuilder(),
- 0
- },
- { /* 1 */
- "Json - lax",
- new JsonSerializerBuilder().simple().trimNullProperties(false),
- new JsonParserBuilder(),
- 0
- },
- { /* 2 */
- "Json - lax, readable",
- new JsonSerializerBuilder().simple().ws().trimNullProperties(false),
- new JsonParserBuilder(),
- 0
- },
- { /* 3 */
- "Xml - namespaces, validation, readable",
- new XmlSerializerBuilder().ns().sq().trimNullProperties(false).addNamespaceUrisToRoot(true).useWhitespace(true),
- new XmlParserBuilder(),
- CHECK_XML_WHITESPACE | VALIDATE_XML
- },
- { /* 4 */
- "Xml - no namespaces, validation",
- new XmlSerializerBuilder().sq().trimNullProperties(false),
- new XmlParserBuilder(),
- CHECK_XML_WHITESPACE
- },
- { /* 5 */
- "Html - default",
- new HtmlSerializerBuilder().trimNullProperties(false),
- new HtmlParserBuilder(),
- CHECK_XML_WHITESPACE
- },
- { /* 6 */
- "Html - readable",
- new HtmlSerializerBuilder().sq().ws().trimNullProperties(false),
- new HtmlParserBuilder(),
- CHECK_XML_WHITESPACE
- },
- { /* 7 */
- "Html - with key/value headers",
- new HtmlSerializerBuilder().addKeyValueTableHeaders(true),
- new HtmlParserBuilder(),
- CHECK_XML_WHITESPACE
- },
- { /* 8 */
- "Uon - default",
- new UonSerializerBuilder().trimNullProperties(false),
- new UonParserBuilder(),
- 0
- },
- { /* 9 */
- "Uon - readable",
- new UonSerializerBuilder().ws().trimNullProperties(false),
- new UonParserBuilder(),
- 0
- },
- { /* 10 */
- "Uon - encoded",
- new UonSerializerBuilder().encoding().trimNullProperties(false),
- new UonParserBuilder().decoding(),
- 0
- },
- { /* 11 */
- "UrlEncoding - default",
- new UrlEncodingSerializerBuilder().trimNullProperties(false),
- new UrlEncodingParserBuilder(),
- 0
- },
- { /* 12 */
- "UrlEncoding - readable",
- new UrlEncodingSerializerBuilder().ws().trimNullProperties(false),
- new UrlEncodingParserBuilder(),
- 0
- },
- { /* 13 */
- "UrlEncoding - expanded params",
- new UrlEncodingSerializerBuilder().expandedParams(true),
- new UrlEncodingParserBuilder().expandedParams(true),
- 0
- },
- { /* 14 */
- "Rdf.Xml",
- new RdfSerializerBuilder().trimNullProperties(false).addLiteralTypes(true),
- new RdfParserBuilder().xml(),
- 0
- },
- { /* 15 */
- "Rdf.XmlAbbrev",
- new RdfSerializerBuilder().xmlabbrev().trimNullProperties(false).addLiteralTypes(true),
- new RdfParserBuilder().xml(),
- 0
- },
- { /* 16 */
- "Rdf.Turtle",
- new RdfSerializerBuilder().turtle().trimNullProperties(false).addLiteralTypes(true),
- new RdfParserBuilder().turtle(),
- 0
- },
- { /* 17 */
- "Rdf.NTriple",
- new RdfSerializerBuilder().ntriple().trimNullProperties(false).addLiteralTypes(true),
- new RdfParserBuilder().ntriple(),
- 0
- },
- { /* 18 */
- "Rdf.N3",
- new RdfSerializerBuilder().n3().trimNullProperties(false).addLiteralTypes(true),
- new RdfParserBuilder().n3(),
- 0
- },
- { /* 19 */
- "MsgPack",
- new MsgPackSerializerBuilder().trimNullProperties(false),
- new MsgPackParserBuilder(),
- 0
- },
-
- // Validation testing only
- { /* 20 */
- "Json schema",
- new JsonSchemaSerializerBuilder().trimNullProperties(false),
- null,
- RETURN_ORIGINAL_OBJECT
- },
- { /* 21 */
- "Xml schema",
- new XmlSchemaSerializerBuilder().trimNullProperties(false),
- new XmlValidatorParserBuilder(),
- RETURN_ORIGINAL_OBJECT | CHECK_XML_WHITESPACE
- },
- });
- }
-
- protected Serializer s;
- protected Parser p;
- private boolean validateXmlWhitespace;
- protected boolean returnOriginalObject;
- private boolean validateXml;
- protected String label;
- public boolean debug = false;
-
- public RoundTripTest(String label, SerializerBuilder s, ParserBuilder p, int flags) throws Exception {
- this.label = label;
-
- Map<Class<Object>, Class<? extends Object>> m = getImplClasses();
- if (m != null) {
- for (Entry<Class<Object>, Class<? extends Object>> e : m.entrySet()) {
- s.implClass(e.getKey(), e.getValue());
- if (p != null)
- p.implClass(e.getKey(), e.getValue());
- }
- }
- this.s = s.beanFilters(getBeanFilters()).pojoSwaps(getPojoSwaps()).beanDictionary(getDictionary()).properties(getProperties()).build();
- this.p = p == null ? null : p.beanFilters(getBeanFilters()).pojoSwaps(getPojoSwaps()).beanDictionary(getDictionary()).properties(getProperties()).build();
- this.validateXmlWhitespace = (flags & CHECK_XML_WHITESPACE) > 0;
- this.validateXml = (flags & VALIDATE_XML) > 0;
- this.returnOriginalObject = (flags & RETURN_ORIGINAL_OBJECT) > 0;
- }
-
-
- public Class<?>[] getBeanFilters() {
- return new Class<?>[0];
- }
-
- public Class<?>[] getPojoSwaps() {
- return new Class<?>[0];
- }
-
- public Class<?>[] getDictionary() {
- return new Class<?>[0];
- }
-
- public ObjectMap getProperties() {
- return ObjectMap.EMPTY_MAP;
- }
-
- public <T> Map<Class<T>,Class<? extends T>> getImplClasses() {
- return null;
- }
-
- public <T> T roundTrip(T object, Type c, Type...args) throws Exception {
- Object out = serialize(object, this.s);
- if (p == null)
- return object;
- T o = (T)this.p.parse(out, c, args);
- return (returnOriginalObject ? object : o);
- }
-
- public <T> T roundTrip(T object) throws Exception {
- return roundTrip(object, s, p);
- }
-
- public <T> T roundTrip(T object, Serializer serializer, Parser parser) throws Exception {
- Object out = serialize(object, serializer);
- if (parser == null)
- return object;
- T o = (T)parser.parse(out, object == null ? Object.class : object.getClass());
- return (returnOriginalObject ? object : o);
- }
-
- public Serializer getSerializer() {
- return s;
- }
-
- public Parser getParser() {
- return p;
- }
-
- protected void beanFilters(Class<?>...c) {
- s = s.builder().beanFilters(c).build();
- if (p != null)
- p = p.builder().beanFilters(c).build();
- }
-
- protected void pojoSwaps(Class<?>...c) {
- s = s.builder().pojoSwaps(c).build();
- if (p != null)
- p = p.builder().pojoSwaps(c).build();
- }
-
- protected void beanDictionary(Class<?>...c) {
- s = s.builder().beanDictionary(c).build();
- if (p != null)
- p = p.builder().beanDictionary(c).build();
- }
-
- public boolean isValidationOnly() {
- return returnOriginalObject;
- }
-
- public <T> Object serialize(T object, Serializer s) throws Exception {
-
- Object out = null;
- if (s.isWriterSerializer())
- out = ((WriterSerializer)s).serialize(object);
- else {
- out = ((OutputStreamSerializer)s).serialize(object);
- }
-
- if (debug)
- System.err.println("Serialized contents from ["+label+"]...\n---START---\n" + (out instanceof byte[] ? TestUtils.toReadableBytes((byte[])out) : out) + "\n---END---\n"); // NOT DEBUG
-
- if (validateXmlWhitespace)
- TestUtils.checkXmlWhitespace(out.toString());
-
- if (validateXml)
- TestUtils.validateXml(object, (XmlSerializer)s);
-
- return out;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/ab15d45b/juneau-core-test/src/test/java/org/apache/juneau/a/rttests/RoundTripToObjectMapsTest.java
----------------------------------------------------------------------
diff --git a/juneau-core-test/src/test/java/org/apache/juneau/a/rttests/RoundTripToObjectMapsTest.java b/juneau-core-test/src/test/java/org/apache/juneau/a/rttests/RoundTripToObjectMapsTest.java
deleted file mode 100755
index c74f65f..0000000
--- a/juneau-core-test/src/test/java/org/apache/juneau/a/rttests/RoundTripToObjectMapsTest.java
+++ /dev/null
@@ -1,77 +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 java.util.*;
-
-import org.apache.juneau.*;
-import org.apache.juneau.parser.*;
-import org.apache.juneau.serializer.*;
-import org.apache.juneau.utils.*;
-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("javadoc")
-public class RoundTripToObjectMapsTest extends RoundTripTest {
-
- public RoundTripToObjectMapsTest(String label, SerializerBuilder s, ParserBuilder p, int flags) throws Exception {
- super(label, s, p, flags);
- }
-
- //====================================================================================================
- // Class with X(ObjectMap) constructor and toObjectMap() method.
- //====================================================================================================
- @Test
- public void test() throws Exception {
- A a = new A(new ObjectMap("{f1:'a',f2:2}"));
- a = roundTrip(a, A.class);
- assertEquals("a", a.f1);
- assertEquals(2, a.f2);
-
- A[] aa = new A[]{a};
- aa = roundTrip(aa, A[].class);
- assertEquals(1, aa.length);
- assertEquals("a", aa[0].f1);
- assertEquals(2, aa[0].f2);
-
- List<A> a2 = new AList<A>().append(new A(new ObjectMap("{f1:'a',f2:2}")));
- a2 = roundTrip(a2, List.class, A.class);
- assertEquals(1, a2.size());
- assertEquals("a", a2.get(0).f1);
- assertEquals(2, a2.get(0).f2);
-
- Map<String,A> a3 = new AMap<String,A>().append("a", new A(new ObjectMap("{f1:'a',f2:2}")));
- a3 = roundTrip(a3, Map.class, String.class, A.class);
- assertEquals(1, a3.size());
- assertEquals("a", a3.get("a").f1);
- assertEquals(2, a3.get("a").f2);
- }
-
- public static class A {
- private String f1;
- private int f2;
- public A(ObjectMap m) {
- this.f1 = m.getString("f1");
- this.f2 = m.getInt("f2");
- }
- public ObjectMap swap(BeanSession session) {
- return new ObjectMap().append("f1",f1).append("f2",f2);
- }
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/ab15d45b/juneau-core-test/src/test/java/org/apache/juneau/a/rttests/RoundTripTransformBeansTest.java
----------------------------------------------------------------------
diff --git a/juneau-core-test/src/test/java/org/apache/juneau/a/rttests/RoundTripTransformBeansTest.java b/juneau-core-test/src/test/java/org/apache/juneau/a/rttests/RoundTripTransformBeansTest.java
deleted file mode 100755
index 7ea011c..0000000
--- a/juneau-core-test/src/test/java/org/apache/juneau/a/rttests/RoundTripTransformBeansTest.java
+++ /dev/null
@@ -1,374 +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 java.io.*;
-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.parser.*;
-import org.apache.juneau.serializer.*;
-import org.apache.juneau.transform.*;
-import org.apache.juneau.transforms.*;
-import org.apache.juneau.utils.*;
-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","rawtypes","serial","javadoc"})
-public class RoundTripTransformBeansTest extends RoundTripTest {
-
- public RoundTripTransformBeansTest(String label, SerializerBuilder s, ParserBuilder p, int flags) throws Exception {
- super(label, s, p, flags);
- }
-
- //====================================================================================================
- // testSwapBeans1
- //====================================================================================================
- @Test
- public void testSwapBeans1() throws Exception {
- Class<?>[] f = {
- ByteArrayBase64Swap.class,
- CalendarSwap.ISO8601DTZ.class,
- DateSwap.ISO8601DTZ.class
- };
- pojoSwaps(f);
- A t = new A().init();
- t = roundTrip(t, A.class);
-
- // ByteArrayBase64Swap
- assertEquals(3, t.fByte[3]);
- assertNull(t.fnByte);
- assertEquals(5, t.faByte[2][1]);
- assertEquals(6, t.flByte.get(1)[2]);
- assertNull(t.flByte.get(2));
- assertEquals(6, t.fmByte.get("bar")[2]);
- assertNull(t.fmByte.get("baz"));
-
- // CalendarSwap
- t.fCalendar.setTimeZone(TimeZone.getTimeZone("GMT"));
- assertEquals(2001, t.fCalendar.get(Calendar.YEAR));
- assertEquals(01, t.fCalendar.get(Calendar.MONTH));
- assertEquals(02, t.fCalendar.get(Calendar.DATE));
- assertEquals(03, t.fCalendar.get(Calendar.HOUR));
- assertEquals(04, t.fCalendar.get(Calendar.MINUTE));
- assertEquals(05, t.fCalendar.get(Calendar.SECOND));
-
- t.faCalendar[0].setTimeZone(TimeZone.getTimeZone("GMT"));
- assertEquals(2001, t.faCalendar[0].get(Calendar.YEAR));
- assertEquals(01, t.faCalendar[0].get(Calendar.MONTH));
- assertEquals(02, t.faCalendar[0].get(Calendar.DATE));
- assertEquals(03, t.faCalendar[0].get(Calendar.HOUR));
- assertEquals(04, t.faCalendar[0].get(Calendar.MINUTE));
- assertEquals(05, t.faCalendar[0].get(Calendar.SECOND));
- assertNull(t.fnCalendar);
- assertNull(t.fn2Calendar);
-
- // DateSwap
- assertEquals(1000, t.fDate.getTime());
- assertNull(t.fnDate);
- assertEquals(3000, t.faDate[2].getTime());
- assertEquals(4000, t.flDate.get(0).getTime());
- assertNull(t.flDate.get(1));
- assertEquals(5000, t.fmDate.get("foo").getTime());
- assertNull(t.fmDate.get("bar"));
- }
-
- public static class A {
-
- // Test ByteArrayBase64Swap
- public byte[] fByte;
- public byte[] fnByte;
- public byte[][] faByte;
- public List<byte[]> flByte;
- public Map<String,byte[]> fmByte;
-
- public GregorianCalendar fCalendar;
- public GregorianCalendar fnCalendar;
- public Calendar fn2Calendar;
- public GregorianCalendar[] faCalendar;
-
- public Date fDate;
- public Date fnDate;
- public Date[] faDate;
- public List<Date> flDate;
- public Map<String,Date> fmDate;
-
- public A init() {
- fByte = new byte[]{0,1,2,3};
- fnByte = null;
- faByte = new byte[][]{{0,1},{2,3},{4,5}};
- flByte = new AList<byte[]>()
- .append(new byte[]{1,2,3})
- .append(new byte[]{4,5,6})
- .append(null)
- ;
- fmByte = new AMap<String,byte[]>()
- .append("foo", new byte[]{1,2,3})
- .append("bar", new byte[]{4,5,6})
- .append("baz", null)
- ;
-
- fCalendar = new GregorianCalendar() {{
- set(2001, 01, 02, 03, 04, 05);
- setTimeZone(TimeZone.getTimeZone("GMT"));
- }};
- fnCalendar = null;
- fn2Calendar = null;
- faCalendar = new GregorianCalendar[]{
- new GregorianCalendar() {{
- set(2001, 01, 02, 03, 04, 05);
- setTimeZone(TimeZone.getTimeZone("GMT"));
- }}
- };
-
- fDate = new Date(1000);
- fnDate = null;
- faDate = new Date[]{
- new Date(1000), new Date(2000), new Date(3000)
- };
- flDate = new AList<Date>()
- .append(new Date(4000))
- .append(null)
- ;
- fmDate = new AMap<String,Date>()
- .append("foo", new Date(5000))
- .append("bar", null)
- ;
- return this;
- }
- }
-
-
- //====================================================================================================
- // testSwapBeans2
- //====================================================================================================
- @Test
- public void testSwapBeans2() throws Exception {
- Class<?>[] f = {
- ByteArrayBase64Swap.class,
- CalendarSwap.DateMedium.class,
- DateSwap.RFC2822DT.class,
- };
- pojoSwaps(f);
- A t = new A().init();
- t = roundTrip(t, A.class);
-
- // ByteArrayBase64Swap
- assertEquals(3, t.fByte[3]);
- assertNull(t.fnByte);
- assertEquals(5, t.faByte[2][1]);
- assertEquals(6, t.flByte.get(1)[2]);
- assertNull(t.flByte.get(2));
- assertEquals(6, t.fmByte.get("bar")[2]);
- assertNull(t.fmByte.get("baz"));
-
- // CalendarSwap
- t.fCalendar.setTimeZone(TimeZone.getTimeZone("GMT"));
- assertEquals(2001, t.fCalendar.get(Calendar.YEAR));
- assertEquals(01, t.fCalendar.get(Calendar.MONTH));
- // Note: We lose precision on the following because of the transform type.
- //assertEquals(02, b.fCalendar.get(Calendar.DATE));
- //assertEquals(03, b.fCalendar.get(Calendar.HOUR));
- //assertEquals(04, b.fCalendar.get(Calendar.MINUTE));
- //assertEquals(05, b.fCalendar.get(Calendar.SECOND));
-
- t.faCalendar[0].setTimeZone(TimeZone.getTimeZone("GMT"));
- assertEquals(2001, t.faCalendar[0].get(Calendar.YEAR));
- assertEquals(01, t.faCalendar[0].get(Calendar.MONTH));
- // Note: We lose precision on the following because of the transform type.
- //assertEquals(02, b.faCalendar[0].get(Calendar.DATE));
- //assertEquals(03, b.faCalendar[0].get(Calendar.HOUR));
- //assertEquals(04, b.faCalendar[0].get(Calendar.MINUTE));
- //assertEquals(05, b.faCalendar[0].get(Calendar.SECOND));
- assertNull(t.fnCalendar);
- assertNull(t.fn2Calendar);
-
- // DateSwap
- assertEquals(1000, t.fDate.getTime() % 3600000);
- assertNull(t.fnDate);
- assertEquals(3000, t.faDate[2].getTime() % 3600000);
- assertEquals(4000, t.flDate.get(0).getTime() % 3600000);
- assertNull(t.flDate.get(1));
- assertEquals(5000, t.fmDate.get("foo").getTime() % 3600000);
- assertNull(t.fmDate.get("bar"));
- }
-
- //====================================================================================================
- // testSwaps - Bean.pojoSwaps annotation
- //====================================================================================================
- @Test
- public void testSwaps() throws Exception {
- B t = new B();
- t.f1 = "bar";
- t = roundTrip(t, B.class);
-
- assertEquals("bar", t.f1);
- }
-
- @Pojo(swap=BSwap.class)
- public static class B {
- public String f1;
- }
-
- public static class BSwap extends StringSwap<B> {
- @Override /* PojoSwap */
- public String swap(BeanSession session, B o) throws SerializeException {
- return o.f1;
- }
- @Override /* PojoSwap */
- public B unswap(BeanSession session, String f, ClassMeta<?> hint) throws ParseException {
- B b1 = new B();
- b1.f1 = f;
- return b1;
- }
- }
-
- //====================================================================================================
- // testXMLGregorianCalendar - Test XMLGregorianCalendarSwap class.
- //====================================================================================================
- @Test
- public void testXMLGregorianCalendar() throws Exception {
-
- if (isValidationOnly())
- return;
-
- GregorianCalendar gc = new GregorianCalendar();
- XMLGregorianCalendar c = DatatypeFactory.newInstance().newXMLGregorianCalendar(gc);
-
- Serializer s = getSerializer().builder().pojoSwaps(XMLGregorianCalendarSwap.class).build();
- Parser p = getParser().builder().pojoSwaps(XMLGregorianCalendarSwap.class).build();
-
- Object r = s.serialize(c);
- XMLGregorianCalendar c2 = p.parse(r, XMLGregorianCalendar.class);
- assertEquals(c, c2);
- }
-
- //====================================================================================================
- // testSubTypeWithGenerics
- //====================================================================================================
- @Test
- public void testSubTypeWithGenerics() throws Exception {
- JsonSerializer s = JsonSerializer.DEFAULT;
-
- C1 c1 = C3.create();
- String r = s.serialize(c1);
- assertEquals("{\"_type\":\"C3\",\"f1\":{\"f2\":\"f2\",\"f3\":3}}", r);
- }
-
-
- @Bean(beanDictionary={C3.class})
- public static interface C1<T> extends Serializable {
- void setF1(T f1);
- T getF1();
- }
-
- public abstract static class C2<T> implements C1<T> {
- protected T f1;
-
- @Override /* C1 */
- public void setF1(T f1) {
- this.f1 = f1;
- }
-
- @Override /* C1 */
- public T getF1() {
- return f1;
- }
- }
-
- @Bean(typeName="C3")
- public static class C3<T> extends C2<T> {
-
- public static C3 create() {
- C3 c3 = new C3<Object>();
- CDTO cdto = new CDTO();
- cdto.f2 = "f2";
- cdto.f3 = 3;
- c3.f1 = cdto;
- return c3;
- }
-
- @Override /* C1 */
- public void setF1(T f1) {
- this.f1 = f1;
- }
-
- @Override /* C1 */
- public T getF1() {
- return f1;
- }
- }
-
- public static class CDTO {
- public String f2;
- public int f3;
- }
-
-
- //====================================================================================================
- // Surrogate transforms
- //====================================================================================================
- @Test
- public void testSurrogates() throws Exception {
- pojoSwaps(D2.class);
-
- JsonSerializer s = new JsonSerializerBuilder().simple().pojoSwaps(D2.class).build();
- JsonParser p = new JsonParserBuilder().pojoSwaps(D2.class).build();
- Object r;
- D1 d1 = D1.create();
-
- r = s.serialize(d1);
- assertEquals("{f2:'f1'}", r);
-
- d1 = p.parse(r, D1.class);
- assertEquals("f1", d1.f1);
-
- r = getSerializer().serialize(d1);
- assertTrue(TestUtils.toString(r).contains("f2"));
-
- d1 = roundTrip(d1, D1.class);
- }
-
- public static class D1 {
- public String f1;
-
- public static D1 create() {
- D1 d1 = new D1();
- d1.f1 = "f1";
- return d1;
- }
- }
-
- public static class D2 {
- public String f2;
- public D2(D1 d1) {
- f2 = d1.f1;
- }
- public D2() {
- }
- public static D1 valueOf(D2 d2) {
- D1 d1 = new D1();
- d1.f1 = d2.f2;
- return d1;
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/ab15d45b/juneau-core-test/src/test/java/org/apache/juneau/a/rttests/RoundTripTrimStringsTest.java
----------------------------------------------------------------------
diff --git a/juneau-core-test/src/test/java/org/apache/juneau/a/rttests/RoundTripTrimStringsTest.java b/juneau-core-test/src/test/java/org/apache/juneau/a/rttests/RoundTripTrimStringsTest.java
deleted file mode 100755
index dfac4fe..0000000
--- a/juneau-core-test/src/test/java/org/apache/juneau/a/rttests/RoundTripTrimStringsTest.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 org.apache.juneau.*;
-import org.apache.juneau.parser.*;
-import org.apache.juneau.serializer.*;
-import org.junit.*;
-
-/**
- * Tests for the {@link SerializerContext#SERIALIZER_trimStrings} and {@link ParserContext#PARSER_trimStrings}.
- */
-@SuppressWarnings("javadoc")
-public class RoundTripTrimStringsTest extends RoundTripTest {
-
- public RoundTripTrimStringsTest(String label, SerializerBuilder s, ParserBuilder p, int flags) throws Exception {
- super(label, s, p, flags);
- }
-
- //====================================================================================================
- // test
- //====================================================================================================
- @Test
- public void test() throws Exception {
- if (isValidationOnly())
- return;
- Serializer s = getSerializer();
- Parser p = getParser();
- Object in, a, e;
-
- Serializer s2 = s.builder().trimStrings(true).build();
- Parser p2 = p.builder().trimStrings(true).build();
-
- in = " foo bar ";
- e = "foo bar";
- a = p.parse(s2.serialize(in), String.class);
- assertEqualObjects(e, a);
- a = p2.parse(s.serialize(in), String.class);
- assertEqualObjects(e, a);
-
- in = new ObjectMap("{' foo ': ' bar '}");
- e = new ObjectMap("{foo:'bar'}");
- a = p.parse(s2.serialize(in), ObjectMap.class);
- assertEqualObjects(e, a);
- a = p2.parse(s.serialize(in), ObjectMap.class);
- assertEqualObjects(e, a);
-
- in = new ObjectList("[' foo ', {' foo ': ' bar '}]");
- e = new ObjectList("['foo',{foo:'bar'}]");
- a = p.parse(s2.serialize(in), ObjectList.class);
- assertEqualObjects(e, a);
- a = p2.parse(s.serialize(in), ObjectList.class);
- assertEqualObjects(e, a);
-
- in = new A().init1();
- e = new A().init2();
- a = p.parse(s2.serialize(in), A.class);
- assertEqualObjects(e, a);
- a = p2.parse(s.serialize(in), A.class);
- assertEqualObjects(e, a);
- }
-
- public static class A {
- public String f1;
- public String[] f2;
- public ObjectList f3;
- public ObjectMap f4;
-
- public A init1() throws Exception {
- f1 = " f1 ";
- f2 = new String[]{" f2a ", " f2b "};
- f3 = new ObjectList("[' f3a ',' f3b ']");
- f4 = new ObjectMap("{' foo ':' bar '}");
- return this;
- }
-
- public A init2() throws Exception {
- f1 = "f1";
- f2 = new String[]{"f2a", "f2b"};
- f3 = new ObjectList("['f3a','f3b']");
- f4 = new ObjectMap("{'foo':'bar'}");
- return this;
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/ab15d45b/juneau-core-test/src/test/java/org/apache/juneau/csv/CsvTest.java
----------------------------------------------------------------------
diff --git a/juneau-core-test/src/test/java/org/apache/juneau/csv/CsvTest.java b/juneau-core-test/src/test/java/org/apache/juneau/csv/CsvTest.java
deleted file mode 100755
index 84f9abf..0000000
--- a/juneau-core-test/src/test/java/org/apache/juneau/csv/CsvTest.java
+++ /dev/null
@@ -1,51 +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.csv;
-
-import static org.junit.Assert.*;
-
-import java.util.*;
-
-import org.apache.juneau.serializer.*;
-import org.junit.*;
-
-@SuppressWarnings("javadoc")
-public class CsvTest {
-
- //====================================================================================================
- // testBasic
- //====================================================================================================
- @Test
- public void testBasic() throws Exception {
- List<A> l = new LinkedList<A>();
- l.add(new A("b1",1));
- l.add(new A("b2",2));
-
- WriterSerializer s = CsvSerializer.DEFAULT;
- String r;
-
- r = s.serialize(l);
-
- assertEquals("b,c\nb1,1\nb2,2\n", r);
- }
-
- public static class A {
- public String b;
- public int c;
-
- public A(String b, int c) {
- this.b = b;
- this.c = c;
- }
- }
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/ab15d45b/juneau-core-test/src/test/java/org/apache/juneau/dto/atom/AtomTest.java
----------------------------------------------------------------------
diff --git a/juneau-core-test/src/test/java/org/apache/juneau/dto/atom/AtomTest.java b/juneau-core-test/src/test/java/org/apache/juneau/dto/atom/AtomTest.java
deleted file mode 100755
index 91ba021..0000000
--- a/juneau-core-test/src/test/java/org/apache/juneau/dto/atom/AtomTest.java
+++ /dev/null
@@ -1,195 +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.dto.atom;
-
-import static org.apache.juneau.TestUtils.*;
-import static org.apache.juneau.dto.atom.AtomBuilder.*;
-import static org.junit.Assert.*;
-
-import java.net.*;
-
-import org.apache.juneau.xml.*;
-import org.junit.*;
-
-@SuppressWarnings("javadoc")
-public class AtomTest {
-
- public Feed createFeed() throws Exception {
- return
- feed("tag:foo.org", "Title", "2016-12-31T01:02:03-04:00")
- .subtitle(text("html").text("Subtitle"))
- .links(
- link("alternate", "text/html", "http://foo.org/").hreflang("en"),
- link("self", "application/atom+xml", "http://foo.org/feed.atom")
- )
- .generator(
- generator("Example Toolkit").uri("http://www.foo.org/").version("1.0")
- )
- .entries(
- entry("tag:foo.org", "Title", "2016-12-31T01:02:03-04:00")
- .links(
- link("alternate", "text/html", "http://foo.org/2005/04/02/atom"),
- link("enclosure", "audio/mpeg", "http://foo.org/audio/foobar.mp3").length(1337)
- )
- .published("2016-12-31T01:02:03-04:00")
- .authors(
- person("John Smith").uri(new URI("http://foo.org/")).email("foo@foo.org")
- )
- .contributors(
- person("John Smith"),
- person("Jane Smith")
- )
- .content(
- content("xhtml")
- .lang("en")
- .base("http://foo.org/")
- .text("<div><p><i>[Sample content]</i></p></div>")
- )
- );
- }
-
- @Test
- public void testNormal() throws Exception {
- XmlSerializer s;
- XmlParser p = XmlParser.DEFAULT;
- String r;
- Feed f = createFeed(), f2;
-
- String expected =
- "<feed>\n"
- +" <entry>\n"
- +" <author>\n"
- +" <email>foo@foo.org</email>\n"
- +" <name>John Smith</name>\n"
- +" <uri>http://foo.org/</uri>\n"
- +" </author>\n"
- +" <content base='http://foo.org/' lang='en' type='xhtml'><div><p><i>[Sample content]</i></p></div></content>\n"
- +" <contributor>\n"
- +" <name>John Smith</name>\n"
- +" </contributor>\n"
- +" <contributor>\n"
- +" <name>Jane Smith</name>\n"
- +" </contributor>\n"
- +" <id>tag:foo.org</id>\n"
- +" <link href='http://foo.org/2005/04/02/atom' rel='alternate' type='text/html'/>\n"
- +" <link href='http://foo.org/audio/foobar.mp3' length='1337' rel='enclosure' type='audio/mpeg'/>\n"
- +" <published>2016-12-31T01:02:03-04:00</published>\n"
- +" <title>Title</title>\n"
- +" <updated>2016-12-31T01:02:03-04:00</updated>\n"
- +" </entry>\n"
- +" <generator uri='http://www.foo.org/' version='1.0'>Example Toolkit</generator>\n"
- +" <id>tag:foo.org</id>\n"
- +" <link href='http://foo.org/' hreflang='en' rel='alternate' type='text/html'/>\n"
- +" <link href='http://foo.org/feed.atom' rel='self' type='application/atom+xml'/>\n"
- +" <subtitle type='html'>Subtitle</subtitle>\n"
- +" <title>Title</title>\n"
- +" <updated>2016-12-31T01:02:03-04:00</updated>\n"
- +"</feed>\n";
-
- s = new XmlSerializerBuilder().sq().ws().enableNamespaces(false).sortProperties(true).build();
- r = s.serialize(f);
- assertEquals(expected, r);
- f2 = p.parse(r, Feed.class);
- assertEqualObjects(f, f2);
- }
-
- @Test
- public void testWithNamespaces() throws Exception {
- XmlSerializer s;
- XmlParser p = XmlParser.DEFAULT;
- String r;
- Feed f = createFeed(), f2;
-
- String expected =
- "<atom:feed xmlns='http://www.apache.org/2013/Juneau' xmlns:atom='http://www.w3.org/2005/Atom/' xmlns:xml='http://www.w3.org/XML/1998/namespace'>\n"
- +" <atom:entry>\n"
- +" <atom:author>\n"
- +" <atom:email>foo@foo.org</atom:email>\n"
- +" <atom:name>John Smith</atom:name>\n"
- +" <atom:uri>http://foo.org/</atom:uri>\n"
- +" </atom:author>\n"
- +" <atom:content xml:base='http://foo.org/' xml:lang='en' type='xhtml'><div><p><i>[Sample content]</i></p></div></atom:content>\n"
- +" <atom:contributor>\n"
- +" <atom:name>John Smith</atom:name>\n"
- +" </atom:contributor>\n"
- +" <atom:contributor>\n"
- +" <atom:name>Jane Smith</atom:name>\n"
- +" </atom:contributor>\n"
- +" <atom:id>tag:foo.org</atom:id>\n"
- +" <atom:link href='http://foo.org/2005/04/02/atom' rel='alternate' type='text/html'/>\n"
- +" <atom:link href='http://foo.org/audio/foobar.mp3' length='1337' rel='enclosure' type='audio/mpeg'/>\n"
- +" <atom:published>2016-12-31T01:02:03-04:00</atom:published>\n"
- +" <atom:title>Title</atom:title>\n"
- +" <atom:updated>2016-12-31T01:02:03-04:00</atom:updated>\n"
- +" </atom:entry>\n"
- +" <atom:generator uri='http://www.foo.org/' version='1.0'>Example Toolkit</atom:generator>\n"
- +" <atom:id>tag:foo.org</atom:id>\n"
- +" <atom:link href='http://foo.org/' hreflang='en' rel='alternate' type='text/html'/>\n"
- +" <atom:link href='http://foo.org/feed.atom' rel='self' type='application/atom+xml'/>\n"
- +" <atom:subtitle type='html'>Subtitle</atom:subtitle>\n"
- +" <atom:title>Title</atom:title>\n"
- +" <atom:updated>2016-12-31T01:02:03-04:00</atom:updated>\n"
- +"</atom:feed>\n";
-
- s = new XmlSerializerBuilder().sq().ws().enableNamespaces(true).addNamespaceUrisToRoot(true).sortProperties(true).build();
- r = s.serialize(f);
- assertEquals(expected, r);
- f2 = p.parse(r, Feed.class);
- assertEqualObjects(f, f2);
- }
-
- @Test
- public void testWithNamespacesWithAtomAsDefault() throws Exception {
- XmlSerializer s;
- XmlParser p = XmlParser.DEFAULT;
- String r;
- Feed f = createFeed(), f2;
-
- String expected =
- "<feed xmlns='http://www.w3.org/2005/Atom/' xmlns:xml='http://www.w3.org/XML/1998/namespace'>\n"
- +" <entry>\n"
- +" <author>\n"
- +" <email>foo@foo.org</email>\n"
- +" <name>John Smith</name>\n"
- +" <uri>http://foo.org/</uri>\n"
- +" </author>\n"
- +" <content xml:base='http://foo.org/' xml:lang='en' type='xhtml'><div><p><i>[Sample content]</i></p></div></content>\n"
- +" <contributor>\n"
- +" <name>John Smith</name>\n"
- +" </contributor>\n"
- +" <contributor>\n"
- +" <name>Jane Smith</name>\n"
- +" </contributor>\n"
- +" <id>tag:foo.org</id>\n"
- +" <link href='http://foo.org/2005/04/02/atom' rel='alternate' type='text/html'/>\n"
- +" <link href='http://foo.org/audio/foobar.mp3' length='1337' rel='enclosure' type='audio/mpeg'/>\n"
- +" <published>2016-12-31T01:02:03-04:00</published>\n"
- +" <title>Title</title>\n"
- +" <updated>2016-12-31T01:02:03-04:00</updated>\n"
- +" </entry>\n"
- +" <generator uri='http://www.foo.org/' version='1.0'>Example Toolkit</generator>\n"
- +" <id>tag:foo.org</id>\n"
- +" <link href='http://foo.org/' hreflang='en' rel='alternate' type='text/html'/>\n"
- +" <link href='http://foo.org/feed.atom' rel='self' type='application/atom+xml'/>\n"
- +" <subtitle type='html'>Subtitle</subtitle>\n"
- +" <title>Title</title>\n"
- +" <updated>2016-12-31T01:02:03-04:00</updated>\n"
- +"</feed>\n";
-
- s = new XmlSerializerBuilder().sq().ws().defaultNamespace("atom").enableNamespaces(true).addNamespaceUrisToRoot(true).sortProperties(true).build();
- r = s.serialize(f);
- assertEquals(expected, r);
- f2 = p.parse(r, Feed.class);
- assertEqualObjects(f, f2);
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/ab15d45b/juneau-core-test/src/test/java/org/apache/juneau/dto/cognos/CognosXmlTest.java
----------------------------------------------------------------------
diff --git a/juneau-core-test/src/test/java/org/apache/juneau/dto/cognos/CognosXmlTest.java b/juneau-core-test/src/test/java/org/apache/juneau/dto/cognos/CognosXmlTest.java
deleted file mode 100755
index 0f0bdd4..0000000
--- a/juneau-core-test/src/test/java/org/apache/juneau/dto/cognos/CognosXmlTest.java
+++ /dev/null
@@ -1,111 +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.dto.cognos;
-
-import static org.apache.juneau.TestUtils.*;
-import static org.junit.Assert.*;
-
-import java.util.*;
-
-import org.apache.juneau.*;
-import org.apache.juneau.xml.*;
-import org.junit.*;
-
-@SuppressWarnings("javadoc")
-public class CognosXmlTest {
-
- //====================================================================================================
- // test
- //====================================================================================================
- @Test
- public void test() throws Exception {
- String expected = ""
- + "<dataset xmlns='http://developer.cognos.com/schemas/xmldata/1/'>\n"
- + " <metadata>\n"
- + " <item name='asOfDate' type='xs:string' length='12'/>\n"
- + " <item name='rateOfReturn' type='xs:double'/>\n"
- + " <item name='famAcctIndex' type='xs:string' length='3'/>\n"
- + " <item name='rowID' type='xs:string' length='1'/>\n"
- + " <item name='brM' type='xs:string' length='1'/>\n"
- + " <item name='productLineCode' type='xs:int'/>\n"
- + " </metadata>\n"
- + " <data>\n"
- + " <row>\n"
- + " <value>Apr 26, 2002</value>\n"
- + " <value>0.21006642</value>\n"
- + " <value>JA1</value>\n"
- + " <value>F</value>\n"
- + " <value>B</value>\n"
- + " <value>1</value>\n"
- + " </row>\n"
- + " <row>\n"
- + " <value>Apr 27, 2002</value>\n"
- + " <value>0.1111111</value>\n"
- + " <value>BBB</value>\n"
- + " <value>G</value>\n"
- + " <value>B</value>\n"
- + " <value>2</value>\n"
- + " </row>\n"
- + " </data>\n"
- + "</dataset>\n";
-
- List<Object> rows = new LinkedList<Object>();
- rows.add(new ObjectMap("{asOfDate:'Apr 26, 2002',rateOfReturn:0.21006642,famAcctIndex:'JA1',rowID:'F',brM:'B',productLineCode:1}"));
- rows.add(new Item("Apr 27, 2002", 0.1111111, "BBB", "G", "B", 2));
-
- Column[] c = {
- new Column("asOfDate", "xs:string", 12),
- new Column("rateOfReturn", "xs:double"),
- new Column("famAcctIndex", "xs:string", 3),
- new Column("rowID", "xs:string", 1),
- new Column("brM", "xs:string", 1),
- new Column("productLineCode", "xs:int")
- };
-
- XmlSerializer s = new XmlSerializerBuilder()
- .ws()
- .sq()
- .defaultNamespace("cognos")
- .ns()
- .addNamespaceUrisToRoot(true)
- .build();
-
- DataSet ds = new DataSet(c, rows, BeanContext.DEFAULT.createSession());
-
- String out = s.serialize(ds);
-
- assertEquals(expected, out);
-
- // Make sure we can parse it back into a POJO.
- DataSet ds2 = XmlParser.DEFAULT.parse(out, DataSet.class);
- assertEqualObjects(ds, ds2);
- }
-
- public static class Item {
- public String asOfDate;
- public double rateOfReturn;
- public String famAcctIndex;
- public String rowID;
- public String brM;
- public int productLineCode;
-
- public Item(String asOfDate, double rateOfReturn, String famAcctIndex, String rowID, String brM, int productLineCode) {
- this.asOfDate = asOfDate;
- this.rateOfReturn = rateOfReturn;
- this.famAcctIndex = famAcctIndex;
- this.rowID = rowID;
- this.brM = brM;
- this.productLineCode = productLineCode;
- }
- }
-}
\ No newline at end of file