package innovimax.mixthem;

import innovimax.mixthem.arguments.ParamValue;
import innovimax.mixthem.arguments.Rule;
import innovimax.mixthem.arguments.RuleParam;

import java.util.Map;

/**
* <p>Describes a specific test run for a rule.</p>
* <p>Depends on the rule, test runs may have some parameter values or not.</p>
* @author Innovimax
* @version 1.0
*/
public class RuleRun {

  final private Map<RuleParam, ParamValue> params;
  final private String suffix;

  /*
  * Creates a rule run for a specific test.  
  * @param params The list of parameter values for this run
  */
  public RuleRun(Map<RuleParam, ParamValue> params) {
    this(null, params);
  }

  /*
  * Creates a rule run for a specific test.
  * @param suffix The specific suffix attached to the run (maybe null)
  * @param params The list of parameter values for this run
  */
  public RuleRun(final String suffix, final Map<RuleParam, ParamValue> params) {    
    this.suffix = suffix;
    this.params = params;    
  }
  
  /*
  * Returns true if the run has a specific suffix.  
  * @return Returns true if the run has a specific suffix
  */
  public boolean hasSuffix() {    
    return this.suffix != null;
  }
  
  /*
  * Returns the specific suffix attached to the run.
  * @return The specific suffix attached to the run
  */
  public String getSuffix() {    
    return this.suffix;
  }
  
  /*
  * Returns the list of parameter values for this run.
  * @return Returns the list of parameter values for this run
  */
  public Map<RuleParam, ParamValue> getParams() {
    return this.params;
  }

}

@@ -395,208 +395,35 @@
 ate 
-Map%3CRuleParam, ParamValue%3E params;%0A  final private String suffi
+int inde
 x;%0A
-%0A
   
-/*%0A  * Creates a rule run for a specific test.  %0A  * @param params The list of parameter values for this run%0A  */%0A  public RuleRun(
+final private 
 Map%3C
@@ -455,39 +455,9 @@
 rams
-) %7B%0A    this(null, params);%0A  %7D
+;
 %0A%0A  
@@ -518,67 +518,37 @@
 ram 
-suffi
+inde
 x The 
-specific suffix attached to the run (maybe null)
+position of the run
 %0A  *
@@ -636,20 +636,16 @@
 nal 
-String suffi
+int inde
 x, f
@@ -703,22 +703,20 @@
 his.
-suffix = suffi
+index = inde
 x;%0A 
@@ -927,22 +927,17 @@
 his.
-suffix != null
+index %3E 1
 ;%0A  
@@ -1105,19 +1105,36 @@
 urn 
-this.suffix
+Itneger.toString(this.index)
 ;%0A  

Update RuleRun.java