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

106 lines
3.2 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 SprogCbusSprog3PlusModeSwitcherFrameTest 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 () {
Assertions.assertDoesNotThrow( () ->
frame.initComponents());
}
@Test
public void testPrefOff () {
// Create global programer and matching preferences
Assertions.assertNotNull(preferences);
preferences.setProgTrackMode(SprogCbusSprog3PlusModeSwitcherFrame.PROG_OFF_MODE);
SprogCbusSprog3PlusModeSwitcherFrame f = ((SprogCbusSprog3PlusModeSwitcherFrame) frame);
f.initComponents();
Assertions.assertEquals( SprogCbusSprog3PlusModeSwitcherFrame.PROG_OFF_MODE, f.mode);
}
@Test
public void testPrefOn () {
// Create global programer and matching preferences
Assertions.assertNotNull(preferences);
preferences.setProgTrackMode(SprogCbusSprog3PlusModeSwitcherFrame.PROG_ON_MODE);
SprogCbusSprog3PlusModeSwitcherFrame f = ((SprogCbusSprog3PlusModeSwitcherFrame) frame);
f.initComponents();
Assertions.assertEquals( SprogCbusSprog3PlusModeSwitcherFrame.PROG_ON_MODE, f.mode);
}
@Test
public void testPrefAr () {
// Create global programer and matching preferences
Assertions.assertNotNull(preferences);
preferences.setProgTrackMode(SprogCbusSprog3PlusModeSwitcherFrame.PROG_AR_MODE);
SprogCbusSprog3PlusModeSwitcherFrame f = ((SprogCbusSprog3PlusModeSwitcherFrame) frame);
f.initComponents();
Assertions.assertEquals( SprogCbusSprog3PlusModeSwitcherFrame.PROG_AR_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(CbusPreferences.class);
pm = (CbusDccProgrammerManager)InstanceManager.getNullableDefault(GlobalProgrammerManager.class);
Assertions.assertNotNull(pm);
pm.mySetGlobalProgrammerAvailable(true);
pm.setAddressedModePossible(true);
frame = new SprogCbusSprog3PlusModeSwitcherFrame(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();
}
}