Files
JIMRI/java/test/jmri/jmrix/sprog/SprogCSTurnoutTest.java
T
2026-06-17 14:00:51 +02:00

72 lines
2.0 KiB
Java

package jmri.jmrix.sprog;
import jmri.util.JUnitUtil;
import org.junit.Assert;
import org.junit.jupiter.api.*;
/**
* Tests for SprogCSTurnout.
*
* @author Paul Bender Copyright (C) 2016
*/
public class SprogCSTurnoutTest extends jmri.implementation.AbstractTurnoutTestBase {
private SprogTrafficControlScaffold stcs = null;
private SprogSystemConnectionMemo m = null;
@Override
public int numListeners() {
return stcs.numListeners();
}
@Override
public void checkThrownMsgSent() {
Assert.assertArrayEquals("slot contents",jmri.NmraPacket.accDecoderPkt(2,false),m.getCommandStation().slot(0).getPayload());
}
@Override
public void checkClosedMsgSent() {
Assert.assertArrayEquals("slot contents",jmri.NmraPacket.accDecoderPkt(2,true),m.getCommandStation().slot(0).getPayload());
}
@Override
@Test
public void testDispose() {
t.setCommandedState(jmri.Turnout.CLOSED); // in case registration with TrafficController
//is deferred to after first use
t.dispose();
Assert.assertEquals("controller listeners remaining", 1, numListeners());
}
@Override
@BeforeEach
public void setUp() {
JUnitUtil.setUp();
// prepare an interface
jmri.util.JUnitUtil.resetInstanceManager();
jmri.util.JUnitUtil.initInternalSensorManager();
jmri.util.JUnitUtil.initInternalTurnoutManager();
m = new SprogSystemConnectionMemo(jmri.jmrix.sprog.SprogConstants.SprogMode.OPS);
stcs = new SprogTrafficControlScaffold(m);
m.setSprogTrafficController(stcs);
m.configureCommandStation();
t = new SprogCSTurnout(2,m);
jmri.InstanceManager.store(new jmri.NamedBeanHandleManager(), jmri.NamedBeanHandleManager.class);
}
@Override
@AfterEach
public void tearDown() {
m.getSlotThread().interrupt();
m.dispose();
JUnitUtil.waitThreadTerminated(m.getSlotThread().getName());
stcs.dispose();
JUnitUtil.tearDown();
}
}