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); }