import org.testng.Assert;
import org.testng.annotations.AfterClass;
+import org.testng.annotations.AfterMethod;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
import jalview.bin.Cache;
+import jalview.gui.Desktop;
@Test(singleThreaded = true)
public class ArgParserTest
Cache.loadProperties("test/jalview/testProps.jvprops");
}
+ @AfterMethod(alwaysRun = true)
+ public void tearDown()
+ {
+ if (Desktop.instance != null)
+ Desktop.instance.closeAll_actionPerformed(null);
+ }
+
@Test(groups = "Functional", dataProvider = "argLines")
public void parseArgsTest(String commandLineArgs, Arg a, String other)
{
{
String[] args = commandLineArgs.split("\\s+");
ArgParser argparser = new ArgParser(args);
- ArgValuesMap avm = argparser.linkedArgs(linkedId);
+ ArgValuesMap avm = argparser.getLinkedArgs(linkedId);
ArgValue av = avm.getArgValue(a);
SubVals sv = av.getSubVals();
String testString = null;
public void parseAutoIndexAndSubstitutionsTest(String commandLineArgs,
String linkedId, Arg a, String filename)
{
- // { "--append=filename0 --increment --append=filename1", "JALVIEW:1",
+ // { "--append=filename0 --new --append=filename1", "JALVIEW:1",
// Arg.OPEN, "filename1" },
String[] args = commandLineArgs.split("\\s+");
ArgParser argparser = new ArgParser(args);
- ArgValuesMap avm = argparser.linkedArgs(linkedId);
+ ArgValuesMap avm = argparser.getLinkedArgs(linkedId);
ArgValue av = avm.getArgValue(a);
Assert.assertEquals(av.getValue(), filename);
}
return new Object[][] { {
"--debug --append=[hi]test/jalview/bin/argparser/testfiles/test1.fa",
"JALVIEW:0", Arg.APPEND, "hi", "true", true },
- { "--append[linkedId1]=[new;hello=world;1]test/jalview/bin/argparser/testfiles/test1.fa --headless",
+ { "--append[linkedId1]=[new,hello=world,1]test/jalview/bin/argparser/testfiles/test1.fa --headless",
"linkedId1", Arg.APPEND, "new", "true", true },
- { "--append[linkedId2]=[new;hello=world;1]test/jalview/bin/argparser/testfiles/test1.fa --headless",
+ { "--append[linkedId2]=[new,hello=world,1]test/jalview/bin/argparser/testfiles/test1.fa --headless",
"linkedId2", Arg.APPEND, "hello", "world", true },
- { "--append[linkedId3]=[new;hello=world;1]test/jalview/bin/argparser/testfiles/test1.fa --headless",
+ { "--append[linkedId3]=[new,hello=world,1]test/jalview/bin/argparser/testfiles/test1.fa --headless",
"linkedId3", Arg.APPEND, "GETINDEX", "1", true },
- { "--append[linkedId4]=[new;hello=world;1]test/jalview/bin/argparser/testfiles/test1.fa --append[linkedId5]=[notnew;hello=world;1]test/jalview/bin/argparser/testfiles/test1.fa --headless",
+ { "--append[linkedId4]=[new,hello=world,1]test/jalview/bin/argparser/testfiles/test1.fa --append[linkedId5]=[notnew;hello=world;1]test/jalview/bin/argparser/testfiles/test1.fa --headless",
"linkedId5", Arg.APPEND, "new", "true", false },
- { "--append[linkedId5]=[new;hello=worlddomination;1]test/jalview/bin/argparser/testfiles/test1.fa --append[linkedId2]=[new;hello=world;1]test/jalview/bin/argparser/testfiles/test1.fa --headless",
+ { "--append[linkedId5]=[new,hello=worlddomination,1]test/jalview/bin/argparser/testfiles/test1.fa --append[linkedId2]=[new;hello=world;1]test/jalview/bin/argparser/testfiles/test1.fa --headless",
"linkedId5", Arg.APPEND, "hello", "world", false },
- { "--append[linkedId6]=[new;hello=world;0]test/jalview/bin/argparser/testfiles/test1.fa --append[linkedId7]=[new;hello=world;1]test/jalview/bin/argparser/testfiles/test1.fa --headless",
+ { "--append[linkedId6]=[new,hello=world,0]test/jalview/bin/argparser/testfiles/test1.fa --append[linkedId7]=[new;hello=world;1]test/jalview/bin/argparser/testfiles/test1.fa --headless",
"linkedId7", Arg.APPEND, "GETINDEX", "0", false }, };
}
*/
{ "--append=filename0 --append=filename1", "JALVIEW:0", Arg.APPEND,
"filename0" },
- { "--append=filename0 --increment --append=filename1", "JALVIEW:1",
+ { "--append=filename0 --new --append=filename1", "JALVIEW:1",
Arg.APPEND, "filename1" },
- { "--append=filename0 --increment --increment --append=filename2",
- "JALVIEW:0", Arg.APPEND, "filename0" },
- { "--append=filename0 --increment --increment --append=filename2",
- "JALVIEW:2", Arg.APPEND, "filename2" },
+ { "--append=filename0 --new --new --append=filename2", "JALVIEW:0",
+ Arg.APPEND, "filename0" },
+ { "--append=filename0 --new --new --append=filename2", "JALVIEW:2",
+ Arg.APPEND, "filename2" },
{ "--append[linkA-{n}]=filenameA0 --append[linkA-{++n}]=filenameA1",
"linkA-0", Arg.APPEND, "filenameA0" },
{ "--append[linkB-{n}]=filenameB0 --append[linkB-{++n}]=filenameB1",
"linkG-1", Arg.IMAGE, "outputG{n}.txt" },
{ "--append[linkH-{n}]=filenameH0 --substitutions --image[linkH-{n}]=output-H{n}.txt --nil[{++n}] --nosubstitutions --image[linkH-{n}]=outputH{n}.txt",
"linkH-0", Arg.IMAGE, "output-H0.txt" },
- { "--open=filename0 --append=filename1", "JALVIEW:1", Arg.OPEN,
+ { "--open=filename0 --append=filename1", "JALVIEW:0", Arg.OPEN,
"filename0" },
- { "--open=filename0 --increment --append=filename1", "JALVIEW:2",
+ { "--open=filename0 --new --append=filename1", "JALVIEW:1",
Arg.APPEND, "filename1" },
- { "--open=filename0 --increment --increment --append=filename2",
- "JALVIEW:1", Arg.OPEN, "filename0" },
- { "--open=filename0 --increment --increment --append=filename2",
- "JALVIEW:3", Arg.APPEND, "filename2" },
+ { "--open=filename0 --new --new --append=filename2", "JALVIEW:0",
+ Arg.OPEN, "filename0" },
+ { "--open=filename0 --new --new --append=filename2", "JALVIEW:2",
+ Arg.APPEND, "filename2" },
{ "--open[linkA-{n}]=filenameA0 --append[linkA-{++n}]=filenameA1",
"linkA-0", Arg.OPEN, "filenameA0" },
{ "--open[linkB-{n}]=filenameB0 --append[linkB-{++n}]=filenameB1",
"linkG-1", Arg.IMAGE, "outputG{n}.txt" },
{ "--open[linkH-{n}]=filenameH0 --substitutions --image[linkH-{n}]=output-H{n}.txt --nil[{++n}] --nosubstitutions --image[linkH-{n}]=outputH{n}.txt",
"linkH-0", Arg.IMAGE, "output-H0.txt" },
+ /*
+ */
//
};
"--argfile=test/jalview/bin/argparser/testfiles/argfile0.txt --open=shouldntbeabootstrap",
Arg.ARGFILE, "test/jalview/bin/argfiles/testfiles/test1.fa" } };
}
+
+ @Test(groups = "Functional", dataProvider = "allLinkedIdsData")
+ public void allLinkedIdsTest(String commandLineArgs, Arg a,
+ String[] values)
+ {
+ String[] args = commandLineArgs.split("\\s+");
+ ArgParser argparser = new ArgParser(args);
+
+ int num = values.length;
+ List<String> linkedIds = argparser.getLinkedIds();
+ Assert.assertEquals(linkedIds.size(), num,
+ "Wrong number of linkedIds: " + linkedIds.toString());
+ for (int i = 0; i < num; i++)
+ {
+ String value = values[i];
+ String linkedId = linkedIds.get(i);
+ ArgValuesMap avm = argparser.getLinkedArgs(linkedId);
+ if (value == null)
+ {
+ Assert.assertTrue(avm.containsArg(a),
+ "Arg value for " + a.argString()
+ + " not applied correctly to linkedId '" + linkedId
+ + "'");
+ }
+ else
+ {
+ ArgValues avs = avm.getArgValues(a);
+ ArgValue av = avs.getArgValue();
+ String v = av.getValue();
+ value = new File(value).getAbsolutePath();
+ Assert.assertEquals(v, value, "Arg value for " + a.argString()
+ + " not applied correctly to linkedId '" + linkedId + "'");
+ }
+ }
+
+ }
+
+ @DataProvider(name = "allLinkedIdsData")
+ public Object[][] allLinkedIdsData()
+ {
+ return new Object[][] {
+ //
+ /*
+ */
+ { "--open=test/jalview/bin/argparser/testfiles/*.fa --substitutions --all --image={dirname}/{basename}.png --close",
+ Arg.CLOSE, new String[]
+ { null, null,
+ null } },
+ { "--open=test/jalview/bin/argparser/testfiles/*.fa --substitutions --all --output={dirname}/{basename}.stk --close",
+ Arg.OUTPUT, new String[]
+ { "test/jalview/bin/argparser/testfiles/test1.stk",
+ "test/jalview/bin/argparser/testfiles/test2.stk",
+ "test/jalview/bin/argparser/testfiles/test3.stk", } },
+ { "--open=test/jalview/bin/argparser/testfiles/*.fa --substitutions --all --image={dirname}/{basename}.png --close",
+ Arg.IMAGE, new String[]
+ { "test/jalview/bin/argparser/testfiles/test1.png",
+ "test/jalview/bin/argparser/testfiles/test2.png",
+ "test/jalview/bin/argparser/testfiles/test3.png", } },
+ //
+ };
+ }
}