Files
JIMRI/java/test/jmri/jmrit/beantable/MemoryTableActionTest.java
2026-06-17 14:00:51 +02:00

98 lines
2.7 KiB
Java

package jmri.jmrit.beantable;
import java.awt.GraphicsEnvironment;
import javax.swing.JFrame;
import javax.swing.JTextField;
import jmri.Memory;
import jmri.util.JUnitUtil;
import org.junit.Assert;
import org.junit.Assume;
import org.junit.jupiter.api.*;
import org.netbeans.jemmy.operators.*;
/**
* Tests for classes in the jmri.jmrit.beantable package
*
* @author Bob Jacobsen Copyright 2004
*/
public class MemoryTableActionTest extends AbstractTableActionBase<Memory> {
@Test
public void testCreate() {
Assert.assertNotNull(a);
}
@Override
public String getTableFrameName() {
return Bundle.getMessage("TitleMemoryTable");
}
@Override
@Test
public void testGetClassDescription() {
Assert.assertEquals("Memory Table Action class description", "Memory Table", a.getClassDescription());
}
/**
* Check the return value of includeAddButton. The table generated by this
* action includes an Add Button.
*/
@Override
@Test
public void testIncludeAddButton() {
Assert.assertTrue("Default include add button", a.includeAddButton());
}
@Override
public String getAddFrameName() {
return Bundle.getMessage("TitleAddMemory");
}
@Test
@Override
public void testAddThroughDialog() {
Assume.assumeFalse(GraphicsEnvironment.isHeadless());
Assume.assumeTrue(a.includeAddButton());
a.actionPerformed(null);
JFrame f = JFrameOperator.waitJFrame(getTableFrameName(), true, true);
// find the "Add... " button and press it.
jmri.util.swing.JemmyUtil.pressButton(new JFrameOperator(f), Bundle.getMessage("ButtonAdd"));
new org.netbeans.jemmy.QueueTool().waitEmpty();
JFrame f1 = JFrameOperator.waitJFrame(getAddFrameName(), true, true);
JFrameOperator jf = new JFrameOperator(f1);
//Enter 1 in the text field labeled "System Name:"
JLabelOperator jlo = new JLabelOperator(jf, Bundle.getMessage("LabelSystemName"));
((JTextField) jlo.getLabelFor()).setText("1");
//and press create
jmri.util.swing.JemmyUtil.pressButton(jf, Bundle.getMessage("ButtonCreate"));
JUnitUtil.dispose(f1);
JUnitUtil.dispose(f);
}
@Test
@Disabled("no Edit button in memory Table")
@Override
public void testEditButton() {
}
@BeforeEach
@Override
public void setUp() {
JUnitUtil.setUp();
jmri.util.JUnitUtil.resetProfileManager();
jmri.util.JUnitUtil.initDefaultUserMessagePreferences();
helpTarget = "package.jmri.jmrit.beantable.MemoryTable";
a = new MemoryTableAction();
}
@AfterEach
@Override
public void tearDown() {
JUnitUtil.tearDown();
a = null;
}
}