Files
JIMRI/java/test/jmri/jmrix/can/cbus/swing/modeswitcher/SprogCbusSimpleModeSwitcherFrameTest.java
2026-06-17 14:00:51 +02:00

96 lines
3.0 KiB
Java

package jmri.jmrix.can.cbus.swing.modeswitcher;
import jmri.*;
import jmri.jmrix.can.CanSystemConnectionMemo;
import jmri.jmrix.can.TrafficControllerScaffold;
import jmri.jmrix.can.cbus.CbusDccProgrammerManager;
import jmri.jmrix.can.cbus.CbusPreferences;
import jmri.util.JUnitUtil;
import org.junit.jupiter.api.*;
/**
* Tests for the ModeSwitcherPane class
*
* @author Andrew Crosland (C) 2020
*/
@jmri.util.junit.annotations.DisabledIfHeadless
public class SprogCbusSimpleModeSwitcherFrameTest extends jmri.util.JmriJFrameTestBase {
private CanSystemConnectionMemo memo = null;
private jmri.jmrix.can.TrafficController tc = null;
private CbusPreferences preferences = null;
private CbusDccProgrammerManager pm;
@Test
public void testInitComponents () {
// for now, just makes ure there isn't an exception.
((SprogCbusSimpleModeSwitcherFrame) frame).initComponents();
}
@Test
public void testPrefProg () {
// Create global programer and matching preferences
pm = (CbusDccProgrammerManager)InstanceManager.getNullableDefault(GlobalProgrammerManager.class);
Assertions.assertNotNull(pm);
pm.setGlobalProgrammerAvailable(true);
pm.setAddressedModePossible(false);
Assertions.assertNotNull(preferences);
preferences.setProgrammersAvailable(true, false);
SprogCbusSimpleModeSwitcherFrame f = ((SprogCbusSimpleModeSwitcherFrame) frame);
f.initComponents();
Assertions.assertEquals(SprogCbusSimpleModeSwitcherFrame.PROG_MODE, f.mode);
}
@Test
public void testPrefCmd () {
// Create addressed programer and matching preferences
pm = (CbusDccProgrammerManager)InstanceManager.getNullableDefault(GlobalProgrammerManager.class);
Assertions.assertNotNull(pm);
pm.setGlobalProgrammerAvailable(false);
pm.setAddressedModePossible(true);
Assertions.assertNotNull(preferences);
preferences.setProgrammersAvailable(false, true);
SprogCbusSimpleModeSwitcherFrame f = ((SprogCbusSimpleModeSwitcherFrame) frame);
f.initComponents();
Assertions.assertEquals( SprogCbusSimpleModeSwitcherFrame.CMD_MODE, f.mode);
}
@BeforeEach
@Override
public void setUp() {
JUnitUtil.setUp();
tc = new TrafficControllerScaffold();
memo = new CanSystemConnectionMemo();
memo.setTrafficController(tc);
memo.setProtocol(jmri.jmrix.can.CanConfigurationManager.SPROGCBUS);
memo.configureManagers();
preferences = memo.get(jmri.jmrix.can.cbus.CbusPreferences.class);
frame = new SprogCbusSimpleModeSwitcherFrame(memo);
}
@AfterEach
@Override
public void tearDown() {
pm = null;
preferences = null;
Assertions.assertNotNull(tc);
tc.terminateThreads();
tc = null;
Assertions.assertNotNull(memo);
memo.dispose();
memo = null;
JUnitUtil.clearShutDownManager();
super.tearDown();
}
}