Files
JIMRI/java/test/jmri/jmrix/loconet/swing/menuitemspi/MenuItemsServiceTest.java
T
2026-06-17 14:00:51 +02:00

79 lines
2.6 KiB
Java

package jmri.jmrix.loconet.swing.menuitemspi;
import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
import java.util.ArrayList;
import java.util.List;
import javax.swing.JMenu;
import jmri.jmrix.loconet.LocoNetSystemConnectionMemo;
import jmri.util.swing.WindowInterface;
import jmri.jmrix.loconet.swing.menuitemspi.spi.MenuItemsInterface;
import jmri.util.JUnitUtil;
import org.junit.jupiter.api.*;
import static org.junit.jupiter.api.Assertions.*;
import org.openide.util.lookup.ServiceProvider;
/**
* Tests for MenuItemsService.
* <br>
* @author Bob Milhaupt Copyright (C) 2022
*/
@ServiceProvider(service = jmri.jmrix.loconet.swing.menuitemspi.spi.MenuItemsInterface.class)
public class MenuItemsServiceTest implements MenuItemsInterface {
@Test
public void testGetInstance() {
MenuItemsService result = MenuItemsService.getInstance();
assertNotNull( result);
assertEquals(MenuItemsService.class, result.getClass(),"check class returned");
}
@Test
@SuppressFBWarnings(value = "NP_LOAD_OF_KNOWN_NULL_VALUE",
justification = "WindowInterface and memo not required in test")
public void testGetMenuExtensionsItems() {
boolean isLocoNetInterface = false;
WindowInterface wi = null;
LocoNetSystemConnectionMemo memo = null;
MenuItemsService instance = MenuItemsService.getInstance();
List<JMenu> result = instance.getMenuExtensionsItems(isLocoNetInterface, wi, memo);
assertEquals(2 , result.size(), "result number of menus");
JMenu j1 = result.get(0);
assertEquals( JMenu.class, j1.getClass(), "result's first item is a JMenu");
assertEquals( "A menu", j1.getName(), "result element 0's name");
assertEquals( 0, j1.getItemCount(), "result menu 1's number of items");
JMenu j2 = result.get(1);
assertEquals( JMenu.class, j2.getClass(), "result's second item is a JMenu");
assertEquals( "B menu", j2.getName(), "result second item's name");
assertEquals( 0, j2.getItemCount(), "result second item's number of items");
}
@Override
public ArrayList<JMenu> getMenuItems(boolean isLocoNetInterface,
WindowInterface wi, LocoNetSystemConnectionMemo memo) {
ArrayList<JMenu> j = new ArrayList<>();
JMenu jm = new JMenu();
jm.setName("A menu");
j.add(jm);
jm = new JMenu();
jm.setName("B menu");
j.add(jm); // add another menu so there's something more to check on.
return j;
}
@BeforeEach
public void setUp() {
JUnitUtil.setUp();
}
@AfterEach
public void tearDown() {
JUnitUtil.tearDown();
}
}