+ @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()