111 lines
3.4 KiB
Java
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();
|
|
}
|
|
}
|