package xml.template;
import java.io.StringWriter;
import junit.framework.TestCase;
import org.exolab.castor.xml.Marshaller;
import org.exolab.castor.xml.Unmarshaller;
import org.exolab.castor.xml.XMLContext;
import org.xml.sax.InputSource;
public final class TestTemplate extends TestCase {
private static final String SAMPLE_FILE = "input.xml";
private XMLContext context;
public TestTemplate() {
super();
}
public TestTemplate(final String name) {
super(name);
}
protected void setUp() throws Exception {
this.context = new XMLContext();
context.setProperty("org.exolab.castor.indent", "true");
}
/**
* Test method.
* @throws Exception For any exception thrown.
*/
public void testUnmarshalEntity() throws Exception {
Unmarshaller unmarshaller = getXMLContext().createUnmarshaller();
unmarshaller.setClass(Entity.class);
Entity entity = (Entity) unmarshaller.unmarshal(new InputSource(getClass().getResource(SAMPLE_FILE).toExternalForm()));
assertNotNull (entity);
assertEquals (1, entity.getId().intValue());
assertEquals("name", entity.getName());
}
/**
* Test method.
* @throws Exception For any exception thrown.
*/
public void testMarshalEntity() throws Exception {
StringWriter out = new StringWriter();
Marshaller marshaller = getXMLContext().createMarshaller();
marshaller.setWriter(out);
Entity entity = new Entity();
entity.setId(new Integer(100));
entity.setName("entity 100");
marshaller.marshal(entity);
System.out.println(out.toString());
}
private XMLContext getXMLContext() {
return this.context;
}
}