package cl.utfsm.acs.ebe;
import java.io.File;
import java.io.FileReader;
import junit.framework.TestCase;
import cl.utfsm.acs.types.AcsComplexType;
public class EbeDocumentTEST extends TestCase {
ErrorSchema schema;
String xmldirs;
protected void setUp() throws Exception {
xmldirs=System.getProperty("test.xmldirs");
schema=new ErrorSchema();
Member.setClassType((AcsComplexType)schema.getType("Member_"));
Error.setClassType(schema.getErrorSchema());
Completion.setClassType(schema.getCompletionSchema());
EbeDocument.setClassType(schema.getTypeSchema());
}
public void testLoad(){
EbeDocument doc=new EbeDocument();
doc.setPath(xmldirs + "/dir1/c.xml");
doc.load();
String tmp;
assertEquals("Wrong value, ",doc.getAttributeValue("name"),"veryComplex");
assertEquals("Wrong value, ",doc.getAttributeValue("type"),"1");
assertEquals("Wrong value, ",doc.getAttributeValue("xmlns"),"Alma/ACSError");
Completion c1=(Completion)doc.getNode("Completion1");
assertEquals("Wrong value, ",c1.getAttributeValue("shortDescription"),"The Completion 1");
Error e1=(Error)doc.getNode("Error1");
assertEquals("Wrong value, ",e1.getAttributeValue("shortDescription"),"The Error 1");
Error e2=(Error)doc.getNode("Error2");
Member m1 = e2.getMember("member1");
assertEquals("Wrong value, ",m1.getAttributeValue("description"),"The member number 1");
Member m2 = e2.getMember("member2");
assertEquals("Wrong value, ",m2.getAttributeValue("type"),"string");
}
public void testSave(){
EbeDocument doc=new EbeDocument();
doc.setPath("save.xml");
doc.setDocumentInfo("saveDocument");
doc.setAttributeValue("type","54");
Completion c=new Completion();
c.setAttributeValue("name","myCompletion");
c.setAttributeValue("shortDescription","My own Completion");
c.setValue("myCompletion");
doc.putNode(c);
Error e=new Error();
e.setAttributeValue("name","myError");
e.setAttributeValue("shortDescription","My own Error");
e.setValue("myError");
Member m=new Member();
m.setAttributeValue("name","myMember");
m.setAttributeValue("description","My own Member");
m.setValue("myMember");
e.putMember(m);
doc.putNode(e);
FileReader ref;
FileReader created;
char ref_buff[]=new char[10000];
char created_buff[]=new char[10000];
try{
doc.save();
ref=new FileReader(new File(xmldirs + "/save.xml"));
created=new FileReader(new File("save.xml"));
ref.read(ref_buff);
created.read(created_buff);
}
catch (Exception ex){
System.out.println(ex);
}
String ref_string=new String(ref_buff);
String created_string=new String(created_buff);
assertTrue(ref_string.compareTo(created_string)==0);
try{
(new File("save.xml")).delete();
}
catch (Exception ex){
System.out.println(ex);
}
}
}