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

64 lines
1.9 KiB
Java

package jmri.jmrit.timetable;
import org.junit.jupiter.api.*;
import jmri.util.JUnitUtil;
import static org.junit.jupiter.api.Assertions.*;
/**
* Tests for the Layout Class
* @author Dave Sand Copyright (C) 2018
*/
public class LayoutTest {
@Test
public void testCreate() {
Assertions.assertNotNull( new Layout() );
}
@Test
public void testSettersAndGetters() {
Layout layout = new Layout();
assertNotNull(layout);
layout.setLayoutName("Test Name"); // NOI18N
assertEquals("Test Name", layout.getLayoutName()); // NOI18N
assertEquals("HO", layout.getScale().getScaleName()); // NOI18N
Exception ex = assertThrows(IllegalArgumentException.class, () -> { layout.setFastClock(0); });
assertNotNull(ex);
assertEquals("FastClockLt1", ex.getMessage());
// supplying ridiculous fast clock values is self correcting since the user gets ridiculous timetable results
assertDoesNotThrow( () -> layout.setFastClock(9999));
assertDoesNotThrow( () -> layout.setFastClock(6));
assertEquals(6, layout.getFastClock());
assertTrue(layout.getRatio() > 0.0f);
ex = assertThrows(IllegalArgumentException.class, () -> { layout.setThrottles( -2 ); });
assertNotNull(ex);
assertEquals("ThrottlesLt0", ex.getMessage());
layout.setThrottles(3);
assertEquals(3, layout.getThrottles());
layout.setMetric(true);
assertTrue(layout.getMetric());
layout.setScaleMK();
assertEquals(1.914, layout.getScaleMK(), .1);
assertEquals("Test Name", layout.toString()); // NOI18N
}
@BeforeEach
public void setUp() {
JUnitUtil.setUp();
JUnitUtil.resetProfileManager();
}
@AfterEach
public void tearDown() {
JUnitUtil.tearDown();
}
// private static final org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(LayoutTest.class);
}