94 lines
3.1 KiB
Java
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);
|
|
|
|
}
|