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

75 lines
2.4 KiB
Java

package jmri.jmrit.display.controlPanelEditor;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import jmri.jmrit.logix.OBlock;
import jmri.jmrit.logix.OBlockManager;
import jmri.util.JUnitUtil;
import jmri.util.junit.annotations.DisabledIfHeadless;
import jmri.util.swing.JemmyUtil;
import org.junit.jupiter.api.*;
import org.netbeans.jemmy.operators.JButtonOperator;
import org.netbeans.jemmy.operators.JDialogOperator;
import org.netbeans.jemmy.operators.JFrameOperator;
/**
*
* @author Paul Bender Copyright (C) 2017
*/
public class EditPortalDirectionTest {
private OBlockManager blkMgr;
@Test
@DisabledIfHeadless
public void testSetup() {
Assumptions.assumeFalse( Boolean.getBoolean("jmri.skipTestsRequiringSeparateRunning"), "Ignoring intermittent test");
ControlPanelEditor frame = new ControlPanelEditor("EditPortalDirectionTest");
frame.makeCircuitMenu(true);
CircuitBuilder cb = frame.getCircuitBuilder();
OBlock ob1 = blkMgr.createNewOBlock("OB1", "a");
Thread t = new Thread(() -> {
JFrameOperator jfo = new JFrameOperator("Edit Direction Arrows");
JDialogOperator jdo = new JDialogOperator(jfo, Bundle.getMessage("incompleteCircuit"));
JButtonOperator jbo = new JButtonOperator(jdo, "OK");
jbo.push();
});
t.start();
EditPortalDirection dFrame = new EditPortalDirection("Edit Direction Arrows", cb, ob1);
assertNotNull( dFrame, "exists");
JUnitUtil.waitThreadTerminated(t);
JFrameOperator jfo = new JFrameOperator("Edit Direction Arrows");
// Block circuit (OBlock) "a" has no portals . . .
Thread tt = JemmyUtil.createModalDialogOperatorThread(Bundle.getMessage("editCiruit"), "OK");
new JButtonOperator(jfo, "Done").doClick();
JUnitUtil.waitThreadTerminated(tt);
JUnitUtil.dispose(frame);
}
@BeforeEach
public void setUp() {
JUnitUtil.setUp();
JUnitUtil.resetProfileManager();
blkMgr = new OBlockManager();
}
@AfterEach
public void tearDown() {
blkMgr.dispose();
JUnitUtil.deregisterBlockManagerShutdownTask();
//JUnitUtil.clearShutDownManager(); // only needed intermittently; better to find and remove, but that would require lots o' refactoring
JUnitUtil.tearDown();
}
// private static final Logger log = LoggerFactory.getLogger(EditPortalDirectionTest.class);
}