Files
JIMRI/java/test/jmri/jmrix/roco/z21/Z21XNetMessageTest.java
2026-06-17 14:00:51 +02:00

89 lines
3.6 KiB
Java

package jmri.jmrix.roco.z21;
import jmri.util.JUnitUtil;
import org.junit.Assert;
import org.junit.jupiter.api.*;
/**
*
* @author Paul Bender Copyright (C) 2017
*/
public class Z21XNetMessageTest extends jmri.jmrix.lenz.XNetMessageTest {
// Test the string constructor.
@Override
@Test
public void testStringCtor() {
msg = new Z21XNetMessage("12 34 AB 3 19 6 B B1");
Assert.assertEquals("length", 8, msg.getNumDataElements());
Assert.assertEquals("0th byte", 0x12, msg.getElement(0) & 0xFF);
Assert.assertEquals("1st byte", 0x34, msg.getElement(1) & 0xFF);
Assert.assertEquals("2nd byte", 0xAB, msg.getElement(2) & 0xFF);
Assert.assertEquals("3rd byte", 0x03, msg.getElement(3) & 0xFF);
Assert.assertEquals("4th byte", 0x19, msg.getElement(4) & 0xFF);
Assert.assertEquals("5th byte", 0x06, msg.getElement(5) & 0xFF);
Assert.assertEquals("6th byte", 0x0B, msg.getElement(6) & 0xFF);
Assert.assertEquals("7th byte", 0xB1, msg.getElement(7) & 0xFF);
}
@Test
@Override
public void testStringCtorEmptyString() {
msg= new Z21XNetMessage("");
Assert.assertEquals("length", 0, msg.getNumDataElements());
Assert.assertTrue("empty reply",msg.toString().equals(""));
}
@Test
@Override
public void testCtorXNetReply(){
Z21XNetReply x = new Z21XNetReply("12 34 AB 03 19 06 0B B1");
msg = new Z21XNetMessage(x);
Assert.assertEquals("length", x.getNumDataElements(), msg.getNumDataElements());
Assert.assertEquals("0th byte", x.getElement(0)& 0xFF, msg.getElement(0)& 0xFF);
Assert.assertEquals("1st byte", x.getElement(1)& 0xFF, msg.getElement(1)& 0xFF);
Assert.assertEquals("2nd byte", x.getElement(2)& 0xFF, msg.getElement(2)& 0xFF);
Assert.assertEquals("3rd byte", x.getElement(3)& 0xFF, msg.getElement(3)& 0xFF);
Assert.assertEquals("4th byte", x.getElement(4)& 0xFF, msg.getElement(4)& 0xFF);
Assert.assertEquals("5th byte", x.getElement(5)& 0xFF, msg.getElement(5)& 0xFF);
Assert.assertEquals("6th byte", x.getElement(6)& 0xFF, msg.getElement(6)& 0xFF);
Assert.assertEquals("7th byte", x.getElement(7)& 0xFF, msg.getElement(7)& 0xFF);
}
@Test
public void testToMonitorStringZ21_LAN_X_GET_TURNOUT_INFO(){
Z21XNetMessage m = Z21XNetMessage.getZ21TurnoutInfoRequestMessage(1);
Assert.assertEquals("Monitor String",Bundle.getMessage("Z21LAN_X_GET_TURNOUT_INFO",1),m.toMonitorString());
}
@Test
public void testToMonitorStringZ21_LAN_X_SET_TURNOUT() {
Z21XNetMessage m = Z21XNetMessage.getZ21SetTurnoutRequestMessage(1, true, false, false);
Assert.assertEquals("Set Turnout Thrown Monitor String", Bundle.getMessage("Z21LAN_X_SET_TURNOUT", 1, "deactivate", 1, false), m.toMonitorString());
m = Z21XNetMessage.getZ21SetTurnoutRequestMessage(1, false, true, true);
Assert.assertEquals("Set Turnout Closed Monitor String", Bundle.getMessage("Z21LAN_X_SET_TURNOUT", 1, "activate", 0, true), m.toMonitorString());
}
@BeforeEach
@Override
public void setUp() {
JUnitUtil.setUp();
m = msg = new Z21XNetMessage(3);
}
@AfterEach
@Override
public void tearDown() {
m = msg = null;
JUnitUtil.tearDown();
// make sure the message timeouts and retries are set to
// the defaults.
jmri.jmrix.lenz.XNetMessage.setXNetMessageTimeout(5000);
jmri.jmrix.lenz.XNetMessage.setXNetMessageRetries(5);
}
// private static final Logger log = LoggerFactory.getLogger(Z21XNetMessageTest.class);
}