import static org.testng.AssertJUnit.assertSame;
import static org.testng.AssertJUnit.assertTrue;
-import jalview.gui.JvOptionPane;
+import java.io.FileNotFoundException;
import org.testng.Assert;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
+import jalview.gui.JvOptionPane;
+
public class IdentifyFileTest
{
@Test(groups = { "Functional" }, dataProvider = "identifyFiles")
public void testIdentify(String data, FileFormatI expectedFileType)
- throws FileFormatException
+ throws FileFormatException, FileNotFoundException
{
DataSourceType protocol = DataSourceType.FILE;
IdentifyFile ider = new IdentifyFile();
* @throws FileFormatException
*/
@Test(groups = "Functional")
- public void testIdentify_featureFile() throws FileFormatException
+ public void testIdentify_featureFile()
+ throws FileFormatException, FileNotFoundException
{
IdentifyFile ider = new IdentifyFile();
@DataProvider(name = "identifyFiles")
public Object[][] IdentifyFileDP()
{
- return new Object[][] {
- { "examples/example.json", FileFormat.Json },
+ return new Object[][] { { "examples/example.json", FileFormat.Json },
{ "examples/plantfdx.fa", FileFormat.Fasta },
{ "examples/dna_interleaved.phy", FileFormat.Phylip },
{ "examples/2GIS.pdb", FileFormat.PDB },
- { "examples/rf00031_folded.stk", FileFormat.Stockholm },
+ { "examples/RF00031_folded.stk", FileFormat.Stockholm },
{ "examples/testdata/test.rnaml", FileFormat.Rnaml },
{ "examples/testdata/test.aln", FileFormat.Clustal },
{ "examples/testdata/test.pfam", FileFormat.Pfam },
{ "examples/testdata/test.html", FileFormat.Html },
{ "examples/testdata/test.pileup", FileFormat.Pileup },
{ "examples/testdata/test.blc", FileFormat.BLC },
+ { "test/jalview/io/J03321.embl.txt", FileFormat.Embl },
+ { "test/jalview/io/J03321.gb", FileFormat.GenBank },
{ "examples/exampleFeatures.txt", FileFormat.Features },
{ "examples/testdata/simpleGff3.gff", FileFormat.Features },
{ "examples/testdata/test.jvp", FileFormat.Jalview },
{ "examples/testdata/test.cif", FileFormat.MMCif },
- {
- "examples/testdata/cullpdb_pc25_res3.0_R0.3_d150729_chains9361.fasta.15316",
+ { "examples/testdata/cullpdb_pc25_res3.0_R0.3_d150729_chains9361.fasta.15316",
FileFormat.Fasta },
{ "resources/scoreModel/pam250.scm", FileFormat.ScoreMatrix },
{ "resources/scoreModel/blosum80.scm", FileFormat.ScoreMatrix }
- // { "examples/testdata/test.amsa", "AMSA" },
- // { "examples/test.jnet", "JnetFile" },
+ // { "examples/testdata/test.amsa", "AMSA" },
+ // { "examples/test.jnet", "JnetFile" },
};
}
// too few columns:
assertFalse(id.looksLikeFeatureData("1 \t 2 \t 3 \t 4 \t 5"));
// GFF format:
- assertTrue(id
- .looksLikeFeatureData("Seq1\tlocal\tHelix\t2456\t2462\tss"));
+ assertTrue(
+ id.looksLikeFeatureData("Seq1\tlocal\tHelix\t2456\t2462\tss"));
// Jalview format:
assertTrue(id.looksLikeFeatureData("Helix\tSeq1\t-1\t2456\t2462\tss"));
// non-numeric start column:
// non-numeric start column:
assertFalse(id.looksLikeFeatureData("Helix\tSeq1\t-1\t2456\t.\tss"));
}
+
+ @Test(groups = "Network", dataProvider = "urlTargetsAndExceptions")
+ public void testExceptions(String url,
+ Class<? extends Exception> expectedExceptionClass,
+ FileFormatI expectedFormat)
+ {
+ Class<? extends Exception> actualExceptionClass = null;
+ FileFormatI actualFormat = null;
+ try
+ {
+ actualFormat = new IdentifyFile().identify(url, DataSourceType.URL);
+ } catch (FileFormatException | FileNotFoundException e)
+ {
+ Assert.assertNull(expectedFormat,
+ "Exception occurred when expecting an identifiable format.");
+ Assert.assertNotNull(expectedExceptionClass,
+ "An unexpected exception occurred: '" + e.getMessage() + "'");
+ Assert.assertEquals(e.getClass(), expectedExceptionClass,
+ "Got the wrong kind of exception.");
+ actualExceptionClass = e.getClass();
+ }
+
+ if (expectedExceptionClass != null)
+ {
+ Assert.assertEquals(actualExceptionClass, expectedExceptionClass,
+ "Expected an exception but got the wrong one.");
+ }
+
+ }
+
+ @DataProvider(name = "urlTargetsAndExceptions")
+ public Object[][] urlTargetsAndExceptions()
+ {
+ /*
+ String targetUrl,
+ String finalUrl,
+ String foundInFirstLine,
+ */
+ return new Object[][] {
+ //
+ /*
+ { "http://jalview.org/examples/uniref50.fa", null,
+ FileFormat.Fasta },
+ { "https://www.jalview.org/examples/NOFILE.fa",
+ FileNotFoundException.class, null },
+ { "https://NOSERVER.jalview.org/", FileNotFoundException.class,
+ null },
+ */
+ { "https://www.jalview.org/schools/Jalview_Schools_Workbook_200.jpg",
+ FileFormatException.class, null },
+ /*
+ */
+ //
+ };
+ }
+
}