JAL-3438 spotless for 2.11.2.0
[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   @Test(groups = { "Functional" })
63   public void showConfirmDialogFamilyTest()
64   {
65     JvOptionPane.showConfirmDialog(parentComponent, message);
66     JvOptionPane.showConfirmDialog(parentComponent, message, title,
67             optionType);
68     JvOptionPane.showConfirmDialog(parentComponent, message, title,
69             optionType, messageType);
70     JvOptionPane.showConfirmDialog(parentComponent, message, title,
71             optionType, messageType, icon);
72     Assert.assertTrue(true);
73   }
74
75   @Test(groups = { "Functional" })
76   public void showInputDialogFamilyTest()
77   {
78     JvOptionPane.showInputDialog(message);
79     JvOptionPane.showInputDialog(parentComponent, message);
80     JvOptionPane.showInputDialog(message, initialSelectionValue);
81     JvOptionPane.showInputDialog(parentComponent, message,
82             initialSelectionValue);
83     JvOptionPane.showInputDialog(parentComponent, message, title,
84             messageType);
85     JvOptionPane.showInputDialog(parentComponent, message, title,
86             messageType, icon, selectionValues, initialSelectionValue);
87     Assert.assertTrue(true);
88   }
89
90   @Test(groups = { "Functional" })
91   public void showMessageDialogFamilyTest()
92   {
93     JvOptionPane.showMessageDialog(parentComponent, message);
94     JvOptionPane.showMessageDialog(parentComponent, message, title,
95             messageType);
96     JvOptionPane.showMessageDialog(parentComponent, message, title,
97             messageType, icon);
98     Assert.assertTrue(true);
99   }
100
101   @Test(groups = { "Functional" })
102   public void showInternalMessageDialogFamilyTest()
103   {
104     JvOptionPane.showInternalMessageDialog(parentComponent, message);
105     JvOptionPane.showInternalMessageDialog(parentComponent, message, title,
106             messageType);
107     JvOptionPane.showInternalMessageDialog(parentComponent, message, title,
108             messageType, icon);
109     Assert.assertTrue(true);
110   }
111
112   @Test(groups = { "Functional" })
113   public void showInternalConfirmDialogFamilyTest()
114   {
115     JvOptionPane.showInternalConfirmDialog(parentComponent, message, title,
116             optionType);
117     JvOptionPane.showInternalConfirmDialog(parentComponent, message, title,
118             optionType, messageType);
119
120     JvOptionPane.showInternalConfirmDialog(getDummyDesktopPane(), message);
121
122     JvOptionPane.showInternalConfirmDialog(getDummyDesktopPane(), message,
123             title, optionType, messageType, icon);
124     JvOptionPane.showInternalInputDialog(getDummyDesktopPane(), message);
125     JvOptionPane.showInternalInputDialog(getDummyDesktopPane(), message,
126             title, messageType);
127     JvOptionPane.showInternalInputDialog(getDummyDesktopPane(), message,
128             title, messageType, icon, selectionValues,
129             initialSelectionValue);
130     Assert.assertTrue(true);
131
132   }
133
134   private JDesktopPane getDummyDesktopPane()
135   {
136     JFrame frame = new JFrame("Dummy JDesktopPane");
137     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
138     @SuppressWarnings("serial")
139     JDesktopPane jdpDesktop = new JDesktopPane()
140     {
141       @Override
142       public Dimension getPreferredSize()
143       {
144         return new Dimension(400, 300);
145       }
146     };
147     frame.setContentPane(jdpDesktop);
148     JPanel panel = new JPanel();
149     panel.setBounds(0, 0, 400, 300);
150     jdpDesktop.add(panel);
151     frame.pack();
152     frame.setVisible(true);
153     panel.setVisible(true);
154     return jdpDesktop;
155   }
156 }