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 // ****************************************************************
8 using System
.Collections
;
14 /// Helper class used to dispatch test events
16 public class TestEventDispatcher
: ITestEvents
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
;
56 #region Methods for Firing Events
58 protected virtual void Fire( TestEventHandler handler
, TestEventArgs e
)
60 if ( handler
!= null )
64 public void FireProjectLoading( string fileName
)
68 new TestEventArgs( TestAction
.ProjectLoading
, fileName
) );
71 public void FireProjectLoaded( string fileName
)
75 new TestEventArgs( TestAction
.ProjectLoaded
, fileName
) );
78 public void FireProjectLoadFailed( string fileName
, Exception exception
)
82 new TestEventArgs( TestAction
.ProjectLoadFailed
, fileName
, exception
) );
85 public void FireProjectUnloading( string fileName
)
89 new TestEventArgs( TestAction
.ProjectUnloading
, fileName
) );
92 public void FireProjectUnloaded( string fileName
)
96 new TestEventArgs( TestAction
.ProjectUnloaded
, fileName
) );
99 public void FireProjectUnloadFailed( string fileName
, Exception exception
)
103 new TestEventArgs( TestAction
.ProjectUnloadFailed
, fileName
, exception
) );
106 public void FireTestLoading( string fileName
)
110 new TestEventArgs( TestAction
.TestLoading
, fileName
) );
113 public void FireTestLoaded( string fileName
, ITest test
)
117 new TestEventArgs( TestAction
.TestLoaded
, fileName
, test
) );
120 public void FireTestLoadFailed( string fileName
, Exception exception
)
124 new TestEventArgs( TestAction
.TestLoadFailed
, fileName
, exception
) );
127 public void FireTestUnloading( string fileName
)
131 new TestEventArgs( TestAction
.TestUnloading
, fileName
) );
134 public void FireTestUnloaded( string fileName
)
138 new TestEventArgs( TestAction
.TestUnloaded
, fileName
) );
141 public void FireTestUnloadFailed( string fileName
, Exception exception
)
145 new TestEventArgs( TestAction
.TestUnloadFailed
, fileName
, exception
) );
148 public void FireTestReloading( string fileName
)
152 new TestEventArgs( TestAction
.TestReloading
, fileName
) );
155 public void FireTestReloaded( string fileName
, ITest test
)
159 new TestEventArgs( TestAction
.TestReloaded
, fileName
, test
) );
162 public void FireTestReloadFailed( string fileName
, Exception exception
)
166 new TestEventArgs( TestAction
.TestReloadFailed
, fileName
, exception
) );
169 public void FireRunStarting( string name
, int testCount
)
173 new TestEventArgs( TestAction
.RunStarting
, name
, testCount
) );
176 public void FireRunFinished( TestResult result
)
180 new TestEventArgs( TestAction
.RunFinished
, result
) );
183 public void FireRunFinished( Exception exception
)
187 new TestEventArgs( TestAction
.RunFinished
, exception
) );
190 public void FireTestStarting( TestName testName
)
194 new TestEventArgs( TestAction
.TestStarting
, testName
) );
197 public void FireTestFinished( TestResult result
)
201 new TestEventArgs( TestAction
.TestFinished
, result
) );
204 public void FireSuiteStarting( TestName testName
)
208 new TestEventArgs( TestAction
.SuiteStarting
, testName
) );
211 public void FireSuiteFinished( TestResult result
)
215 new TestEventArgs( TestAction
.SuiteFinished
, result
) );
218 public void FireTestException( string name
, Exception exception
)
222 new TestEventArgs( TestAction
.TestException
, name
, exception
) );
225 public void FireTestOutput( TestOutput testOutput
)
229 new TestEventArgs( TestAction
.TestOutput
, testOutput
) );