116 lines
3.9 KiB
Java
116 lines
3.9 KiB
Java
package jmri.jmris.srcp;
|
|
|
|
import jmri.util.JUnitUtil;
|
|
import org.junit.jupiter.api.AfterEach;
|
|
import org.junit.jupiter.api.BeforeEach;
|
|
import org.junit.jupiter.api.Disabled;
|
|
import org.junit.jupiter.api.Test;
|
|
|
|
import java.io.OutputStream;
|
|
|
|
import static org.assertj.core.api.Assertions.assertThat;
|
|
import static org.assertj.core.api.Assertions.catchThrowable;
|
|
|
|
/**
|
|
* Tests for the jmri.jmris.srcp.JmriSRCPTurnoutServer class
|
|
*
|
|
* @author Paul Bender Copyright (C) 2012,2016,2018
|
|
*/
|
|
public class JmriSRCPTurnoutServerTest extends jmri.jmris.AbstractTurnoutServerTestBase {
|
|
|
|
private StringBuilder sb = null;
|
|
|
|
// test the property change sequence for an THROWN property change.
|
|
@Test
|
|
@Override
|
|
@Disabled("This isn't triggering the right property change listener")
|
|
public void testPropertyChangeThrownStatus() {
|
|
Throwable thrown = catchThrowable( () -> {
|
|
((JmriSRCPTurnoutServer) ts).initTurnout(1,1,"N");
|
|
jmri.InstanceManager.getDefault(jmri.TurnoutManager.class)
|
|
.provideTurnout("IT1").setState(jmri.Turnout.THROWN);
|
|
assertThat(sb.toString()).withFailMessage("Thrown Message Sent").endsWith("101 INFO 1 GA 1 N\n\r");
|
|
});
|
|
assertThat(thrown).withFailMessage("Exception setting Status").isNull();
|
|
}
|
|
|
|
// test the property change sequence for an CLOSED property change.
|
|
@Test
|
|
@Override
|
|
@Disabled("This isn't triggering the right property change listener")
|
|
public void testPropertyChangeClosedStatus() {
|
|
Throwable thrown = catchThrowable( () -> {
|
|
((JmriSRCPTurnoutServer) ts).initTurnout(1,1,"N");
|
|
jmri.InstanceManager.getDefault(jmri.TurnoutManager.class)
|
|
.provideTurnout("IT1").setState(jmri.Turnout.CLOSED);
|
|
assertThat(sb.toString()).withFailMessage("Closed Message Sent").endsWith("101 INFO 1 GA 0 N\n\r");
|
|
});
|
|
assertThat(thrown).withFailMessage("Exception setting Status").isNull();
|
|
}
|
|
|
|
/**
|
|
* {@inheritDoc}
|
|
*/
|
|
@Override
|
|
public void checkErrorStatusSent(){
|
|
assertThat(sb.toString()).withFailMessage("Active Message Sent").endsWith("499 ERROR unspecified error\n\r");
|
|
}
|
|
|
|
/**
|
|
* {@inheritDoc}
|
|
*/
|
|
@Override
|
|
public void checkTurnoutThrownSent(){
|
|
assertThat(sb.toString()).withFailMessage("Active Message Sent").endsWith("499 ERROR unspecified error\n\r");
|
|
}
|
|
|
|
/**
|
|
* {@inheritDoc}
|
|
*/
|
|
@Override
|
|
public void checkTurnoutClosedSent() {
|
|
assertThat(sb.toString()).withFailMessage("Active Message Sent").endsWith("499 ERROR unspecified error\n\r");
|
|
}
|
|
|
|
/**
|
|
* {@inheritDoc}
|
|
*/
|
|
@Override
|
|
public void checkTurnoutUnknownSent() {
|
|
assertThat(sb.toString()).withFailMessage("Active Message Sent").endsWith("499 ERROR unspecified error\n\r");
|
|
}
|
|
|
|
@BeforeEach
|
|
@Override
|
|
public void setUp() {
|
|
JUnitUtil.setUp();
|
|
JUnitUtil.resetProfileManager();
|
|
|
|
// verify the Internal System Connection memo is available.
|
|
jmri.InstanceManager.getDefault(jmri.jmrix.internal.InternalSystemConnectionMemo.class);
|
|
|
|
jmri.util.JUnitUtil.initInternalTurnoutManager();
|
|
jmri.util.JUnitUtil.initInternalLightManager();
|
|
jmri.util.JUnitUtil.initInternalSensorManager();
|
|
jmri.util.JUnitUtil.initDebugThrottleManager();
|
|
sb = new StringBuilder();
|
|
OutputStream output = new java.io.OutputStream() {
|
|
@Override
|
|
public void write(int b) {
|
|
sb.append((char)b);
|
|
}
|
|
};
|
|
java.io.DataInputStream input = new java.io.DataInputStream(System.in);
|
|
ts = new JmriSRCPTurnoutServer(input, output);
|
|
}
|
|
|
|
@AfterEach
|
|
public void tearDown() {
|
|
ts.dispose();
|
|
ts = null;
|
|
sb = null;
|
|
JUnitUtil.tearDown();
|
|
}
|
|
|
|
}
|