60 lines
1.4 KiB
Java
60 lines
1.4 KiB
Java
package jmri.jmrit.etcs.dmi.swing;
|
|
|
|
import javax.sound.sampled.AudioSystem;
|
|
import javax.sound.sampled.LineUnavailableException;
|
|
|
|
import jmri.util.JUnitUtil;
|
|
import jmri.util.swing.JemmyUtil;
|
|
|
|
import org.junit.jupiter.api.*;
|
|
|
|
import org.netbeans.jemmy.operators.*;
|
|
|
|
/**
|
|
* Tests for DmiDemo.
|
|
* @author Steve Young Copyright (C) 2024
|
|
*/
|
|
@jmri.util.junit.annotations.DisabledIfHeadless
|
|
public class DmiDemoTest {
|
|
|
|
@Test
|
|
public void testDemo(){
|
|
|
|
try {
|
|
AudioSystem.getClip();
|
|
} catch (IllegalArgumentException | LineUnavailableException ex) {
|
|
Assumptions.assumeFalse(true, "Unable to initialize AudioSystem");
|
|
}
|
|
|
|
DmiDemo.setDelayMultiplier(0);
|
|
|
|
DmiFrame df = new DmiFrame("DmiDemoTest");
|
|
DmiPanel p = df.getDmiPanel();
|
|
Assertions.assertNotNull(p);
|
|
df.setVisible(true);
|
|
JFrameOperator jfo = new JFrameOperator(df.getTitle());
|
|
|
|
DmiDemo d = new DmiDemo(p);
|
|
d.runDemo();
|
|
|
|
JLabelOperator label1oper = JemmyUtil.getLabelOperatorByName(jfo, "msglabel1");
|
|
JUnitUtil.waitFor( () -> label1oper.getText().equals("Demo Complete"), "Demo Complete");
|
|
|
|
DmiPanelTest.waitSoundsTerminated();
|
|
|
|
JUnitUtil.dispose(jfo.getWindow());
|
|
jfo.waitClosed();
|
|
}
|
|
|
|
@BeforeEach
|
|
public void setUp() {
|
|
JUnitUtil.setUp();
|
|
}
|
|
|
|
@AfterEach
|
|
public void tearDown() {
|
|
JUnitUtil.tearDown();
|
|
}
|
|
|
|
}
|