X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=test%2Fjalview%2Fgui%2FProgressBarTest.java;h=72a288b26c8cf0e44aebfbecc81ee7d7d8047d01;hb=0df37dd0eaf85aac817e0a5f747819b49f405024;hp=2d3db6832f9e1b3b6f0852e30ed1a5c958bd2a4d;hpb=b889ea425e373a429b24e7eb2b2e3d4b6ad766dc;p=jalview.git diff --git a/test/jalview/gui/ProgressBarTest.java b/test/jalview/gui/ProgressBarTest.java index 2d3db68..72a288b 100644 --- a/test/jalview/gui/ProgressBarTest.java +++ b/test/jalview/gui/ProgressBarTest.java @@ -1,8 +1,27 @@ +/* + * 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.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; -import static org.junit.Assert.fail; +import static org.testng.AssertJUnit.assertEquals; +import static org.testng.AssertJUnit.assertTrue; import java.awt.Component; import java.awt.FlowLayout; @@ -10,30 +29,40 @@ import java.awt.GridLayout; import javax.swing.JLabel; import javax.swing.JPanel; +import javax.swing.SwingUtilities; -import org.junit.Test; +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 { new ProgressBar(null, null); - fail("Expected exception"); + Assert.fail("Expected exception"); } catch (NullPointerException e) { // expected } } - @Test + @Test(groups = { "Functional" }) public void testConstructor_wrongLayout() { statusPanel = new JPanel(); @@ -41,14 +70,14 @@ public class ProgressBarTest try { new ProgressBar(statusPanel, null); - fail("expected exception"); + Assert.fail("expected exception"); } catch (IllegalArgumentException e) { // expected } } - @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,8 +120,15 @@ public class ProgressBarTest * @param layout * @param msgs */ - private void verifyProgress(GridLayout layout, String[] msgs) + private void verifyProgress(final GridLayout layout, final String[] msgs) { + try + { + SwingUtilities.invokeAndWait(new Runnable() + { + @Override + public void run() + { int msgCount = msgs.length; assertEquals(1 + msgCount, layout.getRows()); assertEquals(msgCount, statusPanel.getComponentCount()); @@ -108,5 +140,13 @@ public class ProgressBarTest assertEquals(msgs[i++], ((JLabel) ((JPanel) c).getComponent(0)).getText()); } + } + }); + } catch (Exception e) + { + throw new AssertionError( + "Unexpected exception waiting for progress bar validation", + e); + } } }