JAL-3829 more testing wit tdbeacons data columns and FTSclient
[jalview.git] / test / jalview / gui / StructureChooserTest.java
index 1e41a16..9529d9f 100644 (file)
@@ -21,6 +21,7 @@
 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;
@@ -28,15 +29,30 @@ 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)
@@ -55,7 +71,7 @@ public class StructureChooserTest
     PDBEntry dbRef = new PDBEntry();
     dbRef.setId("1tim");
 
-    Vector<PDBEntry> pdbIds = new Vector<PDBEntry>();
+    Vector<PDBEntry> pdbIds = new Vector<>();
     pdbIds.add(dbRef);
 
     seq.setPDBId(pdbIds);
@@ -67,12 +83,13 @@ public class StructureChooserTest
     seq = null;
   }
 
+  @SuppressWarnings("deprecation")
   @Test(groups = { "Functional" })
   public void buildQueryTest()
   {
+    System.out.println("seq >>>> " + seq);
     String query = StructureChooser.buildQuery(seq);
     assertEquals("pdb_id:1tim", query);
-    System.out.println("seq >>>> " + seq);
     seq.getAllPDBEntries().clear();
     query = StructureChooser.buildQuery(seq);
     assertEquals(
@@ -80,6 +97,7 @@ public class StructureChooserTest
             query);
     seq.setDBRefs(null);
     query = StructureChooser.buildQuery(seq);
+    System.out.println(query);
     assertEquals("text:4kqy", query);
 
     DBRefEntry uniprotDBRef = new DBRefEntry();
@@ -98,6 +116,9 @@ public class StructureChooserTest
       dbRef.setAccessionId("XYZ_" + x);
       seq.addDBRef(dbRef);
     }
+    System.out.println("");
+    System.out.println(seq.getDBRefs());
+    System.out.println(query);
     query = StructureChooser.buildQuery(seq);
     assertEquals(
             "uniprot_accession:P12345 OR uniprot_id:P12345 OR pdb_id:1xyz",
@@ -109,25 +130,33 @@ public class StructureChooserTest
   {
     SequenceI[] selectedSeqs = new SequenceI[] { seq };
     StructureChooser sc = new StructureChooser(selectedSeqs, seq, null);
-    sc.populateFilterComboBox(false);
+    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.populateFilterComboBox(true);
+    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<FTSData> ss = (Collection<FTSData>) PA.getValue(sc,
+            "discoveredStructuresSet");
+    assertNotNull(ss);
+    assertTrue(ss.size() > 0);
 
   }