2009-06-12 Bill Holmes <billholmes54@gmail.com>
[mono.git] / mcs / nunit20 / framework / ExpectedExceptionAttribute.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.Framework
31 {
32         using System;
33
34         /// <summary>
35         /// ExpectedAttributeException.
36         /// </summary>
37         /// 
38         [AttributeUsage(AttributeTargets.Method, AllowMultiple=false)]
39         public sealed class ExpectedExceptionAttribute : Attribute
40         {
41                 private Type expectedException;
42                 private string expectedMessage;
43
44                 /// <summary>
45                 /// Constructor for a given type of exception
46                 /// </summary>
47                 /// <param name="exceptionType"></param>
48                 public ExpectedExceptionAttribute(Type exceptionType)
49                 {
50                         expectedException = exceptionType;
51                 }
52
53                 /// <summary>
54                 /// Constructor for a given type of exception and expected message text
55                 /// </summary>
56                 /// <param name="exceptionType"></param>
57                 /// <param name="expectedMessage"></param>
58                 public ExpectedExceptionAttribute(Type exceptionType, string expectedMessage)
59                 {
60                         expectedException = exceptionType;
61                         this.expectedMessage = expectedMessage;
62                 }
63
64                 /// <summary>
65                 /// The expected exception type
66                 /// </summary>
67                 public Type ExceptionType 
68                 {
69                         get{ return expectedException; }
70                         set{ expectedException = value; }
71                 }
72
73                 /// <summary>
74                 /// The expected message
75                 /// </summary>
76                 public string ExpectedMessage 
77                 {
78                         get { return expectedMessage; }
79                         set { expectedMessage = value; }
80                 }
81         }
82 }