+/*
+ * 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 <http://www.gnu.org/licenses/>.
+ * 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;
* Verify that the singleton constructor successfully loads Jalview's built-in
* score models
*/
- @Test
+ @Test(groups = "Functional")
public void testConstructor()
{
- Iterator<DistanceModelI> models = ScoreModels.getInstance().getModels()
+ Iterator<ScoreModelI> 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);
-
- sm = models.next();
- assertTrue(sm instanceof PairwiseDistanceModel);
+ assertTrue(sm instanceof SimilarityScoreModel);
+ assertTrue(sm instanceof PairwiseScoreModelI);
+ assertFalse(sm instanceof DistanceScoreModel);
assertEquals(sm.getName(), "DNA");
- assertEquals(((PairwiseDistanceModel) sm).getScoreModel()
- .getPairwiseScore('c', 'x'), 1f);
+ assertEquals(((PairwiseScoreModelI) sm).getPairwiseScore('c', 'x'), 1f);
sm = models.next();
- assertFalse(sm instanceof PairwiseDistanceModel);
- assertEquals(sm.getName(), "Sequence Feature Similarity");
+ 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);
- assertEquals(sm.getName(), "PID");
+ assertFalse(sm instanceof SimilarityScoreModel);
+ assertFalse(sm instanceof PairwiseScoreModelI);
+ assertTrue(sm instanceof DistanceScoreModel);
+ assertEquals(sm.getName(), "Sequence Feature Similarity");
}
/**
* suite. It makes no assertions and is just provided as a utility method for
* printing out matrices. Relocated here from ScoreMatrixPrinter.
*/
- @Test
+ @Test(groups = "none")
public void printAllMatrices_tabDelimited()
{
printAllMatrices(false);
* suite. It makes no assertions and is just provided as a utility method for
* printing out matrices. Relocated here from ScoreMatrixPrinter.
*/
- @Test
+ @Test(groups = "none")
public void printAllMatrices_asHtml()
{
printAllMatrices(true);
*/
protected void printAllMatrices(boolean asHtml)
{
- for (DistanceModelI dm : ScoreModels.getInstance().getModels())
+ for (ScoreModelI sm : ScoreModels.getInstance().getModels())
{
- if (dm instanceof PairwiseDistanceModel)
+ if (sm instanceof ScoreMatrix)
{
- PairwiseScoreModelI psm = ((PairwiseDistanceModel) dm)
- .getScoreModel();
- if (psm instanceof ScoreMatrix)
- {
- ScoreMatrix sm = (ScoreMatrix) psm;
- System.out.println("ScoreMatrix " + sm.getName());
- System.out.println(sm.outputMatrix(asHtml));
- }
+ System.out.println(((ScoreMatrix) sm).outputMatrix(asHtml));
}
}
}