Files
JIMRI/java/test/jmri/jmrit/conditional/ConditionalListCopyTest.java
2026-06-17 14:00:51 +02:00

115 lines
4.4 KiB
Java

package jmri.jmrit.conditional;
import jmri.Conditional;
import jmri.InstanceManager;
import jmri.Logix;
import jmri.NamedBean.DisplayOptions;
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.*;
import static org.junit.jupiter.api.Assertions.assertNotNull;
/**
* Tests for the ConditionalListEdit Class.
*
* @author Dave Sand Copyright (C) 2017
*/
public class ConditionalListCopyTest {
@Test
public void testCtor() {
assertNotNull( new ConditionalListCopy(), "ConditionalListCopy Constructor Return");
}
@Test
@DisabledIfHeadless
public void testCopyConditionalChangeName() {
Logix x3 = InstanceManager.getDefault(jmri.LogixManager.class).createNewLogix("IX103", "Copy for IX102"); // NOI18N
assertNotNull(x3);
ConditionalListCopy listCopy = new ConditionalListCopy("IX102", x3);
JFrameOperator copyFrame = new JFrameOperator(Bundle.getMessage("TitleCopyFromLogix",
listCopy._curLogix.getDisplayName(DisplayOptions.QUOTED_USERNAME_SYSTEMNAME)));
assertNotNull(copyFrame);
// test no selection
Thread t1 = JemmyUtil.createModalDialogOperatorThread(Bundle.getMessage("ReminderTitle"), "OK");
new JButtonOperator(copyFrame, Bundle.getMessage("CopyConditionalButton")).push(); // NOI18N
JUnitUtil.waitFor(() -> {return !t1.isAlive();},"Reminder OK Dialogue did not complete");
Conditional cond1 = InstanceManager.getDefault(jmri.ConditionalManager.class).getBySystemName("IX102C1");
assertNotNull(cond1);
new JListOperator(copyFrame, 0).selectItem(cond1.toString()); // NOI18N
new JButtonOperator(copyFrame, Bundle.getMessage("CopyConditionalButton")).push(); // NOI18N
// test copy first conditional
JFrameOperator ciFrame = new JFrameOperator(Bundle.getMessage("TitleCopyConditional",
cond1.getDisplayName(DisplayOptions.QUOTED_USERNAME_SYSTEMNAME))); // NOI18N
assertNotNull(ciFrame);
new JTextFieldOperator(ciFrame, 0).setText("Copy 1"); // NOI18N
new JButtonOperator(ciFrame, Bundle.getMessage("ButtonSave")).push(); // NOI18N
ciFrame.waitClosed();
new JButtonOperator(copyFrame, Bundle.getMessage("ButtonDone")).push(); // NOI18N
copyFrame.waitClosed();
}
@Test
@DisabledIfHeadless
public void testCopyConditionalFullEdit() {
Logix x3 = InstanceManager.getDefault(jmri.LogixManager.class).createNewLogix("IX103", "Copy for IX102"); // NOI18N
assertNotNull(x3);
ConditionalListCopy listCopy = new ConditionalListCopy("IX102", x3);
JFrameOperator copyFrame = new JFrameOperator(Bundle.getMessage("TitleCopyFromLogix",
listCopy._curLogix.getDisplayName(DisplayOptions.QUOTED_USERNAME_SYSTEMNAME)));
assertNotNull(copyFrame);
// press full edit button
new JRadioButtonOperator(copyFrame, Bundle.getMessage("fullEditButton")).push(); // NOI18N
Conditional cond1 = InstanceManager.getDefault(jmri.ConditionalManager.class).getBySystemName("IX102C1");
assertNotNull(cond1);
new JListOperator(copyFrame, 0).selectItem(cond1.toString()); // NOI18N
new JButtonOperator(copyFrame, Bundle.getMessage("CopyConditionalButton")).push(); // NOI18N
// test copy first conditional with full edit frame
JFrameOperator ciFrame = new JFrameOperator(Bundle.getMessage("TitleCopyConditional",
cond1.getDisplayName(DisplayOptions.QUOTED_USERNAME_SYSTEMNAME))); // NOI18N
assertNotNull(ciFrame);
new JTextFieldOperator(ciFrame, 0).setText("Copy 1"); // NOI18N
new JButtonOperator(ciFrame, Bundle.getMessage("ButtonSave")).push(); // NOI18N
ciFrame.waitClosed();
JUnitUtil.dispose(ciFrame.getWindow());
new JButtonOperator(copyFrame, Bundle.getMessage("ButtonDone")).push(); // NOI18N
copyFrame.waitClosed();
JUnitUtil.dispose(copyFrame.getWindow());
}
@BeforeEach
public void setUp() {
JUnitUtil.setUp();
JUnitUtil.resetProfileManager();
JUnitUtil.initLogixManager();
JUnitUtil.initDefaultUserMessagePreferences();
CreateTestObjects.createTestObjects();
}
@AfterEach
public void tearDown() {
JUnitUtil.deregisterBlockManagerShutdownTask();
JUnitUtil.tearDown();
}
}