Files
JIMRI/java/test/jmri/jmrit/logixng/tools/ImportActionLightTest.java
2026-06-17 14:00:51 +02:00

71 lines
1.8 KiB
Java

package jmri.jmrit.logixng.tools;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import jmri.*;
import jmri.implementation.DefaultConditionalAction;
/**
* Test import of Logix to LogixNG.
* <P>
* This class creates a Logix, test that it works, imports it to LogixNG,
* deletes the original Logix and then test that the new LogixNG works.
* <P>
* This test tests expression light
*
* @author Daniel Bergqvist (C) 2020
*/
public class ImportActionLightTest extends ImportActionTestBase {
private Light light = null;
private ConditionalAction ca = null;
@Override
public void setNamedBeanState(boolean on) throws JmriException {
if (on) {
light.setState(Light.ON);
} else {
light.setState(Light.OFF);
}
}
@Override
public boolean checkNamedBeanState(boolean on) {
if (on) {
return light.getState() == Light.ON;
} else {
return light.getState() == Light.OFF;
}
}
@Override
public void setConditionalActionState(State state) {
assertNotNull(ca);
switch (state) {
case ON:
ca.setActionData(Light.ON);
break;
case OFF:
ca.setActionData(Light.OFF);
break;
case TOGGLE:
default:
ca.setActionData(Route.TOGGLE);
break;
}
}
@Override
public ConditionalAction newConditionalAction() {
light = InstanceManager.getDefault(LightManager.class).provide("IL2");
ca = new DefaultConditionalAction();
ca.setActionData(Light.ON);
ca.setType(Conditional.Action.SET_LIGHT);
ca.setDeviceName("IL2");
return ca;
}
}