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
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
'***********************************************************************************/
30
using System.Collections;
35
/// Common interface supported by all representations
36
/// of a test. Only includes informational fields.
37
/// The Run method is specifically excluded to allow
38
/// for data-only representations of a test.
40
public interface ITest
48
/// Full Name of the test
50
string FullName { get; }
53
/// Key used to locate a test. Although the
54
/// ID alone would be sufficient, we combine it with the
55
/// FullName for ease in debugging and for use in messages.
57
string UniqueName { get; }
60
/// The test ID is a quasi-unique identifier for tests. It supports
61
/// over four billion test nodes in a single runner tree.
66
/// Whether or not the test should be run
68
bool ShouldRun { get; set; }
71
/// Reason for not running the test, if applicable
73
string IgnoreReason { get; set; }
76
/// Count of the test cases ( 1 if this is a test case )
81
/// For a test suite, the child tests or suites
82
/// Null if this is not a test suite
84
ArrayList Tests { get; }
87
/// Categories available for this test
89
IList Categories { get; }
91
bool HasCategory( string name );
93
bool HasCategory( IList names );
96
/// True if this is a suite
101
/// True if this is a TestFixture
103
bool IsFixture { get; }
106
/// True if this is a TestCase
108
bool IsTestCase { get; }
111
/// Return the description field.
113
string Description { get; set; }
116
/// True if this should only be run explicitly - that is
117
/// if it was marked with the ExplicitAttribute.
119
bool IsExplicit { get; set; }