| package junit.tests.framework; |
| |
| import junit.framework.Protectable; |
| import junit.framework.Test; |
| import junit.framework.TestCase; |
| import junit.framework.TestResult; |
| |
| /** |
| * Test an implementor of junit.framework.Test other than TestCase or TestSuite |
| */ |
| public class TestImplementorTest extends TestCase { |
| public static class DoubleTestCase implements Test { |
| private TestCase fTestCase; |
| |
| public DoubleTestCase(TestCase testCase) { |
| fTestCase = testCase; |
| } |
| |
| public int countTestCases() { |
| return 2; |
| } |
| |
| public void run(TestResult result) { |
| result.startTest(this); |
| Protectable p = new Protectable() { |
| public void protect() throws Throwable { |
| fTestCase.runBare(); |
| fTestCase.runBare(); |
| } |
| }; |
| result.runProtected(this, p); |
| result.endTest(this); |
| } |
| } |
| |
| private DoubleTestCase fTest; |
| |
| public TestImplementorTest() { |
| TestCase testCase = new TestCase() { |
| @Override |
| public void runTest() { |
| } |
| }; |
| fTest = new DoubleTestCase(testCase); |
| } |
| |
| public void testSuccessfulRun() { |
| TestResult result = new TestResult(); |
| fTest.run(result); |
| assertEquals(fTest.countTestCases(), result.runCount()); |
| assertEquals(0, result.errorCount()); |
| assertEquals(0, result.failureCount()); |
| } |
| } |