package org.limewire.ui.swing.components; import java.awt.event.ActionEvent; import java.util.ArrayList; import java.util.List; import javax.swing.AbstractAction; import javax.swing.Action; import org.limewire.util.BaseTestCase; /** * JUnit test case for TabActionMap. */ public class TabActionMapTest extends BaseTestCase { /** Instance of class being tested. */ private TabActionMap tabActionMap; /** * Constructs a test case for the specified method name. */ public TabActionMapTest(String name) { super(name); } @Override protected void setUp() throws Exception { super.setUp(); } @Override protected void tearDown() throws Exception { tabActionMap = null; super.tearDown(); } /** Tests constructor with several actions. */ public void testTabActionMap() { // Create actions. Action mainAction = new AbstractAction() { @Override public void actionPerformed(ActionEvent e) { } }; Action removeAction = new AbstractAction() { @Override public void actionPerformed(ActionEvent e) { } }; Action moreTextAction = new AbstractAction() { @Override public void actionPerformed(ActionEvent e) { } }; List<Action> rightClickActionList = new ArrayList<Action>(); // Create tab action map. tabActionMap = new TabActionMap(mainAction, removeAction, moreTextAction, rightClickActionList); // Verify actions. Object expectedReturn = mainAction; Object actualReturn = tabActionMap.getMainAction(); assertEquals("main action", expectedReturn, actualReturn); expectedReturn = removeAction; actualReturn = tabActionMap.getRemoveAction(); assertEquals("remove action", expectedReturn, actualReturn); expectedReturn = moreTextAction; actualReturn = tabActionMap.getMoreTextAction(); assertEquals("more text action", expectedReturn, actualReturn); expectedReturn = rightClickActionList; actualReturn = tabActionMap.getRightClickActions(); assertEquals("right-click actions", expectedReturn, actualReturn); } /** Tests method to create list of TabActionMap objects using actions. */ public void testCreateMapForMainActions() { // Create list of main actions. List<Action> mainActionList = new ArrayList<Action>(); mainActionList.add(new AbstractAction() { @Override public void actionPerformed(ActionEvent e) { } }); mainActionList.add(new AbstractAction() { @Override public void actionPerformed(ActionEvent e) { } }); // Create list of tab action maps. List<TabActionMap> actionMapList = TabActionMap.createMapForMainActions(mainActionList); // Verify tab action maps. for (int i = 0, size = actionMapList.size(); i < size; i++) { TabActionMap tabActionMap = actionMapList.get(i); Object expectedReturn = mainActionList.get(i); Object actualReturn = tabActionMap.getMainAction(); assertEquals("main action", expectedReturn, actualReturn); } } }