1 package junit.extensions;
2
3 import junit.framework.*;
4
5 /**
6 * A Decorator that runs a test repeatedly.
7 *
8 */
9 public class RepeatedTest extends TestDecorator {
10 private int fTimesRepeat;
11
12 public RepeatedTest(Test test, int repeat) {
|
13 super(test);
14 if (repeat < 0)
15 throw new IllegalArgumentException("Repetition count must be > 0");
16 fTimesRepeat= repeat;
17 }
|
18 public int countTestCases() {
|
19 return super.countTestCases()*fTimesRepeat;
|
20 }
21 public void run(TestResult result) {
|
22 for (int i= 0; i < fTimesRepeat; i++) {
23 if (result.shouldStop())
|
24 > break;
|
25 super.run(result);
|
26 }
|
27 }
|
28 public String toString() {
|
29 > return super.toString()+"(repeated)";
|
30 }
31 } |