2010-06-21 Atsushi Enomoto <atsushi@ximian.com>
[mcs.git] / nunit24 / ClientUtilities / util / TestEventDispatcher.cs
blobd1a5edb9f942dac69a2303fa00200dc8dbcc1ea6
1 // ****************************************************************
2 // Copyright 2002-2003, Charlie Poole
3 // This is free software licensed under the NUnit license. You may
4 // obtain a copy of the license at http://nunit.org/?p=license&r=2.4
5 // ****************************************************************
7 using System;
8 using System.Collections;
9 using NUnit.Core;
11 namespace NUnit.Util
13 /// <summary>
14 /// Helper class used to dispatch test events
15 /// </summary>
16 public class TestEventDispatcher : ITestEvents
18 #region Events
20 // Project loading events
21 public event TestEventHandler ProjectLoading;
22 public event TestEventHandler ProjectLoaded;
23 public event TestEventHandler ProjectLoadFailed;
24 public event TestEventHandler ProjectUnloading;
25 public event TestEventHandler ProjectUnloaded;
26 public event TestEventHandler ProjectUnloadFailed;
28 // Test loading events
29 public event TestEventHandler TestLoading;
30 public event TestEventHandler TestLoaded;
31 public event TestEventHandler TestLoadFailed;
33 public event TestEventHandler TestReloading;
34 public event TestEventHandler TestReloaded;
35 public event TestEventHandler TestReloadFailed;
37 public event TestEventHandler TestUnloading;
38 public event TestEventHandler TestUnloaded;
39 public event TestEventHandler TestUnloadFailed;
41 // Test running events
42 public event TestEventHandler RunStarting;
43 public event TestEventHandler RunFinished;
45 public event TestEventHandler SuiteStarting;
46 public event TestEventHandler SuiteFinished;
48 public event TestEventHandler TestStarting;
49 public event TestEventHandler TestFinished;
51 public event TestEventHandler TestException;
52 public event TestEventHandler TestOutput;
54 #endregion
56 #region Methods for Firing Events
58 protected virtual void Fire( TestEventHandler handler, TestEventArgs e )
60 if ( handler != null )
61 handler( this, e );
64 public void FireProjectLoading( string fileName )
66 Fire(
67 ProjectLoading,
68 new TestEventArgs( TestAction.ProjectLoading, fileName ) );
71 public void FireProjectLoaded( string fileName )
73 Fire(
74 ProjectLoaded,
75 new TestEventArgs( TestAction.ProjectLoaded, fileName ) );
78 public void FireProjectLoadFailed( string fileName, Exception exception )
80 Fire(
81 ProjectLoadFailed,
82 new TestEventArgs( TestAction.ProjectLoadFailed, fileName, exception ) );
85 public void FireProjectUnloading( string fileName )
87 Fire(
88 ProjectUnloading,
89 new TestEventArgs( TestAction.ProjectUnloading, fileName ) );
92 public void FireProjectUnloaded( string fileName )
94 Fire(
95 ProjectUnloaded,
96 new TestEventArgs( TestAction.ProjectUnloaded, fileName ) );
99 public void FireProjectUnloadFailed( string fileName, Exception exception )
101 Fire(
102 ProjectUnloadFailed,
103 new TestEventArgs( TestAction.ProjectUnloadFailed, fileName, exception ) );
106 public void FireTestLoading( string fileName )
108 Fire(
109 TestLoading,
110 new TestEventArgs( TestAction.TestLoading, fileName ) );
113 public void FireTestLoaded( string fileName, ITest test )
115 Fire(
116 TestLoaded,
117 new TestEventArgs( TestAction.TestLoaded, fileName, test ) );
120 public void FireTestLoadFailed( string fileName, Exception exception )
122 Fire(
123 TestLoadFailed,
124 new TestEventArgs( TestAction.TestLoadFailed, fileName, exception ) );
127 public void FireTestUnloading( string fileName )
129 Fire(
130 TestUnloading,
131 new TestEventArgs( TestAction.TestUnloading, fileName ) );
134 public void FireTestUnloaded( string fileName )
136 Fire(
137 TestUnloaded,
138 new TestEventArgs( TestAction.TestUnloaded, fileName ) );
141 public void FireTestUnloadFailed( string fileName, Exception exception )
143 Fire(
144 TestUnloadFailed,
145 new TestEventArgs( TestAction.TestUnloadFailed, fileName, exception ) );
148 public void FireTestReloading( string fileName )
150 Fire(
151 TestReloading,
152 new TestEventArgs( TestAction.TestReloading, fileName ) );
155 public void FireTestReloaded( string fileName, ITest test )
157 Fire(
158 TestReloaded,
159 new TestEventArgs( TestAction.TestReloaded, fileName, test ) );
162 public void FireTestReloadFailed( string fileName, Exception exception )
164 Fire(
165 TestReloadFailed,
166 new TestEventArgs( TestAction.TestReloadFailed, fileName, exception ) );
169 public void FireRunStarting( string name, int testCount )
171 Fire(
172 RunStarting,
173 new TestEventArgs( TestAction.RunStarting, name, testCount ) );
176 public void FireRunFinished( TestResult result )
178 Fire(
179 RunFinished,
180 new TestEventArgs( TestAction.RunFinished, result ) );
183 public void FireRunFinished( Exception exception )
185 Fire(
186 RunFinished,
187 new TestEventArgs( TestAction.RunFinished, exception ) );
190 public void FireTestStarting( TestName testName )
192 Fire(
193 TestStarting,
194 new TestEventArgs( TestAction.TestStarting, testName ) );
197 public void FireTestFinished( TestResult result )
199 Fire(
200 TestFinished,
201 new TestEventArgs( TestAction.TestFinished, result ) );
204 public void FireSuiteStarting( TestName testName )
206 Fire(
207 SuiteStarting,
208 new TestEventArgs( TestAction.SuiteStarting, testName ) );
211 public void FireSuiteFinished( TestResult result )
213 Fire(
214 SuiteFinished,
215 new TestEventArgs( TestAction.SuiteFinished, result ) );
218 public void FireTestException( string name, Exception exception )
220 Fire(
221 TestException,
222 new TestEventArgs( TestAction.TestException, name, exception ) );
225 public void FireTestOutput( TestOutput testOutput )
227 Fire(
228 TestOutput,
229 new TestEventArgs( TestAction.TestOutput, testOutput ) );
232 #endregion