86 lines
2.4 KiB
Java
86 lines
2.4 KiB
Java
package jmri.jmrix.can.cbus;
|
|
|
|
import jmri.Block;
|
|
import jmri.BlockManager;
|
|
import jmri.DccLocoAddress;
|
|
import jmri.InstanceManager;
|
|
import jmri.jmrix.can.CanSystemConnectionMemo;
|
|
import jmri.jmrix.can.TrafficController;
|
|
import jmri.jmrix.can.TrafficControllerScaffold;
|
|
import jmri.util.JUnitUtil;
|
|
|
|
import org.junit.Assert;
|
|
import org.junit.jupiter.api.*;
|
|
|
|
/**
|
|
* Unit Tests for CBus Cab Signals
|
|
*
|
|
* @author Paul Bender Copyright (C) 2017
|
|
* @author Steve Young Copyright (C) 2019
|
|
*/
|
|
public class CbusCabSignalTest extends jmri.implementation.DefaultCabSignalTest {
|
|
|
|
private CanSystemConnectionMemo memo = null;
|
|
private TrafficController tc = null;
|
|
|
|
@Test
|
|
@Override
|
|
public void testSetBlock() {
|
|
CbusCabSignal acs = new CbusCabSignal(memo,new DccLocoAddress(1234,true)){
|
|
@Override
|
|
public jmri.SignalMast getNextMast(){
|
|
// don't check for signal masts, they aren't setup for this
|
|
// test.
|
|
return null;
|
|
}
|
|
};
|
|
|
|
Block b1 = InstanceManager.getDefault(BlockManager.class).provideBlock("IB12");
|
|
// set the block contents to our locomotive address.
|
|
b1.setValue(new DccLocoAddress(1234,true));
|
|
// call setBlock() for the cab signal.
|
|
acs.setBlock();
|
|
// and verify getBlock returns the block we set.
|
|
Assert.assertEquals("Block set",b1,acs.getBlock());
|
|
|
|
acs.dispose(); // verify no exceptions
|
|
}
|
|
|
|
|
|
@BeforeEach
|
|
@Override
|
|
public void setUp() {
|
|
JUnitUtil.setUp();
|
|
JUnitUtil.resetProfileManager();
|
|
JUnitUtil.initConfigureManager();
|
|
JUnitUtil.initMemoryManager();
|
|
InstanceManager.setDefault(jmri.BlockManager.class,new jmri.BlockManager());
|
|
JUnitUtil.initLayoutBlockManager();
|
|
|
|
// prepare the cab signal
|
|
memo = new CanSystemConnectionMemo();
|
|
tc = new TrafficControllerScaffold();
|
|
memo.setTrafficController(tc);
|
|
|
|
cs = new CbusCabSignal(memo,new DccLocoAddress(1234,true));
|
|
}
|
|
|
|
@AfterEach
|
|
@Override
|
|
public void tearDown() {
|
|
Assertions.assertNotNull(memo);
|
|
Assertions.assertNotNull(tc);
|
|
memo.dispose();
|
|
memo = null;
|
|
tc.terminateThreads();
|
|
tc = null;
|
|
cs.dispose();
|
|
cs = null;
|
|
JUnitUtil.deregisterBlockManagerShutdownTask();
|
|
JUnitUtil.tearDown();
|
|
}
|
|
|
|
// private static final Logger log = LoggerFactory.getLogger(CbusCabSignalTest.class);
|
|
|
|
}
|