Merge branch 'develop' into trialMerge
[jalview.git] / test / jalview / ext / rbvi / chimera / JalviewChimeraView.java
index b9cab9c..f4fb40b 100644 (file)
@@ -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 <http://www.gnu.org/licenses/>.
+ * The Jalview Authors are detailed in the 'AUTHORS' file.
+ */
 package jalview.ext.rbvi.chimera;
 
 import static org.testng.AssertJUnit.assertEquals;
@@ -7,93 +27,55 @@ import jalview.api.structures.JalviewStructureDisplayI;
 import jalview.bin.Cache;
 import jalview.datamodel.SequenceI;
 import jalview.gui.AlignFrame;
+import jalview.gui.JvOptionPane;
 import jalview.gui.Preferences;
 import jalview.gui.StructureViewer;
 import jalview.gui.StructureViewer.ViewerType;
-import jalview.io.FormatAdapter;
+import jalview.io.DataSourceType;
 
 import org.testng.annotations.AfterClass;
 import org.testng.annotations.BeforeClass;
 import org.testng.annotations.Test;
 
+@Test(singleThreaded = true)
 public class JalviewChimeraView
 {
 
+  @BeforeClass(alwaysRun = true)
+  public void setUpJvOptionPane()
+  {
+    JvOptionPane.setInteractiveMode(false);
+    JvOptionPane.setMockResponse(JvOptionPane.CANCEL_OPTION);
+  }
+
   /**
    * @throws java.lang.Exception
    */
   @BeforeClass(alwaysRun = true)
   public static void setUpBeforeClass() throws Exception
   {
-    jalview.bin.Jalview.main(new String[]
-    { "-noquestionnaire -nonews -props", "test/src/jalview/ext/rbvi/chimera/testProps.jvprops" });
+    jalview.bin.Jalview.main(new String[] {
+        "-noquestionnaire -nonews -props",
+        "test/jalview/ext/rbvi/chimera/testProps.jvprops" });
   }
 
   /**
    * @throws java.lang.Exception
    */
-  @AfterClass
+  @AfterClass(alwaysRun = true)
   public static void tearDownAfterClass() throws Exception
   {
     jalview.gui.Desktop.instance.closeAll_actionPerformed(null);
   }
 
-  @Test(groups ={ "Functional" })
-  public void testSingleSeqViewJMol()
-  {
-    Cache.setProperty(Preferences.STRUCTURE_DISPLAY, ViewerType.JMOL.name());
-    String inFile = "examples/1gaq.txt";
-    AlignFrame af = new jalview.io.FileLoader().LoadFileWaitTillLoaded(
-            inFile, FormatAdapter.FILE);
-    assertTrue("Didn't read input file " + inFile, af != null);
-    for (SequenceI sq : af.getViewport().getAlignment().getSequences())
-    {
-      SequenceI dsq = sq.getDatasetSequence();
-      while (dsq.getDatasetSequence() != null)
-      {
-        dsq = dsq.getDatasetSequence();
-      }
-      if (dsq.getAllPDBEntries() != null && dsq.getAllPDBEntries().size() > 0)
-      {
-        for (int q = 0; q < dsq.getAllPDBEntries().size(); q++)
-        {
-          final StructureViewer structureViewer = new StructureViewer(af
-                  .getViewport().getStructureSelectionManager());
-          structureViewer.setViewerType(ViewerType.JMOL);
-          JalviewStructureDisplayI jmolViewer = structureViewer
-                  .viewStructures(dsq.getAllPDBEntries().elementAt(q),
-                          new SequenceI[]
-                  { sq }, af.getCurrentView().getAlignPanel());
-          /*
-           * Wait for viewer load thread to complete
-           */
-          try
-          {
-            while (!jmolViewer.getBinding().isFinishedInit())
-            {
-              Thread.sleep(500);
-            }
-          } catch (InterruptedException e)
-          {
-          }
-
-          jmolViewer.closeViewer(true);
-          // todo: break here means only once through this loop?
-          break;
-        }
-        break;
-      }
-    }
-  }
-
-  @Test(groups ={ "Functional" })
+  @Test(groups = { "Functional" })
   public void testSingleSeqViewChimera()
   {
     Cache.setProperty(Preferences.STRUCTURE_DISPLAY,
             ViewerType.CHIMERA.name());
     String inFile = "examples/1gaq.txt";
     AlignFrame af = new jalview.io.FileLoader().LoadFileWaitTillLoaded(
-            inFile, FormatAdapter.FILE);
+            inFile, DataSourceType.FILE);
     assertTrue("Didn't read input file " + inFile, af != null);
     for (SequenceI sq : af.getViewport().getAlignment().getSequences())
     {
@@ -103,7 +85,8 @@ public class JalviewChimeraView
       {
         dsq = dsq.getDatasetSequence();
       }
-      if (dsq.getAllPDBEntries() != null && dsq.getAllPDBEntries().size() > 0)
+      if (dsq.getAllPDBEntries() != null
+              && dsq.getAllPDBEntries().size() > 0)
       {
         for (int q = 0; q < dsq.getAllPDBEntries().size(); q++)
         {
@@ -112,8 +95,8 @@ public class JalviewChimeraView
           structureViewer.setViewerType(ViewerType.CHIMERA);
           JalviewStructureDisplayI chimeraViewer = structureViewer
                   .viewStructures(dsq.getAllPDBEntries().elementAt(q),
-                          new SequenceI[]
-                          { sq }, af.getCurrentView().getAlignPanel());
+                          new SequenceI[] { sq }, af.getCurrentView()
+                                  .getAlignPanel());
           /*
            * Wait for viewer load thread to complete
            */