Files
JIMRI/java/test/jmri/jmrit/withrottle/TrackPowerControllerTest.java
T
2026-06-17 14:00:51 +02:00

65 lines
1.6 KiB
Java

package jmri.jmrit.withrottle;
import jmri.*;
import jmri.util.JUnitUtil;
import org.junit.jupiter.api.*;
import static org.junit.jupiter.api.Assertions.*;
/**
* Test simple functioning of TrackPowerController
*
* @author Paul Bender Copyright (C) 2016
* @author Steve Young Copyright (C) 2024
*/
public class TrackPowerControllerTest {
@Test
public void testCtor() {
TrackPowerController t = new TrackPowerController();
assertNotNull( t, "exists" );
assertTrue(t.verifyCreation());
}
@Test
public void testPowerStateSent(){
PowerManager pm = InstanceManager.getDefault(PowerManager.class);
assertDoesNotThrow( () -> pm.setPower(PowerManager.UNKNOWN));
TrackPowerController t = new TrackPowerController();
ControllerInterfaceScaffold scaf = new ControllerInterfaceScaffold();
t.addControllerListener(scaf);
t.sendCurrentState();
String last = scaf.getLastPacket();
assertNotNull(last);
assertEquals("PPA2", last);
assertDoesNotThrow( () -> pm.setPower(PowerManager.OFF));
last = scaf.getLastPacket();
assertNotNull(last);
assertEquals("PPA0", last);
assertDoesNotThrow( () -> pm.setPower(PowerManager.ON));
last = scaf.getLastPacket();
assertNotNull(last);
assertEquals("PPA1", last);
t.deregister();
}
@BeforeEach
public void setUp() {
JUnitUtil.setUp();
JUnitUtil.initDebugPowerManager();
}
@AfterEach
public void tearDown() {
JUnitUtil.tearDown();
}
}