Files
JIMRI/java/test/jmri/jmrix/can/adapters/gridconnect/GridConnectReplyTest.java
T
2026-06-17 14:00:51 +02:00

141 lines
4.5 KiB
Java

package jmri.jmrix.can.adapters.gridconnect;
import jmri.jmrix.can.CanReply;
import jmri.util.JUnitUtil;
import org.junit.Assert;
import org.junit.jupiter.api.*;
/**
* Tests for the jmri.jmrix.can.adapters.gridconnect.GridConnectReply class
*
* @author Bob Jacobsen Copyright 2008, 2009
*/
public class GridConnectReplyTest extends jmri.jmrix.AbstractMessageTestBase {
// :S123N12345678;
@Test
public void testOne() {
GridConnectReply g = new GridConnectReply(":S123N12345678;");
CanReply r = g.createReply();
Assert.assertEquals("extended", false, r.isExtended());
Assert.assertEquals("rtr", false, r.isRtr());
Assert.assertEquals("header", 0x123, r.getHeader());
Assert.assertEquals("num elements", 4, r.getNumDataElements());
Assert.assertEquals("el 0", 0x12, r.getElement(0));
Assert.assertEquals("el 1", 0x34, r.getElement(1));
Assert.assertEquals("el 2", 0x56, r.getElement(2));
Assert.assertEquals("el 3", 0x78, r.getElement(3));
}
// :XF00DN;
@Test
public void testTwo() {
GridConnectReply g = new GridConnectReply(":XF00DN;");
CanReply r = g.createReply();
Assert.assertEquals("extended", true, r.isExtended());
Assert.assertEquals("rtr", false, r.isRtr());
Assert.assertEquals("header", 0xF00D, r.getHeader());
Assert.assertEquals("num elements", 0, r.getNumDataElements());
}
@Test
public void testThree() {
GridConnectReply g = new GridConnectReply(":X123R12345678;");
CanReply r = g.createReply();
Assert.assertEquals("extended", true, r.isExtended());
Assert.assertEquals("rtr", true, r.isRtr());
Assert.assertEquals("header", 0x123, r.getHeader());
Assert.assertEquals("num elements", 4, r.getNumDataElements());
Assert.assertEquals("el 0", 0x12, r.getElement(0));
Assert.assertEquals("el 1", 0x34, r.getElement(1));
Assert.assertEquals("el 2", 0x56, r.getElement(2));
Assert.assertEquals("el 3", 0x78, r.getElement(3));
}
@Test
public void testThreeAlt() {
GridConnectReply g = new GridConnectReply(":X0000123R12345678;");
CanReply r = g.createReply();
Assert.assertEquals("extended", true, r.isExtended());
Assert.assertEquals("rtr", true, r.isRtr());
Assert.assertEquals("header", 0x123, r.getHeader());
Assert.assertEquals("num elements", 4, r.getNumDataElements());
Assert.assertEquals("el 0", 0x12, r.getElement(0));
Assert.assertEquals("el 1", 0x34, r.getElement(1));
Assert.assertEquals("el 2", 0x56, r.getElement(2));
Assert.assertEquals("el 3", 0x78, r.getElement(3));
}
@Test
public void testThreeBis() {
GridConnectReply g = new GridConnectReply(":X000123R12345678;");
CanReply r = g.createReply();
Assert.assertEquals("extended", true, r.isExtended());
Assert.assertEquals("rtr", true, r.isRtr());
Assert.assertEquals("header", 0x123, r.getHeader());
Assert.assertEquals("num elements", 4, r.getNumDataElements());
Assert.assertEquals("el 0", 0x12, r.getElement(0));
Assert.assertEquals("el 1", 0x34, r.getElement(1));
Assert.assertEquals("el 2", 0x56, r.getElement(2));
Assert.assertEquals("el 3", 0x78, r.getElement(3));
}
@Test
public void testFour() {
GridConnectReply g = new GridConnectReply(":X1FFFFFFFR63;");
CanReply r = g.createReply();
Assert.assertEquals("extended", true, r.isExtended());
Assert.assertEquals("rtr", true, r.isRtr());
Assert.assertEquals("header", 0x1FFFFFFF, r.getHeader());
Assert.assertEquals("num elements", 1, r.getNumDataElements());
Assert.assertEquals("el 1", 0x63, r.getElement(0));
}
@Test
public void testNotNegative() {
// remnant of Arduino CAN2USBino startup message
GridConnectReply g = new GridConnectReply(": 1;");
CanReply r = g.createReply();
Assert.assertEquals("extended", false, r.isExtended());
Assert.assertEquals("rtr", false, r.isRtr());
Assert.assertEquals("header", 0x0, r.getHeader());
Assert.assertEquals("num elements", 0, r.getNumDataElements());
}
@Override
@BeforeEach
public void setUp() {
JUnitUtil.setUp();
m = new GridConnectReply(":S123N12345678;");
}
@AfterEach
@Override
public void tearDown() {
m = null;
JUnitUtil.tearDown();
}
}