KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > eclipse > jdt > internal > junit > model > TestRunListenerAdapter


1 /*******************************************************************************
2  * Copyright (c) 2000, 2007 IBM Corporation and others.
3  * All rights reserved. This program and the accompanying materials
4  * are made available under the terms of the Eclipse Public License v1.0
5  * which accompanies this distribution, and is available at
6  * http://www.eclipse.org/legal/epl-v10.html
7  *
8  * Contributors:
9  * IBM Corporation - initial API and implementation
10  *******************************************************************************/

11 package org.eclipse.jdt.internal.junit.model;
12
13 import org.eclipse.jdt.junit.TestRunListener;
14 import org.eclipse.jdt.junit.model.ITestCaseElement;
15
16 import org.eclipse.jdt.internal.junit.model.TestElement.Status;
17 import org.eclipse.jdt.internal.junit.ui.JUnitPlugin;
18
19
20 /**
21  * Notifier for the callback listener API {@link TestRunListener}.
22  */

23 public class TestRunListenerAdapter implements ITestSessionListener {
24
25     private final TestRunSession fSession;
26
27     public TestRunListenerAdapter(TestRunSession session) {
28         fSession= session;
29     }
30     
31     private Object JavaDoc[] getListeners() {
32         return JUnitPlugin.getDefault().getNewTestRunListeners().getListeners();
33     }
34     
35     private void fireSessionStarted() {
36         Object JavaDoc[] listeners= getListeners();
37         for (int i= 0; i < listeners.length; i++) {
38             ((TestRunListener) listeners[i]).sessionStarted(fSession);
39         }
40     }
41     
42     private void fireSessionFinished() {
43         Object JavaDoc[] listeners= getListeners();
44         for (int i= 0; i < listeners.length; i++) {
45             ((TestRunListener) listeners[i]).sessionFinished(fSession);
46         }
47     }
48     
49     private void fireTestCaseStarted(ITestCaseElement testCaseElement) {
50         Object JavaDoc[] listeners= getListeners();
51         for (int i= 0; i < listeners.length; i++) {
52             ((TestRunListener) listeners[i]).testCaseStarted(testCaseElement);
53         }
54     }
55     
56     private void fireTestCaseFinished(ITestCaseElement testCaseElement) {
57         Object JavaDoc[] listeners= getListeners();
58         for (int i= 0; i < listeners.length; i++) {
59             ((TestRunListener) listeners[i]).testCaseFinished(testCaseElement);
60         }
61     }
62     
63     
64     /* (non-Javadoc)
65      * @see org.eclipse.jdt.internal.junit.model.ITestSessionListener#sessionStarted()
66      */

67     public void sessionStarted() {
68         // wait until all test are added
69
}
70     
71     /* (non-Javadoc)
72      * @see org.eclipse.jdt.internal.junit.model.ITestSessionListener#sessionEnded(long)
73      */

74     public void sessionEnded(long elapsedTime) {
75         fireSessionFinished();
76         fSession.swapOut();
77     }
78
79     /* (non-Javadoc)
80      * @see org.eclipse.jdt.internal.junit.model.ITestSessionListener#sessionStopped(long)
81      */

82     public void sessionStopped(long elapsedTime) {
83         fireSessionFinished();
84         fSession.swapOut();
85     }
86
87     /* (non-Javadoc)
88      * @see org.eclipse.jdt.internal.junit.model.ITestSessionListener#sessionTerminated()
89      */

90     public void sessionTerminated() {
91         fSession.swapOut();
92     }
93
94     /* (non-Javadoc)
95      * @see org.eclipse.jdt.internal.junit.model.ITestSessionListener#testAdded(org.eclipse.jdt.internal.junit.model.TestElement)
96      */

97     public void testAdded(TestElement testElement) {
98         // do nothing
99
}
100     
101     /* (non-Javadoc)
102      * @see org.eclipse.jdt.internal.junit.model.ITestSessionListener#runningBegins()
103      */

104     public void runningBegins() {
105         fireSessionStarted();
106     }
107     
108     /* (non-Javadoc)
109      * @see org.eclipse.jdt.internal.junit.model.ITestSessionListener#testStarted(org.eclipse.jdt.internal.junit.model.TestCaseElement)
110      */

111     public void testStarted(TestCaseElement testCaseElement) {
112         fireTestCaseStarted(testCaseElement);
113     }
114
115     /* (non-Javadoc)
116      * @see org.eclipse.jdt.internal.junit.model.ITestSessionListener#testEnded(org.eclipse.jdt.internal.junit.model.TestCaseElement)
117      */

118     public void testEnded(TestCaseElement testCaseElement) {
119         fireTestCaseFinished(testCaseElement);
120     }
121
122     /* (non-Javadoc)
123      * @see org.eclipse.jdt.internal.junit.model.ITestSessionListener#testFailed(org.eclipse.jdt.internal.junit.model.TestElement, org.eclipse.jdt.internal.junit.model.TestElement.Status, java.lang.String, java.lang.String, java.lang.String)
124      */

125     public void testFailed(TestElement testElement, Status status, String JavaDoc trace, String JavaDoc expected, String JavaDoc actual) {
126         // ignore
127
}
128
129     /* (non-Javadoc)
130      * @see org.eclipse.jdt.internal.junit.model.ITestSessionListener#testReran(org.eclipse.jdt.internal.junit.model.TestCaseElement, org.eclipse.jdt.internal.junit.model.TestElement.Status, java.lang.String, java.lang.String, java.lang.String)
131      */

132     public void testReran(TestCaseElement testCaseElement, Status status, String JavaDoc trace, String JavaDoc expectedResult, String JavaDoc actualResult) {
133         // ignore
134
}
135     
136     public boolean acceptsSwapToDisk() {
137         return true;
138     }
139 }
140
Popular Tags