120 lines
3.6 KiB
Java
120 lines
3.6 KiB
Java
package jmri.jmrix.can.cbus.swing;
|
|
|
|
import java.io.File;
|
|
import javax.swing.JFrame;
|
|
|
|
import jmri.InstanceManager;
|
|
import jmri.jmrix.can.CanSystemConnectionMemo;
|
|
import jmri.jmrix.can.TrafficControllerScaffold;
|
|
import jmri.jmrix.can.cbus.eventtable.CbusEventTableDataModel;
|
|
import jmri.jmrix.can.cbus.swing.eventtable.CbusEventTablePane;
|
|
import jmri.util.JUnitUtil;
|
|
|
|
import org.junit.jupiter.api.*;
|
|
import org.junit.jupiter.api.io.TempDir;
|
|
|
|
import org.netbeans.jemmy.operators.JFrameOperator;
|
|
import org.netbeans.jemmy.operators.JTextFieldOperator;
|
|
|
|
import static org.junit.jupiter.api.Assertions.*;
|
|
|
|
/**
|
|
* Test simple functioning of CbusNewEventPane
|
|
*
|
|
* @author Paul Bender Copyright (C) 2016
|
|
* @author Steve Young Copyright (C) 2020
|
|
*/
|
|
@jmri.util.junit.annotations.DisabledIfHeadless
|
|
public class CbusNewEventPaneTest {
|
|
|
|
@Test
|
|
public void testCbusNewEventPaneCtor() {
|
|
CbusNewEventPane t = new CbusNewEventPane(mainPanel);
|
|
assertNotNull(t);
|
|
}
|
|
|
|
@Test
|
|
public void testPersistenceEvNumNodeNum() {
|
|
|
|
CbusNewEventPane t = new CbusNewEventPane(mainPanel);
|
|
JFrame f = new JFrame(t.getClass().getName());
|
|
f.add(t);
|
|
jmri.util.ThreadingUtil.runOnGUI( () -> {
|
|
f.pack();
|
|
f.setVisible(true);
|
|
});
|
|
JFrameOperator jfo = new JFrameOperator( t.getClass().getName() );
|
|
|
|
assertEquals( "0", new JTextFieldOperator(jfo,0).getText());
|
|
assertEquals( "1", new JTextFieldOperator(jfo,1).getText());
|
|
|
|
new JTextFieldOperator(jfo,0).setText("123"); // nn
|
|
new JTextFieldOperator(jfo,1).setText("456"); // en
|
|
f.dispose();
|
|
jfo.dispose();
|
|
|
|
CbusNewEventPane tt = new CbusNewEventPane(mainPanel);
|
|
JFrame ff = new JFrame(tt.getClass().getName());
|
|
ff.add(tt);
|
|
jmri.util.ThreadingUtil.runOnGUI( () -> {
|
|
ff.pack();
|
|
ff.setVisible(true);
|
|
});
|
|
JFrameOperator jffo = new JFrameOperator( tt.getClass().getName() );
|
|
|
|
assertEquals( "123", new JTextFieldOperator(jffo,0).getText());
|
|
assertEquals( "456", new JTextFieldOperator(jffo,1).getText());
|
|
|
|
JUnitUtil.dispose( jfo.getWindow() );
|
|
JUnitUtil.dispose( jffo.getWindow() );
|
|
jfo.waitClosed();
|
|
jffo.waitClosed();
|
|
}
|
|
|
|
private CanSystemConnectionMemo memo = null;
|
|
private TrafficControllerScaffold tc = null;
|
|
private CbusEventTablePane mainPanel = null;
|
|
|
|
@BeforeEach
|
|
public void setUp(@TempDir File tempDir) {
|
|
JUnitUtil.setUp();
|
|
try {
|
|
JUnitUtil.resetProfileManager( new jmri.profile.NullProfile( tempDir));
|
|
} catch ( java.io.IOException e) {
|
|
fail("Exception creating temp. user folder");
|
|
}
|
|
|
|
memo = new CanSystemConnectionMemo();
|
|
tc = new TrafficControllerScaffold();
|
|
memo.setTrafficController(tc);
|
|
memo.setProtocol(jmri.jmrix.can.CanConfigurationManager.MERGCBUS);
|
|
memo.configureManagers();
|
|
mainPanel = new CbusEventTablePane();
|
|
mainPanel.initComponents(memo);
|
|
mainPanel.getMenus();
|
|
|
|
}
|
|
|
|
@AfterEach
|
|
public void tearDown() {
|
|
CbusEventTableDataModel dm = InstanceManager.getNullableDefault(CbusEventTableDataModel.class);
|
|
if ( dm !=null ){
|
|
dm.skipSaveOnDispose();
|
|
dm.dispose();
|
|
}
|
|
|
|
assertNotNull(mainPanel);
|
|
mainPanel.dispose();
|
|
assertNotNull(tc);
|
|
tc.terminateThreads();
|
|
assertNotNull(memo);
|
|
memo.dispose();
|
|
tc = null;
|
|
memo = null;
|
|
|
|
JUnitUtil.deregisterBlockManagerShutdownTask();
|
|
JUnitUtil.tearDown();
|
|
}
|
|
|
|
}
|