1 package junit.tests.framework;
2
3 import junit.framework.AssertionFailedError;
4 import junit.framework.Test;
5 import junit.framework.TestCase;
6 import junit.framework.TestListener;
7 import junit.framework.TestResult;
8
9
10
11
12 public class TestListenerTest extends TestCase implements TestListener {
13 private TestResult fResult;
14 private int fStartCount;
15 private int fEndCount;
16 private int fFailureCount;
17 private int fErrorCount;
18
19 public void addError(Test test, Throwable e) {
20 fErrorCount++;
21 }
22
23 public void addFailure(Test test, AssertionFailedError t) {
24 fFailureCount++;
25 }
26
27 public void endTest(Test test) {
28 fEndCount++;
29 }
30
31 @Override
32 protected void setUp() {
33 fResult = new TestResult();
34 fResult.addListener(this);
35
36 fStartCount = 0;
37 fEndCount = 0;
38 fFailureCount = 0;
39 fErrorCount = 0;
40 }
41
42 public void startTest(Test test) {
43 fStartCount++;
44 }
45
46 public void testError() {
47 TestCase test = new TestCase("noop") {
48 @Override
49 public void runTest() {
50 throw new Error();
51 }
52 };
53 test.run(fResult);
54 assertEquals(1, fErrorCount);
55 assertEquals(1, fEndCount);
56 }
57
58 public void testFailure() {
59 TestCase test = new TestCase("noop") {
60 @Override
61 public void runTest() {
62 fail();
63 }
64 };
65 test.run(fResult);
66 assertEquals(1, fFailureCount);
67 assertEquals(1, fEndCount);
68 }
69
70 public void testStartStop() {
71 TestCase test = new TestCase("noop") {
72 @Override
73 public void runTest() {
74 }
75 };
76 test.run(fResult);
77 assertEquals(1, fStartCount);
78 assertEquals(1, fEndCount);
79 }
80 }