You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sis.apache.org by de...@apache.org on 2013/06/27 12:01:34 UTC

svn commit: r1497277 - /sis/branches/JDK7/core/sis-utility/src/test/java/org/apache/sis/util/iso/NameMarshallingTest.java

Author: desruisseaux
Date: Thu Jun 27 10:01:33 2013
New Revision: 1497277

URL: http://svn.apache.org/r1497277
Log:
Test GenericName unmarshalling.

Modified:
    sis/branches/JDK7/core/sis-utility/src/test/java/org/apache/sis/util/iso/NameMarshallingTest.java

Modified: sis/branches/JDK7/core/sis-utility/src/test/java/org/apache/sis/util/iso/NameMarshallingTest.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK7/core/sis-utility/src/test/java/org/apache/sis/util/iso/NameMarshallingTest.java?rev=1497277&r1=1497276&r2=1497277&view=diff
==============================================================================
--- sis/branches/JDK7/core/sis-utility/src/test/java/org/apache/sis/util/iso/NameMarshallingTest.java [UTF-8] (original)
+++ sis/branches/JDK7/core/sis-utility/src/test/java/org/apache/sis/util/iso/NameMarshallingTest.java [UTF-8] Thu Jun 27 10:01:33 2013
@@ -16,8 +16,10 @@
  */
 package org.apache.sis.util.iso;
 
+import java.io.StringReader;
 import java.io.StringWriter;
 import javax.xml.bind.Marshaller;
+import javax.xml.bind.Unmarshaller;
 import javax.xml.bind.JAXBContext;
 import javax.xml.bind.JAXBException;
 import org.opengis.util.TypeName;
@@ -29,6 +31,7 @@ import org.apache.sis.xml.MarshallerPool
 import org.apache.sis.test.mock.IdentifiedObjectMock;
 import org.apache.sis.test.XMLTestCase;
 import org.apache.sis.test.DependsOn;
+import org.apache.sis.test.DependsOnMethod;
 import org.junit.AfterClass;
 import org.junit.Test;
 
@@ -66,6 +69,17 @@ public final strictfp class NameMarshall
     }
 
     /**
+     * Converse of {@link #marshall(GenericName)}.
+     */
+    private static GenericName unmarshall(final String xml) throws JAXBException {
+        final Unmarshaller unmarshaller = pool.acquireUnmarshaller();
+        final StringReader in = new StringReader(xml);
+        final Object value = unmarshaller.unmarshal(in);
+        pool.recycle(unmarshaller);
+        return ((IdentifiedObjectMock) value).alias;
+    }
+
+    /**
      * Tests XML of a {@link LocalName}.
      *
      * @throws JAXBException Should not happen.
@@ -83,6 +97,7 @@ public final strictfp class NameMarshall
                 "</gml:IO_IdentifiedObject>\n";
         final String actual = marshall(name);
         assertXmlEquals(expected, actual, "xmlns:*", "xsi:schemaLocation");
+        assertEquals(name, unmarshall(actual));
     }
 
     /**
@@ -91,6 +106,7 @@ public final strictfp class NameMarshall
      * @throws JAXBException Should not happen.
      */
     @Test
+    @DependsOnMethod("testLocalName")
     public void testLocalNameWithAmp() throws JAXBException {
         final NameFactory factory = DefaultFactories.NAMES;
         final LocalName name = factory.createLocalName(null, "A name with & and > and <.");
@@ -103,6 +119,7 @@ public final strictfp class NameMarshall
                 "</gml:IO_IdentifiedObject>\n";
         final String actual = marshall(name);
         assertXmlEquals(expected, actual, "xmlns:*", "xsi:schemaLocation");
+        assertEquals(name, unmarshall(actual));
     }
 
     /**
@@ -127,6 +144,7 @@ public final strictfp class NameMarshall
                 "</gml:IO_IdentifiedObject>\n";
         final String actual = marshall(name);
         assertXmlEquals(expected, actual, "xmlns:*", "xsi:schemaLocation");
+        assertEquals(name, unmarshall(actual));
     }
 
     /**
@@ -147,6 +165,7 @@ public final strictfp class NameMarshall
                 "</gml:IO_IdentifiedObject>\n";
         final String actual = marshall(name);
         assertXmlEquals(expected, actual, "xmlns:*", "xsi:schemaLocation");
+        assertEquals(name, unmarshall(actual));
     }
 
     /**