Files
2026-06-17 14:00:51 +02:00

63 lines
1.9 KiB
Java

package jmri.jmrit.operations.trains.tools;
import java.io.File;
import org.junit.Assert;
import org.junit.jupiter.api.*;
import jmri.InstanceManager;
import jmri.jmrit.operations.OperationsTestCase;
import jmri.jmrit.operations.trains.Train;
import jmri.jmrit.operations.trains.TrainManager;
import jmri.util.JUnitOperationsUtil;
import jmri.util.JUnitUtil;
import jmri.util.swing.JemmyUtil;
/**
*
* @author Paul Bender Copyright (C) 2017
*/
public class ExportTrainsTest extends OperationsTestCase {
@Test
public void testCTor() {
ExportTrains t = new ExportTrains();
Assert.assertNotNull("exists", t);
}
@Test
@jmri.util.junit.annotations.DisabledIfHeadless
public void testCreateFile() {
ExportTrains exportTrains = new ExportTrains();
Assert.assertNotNull("exists", exportTrains);
JUnitOperationsUtil.initOperationsData();
// built trains increase coverage
TrainManager tmanager = InstanceManager.getDefault(TrainManager.class);
Train train = tmanager.getTrainByName("STF");
Assert.assertTrue(train.build());
// next should cause export complete dialog to appear
Thread export = new Thread(exportTrains::writeOperationsTrainsFile);
export.setName("Export Trains"); // NOI18N
export.start();
JUnitUtil.waitFor(() -> {
return export.getState().equals(Thread.State.WAITING);
}, "wait for prompt");
JemmyUtil.pressDialogButton(Bundle.getMessage("ExportComplete"), Bundle.getMessage("ButtonOK"));
jmri.util.JUnitUtil.waitFor(() -> !export.isAlive(), "wait for export to complete");
File file = new File(ExportTrains.defaultOperationsFilename());
Assert.assertTrue("Confirm file creation", file.exists());
JUnitOperationsUtil.checkOperationsShutDownTask();
}
// private static final Logger log = LoggerFactory.getLogger(ExportTrainsTest.class);
}