Files
2026-06-17 14:00:51 +02:00

104 lines
2.9 KiB
Java

package jmri.jmrix.can.cbus.swing.nodeconfig;
import jmri.jmrix.can.cbus.node.CbusNode;
import jmri.jmrix.can.cbus.node.CbusNodeEvent;
import jmri.util.JUnitUtil;
import jmri.util.ThreadingUtil;
import org.junit.Assert;
import org.junit.jupiter.api.*;
import org.netbeans.jemmy.operators.*;
/**
* Test simple functioning of CbusNodeEventVarPane
*
* @author Paul Bender Copyright (C) 2016
* @author Steve Young Copyright (C) 2019
*/
@jmri.util.junit.annotations.DisabledIfHeadless
public class CbusNodeEventVarPaneTest {
private CbusNodeEventVarPane t;
@Test
public void testCtor() {
t = new CbusNodeEventVarPane(null);
Assert.assertNotNull("exists",t);
}
@Test
public void testIntComponents() {
t = new CbusNodeEventVarPane(null);
t.initComponents(null);
Assert.assertNotNull("exists",t);
}
@Test
public void testSetNodeNull() {
t = new CbusNodeEventVarPane(null);
t.initComponents(null);
t.setNode(null);
Assert.assertNotNull("exists",t);
}
@Test
public void testSetNodeInGui() {
t = new CbusNodeEventVarPane(null);
t.initComponents(null);
CbusNode node = new CbusNode(null,12345);
// set node to 4 ev vars per event, para 5
node.getNodeParamManager().setParameters(new int[]{8,1,2,3,4,4,6,7,8});
CbusNodeEvent ev = new CbusNodeEvent(null,0,7,12345,-1,4); // nn, en, thisnode, index, maxevvar
CbusNodeEvent eva = new CbusNodeEvent(null,257,111,12345,-1,4); // nn, en, thisnode, index, maxevvar
ev.setEvArr(new int[]{1,2,3,4});
node.getNodeEventManager().addNewEvent(ev);
node.getNodeEventManager().addNewEvent(eva);
t.setNode(node);
jmri.util.JmriJFrame f = new jmri.util.JmriJFrame();
f.add(t);
f.setTitle("Test CbusNodeEventVarPane");
ThreadingUtil.runOnGUI( () -> {
f.pack();
f.setVisible(true);
});
// Find new window by name
JFrameOperator jfo = new JFrameOperator("Test CbusNodeEventVarPane");
Assert.assertTrue("Button Enabled",getNewEventButtonEnabled(jfo));
CbusNode newNode = new CbusNode(null,12346);
// set node to -1 ev vars per event, para 5
newNode.getNodeParamManager().setParameters(new int[]{8,1,2,3,4,-1,6,7,8});
t.setNode(newNode);
Assert.assertFalse("Button Not Enabled",getNewEventButtonEnabled(jfo));
JUnitUtil.dispose(f);
}
private boolean getNewEventButtonEnabled( JFrameOperator jfo ){
return ( new JButtonOperator(jfo,Bundle.getMessage("AddNodeEvent")).isEnabled() );
}
@BeforeEach
public void setUp() {
JUnitUtil.setUp();
}
@AfterEach
public void tearDown() {
t = null;
JUnitUtil.tearDown();
}
// private static final Logger log = LoggerFactory.getLogger(CbusNodeEventVarPaneTest.class);
}