X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=test%2Fjalview%2Fdatamodel%2FSearchResultsTest.java;h=b1bb43c5bd7999c914d4c4c0348c81d953c9cc55;hb=31aca2e9990ff33e088faa41419bb60014a6fbcf;hp=5d2b8a4d324a2e450466f1cd08d0660b888f6684;hpb=57738a1f3c19b1c3a00bd3ac5108f8cd0af32f99;p=jalview.git diff --git a/test/jalview/datamodel/SearchResultsTest.java b/test/jalview/datamodel/SearchResultsTest.java index 5d2b8a4..b1bb43c 100644 --- a/test/jalview/datamodel/SearchResultsTest.java +++ b/test/jalview/datamodel/SearchResultsTest.java @@ -26,6 +26,7 @@ import static org.testng.AssertJUnit.assertSame; import static org.testng.AssertJUnit.assertTrue; import java.util.BitSet; +import java.util.List; import org.junit.Assert; import org.testng.annotations.BeforeClass; @@ -369,4 +370,44 @@ public class SearchResultsTest sr.addResult(cds2, 7, 9); // start-end overlap assertTrue(sr.involvesSequence(cds2)); } + + /** + * Test extraction of Sequence objects for matched ranges on a sequence + */ + @Test(groups = { "Functional" }) + public void testGetSequences() + { + SequenceI seq1 = new Sequence("", "abcdefghijklm"); + SequenceI seq2 = new Sequence("", "nopqrstuvwxyz"); + seq2.setStart(23); + seq2.setEnd(35); + List seqres = null; + + SearchResultsI sr = new SearchResults(); + seqres = sr.getMatchingSubSequences(); + assertEquals(0, seqres.size()); + + sr.addResult(seq1, 3, 5); + seqres = sr.getMatchingSubSequences(); + + assertEquals(1, seqres.size()); + assertEquals("cde", seqres.get(0).getSequenceAsString()); + assertEquals(3, seqres.get(0).getStart()); + assertEquals(seq1, seqres.get(0).getDatasetSequence()); + + sr.addResult(seq1, 3, 6); + seqres = sr.getMatchingSubSequences(); + + assertEquals(2, seqres.size()); + assertEquals("cdef", seqres.get(1).getSequenceAsString()); + assertEquals(3, seqres.get(1).getStart()); + + // this is a quirk - match on 26-29 yields subsequence 27-30 + sr.addResult(seq2, 26, 29); + seqres = sr.getMatchingSubSequences(); + assertEquals(3, seqres.size()); + assertEquals("qrst", seqres.get(2).getSequenceAsString()); + assertEquals(26, seqres.get(2).getStart()); + } + }