Files
JIMRI/java/test/jmri/jmrix/rps/RpsSensorManagerTest.java
T
2026-06-17 14:00:51 +02:00

114 lines
3.0 KiB
Java

package jmri.jmrix.rps;
import jmri.Sensor;
import jmri.util.JUnitUtil;
import java.beans.PropertyVetoException;
import org.junit.Assert;
import org.junit.jupiter.api.*;
/**
* JUnit tests for the RPS SensorManager class.
*
* @author Bob Jacobsen Copyright 2007
* @author Paul Bender Copyright (C) 2016
*/
public class RpsSensorManagerTest extends jmri.managers.AbstractSensorMgrTestBase {
@Override
public String getSystemName(int i) {
return "RS(0,0,0);(1,0,0);(1,1,0);(0,1,0)";
}
@Override
protected String getASystemNameWithNoPrefix() {
return "(0,0,0);(1,0,0);(1,1,0);(0,1,0)";
}
@Test
public void testCtor() {
Assert.assertNotNull("exists", l);
}
@Test
@Override
public void testProvideName() {
// create
Sensor t = l.provide(getSystemName(getNumToTest1()));
// check
Assert.assertTrue("real object returned ", t != null);
Assert.assertTrue("system name correct ", t == l.getBySystemName(getSystemName(getNumToTest1())));
}
@Override
@Test
public void testDefaultSystemName() {
// create
// RPS sensors use coordinates as their address
Sensor t = l.provideSensor("RS(0,0,0);(1,0,0);(1,1,0);(0,1,0)");
// check
Assert.assertTrue("real object returned ", t != null);
Assert.assertTrue("system name correct ", t == l.getBySystemName(getSystemName(getNumToTest1())));
}
@Override
@Test
@jmri.util.junit.annotations.NotApplicable
public void testUpperLower() {
// RPS sensors use coordinates as their address, and they require a
// 2 characterprefix (for now).
}
@Test
@Override
public void testMoveUserName() {
Sensor t1 = l.provideSensor("RS(0,0,0);(1,0,0);(1,1,0);(0,1,0)");
Sensor t2 = l.provideSensor("RS(0,0,0);(1,0,0);(1,1,0);(0,1,2)");
t1.setUserName("UserName");
Assert.assertTrue(t1 == l.getByUserName("UserName"));
t2.setUserName("UserName");
Assert.assertTrue(t2 == l.getByUserName("UserName"));
Assert.assertTrue(null == t1.getUserName());
}
@Override
@Test
public void testRegisterDuplicateSystemName() throws PropertyVetoException, NoSuchFieldException,
NoSuchFieldException, IllegalArgumentException, IllegalAccessException {
testRegisterDuplicateSystemName(l,
"RS(0,0,0);(1,0,0);(1,1,0);(0,1,0)",
"RS(0,0,0);(1,0,0);(1,1,0);(0,1,2)");
}
@Override
@Test
public void testMakeSystemName() {
String s = l.makeSystemName("(0,0,0);(1,0,0);(1,1,0);(0,1,0)");
Assert.assertNotNull(s);
Assert.assertFalse(s.isEmpty());
}
@Test
public void testGetSystemPrefix() {
Assert.assertEquals("R", l.getSystemPrefix());
}
@Override
@BeforeEach
public void setUp() {
JUnitUtil.setUp();
l = new RpsSensorManager(new RpsSystemConnectionMemo());
}
@AfterEach
public void tearDown() {
l.dispose();
JUnitUtil.tearDown();
}
}