X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=test%2Fjalview%2Fws%2Fjabaws%2FDisorderAnnotExportImport.java;h=7bbd0725f5c6706ed63a67286e08382c10e7d9c1;hb=49db0dff1da16c3355b43a41498c1fc93ef47e91;hp=d488b44adaf3dd425dad25348e88ac5f4d549b78;hpb=ab43013b7e357b84b4abade0dba949668dfb2a0e;p=jalview.git diff --git a/test/jalview/ws/jabaws/DisorderAnnotExportImport.java b/test/jalview/ws/jabaws/DisorderAnnotExportImport.java index d488b44..7bbd072 100644 --- a/test/jalview/ws/jabaws/DisorderAnnotExportImport.java +++ b/test/jalview/ws/jabaws/DisorderAnnotExportImport.java @@ -1,6 +1,6 @@ /* - * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.2b1) - * Copyright (C) 2014 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. * @@ -20,46 +20,76 @@ */ package jalview.ws.jabaws; -import static org.junit.Assert.*; - -import java.util.ArrayList; -import java.util.List; +import java.util.Locale; +import static org.testng.AssertJUnit.assertNotNull; +import static org.testng.AssertJUnit.assertTrue; +import jalview.bin.Cache; import jalview.datamodel.AlignmentAnnotation; import jalview.datamodel.AlignmentI; +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.ws.jws2.AADisorderClient; +import jalview.ws.api.ServiceWithParameters; import jalview.ws.jws2.Jws2Discoverer; -import jalview.ws.jws2.jabaws2.Jws2Instance; +import jalview.ws.jws2.SeqAnnotationServiceCalcWorker; +import jalview.ws.slivkaws.SlivkaWSDiscoverer; + +import java.util.ArrayList; +import java.util.List; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; +import org.testng.Assert; +import org.testng.annotations.AfterClass; +import org.testng.annotations.BeforeClass; +import org.testng.annotations.DataProvider; +import org.testng.annotations.Test; +/* + * 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 DisorderAnnotExportImport { + + @BeforeClass(alwaysRun = true) + public void setUpJvOptionPane() + { + JvOptionPane.setInteractiveMode(false); + JvOptionPane.setMockResponse(JvOptionPane.CANCEL_OPTION); + } + public static String testseqs = "examples/uniref50.fa"; public static Jws2Discoverer disc; - public static List iupreds; + public static List iupreds; - jalview.ws.jws2.AADisorderClient disorderClient; + jalview.ws.jws2.SeqAnnotationServiceCalcWorker disorderClient; public static jalview.gui.AlignFrame af = null; - @BeforeClass + @BeforeClass(alwaysRun = true) public static void setUpBeforeClass() throws Exception { - - jalview.bin.Cache.initLogger(); + Cache.loadProperties("test/jalview/io/testProps.jvprops"); + Cache.initLogger(); disc = JalviewJabawsTestUtils.getJabawsDiscoverer(); - iupreds = new ArrayList(); - for (Jws2Instance svc : disc.getServices()) + + while (disc.isRunning()) + { + // don't get services until discoverer has finished + Thread.sleep(100); + } + + SlivkaWSDiscoverer disc2 = SlivkaWSDiscoverer.getInstance(); + disc2.startDiscoverer(); + while (disc2.isRunning()) { - if (svc.getServiceTypeURI().toLowerCase().contains("iupredws")) + if (svc.getServiceTypeURI().toLowerCase(Locale.ROOT).contains("iupredws")) { iupreds.add(svc); } @@ -67,27 +97,43 @@ public class DisorderAnnotExportImport assertTrue("Couldn't discover any IUPred services to use to test.", iupreds.size() > 0); jalview.io.FileLoader fl = new jalview.io.FileLoader(false); - af = fl.LoadFileWaitTillLoaded(testseqs, jalview.io.FormatAdapter.FILE); + af = fl.LoadFileWaitTillLoaded(testseqs, jalview.io.DataSourceType.FILE); assertNotNull("Couldn't load test data ('" + testseqs + "')", af); } - @AfterClass + @AfterClass(alwaysRun = true) public static void tearDownAfterClass() throws Exception { if (af != null) { af.setVisible(false); af.dispose(); + af = null; + } + } + + @DataProvider(name="getIuPreds",parallel = false) + public static ServiceWithParameters[][] getIuPreds() + { + ServiceWithParameters[][] services = new ServiceWithParameters[iupreds + .size()][1]; + + int i = 0; + for (ServiceWithParameters iupred : iupreds) + { + services[i++][0] = iupred; } + return services; } /** * test for patches to JAL-1294 */ - @Test - public void testDisorderAnnotExport() + @Test(groups = { "External", "Network" },dataProvider = "getIuPreds") + public void testDisorderAnnotExport(ServiceWithParameters iuPred) { - disorderClient = new AADisorderClient(iupreds.get(0), af, null, null); + disorderClient = new SeqAnnotationServiceCalcWorker(iuPred, af, null, + null); af.getViewport().getCalcManager().startWorker(disorderClient); do { @@ -102,7 +148,7 @@ public class DisorderAnnotExportImport AlignmentI orig_alig = af.getViewport().getAlignment(); // NOTE: Consensus annotation row cannot be exported and reimported // faithfully - so we remove them - List toremove = new ArrayList(); + List toremove = new ArrayList<>(); for (AlignmentAnnotation aa : orig_alig.getAlignmentAnnotation()) { if (aa.autoCalculated) @@ -114,19 +160,18 @@ public class DisorderAnnotExportImport { orig_alig.deleteAnnotation(aa); } - testAnnotationFileIO("Testing IUPred Annotation IO", orig_alig); + checkAnnotationFileIO("Testing IUPred Annotation IO", orig_alig); } - public static void testAnnotationFileIO(String testname, AlignmentI al) + static void checkAnnotationFileIO(String testname, AlignmentI al) { try { - String aligfileout = new FormatAdapter().formatSequences("PFAM", - al.getSequencesArray()); - String anfileout = new AnnotationFile().printAnnotations( - al.getAlignmentAnnotation(), al.getGroups(), - al.getProperties()); + String aligfileout = FileFormat.Pfam.getWriter(al).print( + al.getSequencesArray(), true); + String anfileout = new AnnotationFile() + .printAnnotationsForAlignment(al); assertTrue( "Test " + testname @@ -142,22 +187,23 @@ public class DisorderAnnotExportImport + "\n<