2 * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
3 * Copyright (C) 2014 The Jalview Authors
5 * This file is part of Jalview.
7 * Jalview is free software: you can redistribute it and/or
8 * modify it under the terms of the GNU General Public License
9 * as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
11 * Jalview is distributed in the hope that it will be useful, but
12 * WITHOUT ANY WARRANTY; without even the implied warranty
13 * of MERCHANTABILITY or FITNESS FOR A PARTICULAR
14 * PURPOSE. See the GNU General Public License for more details.
16 * You should have received a copy of the GNU General Public License along with Jalview. If not, see <http://www.gnu.org/licenses/>.
17 * The Jalview Authors are detailed in the 'AUTHORS' file.
21 import static org.junit.Assert.*;
24 import java.io.IOException;
26 import org.junit.AfterClass;
27 import org.junit.BeforeClass;
28 import org.junit.Test;
34 public class FileIOTester
38 * @throws java.lang.Exception
41 public static void setUpBeforeClass() throws Exception
46 * @throws java.lang.Exception
49 public static void tearDownAfterClass() throws Exception
52 // TODO: make a better/more comprehensive test harness for identify/io
54 final static File ALIGN_FILE = new File("test/jalview/io/test_gz_fasta.gz");
55 final static File NOTGZALIGN_FILE = new File("test/jalview/io/test_gz_fasta_notgz.gz");
56 final static File STARS_FA_FILE1 = new File("test/jalview/io/test_fasta_stars.fa");
57 final static File STARS_FA_FILE2 = new File("test/jalview/io/test_fasta_stars2.fa");
59 private void assertValidFormat(String fmt, String src, FileParse fp)
61 assertTrue("Couldn't resolve "+src+" as a valid file",fp.isValid());
62 String type = new IdentifyFile().Identify(fp);
63 assertTrue("Data from '"+src+"' Expected to be '"+fmt+"' identified as '"+type+"'",type.equalsIgnoreCase(fmt));
66 public void testStarsInFasta1() throws IOException
69 FileParse fp = new FileParse(uri=STARS_FA_FILE1.getAbsoluteFile().toString(),AppletFormatAdapter.FILE);
70 assertValidFormat("FASTA", uri, fp);
73 public void testStarsInFasta2() throws IOException
76 FileParse fp = new FileParse(uri=STARS_FA_FILE2.getAbsoluteFile().toString(),AppletFormatAdapter.FILE);
77 assertValidFormat("FASTA", uri, fp);
80 public void testGzipIo() throws IOException
83 FileParse fp = new FileParse(uri=ALIGN_FILE.getAbsoluteFile().toURI().toString(),AppletFormatAdapter.URL);
84 assertValidFormat("FASTA", uri, fp);
88 public void testGziplocalFileIO() throws IOException
91 FileParse fp = new FileParse(filepath=ALIGN_FILE.getAbsoluteFile().toString(), AppletFormatAdapter.FILE);
92 assertValidFormat("FASTA",filepath, fp);
95 public void testNonGzipURLIO() throws IOException
98 FileParse fp = new FileParse(uri=NOTGZALIGN_FILE.getAbsoluteFile().toURI().toString(),AppletFormatAdapter.URL);
99 assertValidFormat("FASTA",uri, fp);
102 public void testNonGziplocalFileIO() throws IOException
105 FileParse fp = new FileParse(filepath=NOTGZALIGN_FILE.getAbsoluteFile().toString(), AppletFormatAdapter.FILE);
106 assertValidFormat("FASTA",filepath, fp);