TCLite.Interfaces Namespace

Interface Types

Interface Summary
IApplyToContext The IApplyToContext interface is implemented by attributes that want to make changes to the execution context before a test is run.
IApplyToTest The IApplyToTest interface is implemented by self-applying attributes that modify the state of a test in some way.
ICombiningStrategy CombiningStrategy is the abstract base for classes that know how to combine values provided for individual test parameters to create a set of test cases.
IImplyFixture IImplyFixture is an empty marker interface used by attributes like TestAttribute that cause the class where they are used to be treated as a TestFixture even without a TestFixtureAttribute. Marker interfaces are not usually considered a good practice, but we use it here to avoid cluttering the attribute hierarchy with classes that don't contain any extra implementation.
IParameterDataProvider Provides data for a single test parameter.
IParameterDataSource The IParameterDataSource interface is implemented by types that can provide data for a test method parameter.
IPropertyBag A PropertyBag represents a collection of name/value pairs that allows duplicate entries with the same key. Methods are provided for adding a new pair as well as for setting a key to a single value. All keys are strings but values may be of any type. Null values are not permitted, since a null entry represents the absence of the key. The entries in a PropertyBag are of two kinds: those that take a single value and those that take multiple values. However, the PropertyBag has no knowledge of which entries fall into each category and the distinction is entirely up to the code using the PropertyBag. When working with multi-valued properties, client code should use the Add method to add name/value pairs and indexing to retrieve a list of all values for a given key. For example: bag.Add("Tag", "one"); bag.Add("Tag", "two"); Assert.That(bag["Tag"], Is.EqualTo(new string[] { "one", "two" })); When working with single-valued propeties, client code should use the Set method to set the value and Get to retrieve the value. The GetSetting methods may also be used to retrieve the value in a type-safe manner while also providing default. For example: bag.Set("Priority", "low"); bag.Set("Priority", "high"); // replaces value Assert.That(bag.Get("Priority"), Is.EqualTo("high")); Assert.That(bag.GetSetting("Priority", "low"), Is.EqualTo("high"));
ITest Common interface supported by all representations of a test. Only includes informational fields.
ITestCaseData The ITestCaseData interface is implemented by a class that is able to return complete testcases for use by a parameterized test method.
ITestCaseFactory ITestCaseFactory interface is implemented by Types that know how to return a set of ITestCaseData items for use by a test method.
ITestCaseProvider The ITestCaseProvider interface is used by extensions that provide data for parameterized tests, along with certain flags and other indicators used in the test.
ITestData The ITestData interface is implemented by a class that represents a single instance of a parameterized test. It serves as a base for ITestCaseData and IFixtureData.
ITestFilter Interface to be implemented by filters applied to tests. The filter applies when running the test, after it has been loaded, since this is the only time an ITest exists.
ITestFixtureData The ITestCaseData interface is implemented by a class that is able to return the data required to create an instance of a parameterized test fixture.
ITestListener The ITestListener interface is used internally to receive notifications of significant events while a test is being run. The events are propagated to clients by means of an AsyncCallback.
ITestResult The ITestResult interface represents the result of a test.
IXmlNodeBuilder An object implementing IXmlNodeBuilder is able to build an XmlResult representation of itself and any children. Note that the interface refers to the implementation of XmlNode in the TCLite.Api namespace.

Class Types

Class Summary
FrameworkPackageSettings FrameworkPackageSettings is a static class containing constant values that are used as keys in setting up a TestPackage. These values are used in the framework, and set in the runner. Setting values may be a string, int or bool.
PropertyEntry Immutable class that stores a property entry as a Name/Value pair.
ResultState The ResultState class represents the outcome of running a test. It contains two pieces of information. The Status of the test is an enum indicating whether the test passed, failed, was skipped or was inconclusive. The Label provides a more detailed breakdown for use by client runners.
TestOutput The TestOutput class holds a unit of output from a test to either stdOut or stdErr

Enum Types

Enum Summary
RunState The RunState enum indicates whether a test can be executed.
TestOutputType Enum representing the output destination It uses combinable flags so that a given output control can accept multiple types of output. Normally, each individual output uses a single flag value.
TestStatus The TestStatus enum indicates the result of running a test