importing messaging-2008 branch to trunk.
[mono.git] / mcs / nunit24 / NUnitCore / interfaces / Extensibility / ISuiteBuilder.cs
1 // ****************************************************************\r
2 // This is free software licensed under the NUnit license. You\r
3 // may obtain a copy of the license as well as information regarding\r
4 // copyright ownership at http://nunit.org/?p=license&r=2.4.\r
5 // ****************************************************************\r
6 \r
7 using System;\r
8 \r
9 namespace NUnit.Core.Extensibility\r
10 {\r
11         /// <summary>\r
12         /// The ISuiteBuilder interface is exposed by a class that knows how to\r
13         /// build a suite from one or more Types. \r
14         /// </summary>\r
15         public interface ISuiteBuilder\r
16         {\r
17                 /// <summary>\r
18                 /// Examine the type and determine if it is suitable for\r
19                 /// this builder to use in building a TestSuite.\r
20         /// \r
21         /// Note that returning false will cause the type to be ignored \r
22         /// in loading the tests. If it is desired to load the suite\r
23         /// but label it as non-runnable, ignored, etc., then this\r
24         /// method must return true.\r
25         /// </summary>\r
26                 /// <param name="type">The type of the fixture to be used</param>\r
27                 /// <returns>True if the type can be used to build a TestSuite</returns>\r
28                 bool CanBuildFrom( Type type );\r
29 \r
30                 /// <summary>\r
31                 /// Build a TestSuite from type provided.\r
32                 /// </summary>\r
33                 /// <param name="type">The type of the fixture to be used</param>\r
34                 /// <returns>A TestSuite</returns>\r
35                 Test BuildFrom( Type type );\r
36         }\r
37 }\r