package jalview.bin;
+import java.io.File;
+import java.io.IOException;
+import java.nio.file.Files;
import java.util.Date;
import java.util.HashSet;
import java.util.Set;
@Test(singleThreaded = true)
public class CommandsTest
{
+ private static final String testfiles = "test/jalview/bin/argparser/testfiles";
+
+ private static final String png1 = testfiles + "/dir1/test1.png";
+
+ private static final String png2 = testfiles + "/dir2/test1.png";
+
@BeforeClass(alwaysRun = true)
public static void setUpBeforeClass() throws Exception
{
Desktop.instance.closeAll_actionPerformed(null);
}
+ /* --setprop currently disabled
+ @Test(groups = "Functional")
+ public void setpropsTest()
+ {
+ String MOSTLY_HARMLESS = "MOSTLY_HARMLESS";
+ String cmdLine = "--setprop=" + MOSTLY_HARMLESS + "=Earth";
+ String[] args = cmdLine.split("\\s+");
+ Jalview.main(args);
+ Assert.assertEquals(Cache.getDefault(MOSTLY_HARMLESS, "Magrathea"),
+ "Earth");
+ }
+ */
+
@Test(groups = "Functional", dataProvider = "cmdLines")
public void commandsOpenTest(String cmdLine, boolean cmdArgs,
int numFrames, String[] sequences)
lookForSequenceName("THIS_SEQUENCE_ID_DOESN'T_EXIST"));
}
+ @Test(groups = "Functional")
+ public void argFilesGlobAndSubstitutionsTest() throws IOException
+ {
+ cleanupArgfilesImages();
+ String cmdLine = "--argfile=" + testfiles + "/dir*/argfile.txt";
+ String[] args = cmdLine.split("\\s+");
+ Jalview.main(args);
+ Commands cmds = Jalview.getInstance().getCommands();
+ File file1 = new File(png1);
+ File file2 = new File(png2);
+ Assert.assertTrue(file1.exists(),
+ "Did not make file " + png1 + " from argfile");
+ Assert.assertTrue(file2.exists(),
+ "Did not make file " + png2 + " from argfile");
+ long size1 = Files.size(file1.toPath());
+ long size2 = Files.size(file2.toPath());
+ Assert.assertTrue(file1.isFile() && size1 > 0);
+ Assert.assertTrue(file2.isFile() && size2 > 0);
+ Assert.assertTrue(size2 > size1); // png2 has three sequences, png1 has 2
+ cleanupArgfilesImages();
+ }
+
@DataProvider(name = "cmdLines")
public Object[][] cmdLines()
{
{ "--open=[new]examples/uniref50*.fa", true, 2, someUniref50Seqs },
{ "--opennew=examples/uniref50*.fa", true, 2, someUniref50Seqs },
{ "examples/uniref50.fa", true, 1, someUniref50Seqs },
- { "examples/uniref50.fa test/jalview/bin/argparser/testfiles/test1.fa",
- true, 2, ArrayUtils.concatArrays(someUniref50Seqs, t1) },
- { "examples/uniref50.fa test/jalview/bin/argparser/testfiles/test1.fa",
- true, 2, t1 },
- { "--argfile=test/jalview/bin/argparser/testfiles/argfile0.txt",
- true, 1, ArrayUtils.concatArrays(t1, t3) },
- { "--argfile=test/jalview/bin/argparser/testfiles/argfile*.txt",
- true, 4, ArrayUtils.concatArrays(t1, t2, t3) },
- { "--argfile=test/jalview/bin/argparser/testfiles/argfile.autocounter",
- true, 3, ArrayUtils.concatArrays(t1, t2) } };
+ { "examples/uniref50.fa " + testfiles + "/test1.fa", true, 2,
+ ArrayUtils.concatArrays(someUniref50Seqs, t1) },
+ { "examples/uniref50.fa " + testfiles + "/test1.fa", true, 2, t1 },
+ { "--argfile=" + testfiles + "/argfile0.txt", true, 1,
+ ArrayUtils.concatArrays(t1, t3) },
+ { "--argfile=" + testfiles + "/argfile*.txt", true, 4,
+ ArrayUtils.concatArrays(t1, t2, t3) },
+ { "--argfile=" + testfiles + "/argfile.autocounter", true, 3,
+ ArrayUtils.concatArrays(t1, t2) } };
}
public static boolean lookForSequenceName(String sequenceName)
return false;
}
+ public static void cleanupArgfilesImages()
+ {
+ File png1File = new File(png1);
+ File png2File = new File(png2);
+ if (png1File.exists())
+ {
+ png1File.delete();
+ }
+ if (png2File.exists())
+ {
+ png2File.delete();
+ }
+ }
+
}