package jmri.managers; import jmri.*; import org.junit.jupiter.api.*; /** * Base for the various Abstract*MgrTestBase base classes for NamedBean Manager test classes *

* This is not itself a test class, e.g. should not be added to a suite. * Instead, this forms the base for test classes, including providing some * common tests. *

* Quite a bit of AbstractManager testing is done in InternalSensorManagerTest * to give it a concrete platform * * @author Bob Jacobsen Copyright (C) 2017 * @param Proxy Bean Manager, e.g. ProxySensorManager * @param Bean type, e.g. Sensor */ public abstract class AbstractProxyManagerTestBase, E extends NamedBean> { // ProxyManager under test - setUp() loads this protected T l; // check that you can add and remove listeners @Test public void checkSimpleAddAndRemove() { Manager.ManagerDataListener listener = new Manager.ManagerDataListener(){ @Override public void contentsChanged(Manager.ManagerDataEvent e){} @Override public void intervalAdded(Manager.ManagerDataEvent e) {} @Override public void intervalRemoved(Manager.ManagerDataEvent e) {} }; l.addDataListener(listener); l.removeDataListener(listener); l.addDataListener(null); l.removeDataListener(null); l.addDataListener(null); l.removeDataListener(listener); l.addDataListener(listener); l.removeDataListener(null); } @Test public final void testMakeSystemName() { String s = l.makeSystemName("1"); Assertions.assertNotNull(s); Assertions.assertFalse( s.isEmpty()); } }