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 '***********************************************************************************/
31 using System
.Reflection
;
32 using System
.Diagnostics
;
37 /// Summary description for NotRunnableTestCase.
39 public class NotRunnableTestCase
: TestCase
41 public NotRunnableTestCase(MethodInfo method
, string reason
) : base(method
.DeclaringType
.FullName
, method
.Name
)
44 IgnoreReason
= reason
;
47 public NotRunnableTestCase(MethodInfo method
) : base(method
.DeclaringType
.FullName
, method
.Name
)
51 if (method
.IsAbstract
)
52 reason
= "it must not be abstract";
53 else if (method
.IsStatic
)
54 reason
= "it must be an instance method";
55 else if (!method
.IsPublic
)
56 reason
= "it must be a public method";
57 else if (method
.GetParameters().Length
!= 0)
58 reason
= "it must not have parameters";
59 else if (!method
.ReturnType
.Equals(typeof(void)))
60 reason
= "it must return void";
62 reason
= "reason not known";
65 IgnoreReason
= String
.Format("Method {0}'s signature is not correct: {1}.", method
.Name
, reason
);
68 public override void Run(TestCaseResult result
)
70 result
.NotRun(base.IgnoreReason
);