DataObjectAttribute.cs: Implemented
[mono.git] / mcs / nunit20 / core / EventListener.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 namespace NUnit.Core
31 {
32         using System;
33
34         /// <summary>
35         /// The EventListener interface is used to receive notifications of
36         /// significant events while a test is being run.
37         /// </summary>
38         public interface EventListener
39         {
40                 /// <summary>
41                 /// Run is starting
42                 /// </summary>
43                 /// <param name="tests">Array of tests to be run</param>
44                 void RunStarted( Test[] tests );
45
46                 /// <summary>
47                 /// Run finished successfully
48                 /// </summary>
49                 /// <param name="results">Array of test results</param>
50                 void RunFinished( TestResult[] results );
51
52                 /// <summary>
53                 /// Run was terminated due to an exception
54                 /// </summary>
55                 /// <param name="exception">Exception that was thrown</param>
56                 void RunFinished( Exception exception );
57
58                 /// <summary>
59                 /// A single test case is starting
60                 /// </summary>
61                 /// <param name="testCase">The test case</param>
62                 void TestStarted(TestCase testCase);
63                         
64                 /// <summary>
65                 /// A test case finished
66                 /// </summary>
67                 /// <param name="result">Result of the test case</param>
68                 void TestFinished(TestCaseResult result);
69
70                 /// <summary>
71                 /// A suite is starting
72                 /// </summary>
73                 /// <param name="suite">The suite that is starting</param>
74                 void SuiteStarted(TestSuite suite);
75
76                 /// <summary>
77                 /// A suite finished
78                 /// </summary>
79                 /// <param name="result">Result of the suite</param>
80                 void SuiteFinished(TestSuiteResult result);
81
82                 /// <summary>
83                 /// An unhandled exception occured while running a test,
84                 /// but the test was not terminated.
85                 /// </summary>
86                 /// <param name="exception"></param>
87                 void UnhandledException( Exception exception );
88         }
89 }