1 package jalview.io.gff;
3 import static org.testng.AssertJUnit.assertFalse;
4 import static org.testng.AssertJUnit.assertTrue;
6 import org.testng.annotations.AfterClass;
7 import org.testng.annotations.BeforeClass;
8 import org.testng.annotations.Test;
10 public class SequenceOntologyTest
12 private SequenceOntologyI so;
16 long now = System.currentTimeMillis();
17 SequenceOntologyFactory.setInstance(new SequenceOntology());
18 long elapsed = System.currentTimeMillis() - now;
19 System.out.println("Load and cache of Sequence Ontology took "
21 so = SequenceOntologyFactory.getInstance();
25 public void tearDown()
27 SequenceOntologyFactory.setInstance(null);
30 @Test(groups = "Functional")
33 assertFalse(so.isA(null, null));
34 assertFalse(so.isA(null, "SO:0000087"));
35 assertFalse(so.isA("SO:0000087", null));
36 assertFalse(so.isA("complete", "garbage"));
38 assertTrue(so.isA("SO:0000087", "SO:0000704"));
39 assertFalse(so.isA("SO:0000704", "SO:0000087"));
40 assertTrue(so.isA("SO:0000736", "SO:0000735"));
43 assertTrue(so.isA("micronuclear_sequence", "micronuclear_sequence"));
45 assertTrue(so.isA("micronuclear_sequence", "organelle_sequence"));
47 assertTrue(so.isA("micronuclear_sequence", "sequence_location"));
49 assertTrue(so.isA("micronuclear_sequence", "sequence_attribute"));
51 // same thing by name / description:
52 assertTrue(so.isA("micronuclear_sequence", "SO:0000084"));
53 assertTrue(so.isA("SO:0000084", "micronuclear_sequence"));
54 assertTrue(so.isA("SO:0000084", "SO:0000084"));
56 // SO name to description:
57 assertTrue(so.isA("SO:0000084", "organelle_sequence"));
58 assertTrue(so.isA("SO:0000084", "sequence_location"));
59 assertTrue(so.isA("SO:0000084", "sequence_attribute"));
61 // description to SO name:
62 assertTrue(so.isA("micronuclear_sequence", "SO:0000736"));
63 assertTrue(so.isA("micronuclear_sequence", "SO:0000735"));
64 assertTrue(so.isA("micronuclear_sequence", "SO:0000400"));
67 @Test(groups = "Functional")
68 public void testIsCDS()
70 assertTrue(so.isA("CDS", "CDS"));
71 assertTrue(so.isA("CDS_predicted", "CDS"));
72 assertTrue(so.isA("transposable_element_CDS", "CDS"));
73 assertTrue(so.isA("edited_CDS", "CDS"));
74 assertTrue(so.isA("CDS_independently_known", "CDS"));
75 assertTrue(so.isA("CDS_fragment", "CDS"));
76 assertFalse(so.isA("CDS_region", "CDS"));// part_of
77 assertFalse(so.isA("polypeptide", "CDS")); // derives_from