Files
JIMRI/java/test/jmri/jmrit/operations/rollingstock/cars/tools/DeleteCarRosterActionTest.java
T
2026-06-17 14:00:51 +02:00

74 lines
2.4 KiB
Java

package jmri.jmrit.operations.rollingstock.cars.tools;
import java.awt.GraphicsEnvironment;
import java.awt.event.ActionEvent;
import org.junit.Assert;
import org.junit.Assume;
import org.junit.jupiter.api.Test;
import jmri.InstanceManager;
import jmri.jmrit.operations.OperationsTestCase;
import jmri.jmrit.operations.rollingstock.cars.CarManager;
import jmri.jmrit.operations.rollingstock.cars.gui.CarsTableFrame;
import jmri.util.JUnitOperationsUtil;
import jmri.util.JUnitUtil;
import jmri.util.swing.JemmyUtil;
/**
*
* @author Paul Bender Copyright (C) 2017
*/
public class DeleteCarRosterActionTest extends OperationsTestCase {
@Test
public void testCTor() {
Assume.assumeFalse(GraphicsEnvironment.isHeadless());
CarsTableFrame ctf = new CarsTableFrame(true, null, null);
DeleteCarRosterAction t = new DeleteCarRosterAction(ctf);
Assert.assertNotNull("exists",t);
JUnitUtil.dispose(ctf);
JUnitOperationsUtil.checkOperationsShutDownTask();
}
@Test
public void testDelete() {
Assume.assumeFalse(GraphicsEnvironment.isHeadless());
CarsTableFrame ctf = new CarsTableFrame(true, null, null);
DeleteCarRosterAction deleteRosterAction = new DeleteCarRosterAction(ctf);
Assert.assertNotNull("exists", deleteRosterAction);
JUnitOperationsUtil.initOperationsData();
Assert.assertEquals("Number of cars", 9, InstanceManager.getDefault(CarManager.class).getNumEntries());
Thread delete = new Thread(new Runnable() {
@Override
public void run() {
deleteRosterAction.actionPerformed(new ActionEvent(this, ActionEvent.ACTION_PERFORMED, null));
}
});
delete.setName("Delete Cars"); // NOI18N
delete.start();
jmri.util.JUnitUtil.waitFor(() -> {
return delete.getState().equals(Thread.State.WAITING);
}, "wait for prompt");
JemmyUtil.pressDialogButton(Bundle.getMessage("carDeleteAll"), Bundle.getMessage("ButtonOK"));
try {
delete.join();
} catch (InterruptedException e) {
// do nothing
}
Assert.assertEquals("Number of cars", 0, InstanceManager.getDefault(CarManager.class).getNumEntries());
JUnitUtil.dispose(ctf);
JUnitOperationsUtil.checkOperationsShutDownTask();
}
// private static final Logger log = LoggerFactory.getLogger(DeleteCarRosterActionTest.class);
}