| package junit.tests.extensions; |
| |
| import junit.extensions.RepeatedTest; |
| import junit.framework.Test; |
| import junit.framework.TestCase; |
| import junit.framework.TestResult; |
| import junit.framework.TestSuite; |
| |
| /** |
| * Testing the RepeatedTest support. |
| */ |
| public class RepeatedTestTest extends TestCase { |
| private TestSuite fSuite; |
| |
| public static class SuccessTest extends TestCase { |
| |
| @Override |
| public void runTest() { |
| } |
| } |
| |
| public RepeatedTestTest(String name) { |
| super(name); |
| fSuite = new TestSuite(); |
| fSuite.addTest(new SuccessTest()); |
| fSuite.addTest(new SuccessTest()); |
| } |
| |
| public void testRepeatedOnce() { |
| Test test = new RepeatedTest(fSuite, 1); |
| assertEquals(2, test.countTestCases()); |
| TestResult result = new TestResult(); |
| test.run(result); |
| assertEquals(2, result.runCount()); |
| } |
| |
| public void testRepeatedMoreThanOnce() { |
| Test test = new RepeatedTest(fSuite, 3); |
| assertEquals(6, test.countTestCases()); |
| TestResult result = new TestResult(); |
| test.run(result); |
| assertEquals(6, result.runCount()); |
| } |
| |
| public void testRepeatedZero() { |
| Test test = new RepeatedTest(fSuite, 0); |
| assertEquals(0, test.countTestCases()); |
| TestResult result = new TestResult(); |
| test.run(result); |
| assertEquals(0, result.runCount()); |
| } |
| |
| public void testRepeatedNegative() { |
| try { |
| new RepeatedTest(fSuite, -1); |
| } catch (IllegalArgumentException e) { |
| assertTrue(e.getMessage().contains(">=")); |
| return; |
| } |
| fail("Should throw an IllegalArgumentException"); |
| } |
| } |