1 package jalview.analysis;
3 import static org.testng.AssertJUnit.assertFalse;
4 import static org.testng.AssertJUnit.assertTrue;
6 import jalview.analysis.SequenceIdMatcher.SeqIdName;
7 import jalview.datamodel.SequenceI;
9 import org.testng.annotations.Test;
11 public class SequenceIdMatcherTest
15 * Test the method that checks for one sequence id starting with the other,
16 * followed by an 'allowed' separator character
18 @Test(groups = "Functional")
19 public void test_seqIdNameEquals()
21 SequenceIdMatcher sequenceIdMatcher = new SequenceIdMatcher(
25 * target name = matcher name + word separator...
27 SeqIdName testee = sequenceIdMatcher.new SeqIdName("A12345");
28 assertTrue(testee.equals("A12345"));
29 assertTrue(testee.equals("A12345~"));
30 assertTrue(testee.equals("A12345."));
31 assertTrue(testee.equals("A12345 "));
32 assertTrue(testee.equals("A12345|"));
33 assertTrue(testee.equals("A12345#"));
34 assertTrue(testee.equals("A12345\\"));
35 assertTrue(testee.equals("A12345/"));
36 assertTrue(testee.equals("A12345<"));
37 assertTrue(testee.equals("A12345>"));
38 assertTrue(testee.equals("A12345!"));
39 assertTrue(testee.equals("A12345\""));
40 assertTrue(testee.equals("A12345" + String.valueOf((char) 0x00A4)));
41 assertTrue(testee.equals("A12345$a"));
42 assertTrue(testee.equals("A12345%b"));
43 assertTrue(testee.equals("A12345^cd"));
44 assertTrue(testee.equals("A12345*efg"));
45 assertTrue(testee.equals("A12345)^&!"));
46 assertTrue(testee.equals("A12345}01&*"));
47 assertTrue(testee.equals("A12345[A23456"));
48 assertTrue(testee.equals("A12345@|Uniprot"));
49 assertTrue(testee.equals("A12345'whatever you want here"));
50 assertTrue(testee.equals("A12345,"));
51 assertTrue(testee.equals("A12345?"));
52 assertTrue(testee.equals("A12345_"));
55 * matcher name = target name + word separator...
57 testee = sequenceIdMatcher.new SeqIdName("A12345#");
58 assertTrue(testee.equals("A12345"));
61 * miscellaneous failing cases
63 testee = sequenceIdMatcher.new SeqIdName("A12345");
64 assertFalse(testee.equals((Object) null));
65 assertFalse(testee.equals(""));
66 assertFalse(testee.equals("a12345"));
67 assertFalse(testee.equals("A12346|A12345"));
69 testee = sequenceIdMatcher.new SeqIdName("A12345?B23456");
70 assertFalse(testee.equals("B23456"));
71 assertFalse(testee.equals("A12345|"));
72 assertFalse(testee.equals("A12345?"));
74 testee = sequenceIdMatcher.new SeqIdName("A12345<");
75 assertFalse(testee.equals("A12345?"));
76 assertTrue(testee.equals("A12345<")); // bug? inconsistent