JAL-1270 JAL-2416 JAL-2839 set alwaysRun=true in test AfterMethod!
authorgmungoc <g.m.carstairs@dundee.ac.uk>
Mon, 11 Mar 2019 16:30:12 +0000 (16:30 +0000)
committergmungoc <g.m.carstairs@dundee.ac.uk>
Mon, 11 Mar 2019 16:30:12 +0000 (16:30 +0000)
src/jalview/analysis/scoremodels/ScoreModels.java
test/jalview/analysis/FinderTest.java
test/jalview/io/ScoreMatrixFileTest.java

index 3cbd5f1..ebc9a26 100644 (file)
@@ -41,12 +41,22 @@ public class ScoreModels
 
   private final ScoreMatrix DNA;
 
-  private static ScoreModels instance = new ScoreModels();
+  private static ScoreModels instance;
 
   private Map<String, ScoreModelI> models;
 
+  /**
+   * Answers the singleton instance of this class, with lazy initialisation
+   * (built-in score models are loaded on the first call to this method)
+   * 
+   * @return
+   */
   public static ScoreModels getInstance()
   {
+    if (instance == null)
+    {
+      instance = new ScoreModels();
+    }
     return instance;
   }
 
@@ -139,6 +149,14 @@ public class ScoreModels
   }
 
   /**
+   * Resets to just the built-in score models
+   */
+  public void reset()
+  {
+    instance = new ScoreModels();
+  }
+
+  /**
    * Returns the default peptide or nucleotide score model, currently BLOSUM62
    * or DNA
    * 
index e2a94ef..5f64b28 100644 (file)
@@ -79,7 +79,7 @@ public class FinderTest
     al = av.getAlignment();
   }
 
-  @AfterMethod
+  @AfterMethod(alwaysRun = true)
   public void tearDownAfterTest()
   {
     av.setSelectionGroup(null);
index 97349b5..254feaa 100644 (file)
@@ -13,11 +13,18 @@ import jalview.analysis.scoremodels.ScoreModels;
 import java.io.IOException;
 import java.net.MalformedURLException;
 
+import org.testng.annotations.AfterMethod;
 import org.testng.annotations.Test;
 
 public class ScoreMatrixFileTest
 {
 
+  @AfterMethod(alwaysRun=true)
+  public void tearDownAfterTest()
+  {
+    ScoreModels.getInstance().reset();
+  }
+
   /**
    * Test a successful parse of a (small) score matrix file
    *