112 lines
4.2 KiB
Java
112 lines
4.2 KiB
Java
package jmri.util;
|
|
|
|
import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
|
|
|
|
import jmri.InstanceManager;
|
|
import jmri.Memory;
|
|
import jmri.MemoryManager;
|
|
import jmri.Sensor;
|
|
import jmri.SensorManager;
|
|
|
|
import org.junit.jupiter.api.*;
|
|
|
|
import static org.junit.jupiter.api.Assertions.assertDoesNotThrow;
|
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
|
import static org.junit.jupiter.api.Assertions.assertNotEquals;
|
|
import static org.junit.jupiter.api.Assertions.assertNotNull;
|
|
import static org.junit.jupiter.api.Assertions.assertThrows;
|
|
|
|
/**
|
|
*
|
|
* @author Randall Wood Copyright 2018
|
|
*/
|
|
public class NamedBeanExpectedValueTest {
|
|
|
|
/**
|
|
* Test of getExpectedState method, of class NamedBeanExpectedValue.
|
|
*/
|
|
@Test
|
|
public void testGetExpectedState() {
|
|
MemoryManager mm = InstanceManager.getDefault(MemoryManager.class);
|
|
SensorManager sm = InstanceManager.getDefault(SensorManager.class);
|
|
NamedBeanExpectedValue<Memory, Sensor> instance = new NamedBeanExpectedValue<>(mm.provideMemory("IMTEST"), sm.provideSensor("IS12"));
|
|
assertEquals(sm.getSensor("IS12"), instance.getExpectedState());
|
|
}
|
|
|
|
/**
|
|
* Test of setExpectedState method, of class NamedBeanExpectedValue.
|
|
*/
|
|
@Test
|
|
public void testSetExpectedState() {
|
|
MemoryManager mm = InstanceManager.getDefault(MemoryManager.class);
|
|
SensorManager sm = InstanceManager.getDefault(SensorManager.class);
|
|
NamedBeanExpectedValue<Memory, Sensor> instance = new NamedBeanExpectedValue<>(mm.provideMemory("IMTEST"), sm.provideSensor("IS12"));
|
|
assertEquals(sm.getSensor("IS12"), instance.getExpectedState());
|
|
instance.setExpectedState(sm.provideSensor("IS99"));
|
|
assertEquals(sm.provideSensor("IS99"), instance.getExpectedState());
|
|
assertNotEquals(sm.getSensor("IS12"), instance.getExpectedState());
|
|
instance.setExpectedState(sm.provideSensor("IS21"));
|
|
assertEquals(sm.getSensor("IS21"), instance.getExpectedState());
|
|
}
|
|
|
|
/**
|
|
* Test of getObject method, of class NamedBeanExpectedValue.
|
|
*/
|
|
@Test
|
|
public void testGetObject() {
|
|
MemoryManager mm = InstanceManager.getDefault(MemoryManager.class);
|
|
SensorManager sm = InstanceManager.getDefault(SensorManager.class);
|
|
NamedBeanExpectedValue<Memory, Sensor> instance = new NamedBeanExpectedValue<>(mm.provideMemory("IMTEST"), sm.provideSensor("IS12"));
|
|
assertEquals(mm.getMemory("IMTEST"), instance.getObject());
|
|
}
|
|
|
|
/**
|
|
* Test of getName method, of class NamedBeanExpectedValue.
|
|
*/
|
|
@Test
|
|
public void testGetName() {
|
|
MemoryManager mm = InstanceManager.getDefault(MemoryManager.class);
|
|
SensorManager sm = InstanceManager.getDefault(SensorManager.class);
|
|
NamedBeanExpectedValue<Memory, Sensor> instance = new NamedBeanExpectedValue<>(mm.provideMemory("IMTEST"), sm.provideSensor("IS12"));
|
|
assertEquals(mm.provideMemory("IMTEST").getDisplayName(), instance.getName());
|
|
}
|
|
|
|
/**
|
|
* Test that NamedBeanExpectedValue throws NPE if passed a null NamedBean
|
|
*/
|
|
@Test
|
|
public void testNullNamedBean() {
|
|
// JUnit 5 Assert.throwsException() would be nice...
|
|
MemoryManager mm = InstanceManager.getDefault(MemoryManager.class);
|
|
SensorManager sm = InstanceManager.getDefault(SensorManager.class);
|
|
|
|
Exception exc = assertThrows(NullPointerException.class, () -> {
|
|
cTorNpeNullBean(sm);
|
|
});
|
|
assertNotNull(exc, "NPE thrown for null bean");
|
|
|
|
assertDoesNotThrow(() -> {
|
|
assertNotNull(new NamedBeanExpectedValue<>(mm.provideMemory("IMTEST"), null));
|
|
},"NPE should not be thrown here for a null value");
|
|
}
|
|
|
|
@SuppressFBWarnings( value = "NP_NONNULL_PARAM_VIOLATION",
|
|
justification = "testing passing null to create exception ")
|
|
private void cTorNpeNullBean(SensorManager sm) {
|
|
assertNotNull(new NamedBeanExpectedValue<>(null, sm.provideSensor("IS12")));
|
|
}
|
|
|
|
@BeforeEach
|
|
public void setUp() {
|
|
JUnitUtil.setUp();
|
|
JUnitUtil.initMemoryManager();
|
|
JUnitUtil.initInternalSensorManager();
|
|
}
|
|
|
|
@AfterEach
|
|
public void tearDown() {
|
|
JUnitUtil.tearDown();
|
|
}
|
|
|
|
}
|