package jalview.datamodel.xdb.embl; import static org.testng.AssertJUnit.assertEquals; import jalview.datamodel.Sequence; import jalview.datamodel.SequenceI; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import org.testng.annotations.Test; public class EmblEntryTest { @Test(groups = "Functional") public void testGetCdsRanges() { EmblEntry testee = new EmblEntry(); /* * Make a (CDS) Feature with 4 locations */ EmblFeature cds = new EmblFeature(); cds.setLocation("join(10..20,complement(30..40),50..60,70..80,complement(110..120))"); int[] exons = testee.getCdsRanges(cds); assertEquals("[10, 20, 40, 30, 50, 60, 70, 80, 120, 110]", Arrays.toString(exons)); } @Test(groups = "Functional") public void testParseCodingFeature() { // not the whole sequence but enough for this test... SequenceI dna = new Sequence("J03321", "GGATCCGTAAGTTAGACGAAATT"); List peptides = new ArrayList(); EmblFile ef = EmblTestHelper.getEmblFile(); EmblFeature feature = null; for (EmblFeature feat : ef.getEntries().get(0).getFeatures()) { if ("CDS".equals(feat.getName())) { feature = feat; break; } } EmblEntry testee = new EmblEntry(); testee.parseCodingFeature(feature, "EMBL", dna, peptides); } }