93 lines
3.3 KiB
Java
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);
|
|
|
|
}
|