X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=test%2Fjalview%2Fanalysis%2Fscoremodels%2FScoreModelsTest.java;h=0a3af64477fdb2616d0ece971da7c236d7c7ea1f;hb=a04a7992b1055fa52f5031ef9d10d2228ee78899;hp=c5c8673865b7563543dbfdf60abbafb26a50906f;hpb=fcb39fa3bc47777bf4e0eb209f765dd254dc3cb9;p=jalview.git
diff --git a/test/jalview/analysis/scoremodels/ScoreModelsTest.java b/test/jalview/analysis/scoremodels/ScoreModelsTest.java
index c5c8673..0a3af64 100644
--- a/test/jalview/analysis/scoremodels/ScoreModelsTest.java
+++ b/test/jalview/analysis/scoremodels/ScoreModelsTest.java
@@ -1,10 +1,31 @@
+/*
+ * 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.analysis.scoremodels;
import static org.testng.Assert.assertEquals;
import static org.testng.Assert.assertFalse;
import static org.testng.Assert.assertTrue;
-import jalview.api.analysis.DistanceModelI;
+import jalview.api.analysis.PairwiseScoreModelI;
+import jalview.api.analysis.ScoreModelI;
import java.util.Iterator;
@@ -16,48 +37,91 @@ public class ScoreModelsTest
* Verify that the singleton constructor successfully loads Jalview's built-in
* score models
*/
- @Test
+ @Test(groups = "Functional")
public void testConstructor()
{
- Iterator models = ScoreModels.getInstance().getModels()
+ Iterator models = ScoreModels.getInstance().getModels()
.iterator();
assertTrue(models.hasNext());
/*
* models are served in order of addition
*/
- DistanceModelI sm = models.next();
- assertTrue(sm instanceof PairwiseDistanceModel);
+ ScoreModelI sm = models.next();
+ assertTrue(sm instanceof SimilarityScoreModel);
+ assertTrue(sm instanceof PairwiseScoreModelI);
+ assertFalse(sm instanceof DistanceScoreModel);
assertEquals(sm.getName(), "BLOSUM62");
- assertEquals(((PairwiseDistanceModel) sm).getScoreModel()
- .getPairwiseScore('I', 'R'), -3f);
+ assertEquals(((PairwiseScoreModelI) sm).getPairwiseScore('I', 'R'),
+ -3f);
sm = models.next();
- assertTrue(sm instanceof PairwiseDistanceModel);
+ assertTrue(sm instanceof SimilarityScoreModel);
+ assertTrue(sm instanceof PairwiseScoreModelI);
+ assertFalse(sm instanceof DistanceScoreModel);
assertEquals(sm.getName(), "PAM250");
- assertEquals(((PairwiseDistanceModel) sm).getScoreModel()
- .getPairwiseScore('R', 'C'), -4f);
+ assertEquals(((PairwiseScoreModelI) sm).getPairwiseScore('R', 'C'),
+ -4f);
sm = models.next();
- assertTrue(sm instanceof PairwiseDistanceModel);
- assertEquals(sm.getName(), "Identity (SeqSpace)");
- assertEquals(((PairwiseDistanceModel) sm).getScoreModel()
- .getPairwiseScore('R', 'C'), 0f);
- assertEquals(((PairwiseDistanceModel) sm).getScoreModel()
- .getPairwiseScore('R', 'r'), 1f);
+ assertTrue(sm instanceof SimilarityScoreModel);
+ assertTrue(sm instanceof PairwiseScoreModelI);
+ assertFalse(sm instanceof DistanceScoreModel);
+ assertEquals(sm.getName(), "DNA");
+ assertEquals(((PairwiseScoreModelI) sm).getPairwiseScore('c', 'x'), 1f);
sm = models.next();
- assertTrue(sm instanceof PairwiseDistanceModel);
- assertEquals(sm.getName(), "DNA");
- assertEquals(((PairwiseDistanceModel) sm).getScoreModel()
- .getPairwiseScore('c', 'x'), 1f);
+ assertTrue(sm instanceof SimilarityScoreModel);
+ assertTrue(sm instanceof PairwiseScoreModelI);
+ assertFalse(sm instanceof DistanceScoreModel);
+ assertEquals(sm.getName(), "PID");
+ assertEquals(((PairwiseScoreModelI) sm).getPairwiseScore('R', 'C'), 0f);
+ assertEquals(((PairwiseScoreModelI) sm).getPairwiseScore('R', 'r'), 1f);
sm = models.next();
- assertFalse(sm instanceof PairwiseDistanceModel);
+ assertFalse(sm instanceof SimilarityScoreModel);
+ assertFalse(sm instanceof PairwiseScoreModelI);
+ assertTrue(sm instanceof DistanceScoreModel);
assertEquals(sm.getName(), "Sequence Feature Similarity");
+ }
- sm = models.next();
- assertFalse(sm instanceof PairwiseDistanceModel);
- assertEquals(sm.getName(), "PID");
+ /**
+ * 'Test' that prints out score matrices in tab-delimited format. This test is
+ * intentionally not assigned to any group so would not be run as part of a
+ * suite. It makes no assertions and is just provided as a utility method for
+ * printing out matrices. Relocated here from ScoreMatrixPrinter.
+ */
+ @Test(groups = "none")
+ public void printAllMatrices_tabDelimited()
+ {
+ printAllMatrices(false);
+ }
+
+ /**
+ * 'Test' that prints out score matrices in html format. This test is
+ * intentionally not assigned to any group so would not be run as part of a
+ * suite. It makes no assertions and is just provided as a utility method for
+ * printing out matrices. Relocated here from ScoreMatrixPrinter.
+ */
+ @Test(groups = "none")
+ public void printAllMatrices_asHtml()
+ {
+ printAllMatrices(true);
+ }
+
+ /**
+ * Print all registered ScoreMatrix as plain or html tables
+ *
+ * @param asHtml
+ */
+ protected void printAllMatrices(boolean asHtml)
+ {
+ for (ScoreModelI sm : ScoreModels.getInstance().getModels())
+ {
+ if (sm instanceof ScoreMatrix)
+ {
+ System.out.println(((ScoreMatrix) sm).outputMatrix(asHtml));
+ }
+ }
}
}