02e3b6537faf81f6df06d8cfaf634a22bf87166e
[jalview.git] / test / jalview / gui / JvOptionPaneTest.java
1 /*
2  * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
3  * Copyright (C) $$Year-Rel$$ The Jalview Authors
4  * 
5  * This file is part of Jalview.
6  * 
7  * Jalview is free software: you can redistribute it and/or
8  * modify it under the terms of the GNU General Public License 
9  * as published by the Free Software Foundation, either version 3
10  * of the License, or (at your option) any later version.
11  *  
12  * Jalview is distributed in the hope that it will be useful, but 
13  * WITHOUT ANY WARRANTY; without even the implied warranty 
14  * of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
15  * PURPOSE.  See the GNU General Public License for more details.
16  * 
17  * You should have received a copy of the GNU General Public License
18  * along with Jalview.  If not, see <http://www.gnu.org/licenses/>.
19  * The Jalview Authors are detailed in the 'AUTHORS' file.
20  */
21
22 package jalview.gui;
23
24 import java.awt.Component;
25 import java.awt.Dimension;
26
27 import javax.swing.Icon;
28 import javax.swing.JDesktopPane;
29 import javax.swing.JFrame;
30 import javax.swing.JPanel;
31
32 import org.testng.Assert;
33 import org.testng.annotations.BeforeClass;
34 import org.testng.annotations.Test;
35
36 public class JvOptionPaneTest
37 {
38
39   @BeforeClass(alwaysRun = true)
40   public void setUpJvOptionPane()
41   {
42     JvOptionPane.setInteractiveMode(false);
43     JvOptionPane.setMockResponse(JvOptionPane.CANCEL_OPTION);
44   }
45
46   Component parentComponent = null;
47
48   String message = "Hello World!";
49
50   String title = "Title";
51
52   int optionType = JvOptionPane.OK_CANCEL_OPTION;
53
54   int messageType = JvOptionPane.INFORMATION_MESSAGE;
55
56   Icon icon = null;
57
58   Object initialSelectionValue = null;
59
60   Object[] selectionValues = null;
61
62
63   @Test(groups = { "Functional" })
64   public void showConfirmDialogFamilyTest()
65   {
66     JvOptionPane.showConfirmDialog(parentComponent, message);
67     JvOptionPane.showConfirmDialog(parentComponent, message, title,
68             optionType);
69     JvOptionPane.showConfirmDialog(parentComponent, message, title,
70             optionType, messageType);
71     JvOptionPane.showConfirmDialog(parentComponent, message, title,
72             optionType, messageType, icon);
73     Assert.assertTrue(true);
74   }
75
76   @Test(groups = { "Functional" })
77   public void showInputDialogFamilyTest()
78   {
79     JvOptionPane.showInputDialog(message);
80     JvOptionPane.showInputDialog(parentComponent, message);
81     JvOptionPane.showInputDialog(message, initialSelectionValue);
82     JvOptionPane.showInputDialog(parentComponent, message,
83             initialSelectionValue);
84     JvOptionPane.showInputDialog(parentComponent, message, title,
85             messageType);
86     JvOptionPane.showInputDialog(parentComponent, message, title,
87             messageType, icon, selectionValues, initialSelectionValue);
88     Assert.assertTrue(true);
89   }
90
91   @Test(groups = { "Functional" })
92   public void showMessageDialogFamilyTest()
93   {
94     JvOptionPane.showMessageDialog(parentComponent, message);
95     JvOptionPane.showMessageDialog(parentComponent, message, title,
96             messageType);
97     JvOptionPane.showMessageDialog(parentComponent, message, title,
98             messageType, icon);
99     Assert.assertTrue(true);
100   }
101
102   @Test(groups = { "Functional" })
103   public void showInternalMessageDialogFamilyTest()
104   {
105     JvOptionPane.showInternalMessageDialog(parentComponent, message);
106     JvOptionPane.showInternalMessageDialog(parentComponent, message, title,
107             messageType);
108     JvOptionPane.showInternalMessageDialog(parentComponent, message, title,
109             messageType, icon);
110     Assert.assertTrue(true);
111   }
112
113   @Test(groups = { "Functional" })
114   public void showInternalConfirmDialogFamilyTest()
115   {
116     JvOptionPane.showInternalConfirmDialog(parentComponent, message, title,
117             optionType);
118     JvOptionPane.showInternalConfirmDialog(parentComponent, message, title,
119             optionType, messageType);
120
121     JvOptionPane.showInternalConfirmDialog(getDummyDesktopPane(), message);
122
123     JvOptionPane.showInternalConfirmDialog(getDummyDesktopPane(), message,
124             title, optionType, messageType, icon);
125     JvOptionPane.showInternalInputDialog(getDummyDesktopPane(), message);
126     JvOptionPane.showInternalInputDialog(getDummyDesktopPane(), message,
127             title, messageType);
128     JvOptionPane.showInternalInputDialog(getDummyDesktopPane(), message,
129             title, messageType, icon, selectionValues,
130             initialSelectionValue);
131     Assert.assertTrue(true);
132
133   }
134
135   private JDesktopPane getDummyDesktopPane()
136   {
137     JFrame frame = new JFrame("Dummy JDesktopPane");
138     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
139     @SuppressWarnings("serial")
140     JDesktopPane jdpDesktop = new JDesktopPane()
141     {
142       @Override
143       public Dimension getPreferredSize()
144       {
145         return new Dimension(400, 300);
146       }
147     };
148     frame.setContentPane(jdpDesktop);
149     JPanel panel = new JPanel();
150     panel.setBounds(0, 0, 400, 300);
151     jdpDesktop.add(panel);
152     frame.pack();
153     frame.setVisible(true);
154     panel.setVisible(true);
155     return jdpDesktop;
156   }
157 }