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

98 lines
3.5 KiB
Java

package jmri.jmrix.can.cbus;
import java.io.IOException;
import java.io.File;
import jmri.jmrix.can.*;
import jmri.jmrix.can.cbus.swing.modeswitcher.SprogCbusSprog3PlusModeSwitcherFrame;
import jmri.util.JUnitUtil;
import org.junit.Assert;
import org.junit.jupiter.api.*;
import org.junit.jupiter.api.io.TempDir;
/**
*
* @author Paul Bender Copyright (C) 2017
* @author Andrew Crosland Copyright (C) 2021
*/
public class CbusDccProgrammerManagerTest {
@Test
public void testCTor() {
CbusDccProgrammerManager t = new CbusDccProgrammerManager(new CbusDccProgrammer(tc),memo);
Assert.assertNotNull("exists",t);
}
@Test
public void testCTor2() {
CbusDccProgrammerManager t = new CbusDccProgrammerManager(new CbusDccProgrammer(memo),memo);
Assert.assertNotNull("exists",t);
}
@Test
public void testInitialPrefs() {
memo.setSubProtocol(ConfigurationManager.SubProtocol.NONE);
memo.setProgModeSwitch(ConfigurationManager.ProgModeSwitch.EITHER);
prefs.setProgTrackMode(SprogCbusSprog3PlusModeSwitcherFrame.PROG_OFF_MODE);
Assert.assertEquals(true, prefs.isGlobalProgrammerAvailable());
Assert.assertEquals(true, prefs.isAddressedModePossible());
CbusDccProgrammerManager t = new CbusDccProgrammerManager(new CbusDccProgrammer(tc),memo);
Assert.assertNotNull("exists",t);
Assert.assertEquals(true , prefs.isGlobalProgrammerAvailable());
Assert.assertEquals(false , prefs.isAddressedModePossible());
}
@Test
public void test3PlusPrefsOff() {
memo.setSubProtocol(ConfigurationManager.SubProtocol.NONE);
memo.setProgModeSwitch(ConfigurationManager.ProgModeSwitch.SPROG3PLUS);
prefs.setProgTrackMode(SprogCbusSprog3PlusModeSwitcherFrame.PROG_OFF_MODE);
CbusDccProgrammerManager t = new CbusDccProgrammerManager(new CbusDccProgrammer(tc),memo);
Assert.assertNotNull("exists",t);
Assert.assertEquals(true , prefs.isGlobalProgrammerAvailable());
Assert.assertEquals(true , prefs.isAddressedModePossible());
}
@Test
public void test3PlusPrefsAr() {
memo.setSubProtocol(ConfigurationManager.SubProtocol.NONE);
memo.setProgModeSwitch(ConfigurationManager.ProgModeSwitch.SPROG3PLUS);
prefs.setProgTrackMode(SprogCbusSprog3PlusModeSwitcherFrame.PROG_AR_MODE);
CbusDccProgrammerManager t = new CbusDccProgrammerManager(new CbusDccProgrammer(tc),memo);
Assert.assertNotNull("exists",t);
Assert.assertEquals(false , prefs.isGlobalProgrammerAvailable());
Assert.assertEquals(true , prefs.isAddressedModePossible());
}
private TrafficControllerScaffold tc;
private CanSystemConnectionMemo memo;
private CbusPreferences prefs;
@BeforeEach
public void setUp( @TempDir File tempDir ) throws IOException {
JUnitUtil.setUp();
JUnitUtil.resetInstanceManager();
JUnitUtil.resetProfileManager( new jmri.profile.NullProfile( tempDir));
tc = new TrafficControllerScaffold();
memo = new CanSystemConnectionMemo();
memo.setTrafficController(tc);
memo.setProtocol(ConfigurationManager.SPROGCBUS);
prefs = memo.get(CbusPreferences.class);
}
@AfterEach
public void tearDown() {
tc.terminateThreads();
tc = null;
memo.dispose();
memo = null;
JUnitUtil.tearDown();
}
// private static final Logger log = LoggerFactory.getLogger(CbusDccProgrammerManagerTest.class);
}