Merge branch 'develop' into features/JAL-4219_extended_fasta_rna_ss
[jalview.git] / test / jalview / gui / CalculationChooserTest.java
index 9835189..ac02c03 100644 (file)
@@ -55,27 +55,29 @@ public class CalculationChooserTest
      * peptide models for PCA
      */
     List<ScoreModelI> filtered = CalculationChooser
-            .getApplicableScoreModels(false, true);
-    assertEquals(filtered.size(), 4);
+            .getApplicableScoreModels(false, true, true,false);
+    assertEquals(filtered.size(), 5);
     assertSame(filtered.get(0), blosum62);
     assertSame(filtered.get(1), pam250);
     assertEquals(filtered.get(2).getName(), "PID");
     assertEquals(filtered.get(3).getName(), "Sequence Feature Similarity");
+    assertEquals(filtered.get(4).getName(), "Secondary Structure Similarity");
 
     /*
      * peptide models for Tree are the same
      */
-    filtered = CalculationChooser.getApplicableScoreModels(false, false);
-    assertEquals(filtered.size(), 4);
+    filtered = CalculationChooser.getApplicableScoreModels(false, false, true,false);
+    assertEquals(filtered.size(), 5);
     assertSame(filtered.get(0), blosum62);
     assertSame(filtered.get(1), pam250);
     assertEquals(filtered.get(2).getName(), "PID");
     assertEquals(filtered.get(3).getName(), "Sequence Feature Similarity");
+    assertEquals(filtered.get(4).getName(), "Secondary Structure Similarity");
 
     /*
      * nucleotide models for PCA
      */
-    filtered = CalculationChooser.getApplicableScoreModels(true, true);
+    filtered = CalculationChooser.getApplicableScoreModels(true, true, false,false);
     assertEquals(filtered.size(), 3);
     assertSame(filtered.get(0), dna);
     assertEquals(filtered.get(1).getName(), "PID");
@@ -84,7 +86,7 @@ public class CalculationChooserTest
     /*
      * nucleotide models for Tree are the same
      */
-    filtered = CalculationChooser.getApplicableScoreModels(true, false);
+    filtered = CalculationChooser.getApplicableScoreModels(true, false, false,false);
     assertEquals(filtered.size(), 3);
     assertSame(filtered.get(0), dna);
     assertEquals(filtered.get(1).getName(), "PID");
@@ -99,20 +101,30 @@ public class CalculationChooserTest
     /*
      * nucleotide models for Tree are unchanged
      */
-    filtered = CalculationChooser.getApplicableScoreModels(true, false);
-    assertEquals(filtered.size(), 3);
+    filtered = CalculationChooser.getApplicableScoreModels(true, false, true,false);
+    assertEquals(filtered.size(), 4);
     assertSame(filtered.get(0), dna);
     assertEquals(filtered.get(1).getName(), "PID");
     assertEquals(filtered.get(2).getName(), "Sequence Feature Similarity");
+    assertEquals(filtered.get(3).getName(), "Secondary Structure Similarity");
 
     /*
      * nucleotide models for PCA add BLOSUM62 as last option
      */
-    filtered = CalculationChooser.getApplicableScoreModels(true, true);
+    filtered = CalculationChooser.getApplicableScoreModels(true, true, false,false);
     assertEquals(filtered.size(), 4);
     assertSame(filtered.get(0), dna);
     assertEquals(filtered.get(1).getName(), "PID");
     assertEquals(filtered.get(2).getName(), "Sequence Feature Similarity");
     assertSame(filtered.get(3), blosum62);
+    
+    filtered = CalculationChooser.getApplicableScoreModels(true, true, false,true);
+    assertEquals(filtered.size(), 1); // DNA matrix for DNA pasimap
+    for (int i=0; i<=8;i++)
+    {
+      boolean isDna = (i & 1) != 0,isPca = (i & 2) != 0,isSS = (i & 4) != 0;
+     
+      assertEquals(CalculationChooser.getApplicableScoreModels(isDna,isPca,isSS,true).size(), (isDna) ? 1: 2);
+    }
   }
 }