1 #region Copyright (c) 2002-2003, James W. Newkirk, Michael C. Two, Alexei A. Vorontsov, Charlie Poole, Philip A. Craig
2 /************************************************************************************
4 ' Copyright © 2002-2003 James W. Newkirk, Michael C. Two, Alexei A. Vorontsov, Charlie Poole
5 ' Copyright © 2000-2003 Philip A. Craig
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
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:
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.
19 ' Portions Copyright © 2003 James W. Newkirk, Michael C. Two, Alexei A. Vorontsov, Charlie Poole
20 ' or Copyright © 2000-2003 Philip A. Craig
22 ' 2. Altered source versions must be plainly marked as such, and must not be
23 ' misrepresented as being the original software.
25 ' 3. This notice may not be removed or altered from any source distribution.
27 '***********************************************************************************/
33 using System.Diagnostics;
34 using System.Reflection;
37 /// Summary description for ExpectedExceptionTestCase.
39 public class ExpectedExceptionTestCase : TemplateTestCase
41 private Type expectedException;
42 private string expectedMessage;
44 public ExpectedExceptionTestCase(object fixture, MethodInfo info, Type expectedException, string expectedMessage)
47 this.expectedException = expectedException;
48 this.expectedMessage = expectedMessage;
51 protected override internal void ProcessException(Exception exception, TestCaseResult testResult)
53 if (expectedException.Equals(exception.GetType()))
55 if (expectedMessage != null && !expectedMessage.Equals(exception.Message))
57 string message = string.Format("Expected exception to have message: \"{0}\" but received message \"{1}\"",
58 expectedMessage, exception.Message);
59 testResult.Failure(message, exception.StackTrace);
66 else if (exception is Framework.AssertionException)
68 RecordException(exception,testResult);
72 string message = "Expected: " + expectedException.Name + " but was " + exception.GetType().Name;
73 testResult.Failure(message, exception.StackTrace);
79 protected override internal void ProcessNoException(TestCaseResult testResult)
81 testResult.Failure(expectedException.Name + " was expected", null);