X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=test%2Fjalview%2Fio%2Fgff%2FGff3HelperTest.java;fp=test%2Fjalview%2Fio%2Fgff%2FGff3HelperTest.java;h=cd5a0d8853e8571d75a9992a241f39790e1aa20f;hb=2dd39c36211f947fda099c550e711ef5905efefd;hp=bf038acecd371554f300c88061b293ef89b2fc69;hpb=4dd40d33a5becefd51c31a426f2501b21029f82c;p=jalview.git diff --git a/test/jalview/io/gff/Gff3HelperTest.java b/test/jalview/io/gff/Gff3HelperTest.java index bf038ac..cd5a0d8 100644 --- a/test/jalview/io/gff/Gff3HelperTest.java +++ b/test/jalview/io/gff/Gff3HelperTest.java @@ -37,7 +37,9 @@ import jalview.gui.JvOptionPane; import java.io.IOException; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.Map; import org.testng.annotations.BeforeClass; import org.testng.annotations.Test; @@ -231,4 +233,48 @@ public class Gff3HelperTest .getToRanges().get(0)); } + @Test(groups = "Functional") + public void testGetDescription() + { + Gff3Helper testee = new Gff3Helper(); + SequenceFeature sf = new SequenceFeature("type", "desc", 10, 20, 3f, + "group"); + Map> attributes = new HashMap>(); + assertNull(testee.getDescription(sf, attributes)); + + // ID if any is a fall-back for description + sf.setValue("ID", "Patrick"); + assertEquals("Patrick", testee.getDescription(sf, attributes)); + + // Target is set by Exonerate + sf.setValue("Target", "Destination Moon"); + assertEquals("Destination", testee.getDescription(sf, attributes)); + + // Ensembl variant feature - extract "alleles" value + // may be sequence_variant or a sub-type in the sequence ontology + sf = new SequenceFeature("feature_variant", "desc", 10, 20, 3f, "group"); + List atts = new ArrayList(); + atts.add("A"); + atts.add("C"); + atts.add("T"); + attributes.put("alleles", atts); + assertEquals("A,C,T", testee.getDescription(sf, attributes)); + + // Ensembl transcript or exon feature - extract Name + List atts2 = new ArrayList(); + atts2.add("ENSE00001871077"); + attributes.put("Name", atts2); + sf = new SequenceFeature("transcript", "desc", 10, 20, 3f, "group"); + assertEquals("ENSE00001871077", testee.getDescription(sf, attributes)); + // transcript sub-type in SO + sf = new SequenceFeature("mRNA", "desc", 10, 20, 3f, "group"); + assertEquals("ENSE00001871077", testee.getDescription(sf, attributes)); + // special usage of feature by Ensembl + sf = new SequenceFeature("NMD_transcript_variant", "desc", 10, 20, 3f, + "group"); + assertEquals("ENSE00001871077", testee.getDescription(sf, attributes)); + // exon feature + sf = new SequenceFeature("exon", "desc", 10, 20, 3f, "group"); + assertEquals("ENSE00001871077", testee.getDescription(sf, attributes)); + } }