JAL-2997 unit test
[jalview.git] / test / jalview / io / ClustalFileTest.java
1 package jalview.io;
2
3 import static org.testng.Assert.assertEquals;
4 import static org.testng.Assert.assertTrue;
5
6 import jalview.datamodel.SequenceI;
7
8 import java.io.IOException;
9
10 import org.testng.annotations.Test;
11
12 public class ClustalFileTest
13 {
14   @Test(groups="Functional")
15   public void testParse_withNumbering() throws IOException
16   {
17     //@formatter:off
18     String data = "CLUSTAL\n\n"
19             + "FER_CAPAA/1-8      -----------------------------------------------------------A\t1\n"
20             + "FER_CAPAN/1-55     MA------SVSATMISTSFMPRKPAVTSL-KPIPNVGE--ALFGLKS-A--NGGKVTCMA 48\n"
21             + "FER1_SOLLC/1-55    MA------SISGTMISTSFLPRKPAVTSL-KAISNVGE--ALFGLKS-G--RNGRITCMA 48\n"
22             + "Q93XJ9_SOLTU/1-55  MA------SISGTMISTSFLPRKPVVTSL-KAISNVGE--ALFGLKS-G--RNGRITCMA 48\n"
23             + "FER1_PEA/1-60      MATT---PALYGTAVSTSFLRTQPMPMSV-TTTKAFSN--GFLGLKT-SLKRGDLAVAMA 53\n\n"
24             + "FER_CAPAA/1-8      SYKVKLI 8\n"
25             + "FER_CAPAN/1-55     SYKVKLI 55\n"
26             + "FER1_SOLLC/1-55    SYKVKLI 55\n"
27             + "Q93XJ9_SOLTU/1-55  SYKVKLI 55\n"
28             + "FER1_PEA/1-60      SYKVKLV 60\n";
29     //@formatter:on
30     ClustalFile cf = new ClustalFile(data, DataSourceType.PASTE);
31     cf.parse();
32     SequenceI[] seqs = cf.getSeqsAsArray();
33     assertEquals(seqs.length, 5);
34     assertEquals(seqs[0].getName(), "FER_CAPAA");
35     assertEquals(seqs[0].getStart(), 1);
36     assertEquals(seqs[0].getEnd(), 8);
37     assertTrue(seqs[0].getSequenceAsString().endsWith("ASYKVKLI"));
38   }
39 }