JAL-1800 separated SearchResults.getCharacters() from toString()
[jalview.git] / test / jalview / datamodel / MatchTest.java
1 package jalview.datamodel;
2 import static org.testng.AssertJUnit.assertEquals;
3 import static org.testng.AssertJUnit.assertFalse;
4 import static org.testng.AssertJUnit.assertTrue;
5
6 import jalview.datamodel.SearchResults.Match;
7
8 import org.testng.annotations.Test;
9
10 public class MatchTest
11 {
12
13   @Test(groups = { "Functional" })
14   public void testToString()
15   {
16     SequenceI seq = new Sequence("", "abcdefghijklm");
17     Match m = new SearchResults().new Match(seq, 3, 5);
18     assertEquals("2cde", m.toString());
19   }
20
21   @Test(groups = { "Functional" })
22   public void testGetCharacters()
23   {
24     SequenceI seq = new Sequence("", "abcdefghijklm");
25     Match m = new SearchResults().new Match(seq, 3, 5);
26     assertEquals("cde", m.getCharacters());
27   }
28
29   @Test(groups = { "Functional" })
30   public void testEquals()
31   {
32     SequenceI seq1 = new Sequence("", "abcdefghijklm");
33     SequenceI seq2 = new Sequence("", "abcdefghijklm");
34     SearchResults sr1 = new SearchResults();
35     SearchResults sr2 = new SearchResults();
36
37     assertFalse(sr1.equals(null));
38     assertFalse(sr1.equals(seq1));
39     assertTrue(sr1.equals(sr1));
40     assertTrue(sr1.equals(sr2));
41     assertTrue(sr2.equals(sr1));
42
43     sr1.addResult(seq1, 1, 1);
44     assertFalse(sr1.equals(sr2));
45     assertFalse(sr2.equals(sr1));
46
47     sr2.addResult(seq1, 1, 1);
48     assertTrue(sr1.equals(sr2));
49     assertTrue(sr2.equals(sr1));
50
51     /*
52      * same match but on different sequences - not equal
53      */
54     SearchResults sr3 = new SearchResults();
55     sr3.addResult(seq2, 1, 1);
56     assertFalse(sr1.equals(sr3));
57     assertFalse(sr3.equals(sr1));
58
59     /*
60      * same sequence but different end position - not equal
61      */
62     sr1.addResult(seq1, 3, 4);
63     sr2.addResult(seq1, 3, 5);
64     assertFalse(sr1.equals(sr2));
65
66     /*
67      * same sequence but different start position - not equal
68      */
69     sr1 = new SearchResults();
70     sr2 = new SearchResults();
71     sr1.addResult(seq1, 3, 4);
72     sr2.addResult(seq1, 2, 4);
73     assertFalse(sr1.equals(sr2));
74   }
75 }