109 lines
3.7 KiB
Java
109 lines
3.7 KiB
Java
package jmri.jmrit.dispatcher;
|
|
|
|
import jmri.InstanceManager;
|
|
import jmri.SignalMastManager;
|
|
import jmri.SignalMastLogicManager;
|
|
import jmri.configurexml.ConfigXmlManager;
|
|
import jmri.jmrit.display.layoutEditor.LayoutBlockManager;
|
|
import jmri.jmrit.logix.WarrantPreferences;
|
|
import jmri.util.JUnitUtil;
|
|
import jmri.util.junit.annotations.DisabledIfHeadless;
|
|
|
|
import org.junit.jupiter.api.*;
|
|
|
|
import org.netbeans.jemmy.operators.JButtonOperator;
|
|
import org.netbeans.jemmy.operators.JFrameOperator;
|
|
|
|
import static org.junit.jupiter.api.Assertions.*;
|
|
|
|
/**
|
|
*
|
|
* @author Paul Bender Copyright (C) 2017
|
|
* @author Steve Young Copyright (C) 2025
|
|
*/
|
|
public class ActivateTrainFrameTest {
|
|
|
|
@Test
|
|
@DisabledIfHeadless
|
|
public void testCTor() {
|
|
|
|
OptionsFile.setDefaultFileName("java/test/jmri/jmrit/dispatcher/dispatcheroptions.xml"); // exist?
|
|
|
|
DispatcherFrame d = InstanceManager.getDefault(DispatcherFrame.class);
|
|
|
|
ActivateTrainFrame t = new ActivateTrainFrame(d);
|
|
assertNotNull( t, "exists");
|
|
t.dispose();
|
|
JUnitUtil.dispose(d);
|
|
|
|
}
|
|
|
|
@Test
|
|
@DisabledIfHeadless
|
|
public void testOpenThenCancelNewTrainFrame() {
|
|
|
|
JFrameOperator dispatcherWindowOperator = launchLayoutAndGetDispatcher();
|
|
JButtonOperator jbo = new JButtonOperator(dispatcherWindowOperator, Bundle.getMessage("InitiateTrain") + "...");
|
|
jbo.doClick();
|
|
jbo.getQueueTool().waitEmpty();
|
|
|
|
// ActivateTrainFrame now visible
|
|
JFrameOperator activateFrameOper = new JFrameOperator(Bundle.getMessage("AddTrainTitle"));
|
|
assertNotNull(activateFrameOper);
|
|
|
|
// JUnitUtil.waitFor(10000);
|
|
|
|
JButtonOperator jboCancel = new JButtonOperator(activateFrameOper, "Cancel");
|
|
jboCancel.doClick();
|
|
jboCancel.getQueueTool().waitEmpty();
|
|
|
|
// tidy-up DispatcherFrame
|
|
JUnitUtil.dispose(dispatcherWindowOperator.getWindow());
|
|
dispatcherWindowOperator.waitClosed();
|
|
|
|
}
|
|
|
|
private JFrameOperator launchLayoutAndGetDispatcher() {
|
|
|
|
// load layout file
|
|
ConfigXmlManager cm = new ConfigXmlManager();
|
|
java.io.File f = new java.io.File("java/test/jmri/jmrit/dispatcher/DispatcherSMLLayout.xml");
|
|
assertDoesNotThrow( () -> cm.load(f));
|
|
|
|
InstanceManager.getDefault(LayoutBlockManager.class).initializeLayoutBlockPaths();
|
|
JUnitUtil.waitFor( () -> InstanceManager.getDefault(LayoutBlockManager.class).routingStablised(),
|
|
"Routing Stabilised");
|
|
|
|
// load dispatcher options
|
|
OptionsFile.setDefaultFileName("java/test/jmri/jmrit/dispatcher/TestTrainDispatcherOptions.xml");
|
|
InstanceManager.getDefault(DispatcherFrame.class).setAutoAllocate(false);
|
|
WarrantPreferences.getDefault().setShutdown(WarrantPreferences.Shutdown.NO_MERGE);
|
|
|
|
JFrameOperator leOperator = new JFrameOperator("Test Layout");
|
|
assertNotNull(leOperator, "LE Panel exists");
|
|
|
|
JFrameOperator dispatcherWindowOperator = new JFrameOperator(Bundle.getMessage("TitleDispatcher"));
|
|
assertNotNull(dispatcherWindowOperator,"Dispatcher Window Exists");
|
|
return dispatcherWindowOperator;
|
|
}
|
|
|
|
@BeforeEach
|
|
public void setUp() {
|
|
JUnitUtil.setUp();
|
|
JUnitUtil.resetProfileManager();
|
|
JUnitUtil.initDebugThrottleManager();
|
|
JUnitUtil.initRosterConfigManager();
|
|
}
|
|
|
|
@AfterEach
|
|
public void tearDown() {
|
|
JUnitUtil.closeAllPanels(); // closes LE Frame
|
|
InstanceManager.getDefault(SignalMastManager.class).dispose();
|
|
InstanceManager.getDefault(SignalMastLogicManager.class).dispose();
|
|
JUnitUtil.clearShutDownManager();
|
|
JUnitUtil.tearDown();
|
|
}
|
|
|
|
// private static final Logger log = LoggerFactory.getLogger(ActivateTrainFrameTest.class);
|
|
}
|