1 package jalview.analysis;
3 import jalview.datamodel.Sequence;
4 import jalview.datamodel.SequenceI;
6 import java.util.Arrays;
8 import org.testng.Assert;
9 import org.testng.annotations.Test;
11 public class SequenceIdMatcherTest
13 private static SequenceI[] someseqs = {
14 new Sequence("A|ComplexId", "dummy"),
15 new Sequence("A|ComplexId|confused", "dummy"),
16 new Sequence("A|ComplexId|bits_of", "dummy"),
17 new Sequence("ComplexId", "dummy"),
18 new Sequence("A|ComplexIdNot", "dummy"),
19 new Sequence("A ComplexId Id", "dummy"),
20 new Sequence("complexid", "dummy") };
22 private static SequenceIdMatcher getMatcher()
24 return new SequenceIdMatcher(Arrays.asList(someseqs));
27 @Test(groups = { "Functional" })
28 public void findSelfAndOthers()
30 for (SequenceI sq : SequenceIdMatcherTest.someseqs)
32 SequenceI[] idmatches = getMatcher().findAllIdMatches(sq.getName());
34 idmatches.length >= 1,
35 "Couldn't recover at least one sequence for string '"
36 + sq.getName() + "'");
37 SequenceI[] seqmatches = getMatcher().findIdMatch(
38 new SequenceI[] { sq });
39 Assert.assertTrue(seqmatches.length >= 1,
40 "Couldn't recover at least one sequence for sequence object called '"
41 + sq.getName() + "'");
42 Assert.assertTrue(seqmatches.length == idmatches.length,
43 "Different matches found for '" + sq.getName() + "'");
44 for (SequenceI sid : idmatches)
46 boolean found = false;
47 for (SequenceI sobj : seqmatches)
56 "Different sequences recovered for Id "
57 + "and SequenceI (Couldn't find match for '"
58 + sid.getName() + "')");
64 @Test(groups = { "Functional" })
65 public void testExactMatch()
67 SequenceI[] matches = getMatcher().findAllIdMatches("A|ComplexId");
68 Assert.assertTrue(matches.length == 1,
69 "Exact match failed for 'A|ComplexId'");
70 matches = getMatcher().findAllIdMatches("A|ComplexId|confused");
71 Assert.assertTrue(matches.length == 1,
72 "Exact match failed for 'A|ComplexId|confused'");
73 matches = getMatcher().findAllIdMatches("A|ComplexId|bits_of");
74 Assert.assertTrue(matches.length == 1,
75 "Exact match failed for 'A|ComplexId|bits_of'");
76 matches = getMatcher().findAllIdMatches("A ComplexId Id");
77 Assert.assertTrue(matches.length == 1,
78 "Exact match failed for 'A Complex Id'");
82 public void testContainedMatch()