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