JAL-1705 various refactoring towards Uniprot-to-Ensembl fetching
[jalview.git] / test / jalview / ext / ensembl / EnsemblGeneTest.java
index 1f1a84e..a262c1e 100644 (file)
@@ -12,6 +12,7 @@ import jalview.io.gff.SequenceOntologyFactory;
 import jalview.io.gff.SequenceOntologyLite;
 import jalview.util.MapList;
 
+import java.util.Arrays;
 import java.util.List;
 
 import org.testng.annotations.AfterClass;
@@ -129,33 +130,51 @@ public class EnsemblGeneTest
     SequenceFeature sf1 = new SequenceFeature("transcript", "", 20000,
             20500, 0f, null);
     sf1.setValue("Parent", "gene:" + geneId);
+    sf1.setValue("transcript_id", "transcript1");
     genomic.addSequenceFeature(sf1);
 
     // transcript sub-type feature
     SequenceFeature sf2 = new SequenceFeature("snRNA", "", 20000,
             20500, 0f, null);
     sf2.setValue("Parent", "gene:" + geneId);
+    sf2.setValue("transcript_id", "transcript2");
     genomic.addSequenceFeature(sf2);
 
     // NMD_transcript_variant treated like transcript in Ensembl
     SequenceFeature sf3 = new SequenceFeature("NMD_transcript_variant", "",
             20000, 20500, 0f, null);
     sf3.setValue("Parent", "gene:" + geneId);
+    sf3.setValue("transcript_id", "transcript3");
     genomic.addSequenceFeature(sf3);
 
     // transcript for a different gene - ignored
     SequenceFeature sf4 = new SequenceFeature("snRNA", "", 20000, 20500,
             0f, null);
     sf4.setValue("Parent", "gene:XYZ");
+    sf4.setValue("transcript_id", "transcript4");
     genomic.addSequenceFeature(sf4);
 
     EnsemblGene testee = new EnsemblGene();
+
+    /*
+     * with no filter
+     */
     List<SequenceFeature> features = testee.getTranscriptFeatures(geneId,
-            genomic);
+            genomic, null);
     assertEquals(3, features.size());
     assertSame(sf1, features.get(0));
     assertSame(sf2, features.get(1));
     assertSame(sf3, features.get(2));
+
+    /*
+     * with filter
+     */
+    List<String> ids = Arrays.asList(new String[] { "transcript2",
+        "transcript3" });
+    features = testee.getTranscriptFeatures(geneId, genomic, ids);
+    assertEquals(2, features.size());
+    assertSame(sf2, features.get(0));
+    assertSame(sf3, features.get(1));
   }
 
   /**