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

94 lines
3.1 KiB
Java

package jmri.jmrit.operations.locations.tools;
import java.awt.GraphicsEnvironment;
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.locations.*;
import jmri.jmrit.operations.rollingstock.cars.CarRoads;
import jmri.util.JUnitOperationsUtil;
import jmri.util.JUnitUtil;
import jmri.util.swing.JemmyUtil;
/**
*
* @author Paul Bender Copyright (C) 2017
*/
public class TrackRoadEditFrameTest extends OperationsTestCase {
@Test
public void testCTor() {
Assume.assumeFalse(GraphicsEnvironment.isHeadless());
JUnitOperationsUtil.initOperationsData();
TrackRoadEditFrame t = new TrackRoadEditFrame();
Assert.assertNotNull("exists", t);
LocationManager lmanager = InstanceManager.getDefault(LocationManager.class);
Location loc = lmanager.getLocationByName("North Industries");
Assert.assertNotNull("exists", loc);
t.initComponents(loc, null);
Assert.assertTrue(t.isVisible());
JUnitUtil.dispose(t);
}
@Test
public void testFrameButtons() {
Assume.assumeFalse(GraphicsEnvironment.isHeadless());
JUnitOperationsUtil.initOperationsData();
TrackRoadEditFrame tlef = new TrackRoadEditFrame();
Assert.assertNotNull("exists", tlef);
LocationManager lmanager = InstanceManager.getDefault(LocationManager.class);
Location loc = lmanager.getLocationByName("North Industries");
Assert.assertNotNull("exists", loc);
Track track = loc.getTrackByName("NI Yard", null);
tlef.initComponents(loc, track);
Assert.assertTrue(tlef.isVisible());
JemmyUtil.enterClickAndLeave(tlef.roadNameInclude);
JemmyUtil.enterClickAndLeaveThreadSafe(tlef.saveButton);
// error dialog window show appear
JemmyUtil.pressDialogButton(tlef, Bundle.getMessage("ErrorNoRoads"), Bundle.getMessage("ButtonOK"));
JemmyUtil.waitFor(tlef);
// only road "AA" is to be accepted
JemmyUtil.enterClickAndLeave(tlef.addRoadButton);
JemmyUtil.enterClickAndLeave(tlef.saveButton);
Assert.assertTrue(track.isRoadNameAccepted("AA"));
for (String roadName : InstanceManager.getDefault(CarRoads.class).getNames()) {
if (roadName.equals("AA")) {
continue; // the only road name accepted by this track
}
Assert.assertFalse("confirm road name not accepted", track.isRoadNameAccepted(roadName));
}
JUnitUtil.dispose(tlef);
}
@Test
public void testCloseWindowOnSave() {
Assume.assumeFalse(GraphicsEnvironment.isHeadless());
Location loc = JUnitOperationsUtil.createOneNormalLocation("Test Location");
Track track = loc.addTrack("Yard", Track.YARD);
TrackRoadEditFrame f = new TrackRoadEditFrame();
f.initComponents(loc, track);
JUnitOperationsUtil.testCloseWindowOnSave(f.getTitle());
}
// private static final Logger log = LoggerFactory.getLogger(TrackRoadEditFrameTest.class);
}