Files
JIMRI/java/test/jmri/jmrix/can/cbus/swing/nodeconfig/CbusNodeEventTablePaneTest.java
T
2026-06-17 14:00:51 +02:00

115 lines
3.1 KiB
Java

package jmri.jmrix.can.cbus.swing.nodeconfig;
import jmri.jmrix.can.CanSystemConnectionMemo;
import jmri.jmrix.can.cbus.node.CbusNode;
import jmri.jmrix.can.cbus.node.CbusNodeEvent;
import jmri.jmrix.can.cbus.node.CbusNodeEventTableDataModel;
import jmri.util.*;
import org.junit.Assert;
import org.junit.jupiter.api.*;
import org.netbeans.jemmy.operators.JFrameOperator;
import org.netbeans.jemmy.operators.JTableOperator;
/**
* Test simple functioning of CbusNodeEventTablePane
*
* @author Paul Bender Copyright (C) 2016
* @author Steve Young Copyright (C) 2019
*/
@jmri.util.junit.annotations.DisabledIfHeadless
public class CbusNodeEventTablePaneTest {
@Test
public void testCtor() {
t = new CbusNodeEventTablePane(null);
Assert.assertNotNull("exists",t);
}
@Test
public void testCtorWithModelAndInit() {
nodeModel = new CbusNodeEventTableDataModel(null, memo, 3,CbusNodeEventTableDataModel.MAX_COLUMN);
t = new CbusNodeEventTablePane(nodeModel);
t.initComponents(memo);
t.setNode(null);
Assert.assertNotNull("exists",t);
nodeModel.dispose();
t.dispose();
}
@Test
public void testSetNode() {
nodeModel = new CbusNodeEventTableDataModel(null, memo, 3,CbusNodeEventTableDataModel.MAX_COLUMN);
t = new CbusNodeEventTablePane(nodeModel);
t.initComponents(memo);
t.setHideEditButton();
// check pane has loaded something
JmriJFrame f = new JmriJFrame();
f.add(t);
f.setTitle(t.getTitle());
CbusNode node = new CbusNode(memo,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(memo,0,7,12345,-1,4); // nn, en, thisnode, index, maxevvar
CbusNodeEvent eva = new CbusNodeEvent(memo,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);
Assert.assertNotNull("exists",t);
ThreadingUtil.runOnGUI( () -> {
f.pack();
f.setVisible(true);
});
JTableOperator tbl = new JTableOperator(new JFrameOperator(f), 0);
tbl.waitCell("7",0,1);
tbl.waitCell("257",1,0);
tbl.waitCell("111",1,1);
Assert.assertTrue("2 rows",tbl.getRowCount()==2);
JUnitUtil.dispose(f);
}
private CbusNodeEventTablePane t;
private CanSystemConnectionMemo memo = null;
private CbusNodeEventTableDataModel nodeModel;
@BeforeEach
public void setUp() {
JUnitUtil.setUp();
memo = new CanSystemConnectionMemo();
}
@AfterEach
public void tearDown() {
t = null;
nodeModel = null;
Assertions.assertNotNull(memo);
memo.dispose();
memo = null;
JUnitUtil.tearDown();
}
// private static final Logger log = LoggerFactory.getLogger(CbusNodeEventTablePaneTest.class);
}