package jalview.io.gff;
-import static org.testng.AssertJUnit.assertFalse;
-import static org.testng.AssertJUnit.assertTrue;
+import static org.testng.Assert.assertEquals;
+import static org.testng.Assert.assertFalse;
+import static org.testng.Assert.assertTrue;
+import jalview.datamodel.ontology.OntologyI;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
public class SequenceOntologyLiteTest
{
+ private OntologyI so;
+
+ @BeforeClass(alwaysRun = true)
+ public void setUp()
+ {
+ so = new SequenceOntologyLite();
+ }
+
@Test(groups = "Functional")
public void testIsA_sequenceVariant()
{
- SequenceOntologyI so = new SequenceOntologyLite();
-
assertFalse(so.isA("CDS", "sequence_variant"));
assertTrue(so.isA("sequence_variant", "sequence_variant"));
assertTrue(so.isA("inframe_insertion", "sequence_variant"));
assertTrue(so.isA("splice_region_variant", "sequence_variant"));
}
+
+ @Test(groups = "Functional")
+ public void testGetParentTerms()
+ {
+ Set<String> terms = new HashSet<>();
+ terms.add("sequence_variant");
+ terms.add("NMD_transcript_variant");
+ terms.add("stop_lost");
+ terms.add("chain"); // not an SO term
+
+ Set<String> parents = so.getParentTerms(terms);
+ assertEquals(parents.size(), 2);
+ assertTrue(parents.contains("sequence_variant"));
+ assertTrue(parents.contains("chain"));
+ }
+
+ @Test(groups = "Functional")
+ public void testGetChildTerms()
+ {
+ List<String> terms = Collections.<String> emptyList();
+ List<String> children = so.getChildTerms("exon", terms);
+ assertTrue(children.isEmpty());
+
+ terms = Arrays.asList("gene", "transcript", "snRNA", "junk", "mRNA");
+ children = so.getChildTerms("exon", terms);
+ assertTrue(children.isEmpty());
+ children = so.getChildTerms("transcript", terms);
+ assertEquals(children.size(), 2);
+ assertTrue(children.contains("snRNA"));
+ assertTrue(children.contains("mRNA"));
+
+ terms = Arrays.asList("gene", "transcript", "synonymous_variant",
+ "stop_lost", "chain");
+ children = so.getChildTerms("sequence_variant", terms);
+ assertEquals(children.size(), 2);
+ assertTrue(children.contains("synonymous_variant"));
+ assertTrue(children.contains("stop_lost"));
+ }
}