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

111 lines
3.4 KiB
Java

package jmri.jmrix.can.adapters.lawicell;
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.lawicell.Reply class
*
* @author Bob Jacobsen Copyright 2008, 2009
* @author Steve Young Copyright 2022 ( added RTR Can Frame support )
*/
public class ReplyTest extends jmri.jmrix.AbstractMessageTest {
// t123412345678
@Test
public void testOne() {
Reply g = new Reply("t123412345678\r");
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));
}
// T0000F00D0
@Test
public void testTwo() {
Reply g = new Reply("T0000F00D0\r");
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() {
Reply g = new Reply("T00000123412345678\r");
CanReply r = g.createReply();
Assert.assertEquals("extended", true, 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));
}
@Test
public void testRtRStandard() {
Reply g = new Reply("r1230\r");
CanReply r = g.createReply();
Assertions.assertNotNull(r,"canreply created from lawicell reply");
Assert.assertEquals("extended", false, r.isExtended());
Assert.assertEquals("rtr", true, r.isRtr());
Assert.assertEquals("header", 0x123, r.getHeader());
Assert.assertEquals("num elements", 0, r.getNumDataElements());
}
@Test
public void testRtRExtended() {
Reply g = new Reply("R0000F00D0\r");
CanReply r = g.createReply();
Assertions.assertNotNull(r,"canreply extended created from lawicell reply");
Assert.assertEquals("extended", true, r.isExtended());
Assert.assertEquals("rtr", true, r.isRtr());
Assert.assertEquals("header", 0xF00D, r.getHeader());
Assert.assertEquals("num elements", 0, r.getNumDataElements());
}
@Test
public void testIgnoreFrame() {
Reply g = new Reply("B"); // random letter
CanReply r = g.createReply();
Assertions.assertNull(r,"no canframe created");
}
@Override
@BeforeEach
public void setUp() {
JUnitUtil.setUp();
m = new Reply("t123412345678\r");
}
@AfterEach
@Override
public void tearDown() {
m = null;
JUnitUtil.tearDown();
}
}