Files
JIMRI/java/test/jmri/jmrit/operations/rollingstock/tools/AttributeCharacterLengthFrameTest.java
2026-06-17 14:00:51 +02:00

48 lines
1.6 KiB
Java

package jmri.jmrit.operations.rollingstock.tools;
import java.awt.GraphicsEnvironment;
import org.junit.Assert;
import org.junit.Assume;
import org.junit.jupiter.api.Test;
import org.netbeans.jemmy.operators.JComboBoxOperator;
import org.netbeans.jemmy.operators.JFrameOperator;
import jmri.jmrit.operations.OperationsTestCase;
import jmri.jmrit.operations.setup.Control;
import jmri.util.JUnitUtil;
import jmri.util.swing.JemmyUtil;
/**
* @author Daniel Boudreau Copyright (C) 2025
*/
public class AttributeCharacterLengthFrameTest extends OperationsTestCase {
@Test
public void testSaveButton() {
Assume.assumeFalse(GraphicsEnvironment.isHeadless());
AttributeCharacterLengthFrame aclf = new AttributeCharacterLengthFrame();
Assert.assertNotNull(aclf);
JFrameOperator jfo = new JFrameOperator(aclf.getTitle());
Assert.assertNotNull(jfo);
// confirm that the default number of colors is correct
JComboBoxOperator comboBoxOp = new JComboBoxOperator(jfo);
Assert.assertEquals(17, comboBoxOp.getItemCount());
// select 20 characters maximum
comboBoxOp.selectItem(16);
JemmyUtil.enterClickAndLeave(aclf.saveButton);
Assert.assertEquals("New max length", 20, Control.max_len_string_attibute);
// select 4 characters maximum
comboBoxOp.selectItem(0);
JemmyUtil.enterClickAndLeave(aclf.saveButton);
Assert.assertEquals("New max length", 4, Control.max_len_string_attibute);
JUnitUtil.dispose(aclf);
}
}