Files
JIMRI/java/test/jmri/jmrix/ecos/EcosSystemConnectionMemoTest.java
T
2026-06-17 14:00:51 +02:00

57 lines
1.9 KiB
Java

package jmri.jmrix.ecos;
import jmri.*;
import jmri.jmrix.SystemConnectionMemoTestBase;
import jmri.util.JUnitUtil;
import org.junit.jupiter.api.*;
/**
* Tests for EcosSystemConnectionMemo.
*
* @author Paul Bender Copyright (C) 2016
*/
public class EcosSystemConnectionMemoTest extends SystemConnectionMemoTestBase<EcosSystemConnectionMemo> {
@Override
@Test
public void testProvidesConsistManager() {
Assertions.assertTrue( scm.provides(ConsistManager.class), "Provides ConsistManager");
}
@BeforeEach
@Override
public void setUp() {
JUnitUtil.setUp();
JUnitUtil.resetProfileManager();
JUnitUtil.initRosterConfigManager();
JUnitUtil.initDefaultUserMessagePreferences();
scm = new EcosSystemConnectionMemo(new EcosInterfaceScaffold());
scm.configureManagers();
scm.getPreferenceManager().setPreferencesLoaded();
InstanceManager.getDefault(ShutDownManager.class).deregister(scm.getPreferenceManager().ecosPreferencesShutDownTask);
scm.getLocoAddressManager().terminateThreads();
JUnitUtil.waitFor(() -> { return !scm.getLocoAddressManager().threadsRunning(); }, "Ecos LocoAddr Mgr Thread");
InstanceManager.store(scm, EcosSystemConnectionMemo.class);
InstanceManager.getDefault(ShutDownManager.class).deregister(scm.getLocoAddressManager().ecosLocoShutDownTask);
}
@AfterEach
@Override
public void tearDown() {
EcosLocoAddressManager em = scm.getLocoAddressManager();
if ( em != null ) {
InstanceManager.getDefault(ShutDownManager.class).deregister(em.ecosLocoShutDownTask);
em.terminateThreads();
JUnitUtil.waitFor(() -> { return !em.threadsRunning(); }, "em threads still running");
}
scm.getTrafficController().terminateThreads();
scm.dispose();
scm = null;
JUnitUtil.tearDown();
}
}