X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=test%2Fjalview%2Fgui%2FPDBSearchPanelTest.java;h=8a48dd5d8a91a8b596de6e2a396faf576cd7ea49;hb=f6bde21f2fba3f12afedd6486bc8326a63f1373f;hp=356e664dfc85eb7839a16eb6ec66e84f336e5513;hpb=d9cedb863c0d5b665b8cdde3f8791d8a96030c6b;p=jalview.git diff --git a/test/jalview/gui/PDBSearchPanelTest.java b/test/jalview/gui/PDBSearchPanelTest.java index 356e664..8a48dd5 100644 --- a/test/jalview/gui/PDBSearchPanelTest.java +++ b/test/jalview/gui/PDBSearchPanelTest.java @@ -1,28 +1,109 @@ +/* + * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1) + * Copyright (C) 2015 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.*; +import static org.testng.AssertJUnit.assertEquals; +import static org.testng.AssertJUnit.assertTrue; -import org.junit.After; -import org.junit.Before; -import org.junit.Test; +import javax.swing.JInternalFrame; +import javax.swing.JTextField; + +import org.testng.annotations.AfterMethod; +import org.testng.annotations.BeforeMethod; +import org.testng.annotations.Test; public class PDBSearchPanelTest { - @Before + @BeforeMethod(alwaysRun = true) public void setUp() throws Exception { } - @After + @AfterMethod public void tearDown() throws Exception { } - @Test - public void test() + @Test(groups = { "Functional" }) + public void populateCmbSearchTargetOptionsTest() { - fail("Not yet implemented"); + PDBSearchPanel searchPanel = new PDBSearchPanel(null); + assertTrue(searchPanel.getCmbSearchTarget().getItemCount() > 0); + searchPanel.populateCmbSearchTargetOptions(); + } + + @Test(groups = { "Functional" }) + public void testDecodeSearchTerm() + { + String expectedString = "1xyz OR text:2xyz OR text:3xyz"; + String outcome = PDBSearchPanel.decodeSearchTerm("1xyz:A;2xyz;3xyz", + "text"); + // System.out.println("1 >>>>>>>>>>> " + outcome); + assertEquals(expectedString, outcome); + + expectedString = "1xyz"; + outcome = PDBSearchPanel.decodeSearchTerm("1xyz", "text"); + // System.out.println("2 >>>>>>>>>>> " + outcome); + assertEquals(expectedString, outcome); + } + + @Test(groups = { "Functional" }) + public void testgetPDBIdwithSpecifiedChain() + { + + String expectedString = "1xyz:A"; + String outcome = PDBSearchPanel.getPDBIdwithSpecifiedChain("1xyz", + "2xyz;3xyz;1xyz:A"); + System.out.println("1 >>>>>>>>>>> " + outcome); + assertEquals(expectedString, outcome); + + expectedString = "2xyz"; + outcome = PDBSearchPanel.getPDBIdwithSpecifiedChain("2xyz", + "1xyz:A;2xyz;3xyz"); + System.out.println("2 >>>>>>>>>>> " + outcome); + assertEquals(expectedString, outcome); + + expectedString = "2xyz:A"; + outcome = PDBSearchPanel.getPDBIdwithSpecifiedChain("2xyz", "2xyz:A"); + System.out.println("3 >>>>>>>>>>> " + outcome); + assertEquals(expectedString, outcome); + } + + @Test(groups = { "Network", "External" }, timeOut = 5000) + public void txt_search_ActionPerformedTest() + { + PDBSearchPanel searchPanel = new PDBSearchPanel(null); + JInternalFrame mainFrame = searchPanel.getMainFrame(); + JTextField txt_search = searchPanel.getTxtSearch(); + + assertTrue(mainFrame.getTitle().length() == 20); + assertTrue(mainFrame.getTitle() + .equalsIgnoreCase("PDB Sequence Fetcher")); + + txt_search.setText("ABC"); + + assertTrue(mainFrame.getTitle().length() > 20); + assertTrue(!mainFrame.getTitle().equalsIgnoreCase( + "PDB Sequence Fetcher")); } }