// ****************************************************************
// 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.Reflection;
namespace NUnit.Core.Extensibility
{
///
/// The ITestCaseBuilder interface is exposed by a class that knows how to
/// build a test case from certain methods.
///
public interface ITestCaseBuilder
{
///
/// Examine the method and determine if it is suitable for
/// this builder to use in building a TestCase.
///
/// Note that returning false will cause the method to be ignored
/// in loading the tests. If it is desired to load the method
/// but label it as non-runnable, ignored, etc., then this
/// method must return true.
///
/// Derived classes must override this method.
///
/// The test method to examine
/// True is the builder can use this method
bool CanBuildFrom( MethodInfo method );
///
/// Build a TestCase from the provided MethodInfo.
///
/// The method to be used as a test case
/// A TestCase or null
Test BuildFrom( MethodInfo method );
}
}