package xml.bug2265; import java.io.StringWriter; import junit.framework.TestCase; import org.exolab.castor.types.AnyNode; import org.exolab.castor.xml.Marshaller; import org.exolab.castor.xml.Unmarshaller; import org.xml.sax.InputSource; public final class TestTemplate extends TestCase { private static final String SAMPLE_FILE = "input.xml"; public TestTemplate() { super(); } public TestTemplate(final String name) { super(name); } /** * Test method. * @throws Exception For any exception thrown. */ public void testMarshalEntity() throws Exception { Unmarshaller unmarshaller = new Unmarshaller (Entity.class); Entity entity = (Entity) unmarshaller.unmarshal(new InputSource(getClass().getResource(SAMPLE_FILE).toExternalForm())); assertNotNull (entity); Object name = entity.getName(); assertNotNull(name); assertTrue(name instanceof AnyNode); AnyNode anyNodeName = (AnyNode) name; AnyNode firstName = anyNodeName.getFirstChild(); AnyNode lastName = firstName.getNextSibling(); assertEquals("f", firstName.getNamespacePrefix()); assertEquals("http://name.namespace", firstName.getNamespaceURI()); assertEquals("l", lastName.getNamespacePrefix()); assertEquals("http://name.namespace", lastName.getNamespaceURI()); StringWriter out = new StringWriter(); Marshaller marshaller = new Marshaller (out); marshaller.marshal(entity); String marshalledXml = out.toString(); System.out.println(marshalledXml); assertTrue(marshalledXml.indexOf("f:firstname") != -1); assertTrue(marshalledXml.indexOf("f:text") != -1); assertTrue(marshalledXml.indexOf("l:lastname") != -1); assertTrue(marshalledXml.indexOf("l:text") != -1); } }