package org.incha.core; import java.io.File; import java.io.IOException; import java.io.StringReader; import java.io.StringWriter; import javax.xml.transform.TransformerException; import junit.framework.TestCase; import org.xml.sax.SAXException; public class ModelSerializerTest extends TestCase { /** * Default constructor. */ public ModelSerializerTest() { super(); } /** * @param name test case name. */ public ModelSerializerTest(final String name) { super(name); } public void testSerializeModel() throws TransformerException, SAXException, IOException { final JavaProjectsModel origin = new JavaProjectsModel(); final JavaProject p = new JavaProject("JUnit1"); p.getBuildPath().addSource(new File("a/b/c/d/1")); p.getBuildPath().addSource(new File("a/b/c/d/2")); p.getBuildPath().addClassPath(new File("a/b/c/d/3")); p.getBuildPath().addClassPath(new File("a/b/c/d/4")); origin.addProject(p); origin.addProject(new JavaProject("JUnit2")); //save model final ModelSerializer ser = new ModelSerializer(); final StringWriter sw = new StringWriter(); ser.save(origin, sw); System.out.println(sw); //parse XML to model final JavaProjectsModel model = ser.parse(new StringReader(sw.toString())); assertEquals(origin.getProjects().size(), model.getProjects().size()); //compare first projects final JavaProject prg1 = origin.getProjects().get(0); final JavaProject prg2 = model.getProjects().get(0); assertEquals(prg1.getName(), prg2.getName()); assertEquals(prg1.getBuildPath().getSources().size(), prg2.getBuildPath().getSources().size()); assertEquals(prg1.getBuildPath().getClassPath().size(), prg2.getBuildPath().getClassPath().size()); assertEquals(prg1.getBuildPath().getSources().get(1), prg2.getBuildPath().getSources().get(1)); assertEquals(prg1.getBuildPath().getClassPath().get(1), prg2.getBuildPath().getClassPath().get(1)); } }