X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=test%2Fjalview%2Futil%2FComparisonTest.java;h=cef9ffc1d94806d0103546cc2da6f6b425d9a42e;hb=5221c772a071266446c5c959f34ec89c8e874201;hp=9aab66c93a4550d0ced4cf72cb05e4ed5a0b2ff4;hpb=37de9310bec3501cbc6381e0c3dcb282fcaad812;p=jalview.git diff --git a/test/jalview/util/ComparisonTest.java b/test/jalview/util/ComparisonTest.java index 9aab66c..cef9ffc 100644 --- a/test/jalview/util/ComparisonTest.java +++ b/test/jalview/util/ComparisonTest.java @@ -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() { @@ -53,8 +62,9 @@ public class ComparisonTest { SequenceI seq = new Sequence("eightypercent", "agctuAGCPV"); assertFalse(Comparison.isNucleotide(new SequenceI[] { seq })); - assertFalse(Comparison.isNucleotide(new SequenceI[][] { new SequenceI[] - { seq } })); + assertFalse( + Comparison.isNucleotide(new SequenceI[][] + { new SequenceI[] { seq } })); seq = new Sequence("eightyfivepercent", "agctuAGCPVagctuAGCUV"); assertFalse(Comparison.isNucleotide(new SequenceI[] { seq })); @@ -76,21 +86,27 @@ 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, - seq, seq, seq, seq, seq, seq, seq2 })); - assertTrue(Comparison.isNucleotide(new SequenceI[][] { - new SequenceI[] { seq }, new SequenceI[] { seq, seq, seq }, - new SequenceI[] { seq, seq, seq, seq, seq, seq2 } })); + assertFalse( + Comparison.isNucleotide(new SequenceI[] + { seq, seq, seq, seq, seq, seq, seq, seq, seq, seq2 })); + 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 })); - assertFalse(Comparison.isNucleotide(new SequenceI[][] { new SequenceI[] - { seq }, new SequenceI[] { seq, seq, seq }, - new SequenceI[] { seq, seq, seq, seq, seq2, seq2, null } })); + assertFalse( + Comparison.isNucleotide(new SequenceI[] + { seq, seq, seq, seq, seq, seq, seq, seq, seq2, seq2 })); + assertFalse( + Comparison.isNucleotide(new SequenceI[][] + { new SequenceI[] { seq }, new SequenceI[] { seq, seq, seq }, + new SequenceI[] + { seq, seq, seq, seq, seq2, seq2, null } })); seq = new Sequence("ProteinThatLooksLikeDNA", "WYATGCCTGAgtcgt"); // 12/14 = 85.7% @@ -106,7 +122,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 +136,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 +172,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(); @@ -188,4 +207,16 @@ public class ComparisonTest assertTrue(Comparison.isNucleotideSequence("a A-g.GcCtTuU", true)); assertFalse(Comparison.isNucleotideSequence("a A-g.GcCtTuU", false)); } + + @Test(groups = { "Functional" }) + public void testIsSameResidue() + { + 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.isSameResidue('a', 'A', true)); + assertFalse(Comparison.isSameResidue('A', 'a', true)); + } }