/src/NUnit/interfaces/ITest.cs
C# | 91 lines | 23 code | 14 blank | 54 comment | 0 complexity | 232553aa702fdf0667da6f980e4e2799 MD5 | raw file
Possible License(s): GPL-2.0
- // ****************************************************************
- // This is free software licensed under the NUnit license. You
- // may obtain a copy of the license as well as information regarding
- // copyright ownership at http://nunit.org.
- // ****************************************************************
-
- using System.Collections;
-
- namespace NUnit.Core
- {
- /// <summary>
- /// Common interface supported by all representations
- /// of a test. Only includes informational fields.
- /// The Run method is specifically excluded to allow
- /// for data-only representations of a test.
- /// </summary>
- public interface ITest
- {
- #region Properties
- /// <summary>
- /// Gets the completely specified name of the test
- /// encapsulated in a TestName object.
- /// </summary>
- TestName TestName { get; }
-
- /// <summary>
- /// Gets a string representing the type of test, e.g.: "Test Case"
- /// </summary>
- string TestType { get; }
-
- /// <summary>
- /// Indicates whether the test can be run using
- /// the RunState enum.
- /// </summary>
- RunState RunState { get; set; }
-
- /// <summary>
- /// Reason for not running the test, if applicable
- /// </summary>
- string IgnoreReason { get; set; }
-
- /// <summary>
- /// Count of the test cases ( 1 if this is a test case )
- /// </summary>
- int TestCount { get; }
-
- /// <summary>
- /// Categories available for this test
- /// </summary>
- IList Categories { get; }
-
- /// <summary>
- /// Return the description field.
- /// </summary>
- string Description { get; set; }
-
- /// <summary>
- /// Return additional properties of the test
- /// </summary>
- IDictionary Properties { get; }
-
- /// <summary>
- /// True if this is a suite
- /// </summary>
- bool IsSuite { get; }
-
- /// <summary>
- /// Gets the parent test of this test
- /// </summary>
- ITest Parent { get; }
-
- /// <summary>
- /// For a test suite, the child tests or suites
- /// Null if this is not a test suite
- /// </summary>
- IList Tests { get; }
- #endregion
-
- #region Methods
- /// <summary>
- /// Count the test cases that pass a filter. The
- /// result should match those that would execute
- /// when passing the same filter to Run.
- /// </summary>
- /// <param name="filter">The filter to apply</param>
- /// <returns>The count of test cases</returns>
- int CountTestCases(ITestFilter filter);
- #endregion
- }
- }
-