001 /*
002 * Copyright 2002-2007 the original author or authors.
003 *
004 * Licensed under the Apache License, Version 2.0 (the "License");
005 * you may not use this file except in compliance with the License.
006 * You may obtain a copy of the License at
007 *
008 * http://www.apache.org/licenses/LICENSE-2.0
009 *
010 * Unless required by applicable law or agreed to in writing, software
011 * distributed under the License is distributed on an "AS IS" BASIS,
012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013 * See the License for the specific language governing permissions and
014 * limitations under the License.
015 */
016 package org.springframework.richclient.command.config;
017
018 import java.awt.Color;
019
020 import javax.swing.Icon;
021 import javax.swing.JButton;
022 import javax.swing.JMenu;
023 import javax.swing.JMenuItem;
024
025 import junit.framework.TestCase;
026
027 import org.springframework.richclient.test.TestIcon;
028
029 /**
030 * Testcase for CommandButtonIconInfo
031 *
032 * @author Peter De Bruycker
033 */
034 public class CommandButtonIconInfoTests extends TestCase {
035
036 private Icon icon;
037
038 private Icon selectedIcon;
039
040 private Icon rolloverIcon;
041
042 private Icon disabledIcon;
043
044 private Icon pressedIcon;
045
046 private CommandButtonIconInfo completeInfo;
047
048 public void testConstructor() {
049 CommandButtonIconInfo info = new CommandButtonIconInfo(icon);
050 assertEquals(icon, info.getIcon());
051 assertNull(info.getSelectedIcon());
052 assertNull(info.getRolloverIcon());
053 assertNull(info.getDisabledIcon());
054 assertNull(info.getPressedIcon());
055 }
056
057 public void testConstructor2() {
058 CommandButtonIconInfo info = new CommandButtonIconInfo(icon, selectedIcon);
059 assertEquals(icon, info.getIcon());
060 assertEquals(selectedIcon, info.getSelectedIcon());
061 assertNull(info.getRolloverIcon());
062 assertNull(info.getDisabledIcon());
063 assertNull(info.getPressedIcon());
064 }
065
066 public void testConstructor3() {
067 CommandButtonIconInfo info = new CommandButtonIconInfo(icon, selectedIcon, rolloverIcon);
068 assertEquals(icon, info.getIcon());
069 assertEquals(selectedIcon, info.getSelectedIcon());
070 assertEquals(rolloverIcon, info.getRolloverIcon());
071 assertNull(info.getDisabledIcon());
072 assertNull(info.getPressedIcon());
073 }
074
075 public void testConstructor4() {
076 CommandButtonIconInfo info = new CommandButtonIconInfo(icon, selectedIcon, rolloverIcon, disabledIcon,
077 pressedIcon);
078 assertEquals(icon, info.getIcon());
079 assertEquals(selectedIcon, info.getSelectedIcon());
080 assertEquals(rolloverIcon, info.getRolloverIcon());
081 assertEquals(disabledIcon, info.getDisabledIcon());
082 assertEquals(pressedIcon, info.getPressedIcon());
083 }
084
085 public void testConfigureWithNullButton() {
086 CommandButtonIconInfo info = new CommandButtonIconInfo(icon);
087 try {
088 info.configure(null);
089 fail("Should throw IllegalArgumentException");
090 }
091 catch (IllegalArgumentException e) {
092 pass();
093 }
094 }
095
096 public void testConfigureWithJButton() {
097 JButton button = new JButton("Test");
098 JButton result = (JButton)completeInfo.configure(button);
099 assertSame(button, result);
100
101 assertEquals(icon, button.getIcon());
102 assertEquals(selectedIcon, button.getSelectedIcon());
103 assertEquals(rolloverIcon, button.getRolloverIcon());
104 assertEquals(disabledIcon, button.getDisabledIcon());
105 assertEquals(pressedIcon, button.getPressedIcon());
106 }
107
108 public void testConfigureWithJMenuItem() {
109 JMenuItem button = new JMenuItem("Test");
110 JMenuItem result = (JMenuItem)completeInfo.configure(button);
111 assertSame(button, result);
112
113 assertEquals(icon, button.getIcon());
114 assertEquals(selectedIcon, button.getSelectedIcon());
115 assertEquals(rolloverIcon, button.getRolloverIcon());
116 assertEquals(disabledIcon, button.getDisabledIcon());
117 assertEquals(pressedIcon, button.getPressedIcon());
118 }
119
120 public void testConfigureWithJMenu() {
121 JMenu button = new JMenu("Test");
122 button.setIcon(icon);
123 button.setSelectedIcon(selectedIcon);
124 button.setRolloverIcon(rolloverIcon);
125 button.setDisabledIcon(disabledIcon);
126 button.setPressedIcon(pressedIcon);
127
128 JMenuItem result = (JMenuItem)completeInfo.configure(button);
129 assertSame(button, result);
130
131 assertEquals(icon, button.getIcon());
132 assertEquals(selectedIcon, button.getSelectedIcon());
133 assertEquals(rolloverIcon, button.getRolloverIcon());
134 assertEquals(disabledIcon, button.getDisabledIcon());
135 assertEquals(pressedIcon, button.getPressedIcon());
136 }
137
138 private static void pass() {
139 // test passes
140 }
141
142 protected void setUp() throws Exception {
143 icon = new TestIcon(Color.BLUE);
144 selectedIcon = new TestIcon(Color.BLACK);
145 rolloverIcon = new TestIcon(Color.GREEN);
146 disabledIcon = new TestIcon(Color.GRAY);
147 pressedIcon = new TestIcon(Color.WHITE);
148
149 completeInfo = new CommandButtonIconInfo(icon, selectedIcon, rolloverIcon, disabledIcon, pressedIcon);
150 }
151 }