X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=test%2Fjalview%2Fio%2FFileIOTester.java;h=6b7de7751e75f732f7eb341513abfdf009666c7c;hb=c93b9ad2ebfab4cad4608a8890132918589576be;hp=20f6d0fbcbe17e3860b49e0b8f8656b3b5295976;hpb=b8867d3463ce66aba3665e181796c48931fe81a4;p=jalview.git diff --git a/test/jalview/io/FileIOTester.java b/test/jalview/io/FileIOTester.java index 20f6d0f..6b7de77 100644 --- a/test/jalview/io/FileIOTester.java +++ b/test/jalview/io/FileIOTester.java @@ -1,20 +1,36 @@ -/** +/* + * 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 static org.junit.Assert.*; - import java.io.File; import java.io.IOException; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; +import org.testng.AssertJUnit; +import org.testng.annotations.AfterClass; +import org.testng.annotations.BeforeClass; +import org.testng.annotations.Test; /** * @author jimp - * + * */ public class FileIOTester { @@ -34,26 +50,80 @@ public class FileIOTester public static void tearDownAfterClass() throws Exception { } -final static File ALIGN_FILE = new File("test/jalview/io/test_gz_fasta.gz"); + + // 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); - assertTrue("Couldn't resolve "+uri+" as a valid file",fp.isValid()); - String type = new IdentifyFile().Identify(fp); - assertTrue("Gzipped data from '"+uri+"' identified as '"+type+"'",type.equalsIgnoreCase("FASTA")); + 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); - assertTrue("Couldn't resolve " + filepath + " as a valid file", fp.isValid()); - String type = new IdentifyFile().Identify(fp); - assertTrue("Gzipped data from '" + filepath + "' identified as '" + type - + "'", type.equalsIgnoreCase("FASTA")); + 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); } }