Merge branch 'develop' into features/JAL-2094_colourInterface
[jalview.git] / test / jalview / ws / jabaws / DisorderAnnotExportImport.java
index bd743e0..9f62481 100644 (file)
@@ -1,28 +1,29 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
- * 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.
  * 
  * 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.
+ * 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 <http://www.gnu.org/licenses/>.
+ * You should have received a copy of the GNU General Public License
+ * along with Jalview.  If not, see <http://www.gnu.org/licenses/>.
  * The Jalview Authors are detailed in the 'AUTHORS' file.
  */
 package jalview.ws.jabaws;
 
-import static org.junit.Assert.*;
-
-import java.util.ArrayList;
-import java.util.List;
+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.io.AnnotationFile;
@@ -32,10 +33,15 @@ import jalview.ws.jws2.AADisorderClient;
 import jalview.ws.jws2.Jws2Discoverer;
 import jalview.ws.jws2.jabaws2.Jws2Instance;
 
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.Test;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.testng.Assert;
+import org.testng.annotations.AfterClass;
+import org.testng.annotations.BeforeClass;
+import org.testng.annotations.Test;
 
+@Test(groups = { "External" })
 public class DisorderAnnotExportImport
 {
   public static String testseqs = "examples/uniref50.fa";
@@ -48,11 +54,11 @@ public class DisorderAnnotExportImport
 
   public static jalview.gui.AlignFrame af = null;
 
-  @BeforeClass
+  @BeforeClass(inheritGroups = 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<Jws2Instance>();
     for (Jws2Instance svc : disc.getServices())
@@ -69,13 +75,14 @@ public class DisorderAnnotExportImport
     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;
     }
   }
 
@@ -98,16 +105,17 @@ public class DisorderAnnotExportImport
       ;
     } while (af.getViewport().getCalcManager().isWorking());
     AlignmentI orig_alig = af.getViewport().getAlignment();
-    // NOTE: Consensus annotation row cannot be exported and reimported faithfully - so we remove them
+    // NOTE: Consensus annotation row cannot be exported and reimported
+    // faithfully - so we remove them
     List<AlignmentAnnotation> toremove = new ArrayList<AlignmentAnnotation>();
-    for (AlignmentAnnotation aa:orig_alig.getAlignmentAnnotation())
+    for (AlignmentAnnotation aa : orig_alig.getAlignmentAnnotation())
     {
       if (aa.autoCalculated)
       {
         toremove.add(aa);
       }
     }
-    for (AlignmentAnnotation aa:toremove)
+    for (AlignmentAnnotation aa : toremove)
     {
       orig_alig.deleteAnnotation(aa);
     }
@@ -121,9 +129,8 @@ public class DisorderAnnotExportImport
     {
       String aligfileout = new FormatAdapter().formatSequences("PFAM",
               al.getSequencesArray());
-      String anfileout = new AnnotationFile().printAnnotations(
-              al.getAlignmentAnnotation(), al.getGroups(),
-              al.getProperties());
+      String anfileout = new AnnotationFile()
+              .printAnnotationsForAlignment(al);
       assertTrue(
               "Test "
                       + testname
@@ -148,13 +155,13 @@ public class DisorderAnnotExportImport
                       FormatAdapter.PASTE));
 
       // test for consistency in io
-      StockholmFileTest.testAlignmentEquivalence(al, al_new);
+      StockholmFileTest.testAlignmentEquivalence(al, al_new, true);
       return;
     } catch (Exception e)
     {
       e.printStackTrace();
     }
-    fail("Test "
+    Assert.fail("Test "
             + testname
             + "\nCouldn't complete Annotation file roundtrip input/output/input test.");
   }