View Javadoc
1   package junit.tests.extensions;
2   
3   import junit.extensions.TestSetup;
4   import junit.framework.Test;
5   import junit.framework.TestCase;
6   import junit.framework.TestResult;
7   import junit.framework.TestSuite;
8   import junit.tests.WasRun;
9   
10  /**
11   * A test case testing the extensions to the testing framework.
12   */
13  public class ExtensionTest extends TestCase {
14      static class TornDown extends TestSetup {
15          boolean fTornDown = false;
16  
17          TornDown(Test test) {
18              super(test);
19          }
20  
21          @Override
22          protected void tearDown() {
23              fTornDown = true;
24          }
25      }
26  
27      public void testRunningErrorInTestSetup() {
28          TestCase test = new TestCase("failure") {
29              @Override
30              public void runTest() {
31                  fail();
32              }
33          };
34  
35          TestSetup wrapper = new TestSetup(test);
36  
37          TestResult result = new TestResult();
38          wrapper.run(result);
39          assertTrue(!result.wasSuccessful());
40      }
41  
42      public void testRunningErrorsInTestSetup() {
43          TestCase failure = new TestCase("failure") {
44              @Override
45              public void runTest() {
46                  fail();
47              }
48          };
49  
50          TestCase error = new TestCase("error") {
51              @Override
52              public void runTest() {
53                  throw new Error();
54              }
55          };
56  
57          TestSuite suite = new TestSuite();
58          suite.addTest(failure);
59          suite.addTest(error);
60  
61          TestSetup wrapper = new TestSetup(suite);
62  
63          TestResult result = new TestResult();
64          wrapper.run(result);
65  
66          assertEquals(1, result.failureCount());
67          assertEquals(1, result.errorCount());
68      }
69  
70      public void testSetupErrorDontTearDown() {
71          WasRun test = new WasRun();
72  
73          TornDown wrapper = new TornDown(test) {
74              @Override
75              public void setUp() {
76                  fail();
77              }
78          };
79  
80          TestResult result = new TestResult();
81          wrapper.run(result);
82  
83          assertTrue(!wrapper.fTornDown);
84      }
85  
86      public void testSetupErrorInTestSetup() {
87          WasRun test = new WasRun();
88  
89          TestSetup wrapper = new TestSetup(test) {
90              @Override
91              public void setUp() {
92                  fail();
93              }
94          };
95  
96          TestResult result = new TestResult();
97          wrapper.run(result);
98  
99          assertTrue(!test.fWasRun);
100         assertTrue(!result.wasSuccessful());
101     }
102 }