X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=test%2Fjalview%2Fext%2Frbvi%2Fchimera%2FJalviewChimeraView.java;h=2a6dc732d0e56702209597332c6ebf87aa478dac;hb=ee198b3ca3687f18a2ee186f4e7c7330f4ea30f0;hp=adbf2307e5fcc66321fca7cae776ae197ebf1b68;hpb=be32c14cd8e48fe0a207cd7030cb9cd46f894678;p=jalview.git
diff --git a/test/jalview/ext/rbvi/chimera/JalviewChimeraView.java b/test/jalview/ext/rbvi/chimera/JalviewChimeraView.java
index adbf230..2a6dc73 100644
--- a/test/jalview/ext/rbvi/chimera/JalviewChimeraView.java
+++ b/test/jalview/ext/rbvi/chimera/JalviewChimeraView.java
@@ -1,89 +1,113 @@
+/*
+ * 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 .
+ * The Jalview Authors are detailed in the 'AUTHORS' file.
+ */
package jalview.ext.rbvi.chimera;
-import static org.junit.Assert.assertTrue;
+import static org.testng.AssertJUnit.assertEquals;
+import static org.testng.AssertJUnit.assertTrue;
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.Test;
-
-import jalview.datamodel.PDBEntry;
+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;
+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
{
/**
* @throws java.lang.Exception
*/
- @BeforeClass
+ @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
{
- try
- {
jalview.gui.Desktop.instance.closeAll_actionPerformed(null);
- } catch (Exception e)
- {
- // ignore NullPointerException thrown by JMol
- }
-
}
-
- @Test
- public void testSingleSeqView()
+ @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())
+ for (SequenceI sq : af.getViewport().getAlignment().getSequences())
{
- SequenceI dsq=sq.getDatasetSequence();
- while (dsq.getDatasetSequence()!=null)
+ System.out.println("** sq=" + sq.getName());
+ SequenceI dsq = sq.getDatasetSequence();
+ while (dsq.getDatasetSequence() != null)
{
- dsq=dsq.getDatasetSequence();
+ dsq = dsq.getDatasetSequence();
}
- if (dsq.getPDBId()!=null && dsq.getPDBId().size()>0) {
- for (int q=0;q 0)
+ {
+ for (int q = 0; q < dsq.getAllPDBEntries().size(); q++)
{
- new StructureViewer(af.getViewport()
- .getStructureSelectionManager()).viewStructures(
- ViewerType.JMOL,
- af.getCurrentView().getAlignPanel(),
- new PDBEntry[] { (PDBEntry)dsq.getPDBId().elementAt(q) },
- new SequenceI[][] { new SequenceI[] { sq } });
-
- new StructureViewer(af.getViewport()
- .getStructureSelectionManager()).viewStructures(
- ViewerType.CHIMERA,
- af.getCurrentView().getAlignPanel(),
- new PDBEntry[] { (PDBEntry)dsq.getPDBId().elementAt(q) },
- new SequenceI[][] { new SequenceI[] { sq } });
+ final StructureViewer structureViewer = new StructureViewer(af
+ .getViewport().getStructureSelectionManager());
+ structureViewer.setViewerType(ViewerType.CHIMERA);
+ JalviewStructureDisplayI chimeraViewer = structureViewer
+ .viewStructures(dsq.getAllPDBEntries().elementAt(q),
+ new SequenceI[] { sq }, af.getCurrentView()
+ .getAlignPanel());
+ /*
+ * Wait for viewer load thread to complete
+ */
+ 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;
}
break;
}
- }
- // try {
- // why?
-// Thread.sleep(200000);
-// } catch (InterruptedException q)
-// {
- // }
+ }
}
}