X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=test%2Fjalview%2Fws%2Fjabaws%2FRNAStructExportImport.java;h=292a48a039e717ee26ac31f9febe06c2f23d3a2b;hb=cfb79b69d9fa44595560659bd95d1d1cd27677ad;hp=fbee3a7ef2bea12a13d6920b7566fb6d0f1926de;hpb=8b27085fa7fc5f2877e078421284c2636b85b8c6;p=jalview.git diff --git a/test/jalview/ws/jabaws/RNAStructExportImport.java b/test/jalview/ws/jabaws/RNAStructExportImport.java index fbee3a7..292a48a 100644 --- a/test/jalview/ws/jabaws/RNAStructExportImport.java +++ b/test/jalview/ws/jabaws/RNAStructExportImport.java @@ -26,14 +26,17 @@ import static org.testng.AssertJUnit.assertTrue; import jalview.bin.Cache; import jalview.datamodel.AlignmentAnnotation; import jalview.datamodel.AlignmentI; -import jalview.gui.Jalview2XML; +import jalview.gui.JvOptionPane; import jalview.io.AnnotationFile; import jalview.io.DataSourceType; import jalview.io.FileFormat; import jalview.io.FormatAdapter; import jalview.io.StockholmFileTest; +import jalview.project.Jalview2XML; +import jalview.ws.api.ServiceWithParameters; +import jalview.ws.jws2.JabaParamStore; import jalview.ws.jws2.Jws2Discoverer; -import jalview.ws.jws2.RNAalifoldClient; +import jalview.ws.jws2.SeqAnnotationServiceCalcWorker; import jalview.ws.jws2.SequenceAnnotationWSClient; import jalview.ws.jws2.jabaws2.Jws2Instance; import jalview.ws.params.AutoCalcSetting; @@ -54,8 +57,21 @@ import org.testng.annotations.Test; import compbio.metadata.Argument; import compbio.metadata.WrongParameterException; +/* + * All methods in this class are set to the Network group because setUpBeforeClass will fail + * if there is no network. + */ +@Test(singleThreaded = true) public class RNAStructExportImport { + + @BeforeClass(alwaysRun = true) + public void setUpJvOptionPane() + { + JvOptionPane.setInteractiveMode(false); + JvOptionPane.setMockResponse(JvOptionPane.CANCEL_OPTION); + } + private static final String JAR_FILE_NAME = "testRnalifold_param.jar"; public static String testseqs = "examples/RF00031_folded.stk"; @@ -64,7 +80,7 @@ public class RNAStructExportImport public static Jws2Instance rnaalifoldws; - jalview.ws.jws2.RNAalifoldClient alifoldClient; + SeqAnnotationServiceCalcWorker alifoldClient; public static jalview.gui.AlignFrame af = null; @@ -75,12 +91,18 @@ public class RNAStructExportImport Cache.initLogger(); disc = JalviewJabawsTestUtils.getJabawsDiscoverer(false); - for (Jws2Instance svc : disc.getServices()) + while (disc.isRunning()) { + // don't get services until discoverer has finished + Thread.sleep(100); + } - if (svc.getServiceTypeURI().toLowerCase().contains("rnaalifoldws")) + for (ServiceWithParameters svc : disc.getServices()) + { + + if (svc.getNameURI().toLowerCase().contains("rnaalifoldws")) { - rnaalifoldws = svc; + rnaalifoldws = (Jws2Instance) svc; } } @@ -98,7 +120,7 @@ public class RNAStructExportImport assertNotNull("Couldn't load test data ('" + testseqs + "')", af); // remove any existing annotation - List aal = new ArrayList(); + List aal = new ArrayList<>(); for (AlignmentAnnotation rna : af.getViewport().getAlignment() .getAlignmentAnnotation()) { @@ -130,11 +152,12 @@ public class RNAStructExportImport } } - @Test(groups = { "Functional" }) + @Test(groups = { "Network" }) public void testRNAAliFoldValidStructure() { - alifoldClient = new RNAalifoldClient(rnaalifoldws, af, null, null); + alifoldClient = new SeqAnnotationServiceCalcWorker(rnaalifoldws, af, null, + null); af.getViewport().getCalcManager().startWorker(alifoldClient); @@ -163,11 +186,12 @@ public class RNAStructExportImport } } - @Test(groups = { "Functional" }) + @Test(groups = { "Network" }) public void testRNAStructExport() { - alifoldClient = new RNAalifoldClient(rnaalifoldws, af, null, null); + alifoldClient = new SeqAnnotationServiceCalcWorker(rnaalifoldws, af, null, + null); af.getViewport().getCalcManager().startWorker(alifoldClient); @@ -182,17 +206,19 @@ public class RNAStructExportImport } while (af.getViewport().getCalcManager().isWorking()); AlignmentI orig_alig = af.getViewport().getAlignment(); - - testAnnotationFileIO("Testing RNAalifold Annotation IO", orig_alig); + // JBPNote: this assert fails (2.10.2) because the 'Reference Positions' + // annotation is mistakenly recognised as an RNA annotation row when read in + // as an annotation file. bug is JAL-3122 + verifyAnnotationFileIO("Testing RNAalifold Annotation IO", orig_alig); } - public static void testAnnotationFileIO(String testname, AlignmentI al) + static void verifyAnnotationFileIO(String testname, AlignmentI al) { try { // what format would be appropriate for RNAalifold annotations? - String aligfileout = FileFormat.Pfam.getAlignmentFile().print( + String aligfileout = FileFormat.Pfam.getWriter(null).print( al.getSequencesArray(), true); String anfileout = new AnnotationFile() @@ -222,7 +248,8 @@ public class RNAStructExportImport DataSourceType.PASTE)); // test for consistency in io - StockholmFileTest.testAlignmentEquivalence(al, al_new, false); + StockholmFileTest.testAlignmentEquivalence(al, al_new, false, false, + false); return; } catch (Exception e) { @@ -233,12 +260,12 @@ public class RNAStructExportImport + "\nCouldn't complete Annotation file roundtrip input/output/input test."); } - @Test(groups = { "Functional" }) + @Test(groups = { "Network" }) public void testRnaalifoldSettingsRecovery() { - List opts = new ArrayList(); - for (Argument rg : (List) rnaalifoldws - .getRunnerConfig().getArguments()) + List opts = new ArrayList<>(); + for (Argument rg : (List) rnaalifoldws.getRunnerConfig() + .getArguments()) { if (rg.getDescription().contains("emperature")) { @@ -257,7 +284,8 @@ public class RNAStructExportImport opts.add(rg); } } - alifoldClient = new RNAalifoldClient(rnaalifoldws, af, null, opts); + alifoldClient = new SeqAnnotationServiceCalcWorker(rnaalifoldws, af, null, + JabaParamStore.getJwsArgsfromJaba(opts)); af.getViewport().getCalcManager().startWorker(alifoldClient);