use of org.jdom2.Document in project JMRI by JMRI.
the class VariableTableModelTest method testVarEnumVar.
// Check creating an enumvar with various groupings
public void testVarEnumVar() {
String[] args = { "CV", "Name" };
VariableTableModel t = new VariableTableModel(null, args, new CvTableModel(null, p), null);
// create a JDOM tree with just some elements
Element root = new Element("decoder-config");
Document doc = new Document(root);
doc.setDocType(new DocType("decoder-config", "decoder-config.dtd"));
// add some elements
Element el0;
root.addContent(// the sites information here lists all relevant
new Element("decoder").addContent(new Element("variables").addContent(el0 = new Element("variable").setAttribute("CV", "99").setAttribute("label", "Enum Sample").setAttribute("mask", "VVVVVVVV").setAttribute("readOnly", "").addContent(new Element("enumVal").addContent(new Element("enumChoice").setAttribute("choice", "V0")).addContent(new Element("enumChoice").setAttribute("choice", "V1")).addContent(new Element("enumChoiceGroup").addContent(new Element("enumChoice").setAttribute("choice", "V2")).addContent(new Element("enumChoice").setAttribute("choice", "V3"))).addContent(new Element("enumChoice").setAttribute("choice", "V4"))))));
// end of adding contents
// and test reading this
t.setRow(0, el0);
// check
Assert.assertEquals("name of variable 1", "Enum Sample", t.getLabel(0));
EnumVariableValue ev = (EnumVariableValue) t.getVariable(t.findVarIndex("Enum Sample"));
ev.setValue(1);
Assert.assertEquals("value 1", "V1", ev.getTextValue());
ev.setValue(2);
Assert.assertEquals("value 2", "V2", ev.getTextValue());
ev.setValue(3);
Assert.assertEquals("value 3", "V3", ev.getTextValue());
ev.setValue(4);
Assert.assertEquals("value 4", "V4", ev.getTextValue());
}
use of org.jdom2.Document in project JMRI by JMRI.
the class VariableTableModelTest method testVarTableLoadBogus.
// Check creating bogus XML (unknown variable type)
public void testVarTableLoadBogus() {
String[] args = { "CV", "Name" };
VariableTableModel t = new VariableTableModel(null, args, new CvTableModel(null, p), null) {
@Override
void reportBogus() {
}
};
// create a JDOM tree with just some elements
Element root = new Element("decoder-config");
Document doc = new Document(root);
doc.setDocType(new DocType("decoder-config", "decoder-config.dtd"));
// add some elements
Element el0;
root.addContent(// the sites information here lists all relevant
new Element("decoder").addContent(new Element("variables").addContent(el0 = new Element("variable").setAttribute("CV", "17").setAttribute("mask", "VVVVVVVV").setAttribute("readOnly", "no").setAttribute("label", "long").addContent(new Element("bogusVal")))));
// end of adding contents
// print JDOM tree, to check
//OutputStream o = System.out;
//XMLOutputter fmt = new XMLOutputter();
//fmt.setNewlines(true); // pretty printing
//fmt.setIndent(true);
//try {
// fmt.output(doc, o);
//} catch (Exception e) { System.out.println("error writing XML: "+e);}
// and test reading this
t.setRow(0, el0);
Assert.assertTrue(t.getRowCount() == 0);
}
use of org.jdom2.Document in project JMRI by JMRI.
the class PaneProgFrameTest method setupDoc.
// provide a test document in the above static variables
void setupDoc() {
// create a JDOM tree with just some elements
root = new Element("programmer-config");
doc = new Document(root);
doc.setDocType(new DocType("programmer-config", "programmer-config.dtd"));
// add some elements
root.addContent(new Element("programmer").setAttribute("showFnLanelPane", "yes").setAttribute("showRosterMediaPane", "yes").addContent(new Element("pane").setAttribute("name", "Basic").addContent(new Element("column").addContent(new Element("display").setAttribute("item", "Address")).addContent(new Element("display").setAttribute("item", "Start voltage")).addContent(new Element("display").setAttribute("item", "Normal direction of motion"))).addContent(new Element("column").addContent(new Element("display").setAttribute("item", "Address")).addContent(new Element("display").setAttribute("item", "Normal direction of motion")).addContent(new Element("display").setAttribute("item", "Normal direction of motion").setAttribute("format", "checkbox")).addContent(new Element("display").setAttribute("item", "Normal direction of motion").setAttribute("format", "radiobuttons")))).addContent(new Element("pane").setAttribute("name", "CV").addContent(new Element("column").addContent(new Element("cvtable")))).addContent(new Element("pane").setAttribute("name", "Other").addContent(new Element("column").addContent(new Element("display").setAttribute("item", "Address")).addContent(new Element("display").setAttribute("item", "Normal direction of motion")))));
return;
}
use of org.jdom2.Document in project JMRI by JMRI.
the class QualifierAdderTest method testExistsProtectsEq.
public void testExistsProtectsEq() {
Element e = new Element("variable").addContent(new Element("qualifier").addContent(new Element("variableref").addContent("none")).addContent(new Element("relation").addContent("exists")).addContent(new Element("value").addContent("1"))).addContent(new Element("qualifier").addContent(new Element("variableref").addContent("none")).addContent(new Element("relation").addContent("eq")).addContent(new Element("value").addContent("3")));
// create a JDOM tree with just some elements
Element root = new Element("decoder-config");
Document doc = new Document(root);
doc.setDocType(new DocType("decoder-config", "decoder-config.dtd"));
root.addContent(// the sites information here lists all relevant
new Element("decoder").addContent(new Element("variables").addContent(e)));
// test Exists
processModifierElements(e, v2);
Assert.assertFalse(v2.getAvailable());
jmri.util.JUnitAppender.assertErrorMessage("Arithmetic EQ operation when watched value doesn't exist");
}
use of org.jdom2.Document in project JMRI by JMRI.
the class QualifierAdderTest method testNotExistsOk0.
public void testNotExistsOk0() {
Element e = new Element("variable").addContent(new Element("qualifier").addContent(new Element("variableref").addContent("one")).addContent(new Element("relation").addContent("exists")).addContent(new Element("value").addContent("0")));
// create a JDOM tree with just some elements
Element root = new Element("decoder-config");
Document doc = new Document(root);
doc.setDocType(new DocType("decoder-config", "decoder-config.dtd"));
root.addContent(// the sites information here lists all relevant
new Element("decoder").addContent(new Element("variables").addContent(e)));
// test Exists
processModifierElements(e, v2);
Assert.assertFalse(v2.getAvailable());
}
Aggregations