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/02/19 17:50:44 UTC

[4/4] incubator-juneau git commit: Fix bug in RdfParser and convert HTML5 template test to combo test.

Fix bug in RdfParser and convert HTML5 template test to combo test.

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

Branch: refs/heads/master
Commit: c6b0a7b4427ff76fc0fe6e178581d7eb4a8474b6
Parents: 3324060
Author: JamesBognar <ja...@apache.org>
Authored: Sun Feb 19 12:50:37 2017 -0500
Committer: JamesBognar <ja...@apache.org>
Committed: Sun Feb 19 12:50:37 2017 -0500

----------------------------------------------------------------------
 .../java/org/apache/juneau/jena/RdfParser.java  |   33 +-
 .../java/org/apache/juneau/dto/ComboTest.java   |  557 +++++
 .../org/apache/juneau/dto/ComboTestcase.java    |  506 -----
 .../juneau/dto/html5/BasicHtmlSchemaTest.java   | 2060 -----------------
 .../apache/juneau/dto/html5/Html5ComboTest.java | 2062 ++++++++++++++++++
 .../dto/html5/Html5TemplateComboTest.java       |  114 +
 .../juneau/dto/html5/HtmlTemplatesTest.java     |  174 --
 7 files changed, 2750 insertions(+), 2756 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/c6b0a7b4/juneau-core-rdf/src/main/java/org/apache/juneau/jena/RdfParser.java
