Files
JIMRI/java/test/jmri/jmrit/logixng/actions/AbstractDigitalBooleanActionTestBase.java
T
2026-06-17 14:00:51 +02:00

53 lines
2.3 KiB
Java

package jmri.jmrit.logixng.actions;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertThrows;
import static org.junit.jupiter.api.Assertions.fail;
import java.util.Locale;
import jmri.NamedBean;
import jmri.jmrit.logixng.AbstractBaseTestBase;
import jmri.jmrit.logixng.DigitalBooleanActionBean;
import org.junit.jupiter.api.Test;
/**
* Base class for classes that tests DigitalBooleanAction
*/
public abstract class AbstractDigitalBooleanActionTestBase extends AbstractBaseTestBase {
public abstract NamedBean createNewBean(String systemName);
@Test
public void testBadSystemName() {
IllegalArgumentException e = assertThrows( IllegalArgumentException.class, () -> {
// Create a bean with bad system name. This must throw an exception
NamedBean bean = createNewBean("IQ111");
// We should never get here.
fail("Bean is not null " + bean);
}, "Exception is thrown");
assertEquals( "system name is not valid: IQ111", e.getMessage(), "Exception is correct");
}
@Test
public void testBundle() {
assertEquals( "Logix Action", Bundle.getMessage("DigitalBooleanLogixAction_Short"), "strings are equal");
// Assert.assertEquals("strings are equal", "Set memory IM1 to null", Bundle.getMessage("DigitalBooleanLogixAction_Long_Change", "IM1"));
assertEquals( "Logix Action", Bundle.getMessage(Locale.CANADA, "DigitalBooleanLogixAction_Short"), "strings are equal");
// Assert.assertEquals("strings are equal", "Set memory IM1 to null", Bundle.getMessage(Locale.CANADA, "DigitalBooleanLogixAction_Long_Change", "IM1"));
// The bundle in jmri.jmrit.logixng.actions doesn't
// currently has a property that uses arguments so test a property
// in jmri.jmrit.logixng bundle instead.
assertEquals( "Test Bundle BB AA CC", Bundle.getMessage("TestBundle", "AA", "BB", "CC"), "strings are equal");
assertEquals( "Test Bundle BB AA CC", Bundle.getMessage(Locale.CANADA, "TestBundle", "AA", "BB", "CC"), "strings are equal");
}
@Test
public void testGetBeanType() {
assertEquals( "Digital boolean action", ((DigitalBooleanActionBean)_base).getBeanType(), "String matches");
}
}