Files
JIMRI/java/test/jmri/jmrix/nce/NceProgrammerManagerTest.java
2026-06-17 14:00:51 +02:00

71 lines
2.6 KiB
Java

package jmri.jmrix.nce;
import jmri.GlobalProgrammerManager;
import org.junit.jupiter.api.*;
import org.junit.Assert;
/**
* JUnit tests for the NceProgrammerManager class
*
* @author Bob Jacobsen
*/
public class NceProgrammerManagerTest {
NceSystemConnectionMemo memo;
@Test
public void testDefaultAccess() {
// this is checking the "as default ctor built" options, which might not be valid
Assert.assertTrue("provides global programmerManager", memo.provides(GlobalProgrammerManager.class));
Assert.assertNotNull("global ProgrammerManager exists", memo.get(GlobalProgrammerManager.class));
Assert.assertNotNull("global Programmer exists", memo.get(GlobalProgrammerManager.class).getGlobalProgrammer());
}
@Test
public void test_USB_SYSTEM_POWERCAB_PROGTRACK() {
memo.setNceUsbSystem(NceTrafficController.USB_SYSTEM_POWERCAB);
memo.setNceCmdGroups(NceTrafficController.CMDS_PROGTRACK);
Assert.assertTrue("provides global programmerManager", memo.provides(GlobalProgrammerManager.class));
Assert.assertNotNull("global ProgrammerManager exists", memo.get(GlobalProgrammerManager.class));
Assert.assertNotNull("global Programmer exists", memo.get(GlobalProgrammerManager.class).getGlobalProgrammer());
}
@Test
public void test_USB_SYSTEM_SB3_NO_PROGTRACK() {
memo.setNceUsbSystem(NceTrafficController.USB_SYSTEM_SB3);
memo.setNceCmdGroups(0);
Assert.assertTrue("provides global programmerManager", memo.provides(GlobalProgrammerManager.class));
Assert.assertNotNull("global ProgrammerManager exists", memo.get(GlobalProgrammerManager.class));
Assert.assertNull("no global Programmer exists", memo.get(GlobalProgrammerManager.class).getGlobalProgrammer());
}
@BeforeEach
public void setUp() {
jmri.util.JUnitUtil.setUp();
jmri.util.JUnitUtil.resetInstanceManager();
memo = new NceSystemConnectionMemo();
memo.setNceTrafficController(new NceTrafficController());
NceCmdStationMemory t = new NceCmdStationMemory();
Assert.assertNotNull("exists",t);
memo.getNceTrafficController().csm = t;
memo.configureManagers();
}
@AfterEach
public void tearDown() {
memo.dispose();
memo = null;
jmri.util.JUnitUtil.clearShutDownManager(); // put in place because AbstractMRTrafficController implementing subclass was not terminated properly
jmri.util.JUnitUtil.tearDown();
}
//private static final org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(NceProgrammerManagerTest.class);
}