X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=test%2Fjalview%2Fgui%2FProgressBarTest.java;h=a77942c070a37a7ed668fbb2c71ea1e2c4bdbd42;hb=3d3cc73c14a48c9af73bf0a33a4897b37a66856b;hp=281ed2d9916830dbc661fdecd01ce1e651beec5e;hpb=c93b9ad2ebfab4cad4608a8890132918589576be;p=jalview.git diff --git a/test/jalview/gui/ProgressBarTest.java b/test/jalview/gui/ProgressBarTest.java index 281ed2d..a77942c 100644 --- a/test/jalview/gui/ProgressBarTest.java +++ b/test/jalview/gui/ProgressBarTest.java @@ -1,3 +1,23 @@ +/* + * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$) + * Copyright (C) $$Year-Rel$$ The Jalview Authors + * + * This file is part of Jalview. + * + * Jalview 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 3 + * of the License, or (at your option) any later version. + * + * Jalview 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 Jalview. If not, see . + * The Jalview Authors are detailed in the 'AUTHORS' file. + */ package jalview.gui; import static org.testng.AssertJUnit.assertEquals; @@ -9,18 +29,27 @@ import java.awt.GridLayout; import javax.swing.JLabel; import javax.swing.JPanel; +import javax.swing.SwingUtilities; import org.testng.Assert; +import org.testng.annotations.BeforeClass; import org.testng.annotations.Test; public class ProgressBarTest { + @BeforeClass(alwaysRun = true) + public void setUpJvOptionPane() + { + JvOptionPane.setInteractiveMode(false); + JvOptionPane.setMockResponse(JvOptionPane.CANCEL_OPTION); + } + private JPanel statusPanel; private JLabel statusBar; - @Test + @Test(groups = { "Functional" }) public void testConstructor_prematureInstantiation() { try @@ -33,7 +62,7 @@ public class ProgressBarTest } } - @Test + @Test(groups = { "Functional" }) public void testConstructor_wrongLayout() { statusPanel = new JPanel(); @@ -48,7 +77,7 @@ public class ProgressBarTest } } - @Test + @Test(groups = { "Functional" }) public void testSetProgressBar() { statusPanel = new JPanel(); @@ -61,30 +90,26 @@ public class ProgressBarTest * Add 'hello' */ pb.setProgressBar("hello", 1L); - verifyProgress(layout, new String[] - { "hello" }); + verifyProgress(layout, new String[] { "hello" }); /* * Add 'world' */ pb.setProgressBar("world", 2L); - verifyProgress(layout, new String[] - { "hello", "world" }); + verifyProgress(layout, new String[] { "hello", "world" }); /* * Remove 'hello' with no status bar update */ pb.setProgressBar(null, 1L); - verifyProgress(layout, new String[] - { "world" }); + verifyProgress(layout, new String[] { "world" }); assertEquals("nothing", statusBar.getText()); /* * Remove 'world' with status bar update */ pb.setProgressBar("goodbye", 2L); - verifyProgress(layout, new String[] - {}); + verifyProgress(layout, new String[] {}); assertEquals("goodbye", statusBar.getText()); } @@ -95,18 +120,33 @@ public class ProgressBarTest * @param layout * @param msgs */ - private void verifyProgress(GridLayout layout, String[] msgs) + private void verifyProgress(final GridLayout layout, final String[] msgs) { - int msgCount = msgs.length; - assertEquals(1 + msgCount, layout.getRows()); - assertEquals(msgCount, statusPanel.getComponentCount()); - int i = 0; - for (Component c : statusPanel.getComponents()) + try + { + SwingUtilities.invokeAndWait(new Runnable() + { + @Override + public void run() + { + int msgCount = msgs.length; + assertEquals(1 + msgCount, layout.getRows()); + assertEquals(msgCount, statusPanel.getComponentCount()); + int i = 0; + for (Component c : statusPanel.getComponents()) + { + assertTrue(c instanceof JPanel); + assertTrue(((JPanel) c).getComponent(0) instanceof JLabel); + assertEquals(msgs[i++], + ((JLabel) ((JPanel) c).getComponent(0)).getText()); + } + } + }); + } catch (Exception e) { - assertTrue(c instanceof JPanel); - assertTrue(((JPanel) c).getComponent(0) instanceof JLabel); - assertEquals(msgs[i++], - ((JLabel) ((JPanel) c).getComponent(0)).getText()); + throw new AssertionError( + "Unexpected exception waiting for progress bar validation", + e); } } }