1 // ****************************************************************
\r
2 // Copyright 2002-2003, Charlie Poole
\r
3 // This is free software licensed under the NUnit license. You may
\r
4 // obtain a copy of the license at http://nunit.org/?p=license&r=2.4
\r
5 // ****************************************************************
\r
8 using System.Collections;
\r
11 namespace NUnit.Util
\r
14 /// Helper class used to dispatch test events
\r
16 public class TestEventDispatcher : ITestEvents
\r
20 // Project loading events
\r
21 public event TestEventHandler ProjectLoading;
\r
22 public event TestEventHandler ProjectLoaded;
\r
23 public event TestEventHandler ProjectLoadFailed;
\r
24 public event TestEventHandler ProjectUnloading;
\r
25 public event TestEventHandler ProjectUnloaded;
\r
26 public event TestEventHandler ProjectUnloadFailed;
\r
28 // Test loading events
\r
29 public event TestEventHandler TestLoading;
\r
30 public event TestEventHandler TestLoaded;
\r
31 public event TestEventHandler TestLoadFailed;
\r
33 public event TestEventHandler TestReloading;
\r
34 public event TestEventHandler TestReloaded;
\r
35 public event TestEventHandler TestReloadFailed;
\r
37 public event TestEventHandler TestUnloading;
\r
38 public event TestEventHandler TestUnloaded;
\r
39 public event TestEventHandler TestUnloadFailed;
\r
41 // Test running events
\r
42 public event TestEventHandler RunStarting;
\r
43 public event TestEventHandler RunFinished;
\r
45 public event TestEventHandler SuiteStarting;
\r
46 public event TestEventHandler SuiteFinished;
\r
48 public event TestEventHandler TestStarting;
\r
49 public event TestEventHandler TestFinished;
\r
51 public event TestEventHandler TestException;
\r
52 public event TestEventHandler TestOutput;
\r
56 #region Methods for Firing Events
\r
58 protected virtual void Fire( TestEventHandler handler, TestEventArgs e )
\r
60 if ( handler != null )
\r
64 public void FireProjectLoading( string fileName )
\r
68 new TestEventArgs( TestAction.ProjectLoading, fileName ) );
\r
71 public void FireProjectLoaded( string fileName )
\r
75 new TestEventArgs( TestAction.ProjectLoaded, fileName ) );
\r
78 public void FireProjectLoadFailed( string fileName, Exception exception )
\r
82 new TestEventArgs( TestAction.ProjectLoadFailed, fileName, exception ) );
\r
85 public void FireProjectUnloading( string fileName )
\r
89 new TestEventArgs( TestAction.ProjectUnloading, fileName ) );
\r
92 public void FireProjectUnloaded( string fileName )
\r
96 new TestEventArgs( TestAction.ProjectUnloaded, fileName ) );
\r
99 public void FireProjectUnloadFailed( string fileName, Exception exception )
\r
102 ProjectUnloadFailed,
\r
103 new TestEventArgs( TestAction.ProjectUnloadFailed, fileName, exception ) );
\r
106 public void FireTestLoading( string fileName )
\r
110 new TestEventArgs( TestAction.TestLoading, fileName ) );
\r
113 public void FireTestLoaded( string fileName, ITest test )
\r
117 new TestEventArgs( TestAction.TestLoaded, fileName, test ) );
\r
120 public void FireTestLoadFailed( string fileName, Exception exception )
\r
124 new TestEventArgs( TestAction.TestLoadFailed, fileName, exception ) );
\r
127 public void FireTestUnloading( string fileName )
\r
131 new TestEventArgs( TestAction.TestUnloading, fileName ) );
\r
134 public void FireTestUnloaded( string fileName )
\r
138 new TestEventArgs( TestAction.TestUnloaded, fileName ) );
\r
141 public void FireTestUnloadFailed( string fileName, Exception exception )
\r
145 new TestEventArgs( TestAction.TestUnloadFailed, fileName, exception ) );
\r
148 public void FireTestReloading( string fileName )
\r
152 new TestEventArgs( TestAction.TestReloading, fileName ) );
\r
155 public void FireTestReloaded( string fileName, ITest test )
\r
159 new TestEventArgs( TestAction.TestReloaded, fileName, test ) );
\r
162 public void FireTestReloadFailed( string fileName, Exception exception )
\r
166 new TestEventArgs( TestAction.TestReloadFailed, fileName, exception ) );
\r
169 public void FireRunStarting( string name, int testCount )
\r
173 new TestEventArgs( TestAction.RunStarting, name, testCount ) );
\r
176 public void FireRunFinished( TestResult result )
\r
180 new TestEventArgs( TestAction.RunFinished, result ) );
\r
183 public void FireRunFinished( Exception exception )
\r
187 new TestEventArgs( TestAction.RunFinished, exception ) );
\r
190 public void FireTestStarting( TestName testName )
\r
194 new TestEventArgs( TestAction.TestStarting, testName ) );
\r
197 public void FireTestFinished( TestResult result )
\r
201 new TestEventArgs( TestAction.TestFinished, result ) );
\r
204 public void FireSuiteStarting( TestName testName )
\r
208 new TestEventArgs( TestAction.SuiteStarting, testName ) );
\r
211 public void FireSuiteFinished( TestResult result )
\r
215 new TestEventArgs( TestAction.SuiteFinished, result ) );
\r
218 public void FireTestException( string name, Exception exception )
\r
222 new TestEventArgs( TestAction.TestException, name, exception ) );
\r
225 public void FireTestOutput( TestOutput testOutput )
\r
229 new TestEventArgs( TestAction.TestOutput, testOutput ) );
\r