JAL-1620 version bump and release notes
[jalview.git] / test / jalview / io / FileIOTester.java
index 2b975a2..926b908 100644 (file)
@@ -1,19 +1,21 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.2b1)
  * Copyright (C) 2014 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.
+ * 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 <http://www.gnu.org/licenses/>.
+ * You should have received a copy of the GNU General Public License
+ * along with Jalview.  If not, see <http://www.gnu.org/licenses/>.
  * The Jalview Authors are detailed in the 'AUTHORS' file.
  */
 package jalview.io;
@@ -29,7 +31,7 @@ import org.junit.Test;
 
 /**
  * @author jimp
- *
+ * 
  */
 public class FileIOTester
 {
@@ -49,42 +51,80 @@ public class FileIOTester
   public static void tearDownAfterClass() throws Exception
   {
   }
-  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");
 
-  private void assertValidFasta(String src, FileParse fp)
+  // 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)
   {
-    assertTrue("Couldn't resolve "+src+" as a valid file",fp.isValid());
+    assertTrue("Couldn't resolve " + src + " as a valid file", fp.isValid());
     String type = new IdentifyFile().Identify(fp);
-    assertTrue("Gzipped data from '"+src+"' identified as '"+type+"'",type.equalsIgnoreCase("FASTA"));
+    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);
-    assertValidFasta(uri, fp);
+    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);
-    assertValidFasta(filepath, fp);
+    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);
-    assertValidFasta(uri, fp);
+    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);
-    assertValidFasta(filepath, fp);
+    FileParse fp = new FileParse(filepath = NOTGZALIGN_FILE
+            .getAbsoluteFile().toString(), AppletFormatAdapter.FILE);
+    assertValidFormat("FASTA", filepath, fp);
   }
 }