a575963da9
Former-commit-id: da6be194a6b1221998fc28233f2503bd61dd9d14
51 lines
1.5 KiB
C#
51 lines
1.5 KiB
C#
// ****************************************************************
|
|
// This is free software licensed under the NUnit license. You
|
|
// may obtain a copy of the license as well as information regarding
|
|
// copyright ownership at http://nunit.org/?p=license&r=2.4.
|
|
// ****************************************************************
|
|
|
|
using System;
|
|
using System.Reflection;
|
|
|
|
namespace NUnit.Core
|
|
{
|
|
/// <summary>
|
|
/// Summary description for NotRunnableTestCase.
|
|
/// </summary>
|
|
public class NotRunnableTestCase : TestCase
|
|
{
|
|
public NotRunnableTestCase(MethodInfo method, string reason) : base(method.DeclaringType.FullName, method.Name)
|
|
{
|
|
RunState = RunState.NotRunnable;
|
|
IgnoreReason = reason;
|
|
}
|
|
|
|
public NotRunnableTestCase(MethodInfo method) : base(method.DeclaringType.FullName, method.Name)
|
|
{
|
|
string reason;
|
|
|
|
if (method.IsAbstract)
|
|
reason = "it must not be abstract";
|
|
else if (method.IsStatic)
|
|
reason = "it must be an instance method";
|
|
else if (!method.IsPublic)
|
|
reason = "it must be a public method";
|
|
else if (method.GetParameters().Length != 0)
|
|
reason = "it must not have parameters";
|
|
else if (!method.ReturnType.Equals(typeof(void)))
|
|
reason = "it must return void";
|
|
else
|
|
reason = "reason not known";
|
|
|
|
RunState = RunState.NotRunnable;
|
|
IgnoreReason = String.Format("Method {0}'s signature is not correct: {1}.", method.Name, reason);
|
|
}
|
|
|
|
public override void Run(TestCaseResult result)
|
|
{
|
|
result.Ignore(base.IgnoreReason);
|
|
}
|
|
}
|
|
}
|
|
|