X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=test%2Fjalview%2Fio%2FFormatAdapterTest.java;h=8f3ad2f58fa5aab03e978cce2d9a07e729c2c5e9;hb=refs%2Fheads%2Fimprovement%2FJAL-3847_some_attempts_to_set_gradle_and_groovy_versions;hp=81e336e375b8f926608e95adfbebe72da6283cfc;hpb=063142d5fe1679310fd6509ad78ef94c5b345f11;p=jalview.git
diff --git a/test/jalview/io/FormatAdapterTest.java b/test/jalview/io/FormatAdapterTest.java
index 81e336e..8f3ad2f 100644
--- a/test/jalview/io/FormatAdapterTest.java
+++ b/test/jalview/io/FormatAdapterTest.java
@@ -1,3 +1,23 @@
+/*
+ * 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.testng.AssertJUnit.assertEquals;
@@ -6,30 +26,38 @@ 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.Arrays;
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(String format) throws IOException
+ public void testRoundTrip(FileFormatI format) throws IOException
{
try
{
AlignmentI al = new FormatAdapter().readFile("examples/uniref50.fa",
- FormatAdapter.FILE, "FASTA");
+ DataSourceType.FILE, FileFormat.Fasta);
/*
* 'gap' is the gap character used in the alignment data file here,
@@ -43,7 +71,7 @@ public class FormatAdapterTest
false);
AlignmentI reloaded = new FormatAdapter().readFile(formatted,
- FormatAdapter.PASTE, format);
+ DataSourceType.PASTE, format);
List reread = reloaded.getSequences();
assertEquals("Wrong number of reloaded sequences", seqs.length,
reread.size());
@@ -57,16 +85,14 @@ public class FormatAdapterTest
* 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);
+ 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()));
+ fail(String.format("Format %s failed with %s", format,
+ e.getMessage()));
}
}
@@ -82,9 +108,9 @@ public class FormatAdapterTest
* @return
*/
String adjustForGapTreatment(String sequenceString, char gap,
- String format)
+ FileFormatI format)
{
- if ("MSF".equals(format))
+ if (FileFormat.MSF.equals(format))
{
/*
* MSF forces gap character to '.', so change it back
@@ -97,27 +123,26 @@ public class FormatAdapterTest
/**
* Data provider that serves alignment formats that are both readable and
- * writable
+ * (text) writable
*
* @return
*/
@DataProvider(name = "formats")
static Object[][] getFormats()
{
- List both = new ArrayList();
- String[] readable = FormatAdapter.READABLE_FORMATS;
- List writeable = Arrays.asList(FormatAdapter.WRITEABLE_FORMATS);
- for (String r : readable)
+ List both = new ArrayList();
+ for (FileFormatI format : FileFormats.getInstance().getFormats())
{
- if (writeable.contains(r))
+ if (format.isReadable() && format.isWritable()
+ && format.isTextFormat())
{
- both.add(r);
+ both.add(format);
}
}
Object[][] formats = new Object[both.size()][];
int i = 0;
- for (String format : both)
+ for (FileFormatI format : both)
{
formats[i] = new Object[] { format };
i++;
@@ -133,6 +158,6 @@ public class FormatAdapterTest
@Test(groups = { "Functional" }, enabled = false)
public void testOneFormatRoundTrip() throws IOException
{
- testRoundTrip("JSON");
+ testRoundTrip(FileFormat.Json);
}
}