X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=test%2Fjalview%2Fext%2Frbvi%2Fchimera%2FJalviewChimeraView.java;h=b9cab9c976088b9023dcfe015b3e3c672cc6e5f8;hb=2373f90e6077de127c55ec6cb7671d8ba2436684;hp=59a0fdba9a6139640f5113182903b3e11b4b5582;hpb=c93b9ad2ebfab4cad4608a8890132918589576be;p=jalview.git diff --git a/test/jalview/ext/rbvi/chimera/JalviewChimeraView.java b/test/jalview/ext/rbvi/chimera/JalviewChimeraView.java index 59a0fdb..b9cab9c 100644 --- a/test/jalview/ext/rbvi/chimera/JalviewChimeraView.java +++ b/test/jalview/ext/rbvi/chimera/JalviewChimeraView.java @@ -1,10 +1,13 @@ 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; @@ -19,7 +22,7 @@ public class JalviewChimeraView /** * @throws java.lang.Exception */ - @BeforeClass + @BeforeClass(alwaysRun = true) public static void setUpBeforeClass() throws Exception { jalview.bin.Jalview.main(new String[] @@ -32,19 +35,13 @@ public class JalviewChimeraView @AfterClass public static void tearDownAfterClass() throws Exception { - try - { jalview.gui.Desktop.instance.closeAll_actionPerformed(null); - } catch (Exception e) - { - // ignore NullPointerException thrown by JMol - } - } - @Test + @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); @@ -56,23 +53,26 @@ public class JalviewChimeraView { dsq = dsq.getDatasetSequence(); } - if (dsq.getPDBId() != null && dsq.getPDBId().size() > 0) + if (dsq.getAllPDBEntries() != null && dsq.getAllPDBEntries().size() > 0) { - for (int q = 0; q < dsq.getPDBId().size(); q++) + 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.getPDBId().elementAt(q), + .viewStructures(dsq.getAllPDBEntries().elementAt(q), 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) { } @@ -86,40 +86,47 @@ public class JalviewChimeraView } } - @Test + @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) { dsq = dsq.getDatasetSequence(); } - if (dsq.getPDBId() != null && dsq.getPDBId().size() > 0) + if (dsq.getAllPDBEntries() != null && dsq.getAllPDBEntries().size() > 0) { - for (int q = 0; q < dsq.getPDBId().size(); q++) + for (int q = 0; q < dsq.getAllPDBEntries().size(); q++) { final StructureViewer structureViewer = new StructureViewer(af .getViewport().getStructureSelectionManager()); structureViewer.setViewerType(ViewerType.CHIMERA); JalviewStructureDisplayI chimeraViewer = structureViewer - .viewStructures(dsq.getPDBId().elementAt(q), + .viewStructures(dsq.getAllPDBEntries().elementAt(q), 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;