1 package jalview.analysis;
3 import static org.junit.Assert.assertFalse;
4 import static org.junit.Assert.assertTrue;
5 import jalview.datamodel.DBRefEntry;
6 import jalview.datamodel.Sequence;
7 import jalview.datamodel.SequenceI;
11 public class CrossRefTest
15 * Tests for the method that checks if one sequence cross-references another
18 public void testHasCrossRef()
20 assertFalse(CrossRef.hasCrossRef(null, null));
21 SequenceI seq1 = new Sequence("EMBL|A12345", "ABCDEF");
22 assertFalse(CrossRef.hasCrossRef(seq1, null));
23 assertFalse(CrossRef.hasCrossRef(null, seq1));
24 SequenceI seq2 = new Sequence("UNIPROT|V20192", "ABCDEF");
25 assertFalse(CrossRef.hasCrossRef(seq1, seq2));
28 seq1.addDBRef(new DBRefEntry("UNIPROT", "1", "v20193"));
29 assertFalse(CrossRef.hasCrossRef(seq1, seq2));
31 // case-insensitive; version number is ignored
32 seq1.addDBRef(new DBRefEntry("UNIPROT", "1", "v20192"));
33 assertTrue(CrossRef.hasCrossRef(seq1, seq2));
36 seq1.addDBRef(new DBRefEntry("UNIPROT", "1", "V20192"));
37 assertTrue(CrossRef.hasCrossRef(seq1, seq2));
38 // test is one-way only
39 assertFalse(CrossRef.hasCrossRef(seq2, seq1));
43 * Tests for the method that checks if either sequence cross-references the
47 public void testHaveCrossRef()
49 assertFalse(CrossRef.hasCrossRef(null, null));
50 SequenceI seq1 = new Sequence("EMBL|A12345", "ABCDEF");
51 assertFalse(CrossRef.haveCrossRef(seq1, null));
52 assertFalse(CrossRef.haveCrossRef(null, seq1));
53 SequenceI seq2 = new Sequence("UNIPROT|V20192", "ABCDEF");
54 assertFalse(CrossRef.haveCrossRef(seq1, seq2));
56 seq1.addDBRef(new DBRefEntry("UNIPROT", "1", "V20192"));
57 assertTrue(CrossRef.haveCrossRef(seq1, seq2));
58 // next is true for haveCrossRef, false for hasCrossRef
59 assertTrue(CrossRef.haveCrossRef(seq2, seq1));
61 // now the other way round
63 seq2.addDBRef(new DBRefEntry("EMBL", "1", "A12345"));
64 assertTrue(CrossRef.haveCrossRef(seq1, seq2));
65 assertTrue(CrossRef.haveCrossRef(seq2, seq1));
68 seq1.addDBRef(new DBRefEntry("UNIPROT", "1", "V20192"));
69 assertTrue(CrossRef.haveCrossRef(seq1, seq2));
70 assertTrue(CrossRef.haveCrossRef(seq2, seq1));