package junit.extensions; | |
import junit.framework.*; | |
/** | |
* A Decorator that runs a test repeatedly. | |
* | |
*/ | |
public class RepeatedTest extends TestDecorator { | |
private int fTimesRepeat; | |
public RepeatedTest(Test test, int repeat) { | |
super(test); | |
if (repeat < 0) | |
throw new IllegalArgumentException("Repetition count must be > 0"); | |
fTimesRepeat= repeat; | |
} | |
public int countTestCases() { | |
return super.countTestCases()*fTimesRepeat; | |
} | |
public void run(TestResult result) { | |
for (int i= 0; i < fTimesRepeat; i++) { | |
if (result.shouldStop()) | |
break; | |
super.run(result); | |
} | |
} | |
public String toString() { | |
return super.toString()+"(repeated)"; | |
} | |
} |