67 lines
2.3 KiB
Java
67 lines
2.3 KiB
Java
package jmri.jmrix.rfid;
|
|
|
|
import org.junit.Assert;
|
|
import org.junit.Assume;
|
|
import org.junit.jupiter.api.*;
|
|
import jmri.IdTag;
|
|
|
|
/**
|
|
* RfidReporterTest.java
|
|
* <p>
|
|
* Test for the jmri.jmrix.rfid.RfidReporter class
|
|
*
|
|
* @author Paul Bender Copyright (C) 2016,2018
|
|
*/
|
|
public class RfidReporterTest extends jmri.implementation.AbstractReporterTestBase {
|
|
|
|
@Override
|
|
protected Object generateObjectToReport() {
|
|
return new jmri.implementation.DefaultIdTag("ID0413276BC1", "Test Tag");
|
|
}
|
|
|
|
@Test
|
|
public void test1ParamCtor() {
|
|
RfidReporter s = new RfidReporter("FRA");
|
|
Assert.assertNotNull("exists", s);
|
|
}
|
|
|
|
// RfidReporter implements the IdTagListener interface, which
|
|
// includes a notify(IdTag) method.
|
|
@Test
|
|
public void testNotify() {
|
|
Assume.assumeTrue(r instanceof RfidReporter);
|
|
Assume.assumeTrue(generateObjectToReport() instanceof IdTag);
|
|
Assert.assertEquals("IdTag not Seen", IdTag.UNKNOWN, r.getState());
|
|
((RfidReporter) r).notify((IdTag) generateObjectToReport());
|
|
// Check that both CurrentReport and LastReport are not null
|
|
Assert.assertNotNull("CurrentReport Object exists", r.getCurrentReport());
|
|
Assert.assertNotNull("LastReport Object exists", r.getLastReport());
|
|
// Check the value of both CurrentReport and LastReport
|
|
Assert.assertEquals("CurrentReport equals LastReport", r.getLastReport(), r.getCurrentReport());
|
|
Assert.assertEquals("IdTag Seen", IdTag.SEEN, r.getState());
|
|
|
|
// send a null report.
|
|
((RfidReporter) r).notify((IdTag) null);
|
|
// Check that both CurrentReport and LastReport are not null
|
|
Assert.assertNull("CurrentReport Object Null", r.getCurrentReport());
|
|
Assert.assertNotNull("LastReport Object exists", r.getLastReport());
|
|
Assert.assertEquals("IdTag Seen", IdTag.UNSEEN, r.getState());
|
|
}
|
|
|
|
@Override
|
|
@BeforeEach
|
|
public void setUp() {
|
|
jmri.util.JUnitUtil.setUp();
|
|
r = new RfidReporter("FRA", "Test");
|
|
}
|
|
|
|
@Override
|
|
@AfterEach
|
|
public void tearDown() {
|
|
r = null;
|
|
jmri.util.JUnitUtil.clearShutDownManager(); // put in place because AbstractMRTrafficController implementing subclass was not terminated properly
|
|
jmri.util.JUnitUtil.tearDown();
|
|
}
|
|
|
|
}
|