X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=test%2Fjalview%2Fext%2Frbvi%2Fchimera%2FJalviewChimeraView.java;h=e8b5bea8cf47ccbe9dd362cded257546455838be;hb=f2c4dcbf716ebf695ffe757c59185bbcb4e6e2ad;hp=30c23af2edbaebbd5a7407da9a9bede033a81da1;hpb=42f4227ed213d422a87d3b22fc9e85d14ffaf53f;p=jalview.git diff --git a/test/jalview/ext/rbvi/chimera/JalviewChimeraView.java b/test/jalview/ext/rbvi/chimera/JalviewChimeraView.java index 30c23af..e8b5bea 100644 --- a/test/jalview/ext/rbvi/chimera/JalviewChimeraView.java +++ b/test/jalview/ext/rbvi/chimera/JalviewChimeraView.java @@ -25,12 +25,24 @@ import static org.testng.Assert.assertFalse; import static org.testng.Assert.assertNotNull; import static org.testng.Assert.assertTrue; +import java.io.File; +import java.io.IOException; +import java.util.List; +import java.util.Vector; + +import org.testng.annotations.AfterClass; +import org.testng.annotations.AfterMethod; +import org.testng.annotations.BeforeClass; +import org.testng.annotations.Test; + import jalview.api.FeatureRenderer; import jalview.api.structures.JalviewStructureDisplayI; import jalview.bin.Cache; import jalview.bin.Jalview; +import jalview.datamodel.AlignmentI; import jalview.datamodel.DBRefEntry; import jalview.datamodel.PDBEntry; +import jalview.datamodel.Sequence; import jalview.datamodel.SequenceFeature; import jalview.datamodel.SequenceI; import jalview.gui.AlignFrame; @@ -48,16 +60,6 @@ import jalview.ws.sifts.SiftsClient; import jalview.ws.sifts.SiftsException; import jalview.ws.sifts.SiftsSettings; -import java.io.File; -import java.io.IOException; -import java.util.List; -import java.util.Vector; - -import org.testng.annotations.AfterClass; -import org.testng.annotations.AfterMethod; -import org.testng.annotations.BeforeClass; -import org.testng.annotations.Test; - @Test(singleThreaded = true) public class JalviewChimeraView { @@ -118,6 +120,7 @@ public class JalviewChimeraView @Test(groups = { "External" }) public void testSingleSeqViewChimera() { + String inFile = "examples/1gaq.txt"; AlignFrame af = new FileLoader().LoadFileWaitTillLoaded(inFile, DataSourceType.FILE); @@ -139,7 +142,7 @@ public class JalviewChimeraView /* * Wait for viewer load thread to complete */ - while (!binding.isFinishedInit()) + do { try { @@ -147,11 +150,36 @@ public class JalviewChimeraView } catch (InterruptedException e) { } - } + } while (!binding.isFinishedInit() || !chimeraViewer.isVisible()); - assertTrue(binding.isChimeraRunning(), "Failed to start Chimera"); + assertTrue(binding.isViewerRunning(), "Failed to start Chimera"); assertEquals(chimeraViewer.getBinding().getPdbCount(), 1); + assertTrue(chimeraViewer.hasViewerActionsMenu()); + + // now add another sequence and bind to view + // + AlignmentI al = af.getViewport().getAlignment(); + PDBEntry xpdb = al.getSequenceAt(0).getPDBEntry("1GAQ"); + sq = new Sequence("1GAQ", al.getSequenceAt(0).getSequence(25, 95).toString()); + al.addSequence(sq); + structureViewer.viewStructures(new PDBEntry[] { xpdb }, new SequenceI[] { sq }, af.getCurrentView().getAlignPanel()); + + /* + * Wait for viewer load thread to complete + */ + do + { + try { + Thread.sleep(1500); + } catch (InterruptedException q) {}; + } while (!binding.isLoadingFinished()); + + // still just one PDB structure shown + assertEquals(chimeraViewer.getBinding().getPdbCount(), 1); + // and the viewer action menu should still be visible + assertTrue(chimeraViewer.hasViewerActionsMenu()); + chimeraViewer.closeViewer(true); chimeraViewer = null; return; @@ -209,7 +237,7 @@ public class JalviewChimeraView } } while (!binding.isFinishedInit()); - assertTrue(binding.isChimeraRunning(), "Failed to launch Chimera"); + assertTrue(binding.isViewerRunning(), "Failed to launch Chimera"); assertEquals(binding.getPdbCount(), 1); @@ -402,7 +430,7 @@ public class JalviewChimeraView } } while (!binding.isFinishedInit()); - assertTrue(binding.isChimeraRunning(), "Failed to launch Chimera"); + assertTrue(binding.isViewerRunning(), "Failed to launch Chimera"); assertEquals(binding.getPdbCount(), 1);