110 lines
3.4 KiB
Java
110 lines
3.4 KiB
Java
package jmri.jmrix.can.cbus.swing.nodeconfig;
|
|
|
|
import javax.swing.JFrame;
|
|
|
|
import jmri.jmrix.can.CanSystemConnectionMemo;
|
|
import jmri.jmrix.can.TrafficControllerScaffold;
|
|
import jmri.jmrix.can.cbus.CbusConfigurationManager;
|
|
import jmri.jmrix.can.cbus.CbusPreferences;
|
|
import jmri.jmrix.can.cbus.node.CbusNodeTableDataModel;
|
|
import jmri.util.JUnitUtil;
|
|
import jmri.util.ThreadingUtil;
|
|
|
|
import org.junit.jupiter.api.*;
|
|
|
|
import org.netbeans.jemmy.operators.JFrameOperator;
|
|
import org.netbeans.jemmy.operators.JTableOperator;
|
|
|
|
/**
|
|
* Test simple functioning of NodeConfigToolPane
|
|
*
|
|
* @author Paul Bender Copyright (C) 2016
|
|
* @author Steve Young Copyright (C) 2019
|
|
*/
|
|
@jmri.util.junit.annotations.DisabledIfHeadless
|
|
public class NodeConfigToolPaneTest extends jmri.util.swing.JmriPanelTest {
|
|
|
|
@Test
|
|
public void testInitComp() {
|
|
|
|
Assertions.assertNotNull(memo);
|
|
memo.get(CbusPreferences.class).setNodeBackgroundFetchDelay(0);
|
|
CbusNodeTableDataModel nodeModel = memo.get(CbusConfigurationManager.class)
|
|
.provide(CbusNodeTableDataModel.class);
|
|
|
|
NodeConfigToolPane nodeConfigpanel = new NodeConfigToolPane();
|
|
nodeConfigpanel.initComponents(memo);
|
|
|
|
Assertions.assertNotNull( nodeConfigpanel, "exists");
|
|
Assertions.assertNotNull( nodeModel, "core node model exists");
|
|
|
|
nodeModel.dispose();
|
|
|
|
}
|
|
|
|
@Test
|
|
public void testDuplicateCanIdHighlight() {
|
|
|
|
Assertions.assertNotNull(memo);
|
|
memo.get(CbusPreferences.class).setNodeBackgroundFetchDelay(0);
|
|
CbusNodeTableDataModel nodeModel = memo.get(CbusConfigurationManager.class)
|
|
.provide(CbusNodeTableDataModel.class);
|
|
|
|
nodeModel.provideNodeByNodeNum(556).setCanId(1);
|
|
nodeModel.provideNodeByNodeNum(557).setCanId(2);
|
|
nodeModel.provideNodeByNodeNum(558).setCanId(1);
|
|
nodeModel.provideNodeByNodeNum(559).setCanId(tcis.getCanid());
|
|
|
|
NodeConfigToolPane nodeConfigpanel = new NodeConfigToolPane();
|
|
nodeConfigpanel.initComponents(memo);
|
|
JFrame f = new JFrame("testDuplicateCanIdHighlight");
|
|
f.getContentPane().add(nodeConfigpanel);
|
|
ThreadingUtil.runOnGUI( () -> {
|
|
f.pack();
|
|
f.setVisible(true);
|
|
});
|
|
|
|
JFrameOperator jfo = new JFrameOperator(f.getTitle());
|
|
Assertions.assertNotNull(jfo);
|
|
|
|
JTableOperator jto = new JTableOperator(jfo);
|
|
Assertions.assertEquals(4, jto.getRowCount());
|
|
|
|
nodeModel.dispose();
|
|
JUnitUtil.dispose(f);
|
|
jfo.waitClosed();
|
|
}
|
|
|
|
private CanSystemConnectionMemo memo = null;
|
|
private TrafficControllerScaffold tcis = null;
|
|
|
|
@BeforeEach
|
|
@Override
|
|
public void setUp() {
|
|
JUnitUtil.setUp();
|
|
JUnitUtil.resetInstanceManager();
|
|
memo = new CanSystemConnectionMemo();
|
|
tcis = new TrafficControllerScaffold();
|
|
memo.setTrafficController(tcis);
|
|
memo.setProtocol(jmri.jmrix.can.CanConfigurationManager.MERGCBUS);
|
|
panel = new NodeConfigToolPane();
|
|
title = Bundle.getMessage("MenuItemNodeConfig");
|
|
helpTarget = "package.jmri.jmrix.can.cbus.swing.nodeconfig.NodeConfigToolPane";
|
|
}
|
|
|
|
@AfterEach
|
|
@Override
|
|
public void tearDown() {
|
|
Assertions.assertNotNull(tcis);
|
|
tcis.terminateThreads();
|
|
Assertions.assertNotNull(memo);
|
|
memo.dispose();
|
|
tcis = null;
|
|
memo = null;
|
|
// JUnitUtil.resetWindows(false,false);
|
|
JUnitUtil.tearDown();
|
|
|
|
}
|
|
|
|
}
|