ext.scrollablepopupmenu.TestXCheckedButton.java Source code

Java tutorial

Introduction

Here is the source code for ext.scrollablepopupmenu.TestXCheckedButton.java

Source

/*
 *  Jajuk
 *  Copyright (C) The Jajuk Team
 *  http://jajuk.info
 *
 *  This program is free software; you can redistribute it and/or
 *  modify it under the terms of the GNU General Public License
 *  as published by the Free Software Foundation; either version 2
 *  of the License, or any later version.
 *
 *  This program is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU General Public License for more details.
 *
 *  You should have received a copy of the GNU General Public License
 *  along with this program; if not, write to the Free Software
 *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 *  
 */
package ext.scrollablepopupmenu;

import java.awt.Component;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.beans.PropertyChangeListener;

import javax.swing.Action;
import javax.swing.ButtonGroup;
import javax.swing.DefaultButtonModel;
import javax.swing.Icon;
import javax.swing.ImageIcon;

import junit.framework.TestCase;

import org.apache.commons.lang.ArrayUtils;

/**
 * .
 */
public class TestXCheckedButton extends TestCase {
    /**
     * Test method for.
     *
     * {@link ext.scrollablepopupmenu.XCheckedButton#XCheckedButton()}.
     */
    public final void testXCheckedButton() {
        new XCheckedButton();
    }

    /**
     * Test method for.
     *
     * {@link ext.scrollablepopupmenu.XCheckedButton#XCheckedButton(javax.swing.Action)}
     * .
     */
    public final void testXCheckedButtonAction() {
        new XCheckedButton(new Action() {
            @Override
            public void addPropertyChangeListener(PropertyChangeListener listener) {
            }

            @Override
            public Object getValue(String key) {
                return null;
            }

            @Override
            public boolean isEnabled() {
                return false;
            }

            @Override
            public void putValue(String key, Object value) {
            }

            @Override
            public void removePropertyChangeListener(PropertyChangeListener listener) {
            }

            @Override
            public void setEnabled(boolean b) {
            }

            @Override
            public void actionPerformed(ActionEvent e) {
            }
        });
    }

    /**
     * Test method for.
     *
     * {@link ext.scrollablepopupmenu.XCheckedButton#XCheckedButton(javax.swing.Icon)}
     * .
     */
    public final void testXCheckedButtonIcon() {
        new XCheckedButton(new DummyIcon());
    }

    /**
     * Test method for.
     *
     * {@link ext.scrollablepopupmenu.XCheckedButton#XCheckedButton(java.lang.String, javax.swing.Icon)}
     * .
     */
    public final void testXCheckedButtonStringIcon() {
        new XCheckedButton("testtext", new DummyIcon());
    }

    /**
     * Test method for.
     *
     * {@link ext.scrollablepopupmenu.XCheckedButton#XCheckedButton(java.lang.String)}
     * .
     */
    public final void testXCheckedButtonString() {
        new XCheckedButton("testtext");
    }

    /**
     * Test method for.
     *
     * {@link ext.scrollablepopupmenu.XCheckedButton#displayIcon(boolean)}.
     */
    public final void testDisplayIcon() {
        XCheckedButton button = new XCheckedButton("testtext", new DummyIcon());
        button.displayIcon(false);
        button.displayIcon(true);
    }

    /**
     * Test method for.
     *
     * {@link ext.scrollablepopupmenu.XCheckedButton#isDisplayCheck()}.
     */
    public final void testIsAndSetDisplayCheck() {
        XCheckedButton button = new XCheckedButton("testtext", new DummyIcon());
        assertTrue(button.isDisplayCheck());
        button.setDisplayCheck(false);
        assertFalse(button.isDisplayCheck());
    }

    /**
     * Test method for.
     *
     * {@link ext.scrollablepopupmenu.XCheckedButton#setDisplayCheck(boolean)}.
     */
    public final void testSetDisplayCheck() {
        // tested above
    }

    /**
     * Test method for.
     *
     * {@link ext.scrollablepopupmenu.XCheckedButton#setCheckedIcon(javax.swing.ImageIcon)}
     * .
     */
    public final void testSetCheckedIcon() {
        XCheckedButton button = new XCheckedButton("testtext", new DummyIcon());
        button.setCheckedIcon(new ImageIcon());
    }

    /**
     * Test method for.
     *
     * {@link ext.scrollablepopupmenu.XCheckedButton#setIconAlwaysVisible(boolean)}
     * .
     */
    public final void testSetIconAlwaysVisible() {
        XCheckedButton button = new XCheckedButton("testtext", new DummyIcon());
        button.setIconAlwaysVisible(true);
        button.setIconAlwaysVisible(false);
    }

    /**
     * .
     */
    public class DummyIcon implements Icon {
        /* (non-Javadoc)
         * @see javax.swing.Icon#getIconHeight()
         */
        @Override
        public int getIconHeight() {
            return 0;
        }

        /* (non-Javadoc)
         * @see javax.swing.Icon#getIconWidth()
         */
        @Override
        public int getIconWidth() {
            return 0;
        }

        /* (non-Javadoc)
         * @see javax.swing.Icon#paintIcon(java.awt.Component, java.awt.Graphics, int, int)
         */
        @Override
        public void paintIcon(Component c, Graphics g, int x, int y) {
        }
    }

    /**
     * Test mouse adapter.
     * 
     */
    public void testMouseAdapter() {
        XCheckedButton button = new XCheckedButton("testtext", new DummyIcon());
        // we should have at least one a mouse listener on the button
        assertTrue(ArrayUtils.toString(button.getMouseListeners()), button.getMouseListeners().length > 0);
        // none of them looks at the actual event right now...
        button.getMouseListeners()[1].mousePressed(null);
        button.getMouseListeners()[1].mouseEntered(null);
        button.getMouseListeners()[1].mouseExited(null);
    }

    /**
     * Test model.
     * 
     */
    public void testModel() {
        XCheckedButton button = new XCheckedButton("testtext", new DummyIcon());
        assertNotNull(button.getModel());
        button.setSelected(true);
        button.setSelected(false);
        ((DefaultButtonModel) button.getModel()).setGroup(new ButtonGroup());
        button.setSelected(true);
        button.setSelected(false);
    }
}