xformtest.java
来自「j2me mobile application for upload file 」· Java 代码 · 共 170 行
JAVA
170 行
/**
*
*/
package org.celllife.clforms.api;
import j2meunit.framework.Test;
import j2meunit.framework.TestCase;
import j2meunit.framework.TestMethod;
import j2meunit.framework.TestSuite;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.util.Vector;
import org.celllife.clforms.Constants;
import org.kxml2.io.KXmlParser;
import org.kxml2.io.KXmlSerializer;
import org.kxml2.kdom.Document;
import org.kxml2.kdom.Element;
import org.xmlpull.v1.XmlPullParserException;
/**
* @author Simon
*
*/
public class XFormTest extends TestCase {
public XFormTest(String arg0, TestMethod arg1) {
super(arg0, arg1);
}
public XFormTest() {
super();
}
public XFormTest(String arg0) {
super(arg0);
}
// suite method that returns all the tests to be run
// Here it returns only one test – testAlwaysFails
public Test suite() {
TestSuite suite = new TestSuite();
suite.addTest(new XFormTest("Populate model test", new TestMethod() {
public void run(TestCase tc) {
((XFormTest) tc).testPopulateModel();
}
}));
suite.addTest(new XFormTest("Populate model test1", new TestMethod() {
public void run(TestCase tc) {
((XFormTest) tc).testPopulateModel1();
}
}));
suite.addTest(new XFormTest("Xpath test", new TestMethod() {
public void run(TestCase tc) {
((XFormTest) tc).testXpathSingle();
}
}));
suite.addTest(new XFormTest("Xpath test", new TestMethod() {
public void run(TestCase tc) {
((XFormTest) tc).testXpathMulti();
}
}));
return suite;
}
public void testPopulateModel() {
XForm xf = generateDummy();
xf.populateModel();
Element e = (Element) xf.evaluateXpath("/data/name/first").elementAt(0);
String text = e.getText(0);
assertTrue("wrong data in element", text.equals("NAMENAME"));
}
public void testPopulateModel1() {
XForm xf = generateDummy();
xf.populateModel();
Element e = (Element) xf.evaluateXpath("/data/info/age").elementAt(0);
String text = e.getText(0);
assertTrue("wrong data in element", text.equals("24"));
}
public void testXpathSingle() {
XForm xf = generateDummy();
Vector resultSet = xf.evaluateXpath("/data/name/first");
assertTrue("xpath returned wrong number of elements",
resultSet.size() == 1);
assertTrue("returned objects of wrong type",
resultSet.elementAt(0) instanceof Element);
Element e = (Element) resultSet.elementAt(0);
assertTrue("wrong returned objects", e.getName().equals("first"));
}
public void testXpathMulti() {
XForm xf = generateDummy();
Vector resultSet = xf.evaluateXpath("/data/name/*");
assertTrue("xpath returned wrong number of elements",
resultSet.size() == 2);
assertTrue("returned objects of wrong type",
resultSet.elementAt(1) instanceof Element);
Element e = (Element) resultSet.elementAt(1);
assertTrue("wrong returned objects", e.getName().equals("second"));
}
/**
* @param xf
*/
private void printModel(XForm xf) {
try {
KXmlSerializer serializer = new KXmlSerializer();
serializer.setOutput(System.out, null);
xf.getXmlModel().write(serializer);
serializer.flush();
} catch (IOException e) {
throw new RuntimeException("error writing model");
}
}
public XForm generateDummy() {
XForm f = new XForm();
f.setName("Inquisition");
XFElement e1 = new XFElement("Q1", "Whats your Name?", "Ciami e tu?",
Constants.STRING, "/data/name/first", new String("NAMENAME"));
XFElement e2 = new XFElement("Q2", "What is your Age?",
"Quanto vecchi siete?", Constants.INT, "/data/info/age",
new Integer(24));
XFElement e3 = new XFElement("Q3", "What is your DOB?",
"(Quando anniverrsare?)", Constants.DATE, "/data/info/dob",
new String("12/10/2007"));
f.addElement(e1);
f.addElement(e2);
f.addElement(e3);
String modStr = "<data><name><first/><second/></name>"
+ "<info><dob/><age/></info></data>";
try {
ByteArrayInputStream bais = new ByteArrayInputStream(modStr
.getBytes());
InputStreamReader isr = new InputStreamReader(bais, "UTF-8");
KXmlParser parser = new KXmlParser();
parser.setInput(isr);
Document doc = new Document();
doc.parse(parser);
f.setXmlModel(doc);
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (XmlPullParserException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return f;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?