X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=test%2Fjalview%2Fext%2Fjmol%2FJmolViewerTest.java;h=8f616deee6445731414d841ff7cdda8b31f3f7f5;hb=3a360da4cea75d5ff30dfa3d8cf657f8517fe04d;hp=22d2e722ade8f4f16250449037fe728fcaa51cc1;hpb=838e4f91d4a53dd315640dbc9ff6ef7a815ee576;p=jalview.git diff --git a/test/jalview/ext/jmol/JmolViewerTest.java b/test/jalview/ext/jmol/JmolViewerTest.java index 22d2e72..8f616de 100644 --- a/test/jalview/ext/jmol/JmolViewerTest.java +++ b/test/jalview/ext/jmol/JmolViewerTest.java @@ -1,6 +1,6 @@ /* - * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1) - * Copyright (C) 2015 The Jalview Authors + * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$) + * Copyright (C) $$Year-Rel$$ The Jalview Authors * * This file is part of Jalview. * @@ -24,13 +24,16 @@ import static org.testng.AssertJUnit.assertTrue; import jalview.api.structures.JalviewStructureDisplayI; import jalview.bin.Cache; +import jalview.bin.Jalview; 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.Assert; import org.testng.annotations.AfterClass; import org.testng.annotations.BeforeClass; import org.testng.annotations.Test; @@ -39,21 +42,27 @@ import org.testng.annotations.Test; public class JmolViewerTest { + @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", + 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); @@ -65,7 +74,7 @@ public class JmolViewerTest Cache.setProperty(Preferences.STRUCTURE_DISPLAY, ViewerType.JMOL.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()) { @@ -107,4 +116,57 @@ public class JmolViewerTest } } } + + @Test(groups = { "Functional, Network" }) + public void testStructureLoadingViaURL() + { + Cache.setProperty(Preferences.STRUCTURE_DISPLAY, ViewerType.JMOL.name()); + String inFile = "http://www.jalview.org/builds/develop/examples/3W5V.pdb"; + AlignFrame af = new jalview.io.FileLoader().LoadFileWaitTillLoaded( + inFile, DataSourceType.URL); + 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) + { + } + // System.out.println(">>>>>>>>>>>>>>>>> " + // + jmolViewer.getBinding().getPdbFile()); + String[] expectedModelFiles = new String[] { "http://www.jalview.org/builds/develop/examples/3W5V.pdb" }; + String[] actualModelFiles = jmolViewer.getBinding().getStructureFiles(); + Assert.assertEqualsNoOrder(actualModelFiles, expectedModelFiles); + jmolViewer.closeViewer(true); + // todo: break here means only once through this loop? + break; + } + break; + } + } + } }