Files
2026-06-17 14:00:51 +02:00

138 lines
3.7 KiB
Java

package jmri.jmrix.rfid.protocol.em18;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertTrue;
import jmri.jmrix.AbstractMRReply;
import org.junit.jupiter.api.*;
/**
* Tests for the Em18RfidProtocol class
*
* @author Matthew Harris
*/
public class Em18RfidProtocolTest {
private final AbstractMRReply msgStandalone = new AbstractMRReplyImpl("7800656EB6C5");
private final AbstractMRReply msgBadChkSumStandalone = new AbstractMRReplyImpl("7800656EB6C6");
/**
* Test of getMaxSize method, of class Em18RfidProtocol.
*/
@Test
public void testGetMaxSize() {
assertEquals(12, Em18RfidProtocol.getMaxSize());
}
/**
* Test of initString method, of class Em18RfidProtocol.
*/
@Test
public void testInitString() {
Em18RfidProtocol instance = new Em18RfidProtocol();
assertEquals("", instance.initString());
}
/**
* Test of getTag method, of class Em18RfidProtocol.
*/
@Test
public void testGetTag() {
Em18RfidProtocol instance = new Em18RfidProtocol();
assertEquals("7800656EB6", instance.getTag(msgStandalone));
}
/**
* Test of providesChecksum method, of class Em18RfidProtocol.
*/
@Test
public void testProvidesChecksum() {
Em18RfidProtocol instance = new Em18RfidProtocol();
assertTrue( instance.providesChecksum());
}
/**
* Test of getCheckSum method, of class Em18RfidProtocol.
*/
@Test
public void testGetCheckSum() {
Em18RfidProtocol instance = new Em18RfidProtocol();
assertEquals("C5", instance.getCheckSum(msgStandalone));
}
/**
* Test of isValid method, of class Em18RfidProtocol.
*/
@Test
public void testIsValid() {
Em18RfidProtocol instance = new Em18RfidProtocol();
assertTrue( instance.isValid(msgStandalone));
assertFalse( instance.isValid(msgBadChkSumStandalone));
}
/**
* Test of isCheckSumValid method, of class Em18RfidProtocol.
*/
@Test
public void testIsCheckSumValid() {
Em18RfidProtocol instance = new Em18RfidProtocol();
assertTrue( instance.isCheckSumValid(msgStandalone));
assertFalse( instance.isCheckSumValid(msgBadChkSumStandalone));
}
/**
* Test of endOfMessage method, of class Em18RfidProtocol.
*/
@Test
public void testEndOfMessage() {
Em18RfidProtocol instance = new Em18RfidProtocol();
assertTrue( instance.endOfMessage(msgStandalone));
}
/**
* Test of getReaderPort method, of class CoreIdRfidProtocol.
*/
@Test
public void testGetReaderPort() {
Em18RfidProtocol instance = new Em18RfidProtocol();
char expResult = 0x00;
assertEquals(expResult, instance.getReaderPort(msgStandalone));
}
/**
* Test of toMonitorString method, of class Em18RfidProtocol.
*/
@Test
public void testToMonitorString() {
Em18RfidProtocol instance = new Em18RfidProtocol();
String expResult = "Reply from EM-18 reader. Tag read 7800656EB6 checksum C5 valid? yes";
assertEquals(expResult, instance.toMonitorString(msgStandalone));
}
private static class AbstractMRReplyImpl extends AbstractMRReply {
AbstractMRReplyImpl(String s) {
super(s);
}
@Override
protected int skipPrefix(int index) {
// doesn't have to do anything
return index;
}
}
@BeforeEach
public void setUp() {
jmri.util.JUnitUtil.setUp();
}
@AfterEach
public void tearDown() {
jmri.util.JUnitUtil.tearDown();
}
}