+
+ // tests for incompatible Pairs of Parameters
+ // there are none however the --betascale parameter requires -p
+
+ @Test
+ public void testParameterPairs() throws ResultNotAvailableException {
+ List<Parameter<?>> pair = new ArrayList<Parameter<?>>();
+ List<Parameter<?>> Parameters = rnaalifoldOpc.getAllParameters();
+ List<List<String>> failedParameterPairs = new ArrayList<List<String>>();
+
+
+ boolean failed = true;
+ for (int i = 0; i<Parameters.size(); i++) {
+ for (int j = i; j<Parameters.size(); j++) {
+ if (i != j) {
+ pair.clear();
+ pair.add(Parameters.get(i)); pair.add(Parameters.get(j));
+ List<String> args = rnaalifoldOpc.argumentsToCommandString(pair);
+ args.add("-p"); // --betascale requires -p
+ try {
+ failed = singleRun(args);
+ } catch (ResultNotAvailableException e) {
+ System.out.println("Results not available: " + e.getMessage());
+ failed = true;
+ } catch (JobSubmissionException e) {
+ e.printStackTrace();
+ fail(e.getLocalizedMessage());
+ } catch (JobExecutionException e) {
+ e.printStackTrace();
+ fail(e.getLocalizedMessage());
+ } catch (IOException e) {
+ e.printStackTrace();
+ fail(e.getLocalizedMessage());
+ }
+ if (failed == true) {
+ failedParameterPairs.add(args);
+ }
+ }
+ }
+ }
+ System.out.println("failedParameterPairs: " + failedParameterPairs);
+
+ }
+
+
+ // removes an argument from the list by name
+ public <U extends Option<?>> List<U> removeParam(List<U> optionList, String name) {
+ List<U> newL = new ArrayList<U>();
+ for (int i = 0; i < optionList.size(); i++) {
+ System.out.println(name.equals(optionList.get(i).getName()));
+ if (!name.equals(optionList.get(i).getName())) {
+
+ newL.add(optionList.get(i));
+ }
+
+ }
+ return newL;
+ }
+
+ public <U extends Option<?>> List<U> removeParams(List<U> optionList, List<String> names) {
+ for (int i = 0; i < names.size(); i++) {
+ optionList = removeParam(optionList, names.get(i));
+ }
+ return optionList;
+ }
+
+