(DISTFILES): Comment out a few missing files.
[mono-project.git] / mcs / nunit20 / core / ITest.cs
blob1c77cb5e7ccb4399581eba3a75f7cd5d3ca96f72
1 #region Copyright (c) 2002-2003, James W. Newkirk, Michael C. Two, Alexei A. Vorontsov, Charlie Poole, Philip A. Craig
2 /************************************************************************************
4 ' Copyright © 2002-2003 James W. Newkirk, Michael C. Two, Alexei A. Vorontsov, Charlie Poole
5 ' Copyright © 2000-2003 Philip A. Craig
7 ' This software is provided 'as-is', without any express or implied warranty. In no
8 ' event will the authors be held liable for any damages arising from the use of this
9 ' software.
11 ' Permission is granted to anyone to use this software for any purpose, including
12 ' commercial applications, and to alter it and redistribute it freely, subject to the
13 ' following restrictions:
15 ' 1. The origin of this software must not be misrepresented; you must not claim that
16 ' you wrote the original software. If you use this software in a product, an
17 ' acknowledgment (see the following) in the product documentation is required.
19 ' Portions Copyright © 2003 James W. Newkirk, Michael C. Two, Alexei A. Vorontsov, Charlie Poole
20 ' or Copyright © 2000-2003 Philip A. Craig
22 ' 2. Altered source versions must be plainly marked as such, and must not be
23 ' misrepresented as being the original software.
25 ' 3. This notice may not be removed or altered from any source distribution.
27 '***********************************************************************************/
28 #endregion
30 namespace NUnit.Core
32 using System;
33 using System.Collections;
35 /// <summary>
36 /// Common interface supported by all representations
37 /// of a test. Only includes informational fields.
38 /// The Run method is specifically excluded to allow
39 /// for data-only representations of a test.
40 /// </summary>
41 public interface ITest
43 /// <summary>
44 /// Name of the test
45 /// </summary>
46 string Name { get; }
48 /// <summary>
49 /// Full Name of the test
50 /// </summary>
51 string FullName { get; }
53 /// <summary>
54 /// Last part of the full name
55 /// </summary>
56 string ShortName { get; }
58 /// <summary>
59 /// Int used to distinguish suites of the same
60 /// name across multiple assemblies.
61 /// </summary>
62 int AssemblyKey { get; set; }
64 /// <summary>
65 /// Key used to look up a test in a hash table
66 /// </summary>
67 string UniqueName { get; }
69 /// <summary>
70 /// Whether or not the test should be run
71 /// </summary>
72 bool ShouldRun { get; set; }
74 /// <summary>
75 /// Reason for not running the test, if applicable
76 /// </summary>
77 string IgnoreReason { get; set; }
79 /// <summary>
80 /// Count of the test cases ( 1 if this is a test case )
81 /// </summary>
82 int CountTestCases();
84 /// <summary>
85 /// For a test suite, the child tests or suites
86 /// Null if this is not a test suite
87 /// </summary>
88 ArrayList Tests { get; }
90 /// <summary>
91 /// Categories available for this test
92 /// </summary>
93 IList Categories { get; }
95 bool HasCategory( string name );
97 bool HasCategory( IList names );
99 /// <summary>
100 /// True if this is a suite
101 /// </summary>
102 bool IsSuite { get; }
104 /// <summary>
105 /// True if this is a TestFixture
106 /// </summary>
107 bool IsFixture { get; }
109 /// <summary>
110 /// True if this is a TestCase
111 /// </summary>
112 bool IsTestCase { get; }
114 /// <summary>
115 /// Return the description field.
116 /// </summary>
117 string Description { get; set; }
119 /// <summary>
120 /// True if this should only be run explicitly - that is
121 /// if it was marked with the ExplicitAttribute.
122 /// </summary>
123 bool IsExplicit { get; set; }