64 lines
1.9 KiB
Java
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);
|
|
}
|