Changeset 2026 for trunk/autoquest-core-testgeneration/src/main/java/de
- Timestamp:
- 07/23/15 13:43:38 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/autoquest-core-testgeneration/src/main/java/de/ugoe/cs/autoquest/testgeneration/RandomWalkGenerator.java
r927 r2026 74 74 /** 75 75 * <p> 76 * Maximal number of attempts for creating a valid sequence. If this value is reached, the 77 * sequence generation will be aborted. 78 * </p> 79 */ 80 private final long maxIterValidSequence; 81 82 /** 83 * <p> 76 84 * Actual number of random walks performed to generate the test suite. 77 85 * </p> … … 103 111 * maximal number of random walks before aborting the test case generation (see 104 112 * {@link #maxIter}) 113 * @param maxIterValidSequence 114 * maximal number of attempts to create a valid sequence within the given restrictions 105 115 */ 106 116 public RandomWalkGenerator(int numSequences, … … 108 118 int maxLength, 109 119 boolean validEnd, 110 long maxIter) 120 long maxIter, 121 long maxIterValidSequence) 111 122 { 112 123 // check validity of the parameters … … 117 128 if (maxLength < 1) { 118 129 throw new IllegalArgumentException( 119 120 130 "maximal allowed length of test cases must be at least 1 but is " + 131 maxLength); 121 132 } 122 133 if (minLength > maxLength) { 123 134 throw new IllegalArgumentException( 124 125 135 "minimal allowed length of test cases must be less than or equal to the maximal allowed length (min length: " + 136 minLength + " ; max length: " + maxLength + ")"); 126 137 } 127 138 if (maxIter < numSequences) { 128 139 throw new IllegalArgumentException( 129 "maximal number of iterations must greater than or equal to the number of sequences (number of sequences: " + 130 numSequences + 131 " ; max iterations: " + 132 maxIter + 133 ")"); 140 "maximal number of iterations must greater than or equal to the number of sequences (number of sequences: " + 141 numSequences + 142 " ; max iterations: " + 143 maxIter + 144 ")"); 145 } 146 if( maxIterValidSequence < 1) { 147 throw new IllegalArgumentException("maximal number of attempts to get a valid sequence must be positive, but is: " + maxIterValidSequence); 134 148 } 135 149 this.numSequences = numSequences; … … 138 152 this.validEnd = validEnd; 139 153 this.maxIter = maxIter; 154 this.maxIterValidSequence = maxIterValidSequence; 140 155 } 141 156 … … 157 172 actualIter = 0; 158 173 while (sequences.size() < numSequences && actualIter < maxIter) { 159 List<Event> generatedSequence = model.randomSequence(maxLength, validEnd );174 List<Event> generatedSequence = model.randomSequence(maxLength, validEnd, maxIterValidSequence); 160 175 if (generatedSequence.size() >= minLength && generatedSequence.size() <= maxLength) { 161 176 ((List<Event>) generatedSequence).add(0, Event.STARTEVENT);
Note: See TracChangeset
for help on using the changeset viewer.