package jalview.ext.rbvi.chimera;
+import static org.testng.AssertJUnit.assertEquals;
import static org.testng.AssertJUnit.assertTrue;
import jalview.api.structures.JalviewStructureDisplayI;
+import jalview.bin.Cache;
import jalview.datamodel.SequenceI;
import jalview.gui.AlignFrame;
+import jalview.gui.Preferences;
import jalview.gui.StructureViewer;
import jalview.gui.StructureViewer.ViewerType;
import jalview.io.FormatAdapter;
@AfterClass
public static void tearDownAfterClass() throws Exception
{
- try
- {
jalview.gui.Desktop.instance.closeAll_actionPerformed(null);
- } catch (Exception e)
- {
- // ignore NullPointerException thrown by JMol
- }
-
}
@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);
new SequenceI[]
{ sq }, af.getCurrentView().getAlignPanel());
/*
- * Wait for viewer thread to start
+ * Wait for viewer load thread to complete
*/
try
{
- Thread.sleep(1000);
+ while (!jmolViewer.getBinding().isFinishedInit())
+ {
+ Thread.sleep(500);
+ }
} catch (InterruptedException e)
{
}
@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);
assertTrue("Didn't read input file " + inFile, af != null);
for (SequenceI sq : af.getViewport().getAlignment().getSequences())
{
+ System.out.println("** sq=" + sq.getName());
SequenceI dsq = sq.getDatasetSequence();
while (dsq.getDatasetSequence() != null)
{
new SequenceI[]
{ sq }, af.getCurrentView().getAlignPanel());
/*
- * Wait for viewer thread to start
+ * Wait for viewer load thread to complete
*/
- try
- {
- Thread.sleep(1000);
- } catch (InterruptedException e)
+ while (!chimeraViewer.getBinding().isFinishedInit())
{
+ try
+ {
+ Thread.sleep(500);
+ } catch (InterruptedException e)
+ {
+ }
}
+ assertEquals(1, chimeraViewer.getBinding().getPdbCount());
chimeraViewer.closeViewer(true);
// todo: break here means only once through this loop?
break;