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

48 lines
1.8 KiB
Java

package jmri.jmrit.logixng.actions;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertThrows;
import static org.junit.jupiter.api.Assertions.assertTrue;
import java.util.Locale;
import org.junit.jupiter.api.Test;
import jmri.NamedBean;
import jmri.jmrit.logixng.AbstractBaseTestBase;
import jmri.jmrit.logixng.DigitalActionBean;
/**
* Base class for classes that tests DigitalAction
*/
public abstract class AbstractDigitalActionTestBase 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.
assertNotNull( bean, "Bean is not null");
});
assertEquals( "system name is not valid: IQ111", e.getMessage(), "Exception is correct");
}
@Test
public void testBundle() {
assertEquals( "Memory", Bundle.getMessage("ActionMemory_Short"), "strings are equal");
assertEquals( "Set memory IM1 to null", Bundle.getMessage("ActionMemory_Long_Null", "IM1"), "strings are equal 2");
assertEquals( "Memory", Bundle.getMessage(Locale.CANADA, "ActionMemory_Short"), "strings are equal 3");
assertEquals( "Set memory IM1 to null", Bundle.getMessage(Locale.CANADA, "ActionMemory_Long_Null", "IM1"), "strings are equal 4");
}
@Test
public void testGetBeanType() {
assertTrue( "Digital action".equals(((DigitalActionBean)_base).getBeanType()), "String matches");
}
}