89 lines
2.4 KiB
Java
89 lines
2.4 KiB
Java
package jmri.jmrix.openlcb;
|
|
|
|
import org.junit.jupiter.api.*;
|
|
|
|
import org.openlcb.NodeID;
|
|
|
|
/**
|
|
*
|
|
* @author Bob Jacobsen (C) 2024
|
|
*/
|
|
public class OlcbNodeGroupStoreTest {
|
|
|
|
// The minimal setup for log4J
|
|
@BeforeEach
|
|
public void setUp() {
|
|
jmri.util.JUnitUtil.setUp();
|
|
|
|
store = new OlcbNodeGroupStore() {
|
|
@Override
|
|
protected void load() { // want tests to be self-contained
|
|
}
|
|
@Override
|
|
protected void initShutdownTask() { // want tests to be self-contained
|
|
}
|
|
};
|
|
}
|
|
|
|
@AfterEach
|
|
public void tearDown() {
|
|
jmri.util.JUnitUtil.tearDown();
|
|
}
|
|
|
|
OlcbNodeGroupStore store;
|
|
|
|
@Test
|
|
public void addAndFind() {
|
|
NodeID node = new NodeID("01.02.03.04.05.06");
|
|
String group = "Group A";
|
|
|
|
store.addNodeToGroup(node, group);
|
|
|
|
Assertions.assertTrue(store.isNodeInGroup(node, group));
|
|
}
|
|
|
|
@Test
|
|
public void addARemoveAndNotFind() {
|
|
NodeID node = new NodeID("01.02.03.04.05.06");
|
|
String group = "Group A";
|
|
|
|
store.addNodeToGroup(node, group);
|
|
store.removeNodeFromGroup(node, group);
|
|
|
|
Assertions.assertFalse(store.isNodeInGroup(node, group));
|
|
}
|
|
|
|
@Test
|
|
public void checkListOfGroups() {
|
|
NodeID node = new NodeID("01.02.03.04.05.06");
|
|
String groupB = "Group B";
|
|
String groupA = "Group A";
|
|
|
|
store.addNodeToGroup(node, groupB); // check that adds are kept in right order
|
|
store.addNodeToGroup(node, groupA);
|
|
|
|
Assertions.assertEquals("Group A", store.getGroupNames().get(0));
|
|
Assertions.assertEquals("Group B", store.getGroupNames().get(1));
|
|
|
|
Assertions.assertEquals("Group A", store.getNodesGroups(node).get(0));
|
|
Assertions.assertEquals("Group B", store.getNodesGroups(node).get(1));
|
|
}
|
|
|
|
@Test
|
|
public void addAndRemoveGroup() {
|
|
NodeID node = new NodeID("01.02.03.04.05.06");
|
|
String groupB = "Group B";
|
|
String groupA = "Group A";
|
|
|
|
store.addNodeToGroup(node, groupB); // check that adds are kept in right order
|
|
store.addNodeToGroup(node, groupA);
|
|
|
|
store.removeGroup(groupA);
|
|
Assertions.assertEquals(1, store.getGroupNames().size());
|
|
Assertions.assertEquals("Group B", store.getGroupNames().get(0));
|
|
|
|
Assertions.assertFalse(store.isNodeInGroup(node, groupA));
|
|
}
|
|
|
|
}
|