2009-06-12 Bill Holmes <billholmes54@gmail.com>
[mono.git] / mcs / nunit20 / core / ITestEvents.cs
1 #region Copyright (c) 2002-2003, James W. Newkirk, Michael C. Two, Alexei A. Vorontsov, Charlie Poole, Philip A. Craig
2 /************************************************************************************
3 '
4 ' Copyright © 2002-2003 James W. Newkirk, Michael C. Two, Alexei A. Vorontsov, Charlie Poole
5 ' Copyright © 2000-2003 Philip A. Craig
6 '
7 ' This software is provided 'as-is', without any express or implied warranty. In no 
8 ' event will the authors be held liable for any damages arising from the use of this 
9 ' software.
10
11 ' Permission is granted to anyone to use this software for any purpose, including 
12 ' commercial applications, and to alter it and redistribute it freely, subject to the 
13 ' following restrictions:
14 '
15 ' 1. The origin of this software must not be misrepresented; you must not claim that 
16 ' you wrote the original software. If you use this software in a product, an 
17 ' acknowledgment (see the following) in the product documentation is required.
18 '
19 ' Portions Copyright © 2003 James W. Newkirk, Michael C. Two, Alexei A. Vorontsov, Charlie Poole
20 ' or Copyright © 2000-2003 Philip A. Craig
21 '
22 ' 2. Altered source versions must be plainly marked as such, and must not be 
23 ' misrepresented as being the original software.
24 '
25 ' 3. This notice may not be removed or altered from any source distribution.
26 '
27 '***********************************************************************************/
28 #endregion
29
30 using System;
31
32 namespace NUnit.Core
33 {
34         /// <summary>
35         /// Defines events related to the loading of tests.
36         /// </summary>
37         public interface ILoadEvents
38         {
39                 event TestEventHandler TestLoading;
40                 event TestEventHandler TestLoaded;
41                 event TestEventHandler TestLoadFailed;
42                 
43                 event TestEventHandler TestReloading;
44                 event TestEventHandler TestReloaded;
45                 event TestEventHandler TestReloadFailed;
46                 
47                 event TestEventHandler TestUnloading;
48                 event TestEventHandler TestUnloaded;
49                 event TestEventHandler TestUnloadFailed;
50         }
51
52         /// <summary>
53         /// Defines events related to the running of tests.
54         /// </summary>
55         public interface IRunEvents
56         {
57                 // Events related to a running a set of tests
58                 event TestEventHandler RunStarting;     
59                 event TestEventHandler RunFinished;
60
61                 // Events that arise while a test is running
62                 // These are translated from calls to the runner on the
63                 // EventListener interface.
64                 event TestEventHandler SuiteStarting;
65                 event TestEventHandler SuiteFinished;
66                 event TestEventHandler TestStarting;
67                 event TestEventHandler TestFinished;
68
69                 /// <summary>
70                 /// An unhandled exception was thrown during a test run,
71                 /// and it cannot be associated with a particular test failure.
72                 /// </summary>
73                 event TestEventHandler TestException;
74         }
75
76         /// <summary>
77         ///  The combined interface, typically implemented by test runners.
78         /// </summary>
79         public interface ITestEvents : ILoadEvents, IRunEvents
80         {
81         }
82 }