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)"; } }