----------------------------------------------------------------------
diff --git a/juneau-core-rdf/src/main/java/org/apache/juneau/jena/RdfParser.java b/juneau-core-rdf/src/main/java/org/apache/juneau/jena/RdfParser.java
index 3d5baef..413706f 100644
--- a/juneau-core-rdf/src/main/java/org/apache/juneau/jena/RdfParser.java
+++ b/juneau-core-rdf/src/main/java/org/apache/juneau/jena/RdfParser.java
@@ -256,13 +256,13 @@ public class RdfParser extends ReaderParser {
 					o = parseAnything(session, object(), n.asResource().getProperty(session.getValueProperty()).getObject(), outer, null);
 				} else if (isSeq(session, r)) {
 					o = new ObjectList(session);
-					parseIntoCollection(session, r.as(Seq.class), (Collection)o, sType.getElementType());
+					parseIntoCollection(session, r.as(Seq.class), (Collection)o, sType.getElementType(), pMeta);
 				} else if (isBag(session, r)) {
 					o = new ObjectList(session);
-					parseIntoCollection(session, r.as(Bag.class), (Collection)o, sType.getElementType());
+					parseIntoCollection(session, r.as(Bag.class), (Collection)o, sType.getElementType(), pMeta);
 				} else if (r.canAs(RDFList.class)) {
 					o = new ObjectList(session);
-					parseIntoCollection(session, r.as(RDFList.class), (Collection)o, sType.getElementType());
+					parseIntoCollection(session, r.as(RDFList.class), (Collection)o, sType.getElementType(), pMeta);
 				} else {
 					// If it has a URI and no child properties, we interpret this as an
 					// external resource, and convert it to just a URL.
@@ -270,8 +270,9 @@ public class RdfParser extends ReaderParser {
 					if (uri != null && ! r.listProperties().hasNext()) {
 						o = r.getURI();
 					} else {
-						o = new ObjectMap(session);
-						parseIntoMap(session, r, (Map)o, null, null);
+						ObjectMap m2 = new ObjectMap(session);
+						parseIntoMap(session, r, m2, null, null, pMeta);
+						o = session.cast(m2, pMeta, eType);
 					}
 				}
 			} else {
@@ -290,7 +291,7 @@ public class RdfParser extends ReaderParser {
 			if (session.wasAlreadyProcessed(r))
 				return null;
 			Map m = (sType.canCreateNewInstance(outer) ? (Map)sType.newInstance(outer) : new ObjectMap(session));
-			o = parseIntoMap(session, r, m, eType.getKeyType(), eType.getValueType());
+			o = parseIntoMap(session, r, m, eType.getKeyType(), eType.getValueType(), pMeta);
 		} else if (sType.isCollectionOrArray()) {
 			if (sType.isArray())
 				o = new ArrayList();
@@ -300,11 +301,11 @@ public class RdfParser extends ReaderParser {
 			if (session.wasAlreadyProcessed(r))
 				return null;
 			if (isSeq(session, r)) {
-				parseIntoCollection(session, r.as(Seq.class), (Collection)o, sType.getElementType());
+				parseIntoCollection(session, r.as(Seq.class), (Collection)o, sType.getElementType(), pMeta);
 			} else if (isBag(session, r)) {
-				parseIntoCollection(session, r.as(Bag.class), (Collection)o, sType.getElementType());
+				parseIntoCollection(session, r.as(Bag.class), (Collection)o, sType.getElementType(), pMeta);
 			} else if (r.canAs(RDFList.class)) {
-				parseIntoCollection(session, r.as(RDFList.class), (Collection)o, sType.getElementType());
+				parseIntoCollection(session, r.as(RDFList.class), (Collection)o, sType.getElementType(), pMeta);
 			} else {
 				throw new ParseException("Unrecognized node type ''{0}'' for collection", n);
 			}
@@ -325,7 +326,7 @@ public class RdfParser extends ReaderParser {
 		} else if (n.isResource()) {
 			Resource r = n.asResource();
 			Map m = new ObjectMap(session);
-			parseIntoMap(session, r, m, sType.getKeyType(), sType.getValueType());
+			parseIntoMap(session, r, m, sType.getKeyType(), sType.getValueType(), pMeta);
 			if (m.containsKey(session.getBeanTypePropertyName()))
 				o = session.cast((ObjectMap)m, pMeta, eType);
 			else
@@ -376,7 +377,7 @@ public class RdfParser extends ReaderParser {
 		throw new ParseException(session, "Unknown value type for node ''{0}''", n);
 	}
 
-	private <K,V> Map<K,V> parseIntoMap(RdfParserSession session, Resource r, Map<K,V> m, ClassMeta<K> keyType, ClassMeta<V> valueType) throws Exception {
+	private <K,V> Map<K,V> parseIntoMap(RdfParserSession session, Resource r, Map<K,V> m, ClassMeta<K> keyType, ClassMeta<V> valueType, BeanPropertyMeta pMeta) throws Exception {
 		// Add URI as "uri" to generic maps.
 		if (r.getURI() != null) {
 			K uri = convertAttrToType(session, m, "uri", keyType);
@@ -391,7 +392,7 @@ public class RdfParser extends ReaderParser {
 				key = session.decodeString(key);
 				RDFNode o = st.getObject();
 				K key2 = convertAttrToType(session, m, key, keyType);
-				V value = parseAnything(session, valueType, o, m, null);
+				V value = parseAnything(session, valueType, o, m, pMeta);
 				setName(valueType, value, key);
 				m.put(key2, value);
 			}
@@ -401,17 +402,17 @@ public class RdfParser extends ReaderParser {
 		return m;
 	}
 
-	private <E> Collection<E> parseIntoCollection(RdfParserSession session, Container c, Collection<E> l, ClassMeta<E> et) throws Exception {
+	private <E> Collection<E> parseIntoCollection(RdfParserSession session, Container c, Collection<E> l, ClassMeta<E> et, BeanPropertyMeta pMeta) throws Exception {
 		for (NodeIterator ni = c.iterator(); ni.hasNext();) {
-			E e = parseAnything(session, et, ni.next(), l, null);
+			E e = parseAnything(session, et, ni.next(), l, pMeta);
 			l.add(e);
 		}
 		return l;
 	}
 
-	private <E> Collection<E> parseIntoCollection(RdfParserSession session, RDFList list, Collection<E> l, ClassMeta<E> et) throws Exception {
+	private <E> Collection<E> parseIntoCollection(RdfParserSession session, RDFList list, Collection<E> l, ClassMeta<E> et, BeanPropertyMeta pMeta) throws Exception {
 		for (ExtendedIterator<RDFNode> ni = list.iterator(); ni.hasNext();) {
-			E e = parseAnything(session, et, ni.next(), l, null);
+			E e = parseAnything(session, et, ni.next(), l, pMeta);
 			l.add(e);
 		}
 		return l;

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/c6b0a7b4/juneau-core-test/src/test/java/org/apache/juneau/dto/ComboTest.java
----------------------------------------------------------------------
diff --git a/juneau-core-test/src/test/java/org/apache/juneau/dto/ComboTest.java b/juneau-core-test/src/test/java/org/apache/juneau/dto/ComboTest.java
new file mode 100644
index 0000000..57061d5
--- /dev/null
+++ b/juneau-core-test/src/test/java/org/apache/juneau/dto/ComboTest.java
@@ -0,0 +1,557 @@
+// ***************************************************************************************************************************
+// * 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;
+
+import static org.junit.Assert.assertEquals;
+
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.Set;
+
+import org.apache.juneau.TestUtils;
+import org.apache.juneau.html.HtmlParser;
+import org.apache.juneau.html.HtmlSerializer;
+import org.apache.juneau.jena.RdfParser;
+import org.apache.juneau.jena.RdfSerializer;
+import org.apache.juneau.json.JsonParser;
+import org.apache.juneau.json.JsonSerializer;
+import org.apache.juneau.msgpack.MsgPackParser;
+import org.apache.juneau.msgpack.MsgPackSerializer;
+import org.apache.juneau.parser.InputStreamParser;
+import org.apache.juneau.parser.Parser;
+import org.apache.juneau.parser.ReaderParser;
+import org.apache.juneau.serializer.OutputStreamSerializer;
+import org.apache.juneau.serializer.Serializer;
+import org.apache.juneau.serializer.WriterSerializer;
+import org.apache.juneau.urlencoding.UonParser;
+import org.apache.juneau.urlencoding.UonSerializer;
+import org.apache.juneau.urlencoding.UrlEncodingParser;
+import org.apache.juneau.urlencoding.UrlEncodingSerializer;
+import org.apache.juneau.xml.XmlParser;
+import org.apache.juneau.xml.XmlSerializer;
+import org.junit.Test;
+
+/**
+ * Superclass for tests that verify results against all supported content types. 
+ */
+public abstract class ComboTest {
+
+	private final String 
+		label, 
+		oJson, oJsonT, oJsonR,
+		oXml, oXmlT, oXmlR, oXmlNs,
+		oHtml, oHtmlT, oHtmlR,
+		oUon, oUonT, oUonR,
+		oUrlEncoding, oUrlEncodingT, oUrlEncodingR,
+		oMsgPack, oMsgPackT,
+		oRdfXml, oRdfXmlT, oRdfXmlR;
+	private final Object in;
+	
+	// These are the names of all the tests.
+	// You can comment out the names here to skip them.
+	private static final String[] runTests = {
+		"serializeJson",
+		"parseJson",
+		"serializeJsonT",
+		"parseJsonT",
+		"serializeJsonR",
+		"parseJsonR",
+		"serializeXml",
+		"parseXml",
+		"serializeXmlT",
+		"parseXmlT",
+		"serializeXmlR",
+		"parseXmlR",
+		"serializeXmlNs",
+		"parseXmlNs",
+		"serializeHtml",
+		"parseHtml",
+		"serializeHtmlT",
+		"parseHtmlT",
+		"serializeHtmlR",
+		"parseHtmlR",
+		"serializeUon",
+		"parseUon",
+		"serializeUonT",
+		"parseUonT",
+		"serializeUonR",
+		"parseUonR",
+		"serializeUrlEncoding",
+		"parseUrlEncoding",
+		"serializeUrlEncodingT",
+		"parseUrlEncodingT",
+		"serializeUrlEncodingR",
+		"parseUrlEncodingR",
+		"serializeMsgPack",
+		"parseMsgPack",
+		"parseMsgPackJsonEquivalency",
+		"serializeMsgPackT",
+		"parseMsgPackT",
+		"parseMsgPackTJsonEquivalency",
+		"serializeRdfXml",
+		"parseRdfXml",
+		"serializeRdfXmlT",
+		"parseRdfXmlT",
+		"serializeRdfXmlR",
+		"parseRdfXmlR",
+	};
+
+	private static final Set<String> runTestsSet = new HashSet<String>(Arrays.asList(runTests));
+	
+	private final boolean SKIP_RDF_TESTS = Boolean.getBoolean("skipRdfTests");
+			
+	public ComboTest(
+		String label, 
+		Object in, 
+		String oJson, String oJsonT, String oJsonR,
+		String oXml, String oXmlT, String oXmlR, String oXmlNs,
+		String oHtml, String oHtmlT, String oHtmlR,
+		String oUon, String oUonT, String oUonR,
+		String oUrlEncoding, String oUrlEncodingT, String oUrlEncodingR,
+		String oMsgPack, String oMsgPackT,
+		String oRdfXml, String oRdfXmlT, String oRdfXmlR
+	) {
+		this.label = label;
+		this.in = in;
+		this.oJson = oJson; this.oJsonT = oJsonT; this.oJsonR = oJsonR;
+		this.oXml = oXml; this.oXmlT = oXmlT; this.oXmlR = oXmlR; this.oXmlNs = oXmlNs;
+		this.oHtml = oHtml; this.oHtmlT = oHtmlT; this.oHtmlR = oHtmlR;
+		this.oUon = oUon; this.oUonT = oUonT; this.oUonR = oUonR;
+		this.oUrlEncoding = oUrlEncoding; this.oUrlEncodingT = oUrlEncodingT; this.oUrlEncodingR = oUrlEncodingR;
+		this.oMsgPack = oMsgPack; this.oMsgPackT = oMsgPackT; 
+		this.oRdfXml = oRdfXml; this.oRdfXmlT = oRdfXmlT; this.oRdfXmlR = oRdfXmlR;
+	}
+	
+	private void testSerialize(String testName, Serializer s, String expected) throws Exception {
+		try {
+			boolean isRdf = s instanceof RdfSerializer;
+
+			if ((isRdf && SKIP_RDF_TESTS) || expected.isEmpty() || ! runTestsSet.contains(testName) ) {
+				System.err.println(label + "/" + testName + " for "+s.getClass().getSimpleName()+" skipped.");
+				return;
+			}
+			
+			String r = s.isWriterSerializer() ? ((WriterSerializer)s).serialize(in) : ((OutputStreamSerializer)s).serializeToHex(in);
+			
+			// Can't control RdfSerializer output well, so manually remove namespace declarations
+			// double-quotes with single-quotes, and spaces with tabs.
+			// Also because RDF sucks really bad and can't be expected to produce consistent testable results,
+			// we must also do an expensive sort-then-compare operation to verify the results.
+			if (isRdf) 
+				r = r.replaceAll("<rdf:RDF[^>]*>", "<rdf:RDF>").replace('"', '\'');
+		
+			// Specifying "xxx" in the expected results will spit out what we should populate the field with.
+			if (expected.equals("xxx")) {
+				System.out.println(label + "/" + testName + "=\n" + r.replaceAll("\n", "\\\\n").replaceAll("\t", "\\\\t")); // NOT DEBUG
+				System.out.println(r);
+			}
+			
+			if (isRdf)
+				TestUtils.assertEqualsAfterSort(expected, r, "{0}/{1} parse-normal failed", label, testName);
+			else
+				TestUtils.assertEquals(expected, r, "{0}/{1} parse-normal failed", label, testName);
+			
+		} catch (AssertionError e) {
+			throw e;
+		} catch (Exception e) {
+			throw new AssertionError(label + "/" + testName + " failed.  exception=" + e.getLocalizedMessage());
+		}
+	}
+	
+	private void testParse(String testName, Serializer s, Parser p, String expected) throws Exception {
+		try {
+			boolean isRdf = s instanceof RdfSerializer;
+
+			if ((isRdf && SKIP_RDF_TESTS) || expected.isEmpty() || ! runTestsSet.contains(testName) ) {
+				System.err.println(label + "/" + testName + " for "+s.getClass().getSimpleName()+" skipped.");
+				return;
+			}
+			
+			String r = s.isWriterSerializer() ? ((WriterSerializer)s).serialize(in) : ((OutputStreamSerializer)s).serializeToHex(in);
+			Object o = p.parse(r, in == null ? Object.class : in.getClass());
+			r = s.isWriterSerializer() ? ((WriterSerializer)s).serialize(o) : ((OutputStreamSerializer)s).serializeToHex(o);
+			
+			if (isRdf) 
+				r = r.replaceAll("<rdf:RDF[^>]*>", "<rdf:RDF>").replace('"', '\'');
+			
+			if (isRdf)
+				TestUtils.assertEqualsAfterSort(expected, r, "{0}/{1} parse-normal failed", label, testName);
+			else
+				TestUtils.assertEquals(expected, r, "{0}/{1} parse-normal failed", label, testName);
+
+		} catch (AssertionError e) {
+			throw e;
+		} catch (Exception e) {
+			throw new Exception(label + "/" + testName + " failed.", e);
+		}
+	}
+	
+	private void testParseJsonEquivalency(String testName, OutputStreamSerializer s, InputStreamParser p, String expected) throws Exception {
+		try {
+			String r = s.serializeToHex(in);
+			Object o = p.parse(r, in == null ? Object.class : in.getClass());
+			r = sJson.serialize(o);
+			assertEquals(label + "/" + testName + " parse-normal failed on JSON equivalency", expected, r);
+		} catch (AssertionError e) {
+			throw e;
+		} catch (Exception e) {
+			throw new Exception(label + "/" + testName + " failed.", e);
+		}
+	}
+	
+	//--------------------------------------------------------------------------------
+	// JSON
+	//--------------------------------------------------------------------------------
+	WriterSerializer sJson = JsonSerializer.DEFAULT_LAX;
+	ReaderParser pJson = JsonParser.DEFAULT;
+	
+	@Test
+	public void serializeJson() throws Exception {
+		testSerialize("serializeJson", sJson, oJson);
+	}
+	
+	@Test
+	public void parseJson() throws Exception {
+		testParse("parseJson", sJson, pJson, oJson);
+	}
+	
+	//--------------------------------------------------------------------------------
+	// JSON - 't' property
+	//--------------------------------------------------------------------------------
+	WriterSerializer sJsonT = JsonSerializer.DEFAULT_LAX.clone().setBeanTypePropertyName("t");
+	ReaderParser pJsonT = JsonParser.DEFAULT.clone().setBeanTypePropertyName("t");
+	
+	@Test
+	public void serializeJsonT() throws Exception {
+		testSerialize("serializeJsonT", sJsonT, oJsonT);
+	}
+	
+	@Test
+	public void parseJsonT() throws Exception {
+		testParse("parseJsonT", sJsonT, pJsonT, oJsonT);
+	}
+	
+	//--------------------------------------------------------------------------------
+	// JSON - Readable
+	//--------------------------------------------------------------------------------
+	WriterSerializer sJsonR = JsonSerializer.DEFAULT_LAX_READABLE;
+	ReaderParser pJsonR = JsonParser.DEFAULT;
+	
+	@Test
+	public void serializeJsonR() throws Exception {
+		testSerialize("serializeJsonR", sJsonR, oJsonR);
+	}
+	
+	@Test
+	public void parseJsonR() throws Exception {
+		testParse("parseJsonR", sJsonR, pJsonR, oJsonR);
+	}
+	
+	//--------------------------------------------------------------------------------
+	// XML
+	//--------------------------------------------------------------------------------
+	WriterSerializer sXml = XmlSerializer.DEFAULT_SQ;
+	ReaderParser pXml = XmlParser.DEFAULT;
+	
+	@Test
+	public void serializeXml() throws Exception {
+		testSerialize("serializeXml", sXml, oXml);
+	}
+	
+	@Test
+	public void parseXml() throws Exception {
+		testParse("parseXml", sXml, pXml, oXml);
+	}
+	
+	//--------------------------------------------------------------------------------
+	// XML - 't' property
+	//--------------------------------------------------------------------------------
+	WriterSerializer sXmlT = XmlSerializer.DEFAULT_SQ.clone().setBeanTypePropertyName("t");
+	ReaderParser pXmlT = XmlParser.DEFAULT.clone().setBeanTypePropertyName("t");
+	
+	@Test
+	public void serializeXmlT() throws Exception {
+		testSerialize("serializeXmlT", sXmlT, oXmlT);
+	}
+	
+	@Test
+	public void parseXmlT() throws Exception {
+		testParse("parseXmlT", sXmlT, pXmlT, oXmlT);
+	}
+	
+	//--------------------------------------------------------------------------------
+	// XML - Readable
+	//--------------------------------------------------------------------------------
+	WriterSerializer sXmlR = XmlSerializer.DEFAULT_SQ_READABLE;
+	ReaderParser pXmlR = XmlParser.DEFAULT;
+	
+	@Test
+	public void serializeXmlR() throws Exception {
+		testSerialize("serializeXmlR", sXmlR, oXmlR);
+	}
+	
+	@Test
+	public void parseXmlR() throws Exception {
+		testParse("parseXmlR", sXmlR, pXmlR, oXmlR);
+	}
+	
+	//--------------------------------------------------------------------------------
+	// XML - Namespaces
+	//--------------------------------------------------------------------------------
+	WriterSerializer sXmlNs = XmlSerializer.DEFAULT_NS_SQ;
+	ReaderParser pXmlNs = XmlParser.DEFAULT;
+
+	@Test
+	public void serializeXmlNs() throws Exception {
+		testSerialize("serializeXmlNs", sXmlNs, oXmlNs);
+	}
+	
+	@Test
+	public void parseXmlNs() throws Exception {
+		testParse("parseXmlNs", sXmlNs, pXmlNs, oXmlNs);
+	}
+	
+	//--------------------------------------------------------------------------------
+	// HTML
+	//--------------------------------------------------------------------------------
+	WriterSerializer sHtml = HtmlSerializer.DEFAULT_SQ;
+	ReaderParser pHtml = HtmlParser.DEFAULT;
+	
+	@Test
+	public void serializeHtml() throws Exception {
+		testSerialize("serializeHtml", sHtml, oHtml);
+	}
+	
+	@Test
+	public void parseHtml() throws Exception {
+		testParse("parseHtml", sHtml, pHtml, oHtml);
+	}
+	
+	//--------------------------------------------------------------------------------
+	// HTML - 't' property
+	//--------------------------------------------------------------------------------
+	WriterSerializer sHtmlT = HtmlSerializer.DEFAULT_SQ.clone().setBeanTypePropertyName("t");
+	ReaderParser pHtmlT = HtmlParser.DEFAULT.clone().setBeanTypePropertyName("t");
+	
+	@Test
+	public void serializeHtmlT() throws Exception {
+		testSerialize("serializeHtmlT", sHtmlT, oHtmlT);
+	}
+	
+	@Test
+	public void parseHtmlT() throws Exception {
+		testParse("parseHtmlT", sHtmlT, pHtmlT, oHtmlT);
+	}
+	
+	//--------------------------------------------------------------------------------
+	// HTML - Readable
+	//--------------------------------------------------------------------------------
+	WriterSerializer sHtmlR = HtmlSerializer.DEFAULT_SQ_READABLE;
+	ReaderParser pHtmlR = HtmlParser.DEFAULT;
+	
+	@Test
+	public void serializeHtmlR() throws Exception {
+		testSerialize("serializeHtmlR", sHtmlR, oHtmlR);
+	}
+	
+	@Test
+	public void parseHtmlR() throws Exception {
+		testParse("parseHtmlR", sHtmlR, pHtmlR, oHtmlR);
+	}
+	
+	//--------------------------------------------------------------------------------
+	// UON
+	//--------------------------------------------------------------------------------
+	WriterSerializer sUon = UonSerializer.DEFAULT;
+	ReaderParser pUon = UonParser.DEFAULT;
+	
+	@Test
+	public void serializeUon() throws Exception {
+		testSerialize("serializeUon", sUon, oUon);
+	}
+	
+	@Test
+	public void parseUon() throws Exception {
+		testParse("parseUon", sUon, pUon, oUon);
+	}
+	
+	//--------------------------------------------------------------------------------
+	// UON - 't' property
+	//--------------------------------------------------------------------------------
+	WriterSerializer sUonT = UonSerializer.DEFAULT.clone().setBeanTypePropertyName("t");
+	ReaderParser pUonT = UonParser.DEFAULT.clone().setBeanTypePropertyName("t");
+	
+	@Test
+	public void serializeUonT() throws Exception {
+		testSerialize("serializeUonT", sUonT, oUonT);
+	}
+	
+	@Test
+	public void parseUonT() throws Exception {
+		testParse("parseUonT", sUonT, pUonT, oUonT);
+	}
+	
+	//--------------------------------------------------------------------------------
+	// UON - Readable
+	//--------------------------------------------------------------------------------
+	WriterSerializer sUonR = UonSerializer.DEFAULT_READABLE;
+	ReaderParser pUonR = UonParser.DEFAULT;
+	
+	@Test
+	public void serializeUonR() throws Exception {
+		testSerialize("serializeUonR", sUonR, oUonR);
+	}
+	
+	@Test
+	public void parseUonR() throws Exception {
+		testParse("parseUonR", sUonR, pUonR, oUonR);
+	}
+	
+	//--------------------------------------------------------------------------------
+	// UrlEncoding
+	//--------------------------------------------------------------------------------
+	WriterSerializer sUrlEncoding = UrlEncodingSerializer.DEFAULT;
+	ReaderParser pUrlEncoding = UrlEncodingParser.DEFAULT;
+	
+	@Test
+	public void serializeUrlEncoding() throws Exception {
+		testSerialize("serializeUrlEncoding", sUrlEncoding, oUrlEncoding);
+	}
+	
+	@Test
+	public void parseUrlEncoding() throws Exception {
+		testParse("parseUrlEncoding", sUrlEncoding, pUrlEncoding, oUrlEncoding);
+	}
+	
+	//--------------------------------------------------------------------------------
+	// UrlEncoding - 't' property
+	//--------------------------------------------------------------------------------
+	WriterSerializer sUrlEncodingT = UrlEncodingSerializer.DEFAULT.clone().setBeanTypePropertyName("t");
+	ReaderParser pUrlEncodingT = UrlEncodingParser.DEFAULT.clone().setBeanTypePropertyName("t");
+	
+	@Test
+	public void serializeUrlEncodingT() throws Exception {
+		testSerialize("serializeUrlEncodingT", sUrlEncodingT, oUrlEncodingT);
+	}
+	
+	@Test
+	public void parseUrlEncodingT() throws Exception {
+		testParse("parseUrlEncodingT", sUrlEncodingT, pUrlEncodingT, oUrlEncodingT);
+	}
+	
+	//--------------------------------------------------------------------------------
+	// UrlEncoding - Readable
+	//--------------------------------------------------------------------------------
+	WriterSerializer sUrlEncodingR = UrlEncodingSerializer.DEFAULT_READABLE;
+	ReaderParser pUrlEncodingR = UrlEncodingParser.DEFAULT;
+	
+	@Test
+	public void serializeUrlEncodingR() throws Exception {
+		testSerialize("serializeUrlEncodingR", sUrlEncodingR, oUrlEncodingR);
+	}
+	
+	@Test
+	public void parseUrlEncodingR() throws Exception {
+		testParse("parseUrlEncodingR", sUrlEncodingR, pUrlEncodingR, oUrlEncodingR);
+	}
+	
+	//--------------------------------------------------------------------------------
+	// MsgPack
+	//--------------------------------------------------------------------------------
+	OutputStreamSerializer sMsgPack = MsgPackSerializer.DEFAULT;
+	InputStreamParser pMsgPack = MsgPackParser.DEFAULT;
+	
+	@Test
+	public void serializeMsgPack() throws Exception {
+		testSerialize("serializeMsgPack", sMsgPack, oMsgPack);
+	}
+	
+	@Test
+	public void parseMsgPack() throws Exception {
+		testParse("parseMsgPack", sMsgPack, pMsgPack, oMsgPack);
+	}
+	
+	@Test
+	public void parseMsgPackJsonEquivalency() throws Exception {
+		testParseJsonEquivalency("parseMsgPackJsonEquivalency", sMsgPack, pMsgPack, oJson);
+	}
+	
+	//--------------------------------------------------------------------------------
+	// MsgPack - 't' property
+	//--------------------------------------------------------------------------------
+	OutputStreamSerializer sMsgPackT = MsgPackSerializer.DEFAULT.clone().setBeanTypePropertyName("t");
+	InputStreamParser pMsgPackT = MsgPackParser.DEFAULT.clone().setBeanTypePropertyName("t");
+	
+	@Test
+	public void serializeMsgPackT() throws Exception {
+		testSerialize("serializeMsgPackT", sMsgPackT, oMsgPackT);
+	}
+	
+	@Test
+	public void parseMsgPackT() throws Exception {
+		testParse("parseMsgPackT", sMsgPackT, pMsgPackT, oMsgPackT);
+	}
+	
+	@Test
+	public void parseMsgPackTJsonEquivalency() throws Exception {
+		testParseJsonEquivalency("parseMsgPackTJsonEquivalency", sMsgPackT, pMsgPackT, oJson);
+	}
+	
+	//--------------------------------------------------------------------------------
+	// RdfXml
+	//--------------------------------------------------------------------------------
+	WriterSerializer sRdfXml = RdfSerializer.DEFAULT_XMLABBREV;
+	ReaderParser pRdfXml = RdfParser.DEFAULT_XML;
+	
+	@Test
+	public void serializeRdfXml() throws Exception {
+		testSerialize("serializeRdfXml", sRdfXml, oRdfXml);
+	}
+	
+	@Test
+	public void parseRdfXml() throws Exception {
+		testParse("parseRdfXml", sRdfXml, pRdfXml, oRdfXml);
+	}
+	
+	//--------------------------------------------------------------------------------
+	// RdfXml - 't' property
+	//--------------------------------------------------------------------------------
+	WriterSerializer sRdfXmlT = RdfSerializer.DEFAULT_XMLABBREV.clone().setBeanTypePropertyName("t");
+	ReaderParser pRdfXmlT = RdfParser.DEFAULT_XML.clone().setBeanTypePropertyName("t");
+	
+	@Test
+	public void serializeRdfXmlT() throws Exception {
+		testSerialize("serializeRdfXmlT", sRdfXmlT, oRdfXmlT);
+	}
+	
+	@Test
+	public void parseRdfXmlT() throws Exception {
+		testParse("parseRdfXmlT", sRdfXmlT, pRdfXmlT, oRdfXmlT);
+	}
+	
+	//--------------------------------------------------------------------------------
+	// RdfXml - Readable
+	//--------------------------------------------------------------------------------
+	WriterSerializer sRdfXmlR = RdfSerializer.DEFAULT_XMLABBREV.clone().setUseWhitespace(true);
+	ReaderParser pRdfXmlR = RdfParser.DEFAULT_XML;
+	
+	@Test
+	public void serializeRdfXmlR() throws Exception {
+		testSerialize("serializeRdfXmlR", sRdfXmlR, oRdfXmlR);
+	}
+	
+	@Test
+	public void parseRdfXmlR() throws Exception {
+		testParse("parseRdfXmlR", sRdfXmlR, pRdfXmlR, oRdfXmlR);
+	}
+}

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/c6b0a7b4/juneau-core-test/src/test/java/org/apache/juneau/dto/ComboTestcase.java
----------------------------------------------------------------------
diff --git a/juneau-core-test/src/test/java/org/apache/juneau/dto/ComboTestcase.java b/juneau-core-test/src/test/java/org/apache/juneau/dto/ComboTestcase.java
deleted file mode 100644
index a5ed38f..0000000
--- a/juneau-core-test/src/test/java/org/apache/juneau/dto/ComboTestcase.java
+++ /dev/null
@@ -1,506 +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;
-
-import static org.junit.Assert.assertEquals;
-
-import org.apache.juneau.TestUtils;
-import org.apache.juneau.html.HtmlParser;
-import org.apache.juneau.html.HtmlSerializer;
-import org.apache.juneau.jena.RdfParser;
-import org.apache.juneau.jena.RdfSerializer;
-import org.apache.juneau.json.JsonParser;
-import org.apache.juneau.json.JsonSerializer;
-import org.apache.juneau.msgpack.MsgPackParser;
-import org.apache.juneau.msgpack.MsgPackSerializer;
-import org.apache.juneau.parser.InputStreamParser;
-import org.apache.juneau.parser.Parser;
-import org.apache.juneau.parser.ReaderParser;
-import org.apache.juneau.serializer.OutputStreamSerializer;
-import org.apache.juneau.serializer.Serializer;
-import org.apache.juneau.serializer.WriterSerializer;
-import org.apache.juneau.urlencoding.UonParser;
-import org.apache.juneau.urlencoding.UonSerializer;
-import org.apache.juneau.urlencoding.UrlEncodingParser;
-import org.apache.juneau.urlencoding.UrlEncodingSerializer;
-import org.apache.juneau.xml.XmlParser;
-import org.apache.juneau.xml.XmlSerializer;
-import org.junit.Test;
-
-/**
- * Superclass for tests that verify results against all supported content types. 
- */
-public abstract class ComboTestcase {
-
-	private final String 
-		label, 
-		oJson, oJsonT, oJsonR,
-		oXml, oXmlT, oXmlR, oXmlNs,
-		oHtml, oHtmlT, oHtmlR,
-		oUon, oUonT, oUonR,
-		oUrlEncoding, oUrlEncodingT, oUrlEncodingR,
-		oMsgPack, oMsgPackT,
-		oRdfXml, oRdfXmlT, oRdfXmlR;
-	private final Object in;
-
-	private final boolean SKIP_RDF_TESTS = Boolean.getBoolean("skipRdfTests");
-			
-	public ComboTestcase(
-		String label, 
-		Object in, 
-		String oJson, String oJsonT, String oJsonR,
-		String oXml, String oXmlT, String oXmlR, String oXmlNs,
-		String oHtml, String oHtmlT, String oHtmlR,
-		String oUon, String oUonT, String oUonR,
-		String oUrlEncoding, String oUrlEncodingT, String oUrlEncodingR,
-		String oMsgPack, String oMsgPackT,
-		String oRdfXml, String oRdfXmlT, String oRdfXmlR
-	) {
-		this.label = label;
-		this.in = in;
-		this.oJson = oJson; this.oJsonT = oJsonT; this.oJsonR = oJsonR;
-		this.oXml = oXml; this.oXmlT = oXmlT; this.oXmlR = oXmlR; this.oXmlNs = oXmlNs;
-		this.oHtml = oHtml; this.oHtmlT = oHtmlT; this.oHtmlR = oHtmlR;
-		this.oUon = oUon; this.oUonT = oUonT; this.oUonR = oUonR;
-		this.oUrlEncoding = oUrlEncoding; this.oUrlEncodingT = oUrlEncodingT; this.oUrlEncodingR = oUrlEncodingR;
-		this.oMsgPack = oMsgPack; this.oMsgPackT = oMsgPackT; 
-		this.oRdfXml = oRdfXml; this.oRdfXmlT = oRdfXmlT; this.oRdfXmlR = oRdfXmlR;
-	}
-	
-	private void testSerialize(String testName, Serializer s, String expected) throws Exception {
-		try {
-			boolean isRdf = s instanceof RdfSerializer;
-			if (isRdf && SKIP_RDF_TESTS)
-				return;
-			
-			String r = s.isWriterSerializer() ? ((WriterSerializer)s).serialize(in) : ((OutputStreamSerializer)s).serializeToHex(in);
-			
-			// Can't control RdfSerializer output well, so manually remove namespace declarations
-			// double-quotes with single-quotes, and spaces with tabs.
-			// Also because RDF sucks really bad and can't be expected to produce consistent testable results,
-			// we must also do an expensive sort-then-compare operation to verify the results.
-			if (isRdf) 
-				r = r.replaceAll("<rdf:RDF[^>]*>", "<rdf:RDF>").replace('"', '\'');
-		
-			// Specifying "xxx" in the expected results will spit out what we should populate the field with.
-			if (expected.equals("xxx")) {
-				System.out.println(label + "/" + testName + "=\n" + r.replaceAll("\n", "\\\\n").replaceAll("\t", "\\\\t")); // NOT DEBUG
-			}
-			
-			// Tests can be skipped by specifying empty results.
-			if (expected.isEmpty()) {
-				System.err.println(label + "/" + testName + " for "+s.getClass().getSimpleName()+" skipped.");
-				return;
-			}
-
-			if (isRdf)
-				TestUtils.assertEqualsAfterSort(expected, r, "{0}/{1} parse-normal failed", label, testName);
-			else
-				TestUtils.assertEquals(expected, r, "{0}/{1} parse-normal failed", label, testName);
-			
-		} catch (AssertionError e) {
-			throw e;
-		} catch (Exception e) {
-			throw new AssertionError(label + "/" + testName + " failed.  exception=" + e.getLocalizedMessage());
-		}
-	}
-	
-	private void testParse(String testName, Serializer s, Parser p, String expected) throws Exception {
-		try {
-			boolean isRdf = s instanceof RdfSerializer;
-			if (isRdf && SKIP_RDF_TESTS)
-				return;
-			
-			String r = s.isWriterSerializer() ? ((WriterSerializer)s).serialize(in) : ((OutputStreamSerializer)s).serializeToHex(in);
-			Object o = p.parse(r, in == null ? Object.class : in.getClass());
-			r = s.isWriterSerializer() ? ((WriterSerializer)s).serialize(o) : ((OutputStreamSerializer)s).serializeToHex(o);
-			
-			if (isRdf) 
-				r = r.replaceAll("<rdf:RDF[^>]*>", "<rdf:RDF>").replace('"', '\'');
-			
-			if (expected.isEmpty()) {
-				System.err.println(label + "/" + testName + " for "+p.getClass().getSimpleName()+" skipped.");
-				return;
-			}
-
-			if (isRdf)
-				TestUtils.assertEqualsAfterSort(expected, r, "{0}/{1} parse-normal failed", label, testName);
-			else
-				TestUtils.assertEquals(expected, r, "{0}/{1} parse-normal failed", label, testName);
-
-		} catch (AssertionError e) {
-			throw e;
-		} catch (Exception e) {
-			throw new AssertionError(label + "/" + testName + " failed.  exception=" + e.getLocalizedMessage());
-		}
-	}
-	
-	private void testParseJsonEquivalency(String testName, OutputStreamSerializer s, InputStreamParser p, String expected) throws Exception {
-		try {
-			String r = s.serializeToHex(in);
-			Object o = p.parse(r, in == null ? Object.class : in.getClass());
-			r = sJson.serialize(o);
-			assertEquals(label + "/" + testName + " parse-normal failed on JSON equivalency", expected, r);
-		} catch (AssertionError e) {
-			throw e;
-		} catch (Exception e) {
-			throw new AssertionError(label + "/" + testName + " failed.  exception=" + e.getLocalizedMessage());
-		}
-	}
-	
-	//--------------------------------------------------------------------------------
-	// JSON
-	//--------------------------------------------------------------------------------
-	WriterSerializer sJson = JsonSerializer.DEFAULT_LAX;
-	ReaderParser pJson = JsonParser.DEFAULT;
-	
-	@Test
-	public void serializeJson() throws Exception {
-		testSerialize("serializeJson", sJson, oJson);
-	}
-	
-	@Test
-	public void parseJson() throws Exception {
-		testParse("parseJson", sJson, pJson, oJson);
-	}
-	
-	//--------------------------------------------------------------------------------
-	// JSON - 't' property
-	//--------------------------------------------------------------------------------
-	WriterSerializer sJsonT = JsonSerializer.DEFAULT_LAX.clone().setBeanTypePropertyName("t");
-	ReaderParser pJsonT = JsonParser.DEFAULT.clone().setBeanTypePropertyName("t");
-	
-	@Test
-	public void serializeJsonT() throws Exception {
-		testSerialize("serializeJsonT", sJsonT, oJsonT);
-	}
-	
-	@Test
-	public void parseJsonT() throws Exception {
-		testParse("parseJsonT", sJsonT, pJsonT, oJsonT);
-	}
-	
-	//--------------------------------------------------------------------------------
-	// JSON - Readable
-	//--------------------------------------------------------------------------------
-	WriterSerializer sJsonR = JsonSerializer.DEFAULT_LAX_READABLE;
-	ReaderParser pJsonR = JsonParser.DEFAULT;
-	
-	@Test
-	public void serializeJsonR() throws Exception {
-		testSerialize("serializeJsonR", sJsonR, oJsonR);
-	}
-	
-	@Test
-	public void parseJsonR() throws Exception {
-		testParse("parseJsonR", sJsonR, pJsonR, oJsonR);
-	}
-	
-	//--------------------------------------------------------------------------------
-	// XML
-	//--------------------------------------------------------------------------------
-	WriterSerializer sXml = XmlSerializer.DEFAULT_SQ;
-	ReaderParser pXml = XmlParser.DEFAULT;
-	
-	@Test
-	public void serializeXml() throws Exception {
-		testSerialize("serializeXml", sXml, oXml);
-	}
-	
-	@Test
-	public void parseXml() throws Exception {
-		testParse("parseXml", sXml, pXml, oXml);
-	}
-	
-	//--------------------------------------------------------------------------------
-	// XML - 't' property
-	//--------------------------------------------------------------------------------
-	WriterSerializer sXmlT = XmlSerializer.DEFAULT_SQ.clone().setBeanTypePropertyName("t");
-	ReaderParser pXmlT = XmlParser.DEFAULT.clone().setBeanTypePropertyName("t");
-	
-	@Test
-	public void serializeXmlT() throws Exception {
-		testSerialize("serializeXmlT", sXmlT, oXmlT);
-	}
-	
-	@Test
-	public void parseXmlT() throws Exception {
-		testParse("parseXmlT", sXmlT, pXmlT, oXmlT);
-	}
-	
-	//--------------------------------------------------------------------------------
-	// XML - Readable
-	//--------------------------------------------------------------------------------
-	WriterSerializer sXmlR = XmlSerializer.DEFAULT_SQ_READABLE;
-	ReaderParser pXmlR = XmlParser.DEFAULT;
-	
-	@Test
-	public void serializeXmlR() throws Exception {
-		testSerialize("serializeXmlR", sXmlR, oXmlR);
-	}
-	
-	@Test
-	public void parseXmlR() throws Exception {
-		testParse("parseXmlR", sXmlR, pXmlR, oXmlR);
-	}
-	
-	//--------------------------------------------------------------------------------
-	// XML - Namespaces
-	//--------------------------------------------------------------------------------
-	WriterSerializer sXmlNs = XmlSerializer.DEFAULT_NS_SQ;
-	ReaderParser pXmlNs = XmlParser.DEFAULT;
-
-	@Test
-	public void serializeXmlNs() throws Exception {
-		testSerialize("serializeXmlNs", sXmlNs, oXmlNs);
-	}
-	
-	@Test
-	public void parseXmlNs() throws Exception {
-		testParse("parseXmlNs", sXmlNs, pXmlNs, oXmlNs);
-	}
-	
-	//--------------------------------------------------------------------------------
-	// HTML
-	//--------------------------------------------------------------------------------
-	WriterSerializer sHtml = HtmlSerializer.DEFAULT_SQ;
-	ReaderParser pHtml = HtmlParser.DEFAULT;
-	
-	@Test
-	public void serializeHtml() throws Exception {
-		testSerialize("serializeHtml", sHtml, oHtml);
-	}
-	
-	@Test
-	public void parseHtml() throws Exception {
-		testParse("parseHtml", sHtml, pHtml, oHtml);
-	}
-	
-	//--------------------------------------------------------------------------------
-	// HTML - 't' property
-	//--------------------------------------------------------------------------------
-	WriterSerializer sHtmlT = HtmlSerializer.DEFAULT_SQ.clone().setBeanTypePropertyName("t");
-	ReaderParser pHtmlT = HtmlParser.DEFAULT.clone().setBeanTypePropertyName("t");
-	
-	@Test
-	public void serializeHtmlT() throws Exception {
-		testSerialize("serializeHtmlT", sHtmlT, oHtmlT);
-	}
-	
-	@Test
-	public void parseHtmlT() throws Exception {
-		testParse("parseHtmlT", sHtmlT, pHtmlT, oHtmlT);
-	}
-	
-	//--------------------------------------------------------------------------------
-	// HTML - Readable
-	//--------------------------------------------------------------------------------
-	WriterSerializer sHtmlR = HtmlSerializer.DEFAULT_SQ_READABLE;
-	ReaderParser pHtmlR = HtmlParser.DEFAULT;
-	
-	@Test
-	public void serializeHtmlR() throws Exception {
-		testSerialize("serializeHtmlR", sHtmlR, oHtmlR);
-	}
-	
-	@Test
-	public void parseHtmlR() throws Exception {
-		testParse("parseHtmlR", sHtmlR, pHtmlR, oHtmlR);
-	}
-	
-	//--------------------------------------------------------------------------------
-	// UON
-	//--------------------------------------------------------------------------------
-	WriterSerializer sUon = UonSerializer.DEFAULT;
-	ReaderParser pUon = UonParser.DEFAULT;
-	
-	@Test
-	public void serializeUon() throws Exception {
-		testSerialize("serializeUon", sUon, oUon);
-	}
-	
-	@Test
-	public void parseUon() throws Exception {
-		testParse("parseUon", sUon, pUon, oUon);
-	}
-	
-	//--------------------------------------------------------------------------------
-	// UON - 't' property
-	//--------------------------------------------------------------------------------
-	WriterSerializer sUonT = UonSerializer.DEFAULT.clone().setBeanTypePropertyName("t");
-	ReaderParser pUonT = UonParser.DEFAULT.clone().setBeanTypePropertyName("t");
-	
-	@Test
-	public void serializeUonT() throws Exception {
-		testSerialize("serializeUonT", sUonT, oUonT);
-	}
-	
-	@Test
-	public void parseUonT() throws Exception {
-		testParse("parseUonT", sUonT, pUonT, oUonT);
-	}
-	
-	//--------------------------------------------------------------------------------
-	// UON - Readable
-	//--------------------------------------------------------------------------------
-	WriterSerializer sUonR = UonSerializer.DEFAULT_READABLE;
-	ReaderParser pUonR = UonParser.DEFAULT;
-	
-	@Test
-	public void serializeUonR() throws Exception {
-		testSerialize("serializeUonR", sUonR, oUonR);
-	}
-	
-	@Test
-	public void parseUonR() throws Exception {
-		testParse("parseUonR", sUonR, pUonR, oUonR);
-	}
-	
-	//--------------------------------------------------------------------------------
-	// UrlEncoding
-	//--------------------------------------------------------------------------------
-	WriterSerializer sUrlEncoding = UrlEncodingSerializer.DEFAULT;
-	ReaderParser pUrlEncoding = UrlEncodingParser.DEFAULT;
-	
-	@Test
-	public void serializeUrlEncoding() throws Exception {
-		testSerialize("serializeUrlEncoding", sUrlEncoding, oUrlEncoding);
-	}
-	
-	@Test
-	public void parseUrlEncoding() throws Exception {
-		testParse("parseUrlEncoding", sUrlEncoding, pUrlEncoding, oUrlEncoding);
-	}
-	
-	//--------------------------------------------------------------------------------
-	// UrlEncoding - 't' property
-	//--------------------------------------------------------------------------------
-	WriterSerializer sUrlEncodingT = UrlEncodingSerializer.DEFAULT.clone().setBeanTypePropertyName("t");
-	ReaderParser pUrlEncodingT = UrlEncodingParser.DEFAULT.clone().setBeanTypePropertyName("t");
-	
-	@Test
-	public void serializeUrlEncodingT() throws Exception {
-		testSerialize("serializeUrlEncodingT", sUrlEncodingT, oUrlEncodingT);
-	}
-	
-	@Test
-	public void parseUrlEncodingT() throws Exception {
-		testParse("parseUrlEncodingT", sUrlEncodingT, pUrlEncodingT, oUrlEncodingT);
-	}
-	
-	//--------------------------------------------------------------------------------
-	// UrlEncoding - Readable
-	//--------------------------------------------------------------------------------
-	WriterSerializer sUrlEncodingR = UrlEncodingSerializer.DEFAULT_READABLE;
-	ReaderParser pUrlEncodingR = UrlEncodingParser.DEFAULT;
-	
-	@Test
-	public void serializeUrlEncodingR() throws Exception {
-		testSerialize("serializeUrlEncodingR", sUrlEncodingR, oUrlEncodingR);
-	}
-	
-	@Test
-	public void parseUrlEncodingR() throws Exception {
-		testParse("parseUrlEncodingR", sUrlEncodingR, pUrlEncodingR, oUrlEncodingR);
-	}
-	
-	//--------------------------------------------------------------------------------
-	// MsgPack
-	//--------------------------------------------------------------------------------
-	OutputStreamSerializer sMsgPack = MsgPackSerializer.DEFAULT;
-	InputStreamParser pMsgPack = MsgPackParser.DEFAULT;
-	
-	@Test
-	public void serializeMsgPack() throws Exception {
-		testSerialize("serializeMsgPack", sMsgPack, oMsgPack);
-	}
-	
-	@Test
-	public void parseMsgPack() throws Exception {
-		testParse("parseMsgPack", sMsgPack, pMsgPack, oMsgPack);
-	}
-	
-	@Test
-	public void parseMsgPackJsonEquivalency() throws Exception {
-		testParseJsonEquivalency("parseMsgPackJsonEquivalency", sMsgPack, pMsgPack, oJson);
-	}
-	
-	//--------------------------------------------------------------------------------
-	// MsgPack - 't' property
-	//--------------------------------------------------------------------------------
-	OutputStreamSerializer sMsgPackT = MsgPackSerializer.DEFAULT.clone().setBeanTypePropertyName("t");
-	InputStreamParser pMsgPackT = MsgPackParser.DEFAULT.clone().setBeanTypePropertyName("t");
-	
-	@Test
-	public void serializeMsgPackT() throws Exception {
-		testSerialize("serializeMsgPackT", sMsgPackT, oMsgPackT);
-	}
-	
-	@Test
-	public void parseMsgPackT() throws Exception {
-		testParse("parseMsgPackT", sMsgPackT, pMsgPackT, oMsgPackT);
-	}
-	
-	@Test
-	public void parseMsgPackTJsonEquivalency() throws Exception {
-		testParseJsonEquivalency("parseMsgPackTJsonEquivalency", sMsgPackT, pMsgPackT, oJson);
-	}
-	
-	//--------------------------------------------------------------------------------
-	// RdfXml
-	//--------------------------------------------------------------------------------
-	WriterSerializer sRdfXml = RdfSerializer.DEFAULT_XMLABBREV;
-	ReaderParser pRdfXml = RdfParser.DEFAULT_XML;
-	
-	@Test
-	public void serializeRdfXml() throws Exception {
-		testSerialize("serializeRdfXml", sRdfXml, oRdfXml);
-	}
-	
-	@Test
-	public void parseRdfXml() throws Exception {
-		testParse("parseRdfXml", sRdfXml, pRdfXml, oRdfXml);
-	}
-	
-	//--------------------------------------------------------------------------------
-	// RdfXml - 't' property
-	//--------------------------------------------------------------------------------
-	WriterSerializer sRdfXmlT = RdfSerializer.DEFAULT_XMLABBREV.clone().setBeanTypePropertyName("t");
-	ReaderParser pRdfXmlT = RdfParser.DEFAULT_XML.clone().setBeanTypePropertyName("t");
-	
-	@Test
-	public void serializeRdfXmlT() throws Exception {
-		testSerialize("serializeRdfXmlT", sRdfXmlT, oRdfXmlT);
-	}
-	
-	@Test
-	public void parseRdfXmlT() throws Exception {
-		testParse("parseRdfXmlT", sRdfXmlT, pRdfXmlT, oRdfXmlT);
-	}
-	
-	//--------------------------------------------------------------------------------
-	// RdfXml - Readable
-	//--------------------------------------------------------------------------------
-	WriterSerializer sRdfXmlR = RdfSerializer.DEFAULT_XMLABBREV.clone().setUseWhitespace(true);
-	ReaderParser pRdfXmlR = RdfParser.DEFAULT_XML;
-	
-	@Test
-	public void serializeRdfXmlR() throws Exception {
-		testSerialize("serializeRdfXmlR", sRdfXmlR, oRdfXmlR);
-	}
-	
-	@Test
-	public void parseRdfXmlR() throws Exception {
-		testParse("parseRdfXmlR", sRdfXmlR, pRdfXmlR, oRdfXmlR);
-	}
-}