111 lines
3.2 KiB
Java
111 lines
3.2 KiB
Java
package jmri.jmrit.swing.meter;
|
|
|
|
import java.awt.GraphicsEnvironment;
|
|
|
|
import jmri.InstanceManager;
|
|
import jmri.JmriException;
|
|
import jmri.Meter;
|
|
import jmri.MeterManager;
|
|
import jmri.implementation.DefaultMeter;
|
|
import jmri.implementation.MeterUpdateTask;
|
|
import jmri.util.JUnitUtil;
|
|
import jmri.util.ThreadingUtil;
|
|
|
|
import org.junit.Assume;
|
|
import org.junit.jupiter.api.*;
|
|
|
|
/**
|
|
*
|
|
* @author Paul Bender Copyright (C) 2017
|
|
* @author Andrew Crosland Copyright (C) 2020
|
|
* @author Daniel Bergqvist Copyright (C) 2020
|
|
*/
|
|
public class MeterFrameTest extends jmri.util.JmriJFrameTestBase {
|
|
|
|
@Test
|
|
public void testVoltageChange1Digit() {
|
|
Assume.assumeFalse(GraphicsEnvironment.isHeadless());
|
|
runOnLayout(() -> {
|
|
frame.initComponents();
|
|
jmri.InstanceManager.getDefault(jmri.MeterManager.class)
|
|
.getNamedBeanSet().first()
|
|
.setCommandedAnalogValue(2.1f);
|
|
});
|
|
}
|
|
|
|
@Test
|
|
public void testVoltageChange2Digit() {
|
|
Assume.assumeFalse(GraphicsEnvironment.isHeadless());
|
|
runOnLayout(() -> {
|
|
frame.initComponents();
|
|
jmri.InstanceManager.getDefault(jmri.MeterManager.class)
|
|
.getNamedBeanSet().first()
|
|
.setCommandedAnalogValue(32.1f);
|
|
});
|
|
}
|
|
|
|
@Test
|
|
public void testVoltageChange3Digit() {
|
|
Assume.assumeFalse(GraphicsEnvironment.isHeadless());
|
|
runOnLayout(() -> {
|
|
frame.initComponents();
|
|
jmri.InstanceManager.getDefault(jmri.MeterManager.class)
|
|
.getNamedBeanSet().first()
|
|
.setCommandedAnalogValue(432.1f);
|
|
});
|
|
}
|
|
|
|
@Test
|
|
public void testVoltageChange4Digit() {
|
|
Assume.assumeFalse(GraphicsEnvironment.isHeadless());
|
|
runOnLayout(() -> {
|
|
frame.initComponents();
|
|
jmri.InstanceManager.getDefault(jmri.MeterManager.class)
|
|
.getNamedBeanSet().first()
|
|
.setCommandedAnalogValue(5432.1f);
|
|
});
|
|
}
|
|
|
|
@BeforeEach
|
|
@Override
|
|
public void setUp() {
|
|
JUnitUtil.setUp();
|
|
JUnitUtil.resetProfileManager();
|
|
|
|
Meter voltageMeter = new DefaultMeter.DefaultVoltageMeter("IVVoltageMeter", Meter.Unit.Milli, 0.0, 1000.0, 1.0, new MeterUpdateTask(-1) {
|
|
@Override
|
|
public void requestUpdateFromLayout() {
|
|
// Do nothing
|
|
}
|
|
});
|
|
|
|
InstanceManager.getDefault(MeterManager.class).register(voltageMeter);
|
|
|
|
if (!GraphicsEnvironment.isHeadless()) {
|
|
frame = new MeterFrame();
|
|
}
|
|
}
|
|
|
|
@AfterEach
|
|
@Override
|
|
public void tearDown() {
|
|
super.tearDown();
|
|
}
|
|
|
|
private void runOnLayout(RunnableWithException r) {
|
|
ThreadingUtil.runOnLayout(() -> {
|
|
try {
|
|
r.run();
|
|
} catch (JmriException e) {
|
|
throw new RuntimeException(e);
|
|
}
|
|
});
|
|
}
|
|
|
|
private interface RunnableWithException {
|
|
public void run() throws JmriException;
|
|
}
|
|
|
|
// private static final Logger log = LoggerFactory.getLogger(AmpMeterFrameTest.class);
|
|
}
|