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

119 lines
2.9 KiB
Java

package jmri.jmrix.marklin;
import jmri.util.JUnitUtil;
import org.junit.jupiter.api.*;
/**
* Tests for MarklinPowerManager.
* @author Paul Bender Copyright (C) 2017
* @author Steve Young Copyright (C) 2024
*/
public class MarklinPowerManagerTest extends jmri.jmrix.AbstractPowerManagerTestBase {
private MarklinSystemConnectionMemo memo;
private MarklinTrafficControlScaffold tc;
private MarklinPowerManager pwr;
@Test
public void testCTor() {
Assertions.assertNotNull(p, "exists");
}
@Override
protected void hearOn() {
MarklinReply r = new MarklinReply(); // default priority 1
r.setCommand( MarklinConstants.SYSCOMMANDSTART);
r.setElement(9, MarklinConstants.CMDGOSYS);
pwr.reply(r);
}
@Override
protected void hearOff() {
MarklinReply r = new MarklinReply(); // default priority 1
r.setCommand( MarklinConstants.SYSCOMMANDSTART);
r.setElement(9, MarklinConstants.CMDSTOPSYS);
pwr.reply(r);
}
@Override
protected void hearIdle() {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
protected void sendOnReply() {
hearOn();
}
@Override
protected void sendOffReply() {
hearOff();
}
@Override
protected void sendIdleReply() {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
protected int numListeners() {
return tc.getNumberListeners();
}
@Override
protected int outboundSize() {
return tc.getSentMessages().size();
}
@Override
protected boolean outboundOnOK(int index) {
MarklinMessage m = tc.getLastMessageSent();
return m != null && "00 00 47 11 05 00 00 00 00 01 00 00 00".equals(m.toString());
}
@Override
protected boolean outboundOffOK(int index) {
MarklinMessage m = tc.getLastMessageSent();
return m != null && "00 00 47 11 05 00 00 00 00 00 00 00 00".equals(m.toString());
}
@Override
protected boolean outboundIdleOK(int index) {
return false;
}
@Test
@Disabled("Tested class does not throw exception if dispose called twice")
@Override
public void testDispose2() {}
@BeforeEach
@Override
public void setUp() {
JUnitUtil.setUp();
tc = new MarklinTrafficControlScaffold();
memo = new MarklinSystemConnectionMemo(tc);
pwr = new MarklinPowerManager(tc);
p = pwr;
}
@AfterEach
public void tearDown() {
Assertions.assertNotNull(tc);
Assertions.assertNotNull(memo);
tc.dispose();
tc = null;
memo.dispose();
memo = null;
pwr = null;
p = null;
JUnitUtil.tearDown();
}
// private static final Logger log = LoggerFactory.getLogger(MarklinPowerManagerTest.class);
}