Files
2026-06-17 14:00:51 +02:00

63 lines
1.9 KiB
Java

package jmri.jmrit.timetable;
import jmri.InstanceManager;
import org.junit.Assert;
import org.junit.jupiter.api.*;
/**
* Tests for the Schedule Class
* @author Dave Sand Copyright (C) 2018
*/
public class ScheduleTest {
@Test
public void testCreate() {
try {
new Schedule(0);
} catch (IllegalArgumentException ex) {
Assert.assertEquals(ex.getMessage(), "ScheduleAddFail"); // NOI18N
}
}
@Test
public void testSettersAndGetters() {
Layout layout = new Layout();
int layoutId = layout.getLayoutId();
Schedule schedule = new Schedule(layoutId);
Assert.assertTrue(schedule.getScheduleId() > 0);
Assert.assertTrue(schedule.getLayoutId() > 0);
schedule.setScheduleName("New Schedule"); // NOI18N
Assert.assertEquals("New Schedule", schedule.getScheduleName()); // NOI18N
schedule.setEffDate("today"); // NOI18N
Assert.assertEquals("today", schedule.getEffDate()); // NOI18N
try {
schedule.setStartHour(24);
} catch (IllegalArgumentException ex) {
Assert.assertEquals(ex.getMessage(), "StartHourRange"); // NOI18N
}
schedule.setStartHour(12);
Assert.assertEquals(12, schedule.getStartHour());
try {
schedule.setDuration(25);
} catch (IllegalArgumentException ex) {
Assert.assertEquals(ex.getMessage(), "DurationRange"); // NOI18N
}
schedule.setDuration(8);
Assert.assertEquals(8, schedule.getDuration());
Assert.assertEquals("New Schedule", schedule.toString()); // NOI18N
}
@BeforeEach
public void setUp() {
jmri.util.JUnitUtil.setUp();
InstanceManager.setDefault(TimeTableDataManager.class,new TimeTableDataManager(false));
}
@AfterEach
public void tearDown() {
jmri.util.JUnitUtil.tearDown();
}
}