JAL-3760 fix tests for changed behaviour
[jalview.git] / test / jalview / util / ComparisonTest.java
index bce34d4..2e646f5 100644 (file)
@@ -26,12 +26,21 @@ import static org.testng.AssertJUnit.assertTrue;
 
 import jalview.datamodel.Sequence;
 import jalview.datamodel.SequenceI;
+import jalview.gui.JvOptionPane;
 
+import org.testng.annotations.BeforeClass;
 import org.testng.annotations.Test;
 
 public class ComparisonTest
 {
 
+  @BeforeClass(alwaysRun = true)
+  public void setUpJvOptionPane()
+  {
+    JvOptionPane.setInteractiveMode(false);
+    JvOptionPane.setMockResponse(JvOptionPane.CANCEL_OPTION);
+  }
+
   @Test(groups = { "Functional" })
   public void testIsGap()
   {
@@ -76,15 +85,15 @@ public class ComparisonTest
     seq = new Sequence("DNA", "ACTugGCCAG");
     SequenceI seq2 = new Sequence("Protein", "FLIMVSPTYW");
     /*
-     * 90% DNA:
+     * 90% DNA but one protein sequence - expect false
      */
-    assertTrue(Comparison.isNucleotide(new SequenceI[] { seq, seq, seq,
+    assertFalse(Comparison.isNucleotide(new SequenceI[] { seq, seq, seq,
         seq, seq, seq, seq, seq, seq, seq2 }));
-    assertTrue(Comparison.isNucleotide(new SequenceI[][] {
+    assertFalse(Comparison.isNucleotide(new SequenceI[][] {
         new SequenceI[] { seq }, new SequenceI[] { seq, seq, seq },
         new SequenceI[] { seq, seq, seq, seq, seq, seq2 } }));
     /*
-     * 80% DNA:
+     * 80% DNA but one protein sequence - Expect false
      */
     assertFalse(Comparison.isNucleotide(new SequenceI[] { seq, seq, seq,
         seq, seq, seq, seq, seq, seq2, seq2 }));
@@ -106,7 +115,7 @@ public class ComparisonTest
   @Test(groups = { "Functional" })
   public void testPID_includingGaps()
   {
-    String seq1 = "ABCDEF";
+    String seq1 = "ABCDEFG"; // extra length here is ignored
     String seq2 = "abcdef";
     assertEquals("identical", 100f, Comparison.PID(seq1, seq2), 0.001f);
 
@@ -120,12 +129,14 @@ public class ComparisonTest
     int length = seq1.length();
 
     // match gap-residue, match gap-gap: 9/10 identical
+    // TODO should gap-gap be included in a PID score? JAL-791
     assertEquals(90f, Comparison.PID(seq1, seq2, 0, length, true, false),
             0.001f);
     // overloaded version of the method signature above:
     assertEquals(90f, Comparison.PID(seq1, seq2), 0.001f);
 
     // don't match gap-residue, match gap-gap: 7/10 identical
+    // TODO should gap-gap be included in a PID score?
     assertEquals(70f, Comparison.PID(seq1, seq2, 0, length, false, false),
             0.001f);
   }
@@ -154,7 +165,8 @@ public class ComparisonTest
   public void testPID_ungappedOnly()
   {
     // 5 identical, 2 gap-gap, 2 gap-residue, 1 mismatch
-    String seq1 = "a--b-cdefh";
+    // the extra length of seq1 is ignored
+    String seq1 = "a--b-cdefhr";
     String seq2 = "a---bcdefg";
     int length = seq1.length();
 
@@ -190,14 +202,14 @@ public class ComparisonTest
   }
 
   @Test(groups = { "Functional" })
-  public void compareCharsTest()
+  public void testIsSameResidue()
   {
-    assertTrue(Comparison.compareChars('a', 'a', false));
-    assertTrue(Comparison.compareChars('a', 'a', true));
-    assertTrue(Comparison.compareChars('A', 'a', false));
-    assertTrue(Comparison.compareChars('a', 'A', false));
+    assertTrue(Comparison.isSameResidue('a', 'a', false));
+    assertTrue(Comparison.isSameResidue('a', 'a', true));
+    assertTrue(Comparison.isSameResidue('A', 'a', false));
+    assertTrue(Comparison.isSameResidue('a', 'A', false));
 
-    assertFalse(Comparison.compareChars('a', 'A', true));
-    assertFalse(Comparison.compareChars('A', 'a', true));
+    assertFalse(Comparison.isSameResidue('a', 'A', true));
+    assertFalse(Comparison.isSameResidue('A', 'a', true));
   }
 }