/* * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$) * Copyright (C) $$Year-Rel$$ The Jalview Authors * * This file is part of Jalview. * * Jalview is free software: you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation, either version 3 * of the License, or (at your option) any later version. * * Jalview is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty * of MERCHANTABILITY or FITNESS FOR A PARTICULAR * PURPOSE. See the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Jalview. If not, see . * The Jalview Authors are detailed in the 'AUTHORS' file. */ package jalview.io; import org.testng.annotations.AfterClass; import org.testng.annotations.Test; import org.testng.annotations.BeforeClass; import org.testng.AssertJUnit; import java.io.File; import java.io.IOException; /** * @author jimp * */ public class FileIOTester { /** * @throws java.lang.Exception */ @BeforeClass public static void setUpBeforeClass() throws Exception { } /** * @throws java.lang.Exception */ @AfterClass public static void tearDownAfterClass() throws Exception { } // TODO: make a better/more comprehensive test harness for identify/io final static File ALIGN_FILE = new File( "test/jalview/io/test_gz_fasta.gz"); final static File NOTGZALIGN_FILE = new File( "test/jalview/io/test_gz_fasta_notgz.gz"); final static File STARS_FA_FILE1 = new File( "test/jalview/io/test_fasta_stars.fa"); final static File STARS_FA_FILE2 = new File( "test/jalview/io/test_fasta_stars2.fa"); private void assertValidFormat(String fmt, String src, FileParse fp) { AssertJUnit.assertTrue("Couldn't resolve " + src + " as a valid file", fp.isValid()); String type = new IdentifyFile().Identify(fp); AssertJUnit.assertTrue("Data from '" + src + "' Expected to be '" + fmt + "' identified as '" + type + "'", type.equalsIgnoreCase(fmt)); } @Test public void testStarsInFasta1() throws IOException { String uri; FileParse fp = new FileParse(uri = STARS_FA_FILE1.getAbsoluteFile() .toString(), AppletFormatAdapter.FILE); assertValidFormat("FASTA", uri, fp); } @Test public void testStarsInFasta2() throws IOException { String uri; FileParse fp = new FileParse(uri = STARS_FA_FILE2.getAbsoluteFile() .toString(), AppletFormatAdapter.FILE); assertValidFormat("FASTA", uri, fp); } @Test public void testGzipIo() throws IOException { String uri; FileParse fp = new FileParse(uri = ALIGN_FILE.getAbsoluteFile().toURI() .toString(), AppletFormatAdapter.URL); assertValidFormat("FASTA", uri, fp); } @Test public void testGziplocalFileIO() throws IOException { String filepath; FileParse fp = new FileParse(filepath = ALIGN_FILE.getAbsoluteFile() .toString(), AppletFormatAdapter.FILE); assertValidFormat("FASTA", filepath, fp); } @Test public void testNonGzipURLIO() throws IOException { String uri; FileParse fp = new FileParse(uri = NOTGZALIGN_FILE.getAbsoluteFile() .toURI().toString(), AppletFormatAdapter.URL); assertValidFormat("FASTA", uri, fp); } @Test public void testNonGziplocalFileIO() throws IOException { String filepath; FileParse fp = new FileParse(filepath = NOTGZALIGN_FILE .getAbsoluteFile().toString(), AppletFormatAdapter.FILE); assertValidFormat("FASTA", filepath, fp); } }