package org.limewire.ui.swing.components; import java.awt.Insets; import java.awt.event.ActionEvent; import javax.swing.AbstractAction; import javax.swing.Action; import org.limewire.ui.swing.components.decorators.ComboBoxDecorator; import org.limewire.util.BaseTestCase; import com.google.inject.Guice; import com.google.inject.Injector; import com.google.inject.Stage; /** * JUnit test case for FlexibleTabList. */ public class FlexibleTabListTest extends BaseTestCase { /** Instance of class being tested. */ private FlexibleTabList tabList; /** * Constructs a test case for the specified method name. */ public FlexibleTabListTest(String name) { super(name); } @Override protected void setUp() throws Exception { super.setUp(); tabList = new FlexibleTabList(createComboBoxDecorator()); } @Override protected void tearDown() throws Exception { tabList = null; super.tearDown(); } /** Tests method to add new tab using tab action map. */ public void testAddTabActionMapAt() { // Create tab action map. Action mainAction = new AbstractAction() { @Override public void actionPerformed(ActionEvent e) { } }; TabActionMap tabActionMap = new TabActionMap(mainAction, null, null, null); // Add tab. tabList.addTabActionMapAt(tabActionMap, 0); // Verify number of tabs. int expectedReturn = 1; int actualReturn = tabList.getTabs().size(); assertEquals("tab count", expectedReturn, actualReturn); } /** Tests method to set removable property. */ public void testSetRemovable() { // Set removable property. tabList.setRemovable(true); // Verify tab property. boolean actualReturn = tabList.getTabProperties().isRemovable(); assertTrue("removable", actualReturn); } /** Tests method to set tab insets. */ public void testSetTabInsets() { // Set tab insets. Insets insets = new Insets(1, 1, 1, 1); tabList.setTabInsets(insets); // Verify tab property. Object expectedReturn = insets; Object actualReturn = tabList.getTabProperties().getInsets(); assertEquals("tab insets", expectedReturn, actualReturn); } /** Creates a combobox decorator for tests. */ private ComboBoxDecorator createComboBoxDecorator() { Injector injector = Guice.createInjector(Stage.DEVELOPMENT); return injector.getInstance(ComboBoxDecorator.class); } }