package jmri.web.servlet.panel; import org.jdom2.Element; import org.junit.jupiter.api.*; import jmri.InstanceManager; import jmri.Sensor; import jmri.SensorManager; import jmri.configurexml.ConfigXmlManager; import jmri.jmrit.catalog.NamedIcon; import jmri.jmrit.display.MultiSensorIcon; import jmri.util.JUnitUtil; import static org.junit.jupiter.api.Assertions.assertEquals; public class AbstractPanelServletTest { @Test public void testPositionableElement() { String systemName = "IS1"; String userName = "Internal Sensor 1"; AbstractPanelServlet servlet = new NullPanelServlet(); Sensor s = InstanceManager.getDefault(SensorManager.class).provide(systemName); s.setUserName(userName); MultiSensorIcon p = new MultiSensorIcon(null); p.addEntry(userName, new NamedIcon("program:resources/logo.gif", "logo")); Element e = ConfigXmlManager.elementFromObject(p); assertEquals(userName, e.getChild("active").getAttribute("sensor").getValue()); e = servlet.positionableElement(p); assertEquals(systemName, e.getChild("active").getAttribute("sensor").getValue()); } @BeforeEach public void setUp() { JUnitUtil.setUp(); JUnitUtil.initInternalSensorManager(); } @AfterEach public void tearDown() { JUnitUtil.tearDown(); } private static class NullPanelServlet extends AbstractPanelServlet { @Override protected String getPanelType() { return null; } @Override protected String getJsonPanel(String name) { return null; } @Override protected String getXmlPanel(String name) { return null; } } }