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

124 lines
3.4 KiB
Java

package jmri.jmrix.lenz;
import jmri.Turnout;
import jmri.TurnoutManager;
import jmri.util.JUnitUtil;
import org.junit.jupiter.api.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import static org.assertj.core.api.Assertions.assertThat;
/**
* Tests for the jmri.jmrix.lenz.XNetTurnoutManager class.
*
* @author Bob Jacobsen Copyright 2004
*/
public class XNetTurnoutManagerTest extends jmri.managers.AbstractTurnoutMgrTestBase {
@Override
public String getSystemName(int i) {
return "XT" + i;
}
protected XNetInterfaceScaffold lnis;
@Test
@Override
public void testMisses() {
// try to get nonexistant turnouts
assertThat(l.getByUserName("foo")).isNull();
assertThat(l.getBySystemName("bar")).isNull();
}
@Test
public void testXNetMessages() {
// send messages for 21, 22
// notify that somebody else changed it...
XNetReply m1 = new XNetReply();
m1.setElement(0, 0x42);
m1.setElement(1, 0x05);
m1.setElement(2, 0x02);
m1.setElement(3, 0x45);
lnis.sendTestMessage(m1);
// notify that somebody else changed it...
XNetReply m2 = new XNetReply();
m2.setElement(0, 0x42);
m2.setElement(1, 0x05);
m2.setElement(2, 0x04);
m2.setElement(3, 0x43);
lnis.sendTestMessage(m2);
// try to get turnouts to see if they exist
Turnout xt21 = l.getBySystemName("XT21");
Turnout xt22 = l.getBySystemName("XT22");
assertThat(xt21).isNotNull();
assertThat(xt22).isNotNull();
assertThat(l.getNamedBeanSet()).containsOnly(xt21,xt22);
}
@Test
public void testAsAbstractFactory() {
// ask for a Turnout, and check type
TurnoutManager t = jmri.InstanceManager.turnoutManagerInstance();
Turnout o = t.newTurnout("XT21", "my name");
log.debug("received turnout value {}", o);
assertThat(o).isNotNull();
log.debug("by system name: {}", t.getBySystemName("XT21"));
log.debug("by user name: {}", t.getByUserName("my name"));
assertThat(t.getBySystemName("XT21")).isNotNull();
assertThat(t.getByUserName("my name")).isNotNull();
}
@Test
public void testGetSystemPrefix() {
assertThat(l.getSystemPrefix()).isEqualTo("X");
}
@Test
public void testAllowMultipleAdditions() {
assertThat(l.allowMultipleAdditions("foo")).isTrue();
}
@Test
@Override
public void testThrownText() {
assertThat(l.getThrownText()).isEqualTo(Bundle.getMessage("TurnoutStateThrown"));
}
@Test
@Override
public void testClosedText() {
assertThat(l.getClosedText()).isEqualTo(Bundle.getMessage("TurnoutStateClosed"));
}
@AfterEach
public void tearDown() {
lnis.terminateThreads();
lnis = null;
l = null;
JUnitUtil.tearDown();
}
@Override
@BeforeEach
public void setUp() {
JUnitUtil.setUp();
// prepare an interface, register
lnis = new XNetInterfaceScaffold(new LenzCommandStation());
// create and register the manager object
l = new XNetTurnoutManager(lnis.getSystemConnectionMemo());
jmri.InstanceManager.setTurnoutManager(l);
}
private static final Logger log = LoggerFactory.getLogger(XNetTurnoutManagerTest.class);
}