| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- using System;
- using System.Collections.Generic;
- using NUnit.Framework;
- namespace MonoTests.Common
- {
- delegate void AssertThrowsDelegate ();
- static class AssertExtensions
- {
- public static void Throws<ET> (AssertThrowsDelegate code, string message)
- {
- Throws (typeof (ET), code, message);
- }
- public static void Throws (Type exceptionType, AssertThrowsDelegate code, string message)
- {
- if (code == null)
- Assert.Fail ("No code provided for the test.");
- Exception exception = null;
- try {
- code ();
- } catch (Exception ex) {
- exception = ex;
- }
- if (exceptionType == null) {
- if (exception == null)
- Assert.Fail ("{0}{1}Expected: any exception thrown{1}But was: no exception thrown{1}",
- message, Environment.NewLine);
- return;
- }
- if (exception == null || exception.GetType () != exceptionType)
- Assert.Fail ("{0}{1}Expected: {2}{1}But was: {3}{1}",
- message,
- Environment.NewLine,
- exceptionType,
- exception == null ? "null" : exception.GetType ().ToString ());
- }
- public static void Throws (AssertThrowsDelegate code, string message)
- {
- Throws (null, code, message);
- }
- }
- }
|