// ****************************************************************
// 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;
namespace NUnit.Core.Extensibility
{
///
/// The ISuiteBuilder interface is exposed by a class that knows how to
/// build a suite from one or more Types.
///
public interface ISuiteBuilder
{
///
/// Examine the type and determine if it is suitable for
/// this builder to use in building a TestSuite.
///
/// Note that returning false will cause the type to be ignored
/// in loading the tests. If it is desired to load the suite
/// but label it as non-runnable, ignored, etc., then this
/// method must return true.
///
/// The type of the fixture to be used
/// True if the type can be used to build a TestSuite
bool CanBuildFrom( Type type );
///
/// Build a TestSuite from type provided.
///
/// The type of the fixture to be used
/// A TestSuite
Test BuildFrom( Type type );
}
}