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

122 lines
3.2 KiB
Java

package jmri.jmrit.display;
import javax.swing.JFrame;
import javax.swing.JLabel;
import jmri.InstanceManager;
import jmri.SignalMast;
import jmri.implementation.DefaultSignalHead;
import jmri.util.JUnitUtil;
import jmri.util.junit.annotations.DisabledIfHeadless;
import org.junit.jupiter.api.*;
/**
* Test the SignalMastIcon.
*
* @author Bob Jacobsen Copyright 2009
*/
public class SignalMastIconTest extends PositionableIconTest {
private SignalMast s = null;
private SignalMastIcon to = null;
@Test
@DisabledIfHeadless
public void testShowText() {
// this one is for Layout editor, which for now
// is still in text form.
JFrame jf = new JFrame("SignalMast Icon Text Test");
jf.getContentPane().setLayout(new java.awt.FlowLayout());
jf.getContentPane().add(new JLabel("Should say Approach: "));
jf.getContentPane().add(to);
s.setAspect("Clear");
s.setAspect("Approach");
jf.pack();
jf.setVisible(true);
// close
JUnitUtil.dispose(jf);
}
@Test
@DisabledIfHeadless
public void testShowIcon() {
JFrame jf = new JFrame("SignalMastIcon Icon Test");
jf.getContentPane().setLayout(new java.awt.FlowLayout());
to.setShowAutoText(false);
jf.getContentPane().add(new JLabel("Should be yellow/red: "));
jf.getContentPane().add(to);
s = InstanceManager.getDefault(jmri.SignalMastManager.class)
.provideSignalMast("IF$shsm:basic:two-searchlight:IH2:IH3");
s.setAspect("Clear");
to.setSignalMast(s.getSystemName());
s.setAspect("Clear");
s.setAspect("Approach");
jf.pack();
jf.setVisible(true);
// close
JUnitUtil.dispose(jf);
}
@BeforeEach
@Override
public void setUp() {
super.setUp(); // creates editor
JUnitUtil.initInternalSignalHeadManager();
p = new SignalMastIcon(editor);
to = new SignalMastIcon(editor);
to.setShowAutoText(true);
// reset instance manager & create test heads
InstanceManager.getDefault(jmri.SignalHeadManager.class).register(
new DefaultSignalHead("IH1") {
@Override
protected void updateOutput() {
}
});
InstanceManager.getDefault(jmri.SignalHeadManager.class).register(
new DefaultSignalHead("IH2") {
@Override
protected void updateOutput() {
}
});
InstanceManager.getDefault(jmri.SignalHeadManager.class).register(
new DefaultSignalHead("IH3") {
@Override
protected void updateOutput() {
}
});
s = InstanceManager.getDefault(jmri.SignalMastManager.class)
.provideSignalMast("IF$shsm:basic:one-searchlight:IH1");
to.setSignalMast(new jmri.NamedBeanHandle<>(s.getSystemName(), s));
}
@AfterEach
@Override
public void tearDown() {
to = null;
super.tearDown();
}
// private static final Logger log = LoggerFactory.getLogger(SignalMastIconTest.class);
}