117 lines
4.8 KiB
Java
117 lines
4.8 KiB
Java
package jmri.jmrit.symbolicprog.tabbedframe;
|
|
|
|
import java.awt.event.WindowEvent;
|
|
|
|
import jmri.jmrit.decoderdefn.DecoderFile;
|
|
import jmri.jmrit.roster.RosterEntry;
|
|
import jmri.util.JUnitUtil;
|
|
import jmri.util.junit.annotations.DisabledIfHeadless;
|
|
|
|
import org.jdom2.DocType;
|
|
import org.jdom2.Document;
|
|
import org.jdom2.Element;
|
|
|
|
import org.junit.jupiter.api.*;
|
|
|
|
/**
|
|
*
|
|
* @author Paul Bender Copyright (C) 2017
|
|
*/
|
|
public class PaneOpsProgFrameTest {
|
|
|
|
@Test
|
|
@DisabledIfHeadless
|
|
public void testCTor() {
|
|
|
|
jmri.Programmer p = jmri.InstanceManager.getDefault(jmri.AddressedProgrammerManager.class).getAddressedProgrammer(false,42);
|
|
DecoderFile df = new DecoderFile("NMRA", "", "NMRA standard CV definitions", "0", "255",
|
|
"NMRA standard CV definitions", "0NMRA.xml", 16, 3, root);
|
|
RosterEntry re = new RosterEntry();
|
|
PaneOpsProgFrame t = new PaneOpsProgFrame(df,re,"test frame", "programmers/Basic.xml",p);
|
|
JUnitUtil.waitFor(()->{return t.threadCount.get() == 0;}, "PaneProgFrame threads done");
|
|
|
|
Assertions.assertNotNull(t, "exists");
|
|
t.dispatchEvent(new WindowEvent(t, WindowEvent.WINDOW_CLOSING));
|
|
}
|
|
|
|
@BeforeEach
|
|
public void setUp() {
|
|
JUnitUtil.setUp();
|
|
JUnitUtil.resetProfileManager();
|
|
JUnitUtil.initRosterConfigManager();
|
|
JUnitUtil.initDebugProgrammerManager();
|
|
setupDoc();
|
|
}
|
|
|
|
@AfterEach
|
|
public void tearDown() {
|
|
JUnitUtil.clearShutDownManager();
|
|
JUnitUtil.resetWindows(false, false); // Detachable frame : "Comments : test frame"
|
|
JUnitUtil.tearDown();
|
|
}
|
|
|
|
// variables for the test XML structures
|
|
private Element root = null;
|
|
private Document doc = null;
|
|
|
|
// provide a test document in the above static variables
|
|
void setupDoc() {
|
|
// create a JDOM tree with just some elements
|
|
root = new Element("decoderIndex-config");
|
|
doc = new Document(root);
|
|
doc.setDocType(new DocType("decoderIndex-config", "decoderIndex-config.dtd"));
|
|
|
|
// add some elements
|
|
root.addContent(new Element("decoderIndex")
|
|
.addContent(new Element("mfgList")
|
|
.addContent(new Element("manufacturer")
|
|
.setAttribute("mfg", "NMRA")
|
|
)
|
|
.addContent(new Element("manufacturer")
|
|
.setAttribute("mfg", "Digitrax")
|
|
.setAttribute("mfgID", "129")
|
|
)
|
|
)
|
|
.addContent(new Element("familyList")
|
|
.addContent(new Element("family")
|
|
.setAttribute("mfg", "NMRA")
|
|
.setAttribute("name", "NMRA S&RP definitions")
|
|
.setAttribute("file", "NMRA.xml")
|
|
.addContent(new Element("model")
|
|
.setAttribute("model", "full set")
|
|
.setAttribute("comment", "all CVs in RP 9.2.1")
|
|
)
|
|
.addContent(new Element("model")
|
|
.setAttribute("model", "required set")
|
|
.setAttribute("comment", "required CVs in RP 9.2.1")
|
|
)
|
|
)
|
|
.addContent(new Element("family")
|
|
.setAttribute("mfg", "Digitrax")
|
|
.setAttribute("name", "FX2 family")
|
|
.setAttribute("file", "DH142.xml")
|
|
.addContent(new Element("model")
|
|
.setAttribute("model", "DH142")
|
|
.setAttribute("numFns", "4")
|
|
.setAttribute("numOuts", "2")
|
|
.setAttribute("lowVersionID", "21")
|
|
)
|
|
.addContent(new Element("model")
|
|
.setAttribute("model", "DN142")
|
|
.setAttribute("numFns", "5")
|
|
.setAttribute("numOuts", "1")
|
|
.addContent(new Element("versionCV")
|
|
.setAttribute("lowVersionID", "22")
|
|
.setAttribute("highVersionID", "24")
|
|
)
|
|
)
|
|
)
|
|
)
|
|
); // end of adding contents
|
|
|
|
}
|
|
|
|
// private static final Logger log = LoggerFactory.getLogger(PaneOpsProgFrameTest.class.getName());
|
|
|
|
}
|