X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=test%2Fjalview%2Fgui%2FStructureChooserTest.java;h=66e606a33a98fcb707099db014ef78bf093c3587;hb=cd8070808d46db2a7cdf130c84dbc04c59c20188;hp=ae6bf382ccc71b6b775ee25ee1074d9097cea367;hpb=3e4960cd512411a430115676d4381aaee68e81dc;p=jalview.git diff --git a/test/jalview/gui/StructureChooserTest.java b/test/jalview/gui/StructureChooserTest.java index ae6bf38..66e606a 100644 --- a/test/jalview/gui/StructureChooserTest.java +++ b/test/jalview/gui/StructureChooserTest.java @@ -21,21 +21,38 @@ package jalview.gui; import static org.testng.AssertJUnit.assertEquals; +import static org.testng.AssertJUnit.assertNotNull; import static org.testng.AssertJUnit.assertTrue; import jalview.datamodel.DBRefEntry; +import jalview.datamodel.DBRefSource; import jalview.datamodel.PDBEntry; import jalview.datamodel.Sequence; import jalview.datamodel.SequenceI; +import jalview.fts.api.FTSData; +import jalview.jbgui.GStructureChooser.FilterOption; +import jalview.ws.params.InvalidArgumentException; +import java.util.Collection; import java.util.Vector; import org.testng.annotations.AfterMethod; +import org.testng.annotations.BeforeClass; import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test; +import junit.extensions.PA; + public class StructureChooserTest { + + @BeforeClass(alwaysRun = true) + public void setUpJvOptionPane() + { + JvOptionPane.setInteractiveMode(false); + JvOptionPane.setMockResponse(JvOptionPane.CANCEL_OPTION); + } + Sequence seq; @BeforeMethod(alwaysRun = true) @@ -43,7 +60,7 @@ public class StructureChooserTest { seq = new Sequence("PDB|4kqy|4KQY|A", "ABCDEFGHIJKLMNOPQRSTUVWXYZ", 1, 26); - seq.setDatasetSequence(seq); + seq.createDatasetSequence(); for (int x = 1; x < 5; x++) { DBRefEntry dbRef = new DBRefEntry(); @@ -54,66 +71,93 @@ public class StructureChooserTest PDBEntry dbRef = new PDBEntry(); dbRef.setId("1tim"); - Vector pdbIds = new Vector(); + Vector pdbIds = new Vector<>(); pdbIds.add(dbRef); seq.setPDBId(pdbIds); } - @AfterMethod + @AfterMethod(alwaysRun = true) public void tearDown() throws Exception { seq = null; } + @SuppressWarnings("deprecation") @Test(groups = { "Functional" }) public void buildQueryTest() { - String query = StructureChooser.buildQuery(seq); - assertEquals("pdb_id:1tim", query); System.out.println("seq >>>> " + seq); + StructureChooserQuerySource scquery = StructureChooserQuerySource.getPDBfts(); + String query = scquery.buildQuery(seq); + assertEquals("pdb_id:1tim", query); seq.getAllPDBEntries().clear(); - query = StructureChooser.buildQuery(seq); + query = scquery.buildQuery(seq); assertEquals( "text:XYZ_1 OR text:XYZ_2 OR text:XYZ_3 OR text:XYZ_4 OR text:4kqy", query); seq.setDBRefs(null); - query = StructureChooser.buildQuery(seq); + query = scquery.buildQuery(seq); + System.out.println(query); assertEquals("text:4kqy", query); + + DBRefEntry uniprotDBRef = new DBRefEntry(); + uniprotDBRef.setAccessionId("P12345"); + uniprotDBRef.setSource(DBRefSource.UNIPROT); + seq.addDBRef(uniprotDBRef); + + DBRefEntry pdbDBRef = new DBRefEntry(); + pdbDBRef.setAccessionId("1XYZ"); + pdbDBRef.setSource(DBRefSource.PDB); + seq.addDBRef(pdbDBRef); + + for (int x = 1; x < 5; x++) + { + DBRefEntry dbRef = new DBRefEntry(); + dbRef.setAccessionId("XYZ_" + x); + seq.addDBRef(dbRef); + } + System.out.println(""); + System.out.println(seq.getDBRefs()); + System.out.println(query); + query = scquery.buildQuery(seq); + assertEquals( + "uniprot_accession:P12345 OR uniprot_id:P12345 OR pdb_id:1xyz", + query); } @Test(groups = { "Functional" }) - public void populateFilterComboBoxTest() + public void populateFilterComboBoxTest() throws InterruptedException { SequenceI[] selectedSeqs = new SequenceI[] { seq }; StructureChooser sc = new StructureChooser(selectedSeqs, seq, null); - sc.populateFilterComboBox(); + sc.populateFilterComboBox(false, false); int optionsSize = sc.getCmbFilterOption().getItemCount(); - assertEquals(3, optionsSize); // if structures are not discovered then don't + assertEquals(2, optionsSize); // if structures are not discovered then don't // populate filter options - sc.setStructuresDiscovered(true); - sc.populateFilterComboBox(); - try - { - Thread.sleep(2000); - } catch (InterruptedException e) - { - e.printStackTrace(); - } + sc.populateFilterComboBox(true, false); optionsSize = sc.getCmbFilterOption().getItemCount(); assertTrue(optionsSize > 3); // if structures are found, filter options // should be populated + + sc.populateFilterComboBox(true, true); + assertTrue(sc.getCmbFilterOption().getSelectedItem() != null); + FilterOption filterOpt = (FilterOption) sc.getCmbFilterOption() + .getSelectedItem(); + assertEquals("Cached Structures", filterOpt.getName()); } - @Test(groups = { "Functional" }) + @Test(groups = { "Network" }) public void fetchStructuresInfoTest() { SequenceI[] selectedSeqs = new SequenceI[] { seq }; StructureChooser sc = new StructureChooser(selectedSeqs, seq, null); sc.fetchStructuresMetaData(); - assertTrue(sc.getDiscoveredStructuresSet() != null); - assertTrue(sc.getDiscoveredStructuresSet().size() > 0); + Collection ss = (Collection) PA.getValue(sc, + "discoveredStructuresSet"); + assertNotNull(ss); + assertTrue(ss.size() > 0); } @@ -121,17 +165,17 @@ public class StructureChooserTest public void sanitizeSeqNameTest() { String name = "ab_cdEF|fwxyz012349"; - assertEquals(name, StructureChooser.sanitizeSeqName(name)); + assertEquals(name, StructureChooserQuerySource.sanitizeSeqName(name)); // remove a [nn] substring name = "abcde12[345]fg"; - assertEquals("abcde12fg", StructureChooser.sanitizeSeqName(name)); + assertEquals("abcde12fg", StructureChooserQuerySource.sanitizeSeqName(name)); // remove characters other than a-zA-Z0-9 | or _ name = "ab[cd],.\t£$*!- \\\"@:e"; - assertEquals("abcde", StructureChooser.sanitizeSeqName(name)); + assertEquals("abcde", StructureChooserQuerySource.sanitizeSeqName(name)); name = "abcde12[345a]fg"; - assertEquals("abcde12345afg", StructureChooser.sanitizeSeqName(name)); + assertEquals("abcde12345afg", StructureChooserQuerySource.sanitizeSeqName(name)); } }