81 lines
2.9 KiB
Java
81 lines
2.9 KiB
Java
package jmri.jmrit.operations.locations.schedules.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.locations.schedules.Schedule;
|
|
import jmri.jmrit.operations.locations.schedules.ScheduleManager;
|
|
import jmri.jmrit.operations.rollingstock.cars.CarLoads;
|
|
import jmri.jmrit.operations.rollingstock.cars.CarTypes;
|
|
import jmri.util.JUnitOperationsUtil;
|
|
import jmri.util.JUnitUtil;
|
|
import jmri.util.swing.JemmyUtil;
|
|
|
|
/**
|
|
* @author Paul Bender Copyright (C) 2017
|
|
*/
|
|
public class SchedulesByLoadFrameTest extends OperationsTestCase {
|
|
|
|
@Test
|
|
public void testCTor() {
|
|
Assume.assumeFalse(GraphicsEnvironment.isHeadless());
|
|
jmri.util.JUnitOperationsUtil.initOperationsData();
|
|
SchedulesByLoadFrame t = new SchedulesByLoadFrame();
|
|
Assert.assertNotNull("exists", t);
|
|
JUnitUtil.dispose(t);
|
|
|
|
}
|
|
|
|
@Test
|
|
public void testSchedulesByLoadFrame() {
|
|
Assume.assumeFalse(GraphicsEnvironment.isHeadless());
|
|
// add schedules to a location
|
|
JUnitOperationsUtil.initOperationsData();
|
|
JUnitOperationsUtil.createSchedules();
|
|
|
|
SchedulesByLoadFrame f = new SchedulesByLoadFrame();
|
|
Assert.assertNotNull(f);
|
|
|
|
JemmyUtil.enterClickAndLeave(f.allTypesCheckBox);
|
|
JemmyUtil.enterClickAndLeave(f.allLoadsCheckBox);
|
|
|
|
// update car loads for Boxcar to eliminate warning
|
|
CarLoads carLoads = InstanceManager.getDefault(CarLoads.class);
|
|
carLoads.addName("Boxcar", "Empty");
|
|
carLoads.addName("Boxcar", "Metal");
|
|
carLoads.addName("Flat", "Metal");
|
|
carLoads.addName("Flat", "Junk");
|
|
|
|
// modify schedule
|
|
ScheduleManager scheduleManager = InstanceManager.getDefault(ScheduleManager.class);
|
|
Schedule schedule = scheduleManager.getScheduleByName("Test Schedule");
|
|
schedule.addItem("Boxcar");
|
|
JemmyUtil.enterClickAndLeave(f.allLoadsCheckBox);
|
|
|
|
// don't allow the "E" load
|
|
Location location = InstanceManager.getDefault(LocationManager.class).getLocationByName("North Industries");
|
|
Track track = location.getTrackByName("Test Spur 2", null);
|
|
track.addLoadName("E");
|
|
track.setLoadOption(Track.EXCLUDE_LOADS);
|
|
|
|
// Add a car type
|
|
Assert.assertEquals("Number of types", 3, f.typesComboBox.getItemCount());
|
|
CarTypes carTypes = InstanceManager.getDefault(CarTypes.class);
|
|
carTypes.addName("NEWBOXCAR");
|
|
Assert.assertEquals("Number of types", 4, f.typesComboBox.getItemCount());
|
|
|
|
// TODO improve test
|
|
JUnitUtil.dispose(f);
|
|
}
|
|
|
|
// private static final Logger log =
|
|
// LoggerFactory.getLogger(SchedulesByLoadFrameTest.class);
|
|
|
|
}
|