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 '***********************************************************************************/
33 using System
.Collections
;
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.
41 public interface ITest
49 /// Full Name of the test
51 string FullName { get; }
54 /// Last part of the full name
56 string ShortName { get; }
59 /// Int used to distinguish suites of the same
60 /// name across multiple assemblies.
62 int AssemblyKey { get; set; }
65 /// Key used to look up a test in a hash table
67 string UniqueName { get; }
70 /// Whether or not the test should be run
72 bool ShouldRun { get; set; }
75 /// Reason for not running the test, if applicable
77 string IgnoreReason { get; set; }
80 /// Count of the test cases ( 1 if this is a test case )
85 /// For a test suite, the child tests or suites
86 /// Null if this is not a test suite
88 ArrayList Tests { get; }
91 /// Categories available for this test
93 IList Categories { get; }
95 bool HasCategory( string name
);
97 bool HasCategory( IList names
);
100 /// True if this is a suite
102 bool IsSuite { get; }
105 /// True if this is a TestFixture
107 bool IsFixture { get; }
110 /// True if this is a TestCase
112 bool IsTestCase { get; }
115 /// Return the description field.
117 string Description { get; set; }
120 /// True if this should only be run explicitly - that is
121 /// if it was marked with the ExplicitAttribute.
123 bool IsExplicit { get; set; }