Files
2026-06-17 14:00:51 +02:00

160 lines
5.2 KiB
Java

package jmri.jmrit.roster.swing.attributetable;
import static org.junit.jupiter.api.Assertions.assertEquals;
import jmri.jmrit.roster.Roster;
import jmri.jmrit.roster.RosterEntry;
import jmri.util.JUnitUtil;
import org.jdom2.Element;
import org.junit.jupiter.api.*;
/**
* Tests for the roster.swing.attributetable.AttributeTableModel class.
*
* @author Bob Jacobsen Copyright (C) 2009
*/
public class AttributeTableModelTest {
@Test
public void testTableLength() {
AttributeTableModel t = new AttributeTableModel();
assertEquals(NENTRIES, t.getRowCount());
}
@Test
public void testTableWidth() {
AttributeTableModel t = new AttributeTableModel();
assertEquals(NKEYS, t.getColumnCount());
}
@Test
public void testColumnName() {
AttributeTableModel t = new AttributeTableModel();
assertEquals("key b", t.getColumnName(1));
}
@Test
public void testGetValueAt() {
AttributeTableModel t = new AttributeTableModel();
assertEquals("value 1", t.getValueAt(0, 0));
assertEquals("", t.getValueAt(0, 1));
assertEquals("", t.getValueAt(0, 2));
assertEquals("", t.getValueAt(0, 3));
assertEquals("value 11", t.getValueAt(1, 0));
assertEquals("value 12", t.getValueAt(1, 1));
assertEquals("value 13", t.getValueAt(1, 2));
assertEquals("value 14", t.getValueAt(1, 3));
assertEquals("", t.getValueAt(2, 0));
assertEquals("", t.getValueAt(2, 1));
assertEquals("", t.getValueAt(2, 2));
assertEquals("", t.getValueAt(2, 3));
}
// create a standard test roster
private static final int NENTRIES = 3;
private static final int NKEYS = 4;
@BeforeEach
public void setUp() {
JUnitUtil.setUp();
JUnitUtil.resetProfileManager();
JUnitUtil.initRosterConfigManager();
// first entry
Element e;
RosterEntry r;
e = new org.jdom2.Element("locomotive")
.setAttribute("id", "id 1")
.setAttribute("fileName", "file here")
.setAttribute("roadNumber", "431")
.setAttribute("roadName", "SP")
.setAttribute("mfg", "Athearn")
.setAttribute("dccAddress", "1234")
.addContent(new org.jdom2.Element("decoder")
.setAttribute("family", "91")
.setAttribute("model", "33")
)
.addContent(new org.jdom2.Element("locoaddress")
.addContent(new org.jdom2.Element("dcclocoaddress")
.setAttribute("number", "12")
.setAttribute("longaddress", "yes")
)
); // end create element
r = new RosterEntry(e) {
@Override
protected void warnShortLong(String s) {
}
};
Roster.getDefault().addEntry(r);
r.putAttribute("key a", "value 1");
e = new org.jdom2.Element("locomotive")
.setAttribute("id", "id 2")
.setAttribute("fileName", "file here")
.setAttribute("roadNumber", "431")
.setAttribute("roadName", "SP")
.setAttribute("mfg", "Athearn")
.addContent(new org.jdom2.Element("decoder")
.setAttribute("family", "91")
.setAttribute("model", "33")
)
.addContent(new org.jdom2.Element("locoaddress")
.addContent(new org.jdom2.Element("dcclocoaddress")
.setAttribute("number", "12")
.setAttribute("longaddress", "yes")
)
); // end create element
r = new RosterEntry(e) {
@Override
protected void warnShortLong(String s) {
}
};
Roster.getDefault().addEntry(r);
r.putAttribute("key a", "value 11");
r.putAttribute("key b", "value 12");
r.putAttribute("key c", "value 13");
r.putAttribute("key d", "value 14");
e = new org.jdom2.Element("locomotive")
.setAttribute("id", "id 3")
.setAttribute("fileName", "file here")
.setAttribute("roadNumber", "431")
.setAttribute("roadName", "SP")
.setAttribute("mfg", "Athearn")
.addContent(new org.jdom2.Element("decoder")
.setAttribute("family", "91")
.setAttribute("model", "33")
)
.addContent(new org.jdom2.Element("locoaddress")
.addContent(new org.jdom2.Element("dcclocoaddress")
.setAttribute("number", "12")
.setAttribute("longaddress", "yes")
)
); // end create element
r = new RosterEntry(e) {
@Override
protected void warnShortLong(String s) {
}
};
Roster.getDefault().addEntry(r);
}
@AfterEach
public void tearDown() {
JUnitUtil.tearDown();
}
}