1 package junit.tests.extensions;
2
3 import junit.extensions.RepeatedTest;
4 import junit.framework.Test;
5 import junit.framework.TestCase;
6 import junit.framework.TestResult;
7 import junit.framework.TestSuite;
8
9
10
11
12 public class RepeatedTestTest extends TestCase {
13 private TestSuite fSuite;
14
15 public static class SuccessTest extends TestCase {
16
17 @Override
18 public void runTest() {
19 }
20 }
21
22 public RepeatedTestTest(String name) {
23 super(name);
24 fSuite = new TestSuite();
25 fSuite.addTest(new SuccessTest());
26 fSuite.addTest(new SuccessTest());
27 }
28
29 public void testRepeatedOnce() {
30 Test test = new RepeatedTest(fSuite, 1);
31 assertEquals(2, test.countTestCases());
32 TestResult result = new TestResult();
33 test.run(result);
34 assertEquals(2, result.runCount());
35 }
36
37 public void testRepeatedMoreThanOnce() {
38 Test test = new RepeatedTest(fSuite, 3);
39 assertEquals(6, test.countTestCases());
40 TestResult result = new TestResult();
41 test.run(result);
42 assertEquals(6, result.runCount());
43 }
44
45 public void testRepeatedZero() {
46 Test test = new RepeatedTest(fSuite, 0);
47 assertEquals(0, test.countTestCases());
48 TestResult result = new TestResult();
49 test.run(result);
50 assertEquals(0, result.runCount());
51 }
52
53 public void testRepeatedNegative() {
54 try {
55 new RepeatedTest(fSuite, -1);
56 } catch (IllegalArgumentException e) {
57 assertTrue(e.getMessage().contains(">="));
58 return;
59 }
60 fail("Should throw an IllegalArgumentException");
61 }
62 }