package jalview.io; import static org.testng.Assert.assertEquals; import static org.testng.Assert.assertTrue; import jalview.datamodel.SequenceFeature; import jalview.datamodel.SequenceI; import jalview.datamodel.features.SequenceFeaturesI; import java.io.IOException; import java.util.List; import org.testng.annotations.Test; public class BSMLFileTest { @Test(groups="Functional") public void testParse_BSML() throws IOException { //@formatter:off String data = "\r\n" + "\r\n" + " \r\n" + " \r\n" + " \r\n" + " \r\n" + " \r\n" + " \r\n" + " \r\n" + " \r\n" + " \r\n" + " \r\n" + " \r\n" + " \r\n" + " \r\n" + " \r\n" + " \r\n" + " \r\n" + " --AATTTT-ATTTAGTGTCT-----------\r\n" + " \r\n" + " \r\n" + " \r\n" + " \r\n" + " \r\n" + " \r\n" + "\r\n" + ""; BSMLFile cf = new BSMLFile(data, DataSourceType.PASTE); // why twice? cf.parse(); SequenceI[] seqs = cf.getSeqsAsArray(); assertEquals(seqs.length, 1); SequenceI seq = seqs[0]; assertEquals(seq.getName(), "EP1"); assertEquals(seq.getStart(), 1); assertEquals(seq.getEnd(), 31); assertTrue(seq.getSequenceAsString().equals("--AATTTT-ATTTAGTGTCT-----------")); SequenceFeaturesI features = seq.getFeatures(); List genes = features.getAllFeatures("GENE"); assertEquals(genes.size(), 1); SequenceFeature sf = genes.get(0); assertEquals(sf.getDescription(), "TEST-001"); assertEquals(sf.begin + "," + sf.end, "10,20"); } }