JAL-3210 Barebones gradle/buildship/eclipse. See README
[jalview.git] / test / jalview / io / FormatAdapterTest.java
diff --git a/test/jalview/io/FormatAdapterTest.java b/test/jalview/io/FormatAdapterTest.java
deleted file mode 100644 (file)
index b500266..0000000
+++ /dev/null
@@ -1,164 +0,0 @@
-/*
- * 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 <http://www.gnu.org/licenses/>.
- * The Jalview Authors are detailed in the 'AUTHORS' file.
- */
-package jalview.io;
-
-import static org.testng.AssertJUnit.assertEquals;
-import static org.testng.AssertJUnit.assertNotNull;
-import static org.testng.AssertJUnit.fail;
-
-import jalview.datamodel.AlignmentI;
-import jalview.datamodel.SequenceI;
-import jalview.gui.JvOptionPane;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.testng.annotations.BeforeClass;
-import org.testng.annotations.DataProvider;
-import org.testng.annotations.Test;
-
-public class FormatAdapterTest
-{
-
-  @BeforeClass(alwaysRun = true)
-  public void setUpJvOptionPane()
-  {
-    JvOptionPane.setInteractiveMode(false);
-    JvOptionPane.setMockResponse(JvOptionPane.CANCEL_OPTION);
-  }
-
-  /**
-   * Test saving and re-reading in a specified format
-   * 
-   * @throws IOException
-   */
-  @Test(groups = { "Functional" }, dataProvider = "formats")
-  public void testRoundTrip(FileFormatI format) throws IOException
-  {
-    try
-    {
-      AlignmentI al = new FormatAdapter().readFile("examples/uniref50.fa",
-              DataSourceType.FILE, FileFormat.Fasta);
-
-      /*
-       * 'gap' is the gap character used in the alignment data file here,
-       * not the user preferred gap character
-       */
-      char gap = al.getGapCharacter();
-      assertNotNull(al);
-
-      SequenceI[] seqs = al.getSequencesArray();
-      String formatted = new FormatAdapter().formatSequences(format, al,
-              false);
-
-      AlignmentI reloaded = new FormatAdapter().readFile(formatted,
-              DataSourceType.PASTE, format);
-      List<SequenceI> reread = reloaded.getSequences();
-      assertEquals("Wrong number of reloaded sequences", seqs.length,
-              reread.size());
-
-      int i = 0;
-      for (SequenceI seq : reread)
-      {
-        String sequenceString = seq.getSequenceAsString();
-
-        /*
-         * special case: MSF always uses '.' as gap character
-         */
-        sequenceString = adjustForGapTreatment(sequenceString, gap, format);
-        assertEquals(
-                String.format("Sequence %d: %s", i, seqs[i].getName()),
-                seqs[i].getSequenceAsString(), sequenceString);
-        i++;
-      }
-    } catch (IOException e)
-    {
-      fail(String
-              .format("Format %s failed with %s", format, e.getMessage()));
-    }
-  }
-
-  /**
-   * Optionally change the gap character in the string to the given character,
-   * depending on the sequence file format
-   * 
-   * @param sequenceString
-   *          a sequence (as written in 'format' format)
-   * @param gap
-   *          the sequence's original gap character
-   * @param format
-   * @return
-   */
-  String adjustForGapTreatment(String sequenceString, char gap,
-          FileFormatI format)
-  {
-    if (FileFormat.MSF.equals(format))
-    {
-      /*
-       * MSF forces gap character to '.', so change it back
-       * for comparison purposes
-       */
-      sequenceString = sequenceString.replace('.', gap);
-    }
-    return sequenceString;
-  }
-
-  /**
-   * Data provider that serves alignment formats that are both readable and
-   * (text) writable
-   * 
-   * @return
-   */
-  @DataProvider(name = "formats")
-  static Object[][] getFormats()
-  {
-    List<FileFormatI> both = new ArrayList<FileFormatI>();
-    for (FileFormatI format : FileFormats.getInstance().getFormats())
-    {
-      if (format.isReadable() && format.isWritable()
-              && format.isTextFormat())
-      {
-        both.add(format);
-      }
-    }
-
-    Object[][] formats = new Object[both.size()][];
-    int i = 0;
-    for (FileFormatI format : both)
-    {
-      formats[i] = new Object[] { format };
-      i++;
-    }
-    return formats;
-  }
-
-  /**
-   * Enable this to isolate testing to a single file format
-   * 
-   * @throws IOException
-   */
-  @Test(groups = { "Functional" }, enabled = false)
-  public void testOneFormatRoundTrip() throws IOException
-  {
-    testRoundTrip(FileFormat.Json);
-  }
-}