Files
JIMRI/java/test/jmri/jmrit/picker/PickFrameTest.java
T
2026-06-17 14:00:51 +02:00

78 lines
2.4 KiB
Java

package jmri.jmrit.picker;
import jmri.util.*;
import jmri.util.junit.annotations.DisabledIfHeadless;
import jmri.util.swing.JemmyUtil;
import org.junit.jupiter.api.*;
import org.netbeans.jemmy.operators.*;
/**
*
* @author Paul Bender Copyright (C) 2017
* @author Dave Sand Copyright (C) 2018
*/
@DisabledIfHeadless
public class PickFrameTest extends JmriJFrameTestBase {
@Test
public void testAddNames() {
PickFrame f = new PickFrame("Pick Frame Test Adds");
Assertions.assertNotNull(f,"exists");
JFrameOperator jfo = new JFrameOperator("Pick Frame Test Adds");
Assertions.assertNotNull(jfo);
JTabbedPaneOperator jtab = new JTabbedPaneOperator(jfo);
jtab.selectPage("Sensor Table");
// Add an invalid name
JTextFieldOperator jto = new JTextFieldOperator(jfo, 0);
jto.typeText("AAA");
Thread add1 = JemmyUtil.createModalDialogOperatorThread(
Bundle.getMessage("WarningTitle"), Bundle.getMessage("ButtonOK"));
new JButtonOperator(jfo, "Add to Table").doClick(); // NOI18N
JUnitUtil.waitFor(()->{return !(add1.isAlive());}, "add1 finished"); // NOI18N
// Add a valid name
jto.clearText();
jto.typeText("IS123");
new JButtonOperator(jfo, "Add to Table").doClick(); // NOI18N
// Switch to the signal mast table
jtab.selectPage("Signal Mast Table");
// Verify that the add fields are gone
JLabelOperator jlo = new JLabelOperator(jfo, 1);
Assertions.assertTrue(jlo.getText().startsWith("Cannot add new items"));
// Display other pages
jtab.selectPage("Turnout Table");
jtab.selectPage("Signal Head Table");
jtab.selectPage("Signal Mast Table");
jtab.selectPage("Memory Table");
jtab.selectPage("Reporter Table");
jtab.selectPage("Light Table");
jtab.selectPage("Warrant Table");
jtab.selectPage("Block Table");
jtab.selectPage("Entry Exit Table");
jtab.selectPage("Logix Table");
JUnitUtil.dispose(f);
}
@BeforeEach
@Override
public void setUp() {
JUnitUtil.setUp();
JUnitUtil.resetProfileManager();
frame = new PickFrame("Pick Frame Test");
}
@AfterEach
@Override
public void tearDown() {
JUnitUtil.deregisterBlockManagerShutdownTask();
super.tearDown();
}
}