Files
JIMRI/java/test/jmri/jmrix/easydcc/easydccmon/EasyDccMonFrameTest.java
T
2026-06-17 14:00:51 +02:00

111 lines
3.0 KiB
Java

package jmri.jmrix.easydcc.easydccmon;
import jmri.jmrix.easydcc.*;
import jmri.util.JUnitUtil;
import org.junit.Assert;
import org.junit.jupiter.api.*;
import org.junit.jupiter.api.condition.DisabledIfSystemProperty;
import org.netbeans.jemmy.operators.*;
/**
* JUnit tests for the EasyDccMonFrame class
*
* @author Bob Jacobsen
*/
@DisabledIfSystemProperty(named ="java.awt.headless", matches ="true")
public class EasyDccMonFrameTest extends jmri.util.JmriJFrameTestBase {
@Test
public void testCreate() {
Assert.assertNotNull("exists", frame);
}
@Test
public void testMsg() {
EasyDccMessage m = new EasyDccMessage(3);
m.setOpCode('L');
m.setElement(1, '0');
m.setElement(2, 'A');
jmri.util.ThreadingUtil.runOnGUI(() -> {
frame.setVisible(true);
});
EasyDccMonFrame f = (EasyDccMonFrame)frame;
f.message(m);
new org.netbeans.jemmy.QueueTool().waitEmpty();
JUnitUtil.waitFor(()-> { return f.getTextArea().getText().length()>0; },"No Text in getFrameText");
Assert.assertEquals("length ", "cmd: \"L0A\"\n".length(), f.getTextArea().getText().length());
Assert.assertEquals("display", "cmd: \"L0A\"\n", f.getTextArea().getText());
JFrameOperator jfo = new JFrameOperator(f.getTitle());
jfo.requestClose();
jfo.waitClosed();
}
@Test
public void testReply() {
EasyDccReply m = new EasyDccReply();
m.setOpCode('C');
m.setElement(1, 'o');
m.setElement(2, ':');
jmri.util.ThreadingUtil.runOnGUI(() -> {
frame.setVisible(true);
});
EasyDccMonFrame f = (EasyDccMonFrame)frame;
f.reply(m);
new org.netbeans.jemmy.QueueTool().waitEmpty();
JUnitUtil.waitFor(()-> { return f.getTextArea().getText().length()>0; },"No Text in getFrameText");
Assert.assertEquals("length ", "rep: \"Co:\"\n".length(), f.getTextArea().getText().length());
Assert.assertEquals("display", "rep: \"Co:\"\n", f.getTextArea().getText());
JFrameOperator jfo = new JFrameOperator(f.getTitle());
jfo.requestClose();
jfo.waitClosed();
}
private EasyDccSystemConnectionMemo memo = null;
private EasyDccTrafficControlScaffold tc = null;
@Override
@BeforeEach
public void setUp(){
JUnitUtil.setUp();
memo = new EasyDccSystemConnectionMemo("E", "EasyDCC Test");
tc = new EasyDccTrafficControlScaffold(memo);
memo.setEasyDccTrafficController(tc);
frame = new EasyDccMonFrame(memo);
}
@Override
@AfterEach
public void tearDown(){
Assertions.assertNotNull(frame);
frame.dispose();
frame = null;
Assertions.assertNotNull(tc);
Assertions.assertNotNull(memo);
tc.terminateThreads();
memo.dispose();
tc = null;
memo = null;
super.tearDown();
}
// private static final Logger log = LoggerFactory.getLogger(EasyDccMonFrameTest.class);
}