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

93 lines
3.3 KiB
Java

package jmri.jmrit.operations.routes.tools;
import java.awt.GraphicsEnvironment;
import org.junit.Assert;
import org.junit.Assume;
import org.junit.jupiter.api.Test;
import org.netbeans.jemmy.operators.JSpinnerOperator;
import jmri.InstanceManager;
import jmri.jmrit.operations.OperationsTestCase;
import jmri.jmrit.operations.routes.Route;
import jmri.jmrit.operations.routes.RouteLocation;
import jmri.jmrit.operations.routes.RouteManager;
import jmri.util.JUnitOperationsUtil;
import jmri.util.JUnitUtil;
import jmri.util.swing.JemmyUtil;
/**
*
* @author Paul Bender Copyright (C) 2017
*/
public class SetTrainIconRouteFrameTest extends OperationsTestCase {
@Test
public void testCTorNull() {
Assume.assumeFalse(GraphicsEnvironment.isHeadless());
JUnitOperationsUtil.initOperationsData();
SetTrainIconRouteFrame t = new SetTrainIconRouteFrame(null);
Assert.assertNotNull("exists",t);
JUnitUtil.dispose(t);
}
@Test
public void testCTorRoute() {
Assume.assumeFalse(GraphicsEnvironment.isHeadless());
JUnitOperationsUtil.initOperationsData();
Route route = InstanceManager.getDefault(RouteManager.class).getRouteByName("Southbound Main Route");
Assert.assertNotNull(route);
SetTrainIconRouteFrame t = new SetTrainIconRouteFrame(route);
Assert.assertNotNull("exists",t);
JUnitUtil.dispose(t);
}
@Test
public void testFrameButtons() {
Assume.assumeFalse(GraphicsEnvironment.isHeadless());
JUnitOperationsUtil.initOperationsData();
Route route = InstanceManager.getDefault(RouteManager.class).getRouteByName("Southbound Main Route");
Assert.assertNotNull(route);
SetTrainIconRouteFrame f = new SetTrainIconRouteFrame(route);
Assert.assertNotNull("exists",f);
JemmyUtil.enterClickAndLeaveThreadSafe(f.placeButton);
// error dialog should appear
JemmyUtil.pressDialogButton(f, Bundle.getMessage("PanelNotFound"), Bundle.getMessage("ButtonOK"));
JemmyUtil.waitFor(f);
// confirm default
RouteLocation rl = route.getDepartsRouteLocation();
Assert.assertEquals("icon position", 25, rl.getTrainIconX());
// modify spinner and update
JSpinnerOperator so = new JSpinnerOperator(f.spinTrainIconX);
so.setValue(345);
JemmyUtil.enterClickAndLeaveThreadSafe(f.applyButton);
// confirmation dialog should appear
JemmyUtil.pressDialogButton(f, Bundle.getMessage("DoYouWantThisRoute"), Bundle.getMessage("ButtonYes"));
JemmyUtil.waitFor(f);
Assert.assertEquals("icon position", 345, rl.getTrainIconX());
// Save changes
JemmyUtil.enterClickAndLeave(f.saveButton);
JemmyUtil.enterClickAndLeave(f.nextButton);
// confirm next route location has been loaded
Assert.assertEquals("spinner value for ", 75, f.spinTrainIconX.getValue());
JemmyUtil.enterClickAndLeave(f.previousButton);
// confirm previous route location has been loaded
Assert.assertEquals("spinner value for ", 345, f.spinTrainIconX.getValue());
JUnitUtil.dispose(f);
}
// private static final Logger log = LoggerFactory.getLogger(SetTrainIconRouteFrameTest.class);
}