// ****************************************************************
// Copyright 2007, Charlie Poole
// This is free software licensed under the NUnit license. You may
// obtain a copy of the license at http://nunit.org/?p=license&r=2.4
// ****************************************************************
using System;
using NUnit.Core.Builders;
using NUnit.Core.Extensibility;
namespace NUnit.Core.Extensions
{
///
/// MockFixtureExtensionBuilder knows how to build
/// a MockFixtureExtension.
///
[NUnitAddin(Description="Wraps an NUnitTestFixture with an additional level of SetUp and TearDown")]
public class SampleFixtureExtensionBuilder : ISuiteBuilder, IAddin
{
#region NUnitTestFixtureBuilder Overrides
///
/// Makes a SampleFixtureExtension instance
///
/// The type to be used
/// A SampleFixtureExtension as a TestSuite
// protected override TestSuite MakeSuite(Type type)
// {
// return new SampleFixtureExtension( type );
// }
// The builder recognizes the types that it can use by the presense
// of SampleFixtureExtensionAttribute. Note that an attribute does not
// have to be used. You can use any arbitrary set of rules that can be
// implemented using reflection on the type.
public bool CanBuildFrom(Type type)
{
return Reflect.HasAttribute( type, "NUnit.Core.Extensions.SampleFixtureExtensionAttribute", false );
}
public Test BuildFrom(Type type)
{
return null;
}
#endregion
#region IAddin Members
public bool Install(IExtensionHost host)
{
IExtensionPoint suiteBuilders = host.GetExtensionPoint( "SuiteBuilders" );
if ( suiteBuilders == null )
return false;
suiteBuilders.Install( this );
return true;
}
#endregion
}
}