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

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);
}