nunit.framework The different targets a test action attribute can be applied to Default target, which is determined by where the action attribute is attached Target a individual test case Target a suite of test cases DefaultTestAssemblyBuilder loads a single assembly and builds a TestSuite containing test fixtures present in the assembly. The default suite builder used by the test assembly builder. Initializes a new instance of the class. Build a suite of tests from a provided assembly The assembly from which tests are to be built A dictionary of options to use in building the suite A TestSuite containing the tests found in the assembly Build a suite of tests given the name or the location of an assembly The name or the location of the assembly. A dictionary of options to use in building the suite A TestSuite containing the tests found in the assembly FrameworkController provides a facade for use in loading, browsing and running tests without requiring a reference to the NUnit framework. All calls are encapsulated in constructors for this class and its nested classes, which only require the types of the Common Type System as arguments. The controller supports four actions: Load, Explore, Count and Run. They are intended to be called by a driver, which should allow for proper sequencing of calls. Load must be called before any of the other actions. The driver may support other actions, such as reload on run, by combining these calls. Construct a FrameworkController using the default builder and runner. The AssemblyName or path to the test assembly A prefix used for all test ids created under this controller. A Dictionary of settings to use in loading and running the tests Construct a FrameworkController using the default builder and runner. The test assembly A prefix used for all test ids created under this controller. A Dictionary of settings to use in loading and running the tests Construct a FrameworkController, specifying the types to be used for the runner and builder. This constructor is provided for purposes of development. The full AssemblyName or the path to the test assembly A prefix used for all test ids created under this controller. A Dictionary of settings to use in loading and running the tests The Type of the test runner The Type of the test builder Construct a FrameworkController, specifying the types to be used for the runner and builder. This constructor is provided for purposes of development. The test assembly A prefix used for all test ids created under this controller. A Dictionary of settings to use in loading and running the tests The Type of the test runner The Type of the test builder Gets the ITestAssemblyBuilder used by this controller instance. The builder. Gets the ITestAssemblyRunner used by this controller instance. The runner. Gets the AssemblyName or the path for which this FrameworkController was created Gets the Assembly for which this Gets a dictionary of settings for the FrameworkController Loads the tests in the assembly Returns info about the tests in an assembly A string containing the XML representation of the filter to use The XML result of exploring the tests Runs the tests in an assembly A string containing the XML representation of the filter to use The XML result of the test run Runs the tests in an assembly synchronously reporting back the test results through the callback or through the return value The callback that receives the test results A string containing the XML representation of the filter to use The XML result of the test run Runs the tests in an assembly asynchronously reporting back the test results through the callback The callback that receives the test results A string containing the XML representation of the filter to use Stops the test run True to force the stop, false for a cooperative stop Counts the number of test cases in the loaded TestSuite A string containing the XML representation of the filter to use The number of tests Inserts the environment and settings elements Target node The updated target node Inserts environment element Target node The new node Inserts settings element Target node Settings dictionary The new node FrameworkControllerAction is the base class for all actions performed against a FrameworkController. LoadTestsAction loads a test into the FrameworkController LoadTestsAction loads the tests in an assembly. The controller. The callback handler. ExploreTestsAction returns info about the tests in an assembly Initializes a new instance of the class. The controller for which this action is being performed. Filter used to control which tests are included (NYI) The callback handler. CountTestsAction counts the number of test cases in the loaded TestSuite held by the FrameworkController. Construct a CountsTestAction and perform the count of test cases. A FrameworkController holding the TestSuite whose cases are to be counted A string containing the XML representation of the filter to use A callback handler used to report results RunTestsAction runs the loaded TestSuite held by the FrameworkController. Construct a RunTestsAction and run all tests in the loaded TestSuite. A FrameworkController holding the TestSuite to run A string containing the XML representation of the filter to use A callback handler used to report results RunAsyncAction initiates an asynchronous test run, returning immediately Construct a RunAsyncAction and run all tests in the loaded TestSuite. A FrameworkController holding the TestSuite to run A string containing the XML representation of the filter to use A callback handler used to report results StopRunAction stops an ongoing run. Construct a StopRunAction and stop any ongoing run. If no run is in process, no error is raised. The FrameworkController for which a run is to be stopped. True the stop should be forced, false for a cooperative stop. >A callback handler used to report results A forced stop will cause threads and processes to be killed as needed. The ITestAssemblyBuilder interface is implemented by a class that is able to build a suite of tests given an assembly or an assembly filename. Build a suite of tests from a provided assembly The assembly from which tests are to be built A dictionary of options to use in building the suite A TestSuite containing the tests found in the assembly Build a suite of tests given the filename of an assembly The filename of the assembly from which tests are to be built A dictionary of options to use in building the suite A TestSuite containing the tests found in the assembly The ITestAssemblyRunner interface is implemented by classes that are able to execute a suite of tests loaded from an assembly. Gets the tree of loaded tests, or null if no tests have been loaded. Gets the tree of test results, if the test run is completed, otherwise null. Indicates whether a test has been loaded Indicates whether a test is currently running Indicates whether a test run is complete Loads the tests found in an Assembly, returning an indication of whether or not the load succeeded. File name of the assembly to load Dictionary of options to use in loading the test An ITest representing the loaded tests Loads the tests found in an Assembly, returning an indication of whether or not the load succeeded. The assembly to load Dictionary of options to use in loading the test An ITest representing the loaded tests Count Test Cases using a filter The filter to apply The number of test cases found Explore the test cases using a filter The filter to apply Test Assembly with test cases that matches the filter Run selected tests and return a test result. The test is run synchronously, and the listener interface is notified as it progresses. Interface to receive ITestListener notifications. A test filter used to select tests to be run Run selected tests asynchronously, notifying the listener interface as it progresses. Interface to receive EventListener notifications. A test filter used to select tests to be run Wait for the ongoing run to complete. Time to wait in milliseconds True if the run completed, otherwise false Signal any test run that is in process to stop. Return without error if no test is running. If true, kill any test-running threads Implementation of ITestAssemblyRunner Initializes a new instance of the class. The builder. Gets the default level of parallel execution (worker threads) The tree of tests that was loaded by the builder The test result, if a run has completed Indicates whether a test is loaded Indicates whether a test is running Indicates whether a test run is complete Our settings, specified when loading the assembly The top level WorkItem created for the assembly as a whole The TestExecutionContext for the top level WorkItem Loads the tests found in an Assembly File name or path of the assembly to load Dictionary of option settings for loading the assembly A Test Assembly containing all loaded tests Loads the tests found in an Assembly The assembly to load Dictionary of option settings for loading the assembly A Test Assembly containing all loaded tests Count Test Cases using a filter The filter to apply The number of test cases found Explore the test cases using a filter The filter to apply Test Assembly with test cases that matches the filter Run selected tests and return a test result. The test is run synchronously, and the listener interface is notified as it progresses. Interface to receive EventListener notifications. A test filter used to select tests to be run The test results from the run Run selected tests asynchronously, notifying the listener interface as it progresses. Interface to receive EventListener notifications. A test filter used to select tests to be run RunAsync is a template method, calling various abstract and virtual methods to be overridden by derived classes. Wait for the ongoing run to complete. Time to wait in milliseconds True if the run completed, otherwise false Signal any test run that is in process to stop. Return without error if no test is running. If true, kill any tests that are currently running Initiate the test run. Create the initial TestExecutionContext used to run tests The ITestListener specified in the RunAsync call Handle the Completed event for the top level work item Executes the action within an which ensures the is cleaned up suitably at the end of the test run. This method only has an effect running the full .NET Framework. The Assert class contains a collection of static methods that implement the most common assertions used in NUnit. The Assert class contains a collection of static methods that implement the most common assertions used in NUnit. Verifies that the first int is greater than the second int. If it is not, then an is thrown. The first value, expected to be greater The second value, expected to be less The message to display in case of failure Array of objects to be used in formatting the message Verifies that the first int is greater than the second int. If it is not, then an is thrown. The first value, expected to be greater The second value, expected to be less Verifies that the first value is greater than the second value. If it is not, then an is thrown. The first value, expected to be greater The second value, expected to be less The message to display in case of failure Array of objects to be used in formatting the message Verifies that the first value is greater than the second value. If it is not, then an is thrown. The first value, expected to be greater The second value, expected to be less Verifies that the first value is greater than the second value. If it is not, then an is thrown. The first value, expected to be greater The second value, expected to be less The message to display in case of failure Array of objects to be used in formatting the message Verifies that the first value is greater than the second value. If it is not, then an is thrown. The first value, expected to be greater The second value, expected to be less Verifies that the first value is greater than the second value. If it is not, then an is thrown. The first value, expected to be greater The second value, expected to be less The message to display in case of failure Array of objects to be used in formatting the message Verifies that the first value is greater than the second value. If it is not, then an is thrown. The first value, expected to be greater The second value, expected to be less Verifies that the first value is greater than the second value. If it is not, then an is thrown. The first value, expected to be greater The second value, expected to be less The message to display in case of failure Array of objects to be used in formatting the message Verifies that the first value is greater than the second value. If it is not, then an is thrown. The first value, expected to be greater The second value, expected to be less Verifies that the first value is greater than the second value. If it is not, then an is thrown. The first value, expected to be greater The second value, expected to be less The message to display in case of failure Array of objects to be used in formatting the message Verifies that the first value is greater than the second value. If it is not, then an is thrown. The first value, expected to be greater The second value, expected to be less Verifies that the first value is greater than the second value. If it is not, then an is thrown. The first value, expected to be greater The second value, expected to be less The message to display in case of failure Array of objects to be used in formatting the message Verifies that the first value is greater than the second value. If it is not, then an is thrown. The first value, expected to be greater The second value, expected to be less Verifies that the first value is greater than the second value. If it is not, then an is thrown. The first value, expected to be greater The second value, expected to be less The message to display in case of failure Array of objects to be used in formatting the message Verifies that the first value is greater than the second value. If it is not, then an is thrown. The first value, expected to be greater The second value, expected to be less Verifies that the first value is less than the second value. If it is not, then an is thrown. The first value, expected to be less The second value, expected to be greater The message to display in case of failure Array of objects to be used in formatting the message Verifies that the first value is less than the second value. If it is not, then an is thrown. The first value, expected to be less The second value, expected to be greater Verifies that the first value is less than the second value. If it is not, then an is thrown. The first value, expected to be less The second value, expected to be greater The message to display in case of failure Array of objects to be used in formatting the message Verifies that the first value is less than the second value. If it is not, then an is thrown. The first value, expected to be less The second value, expected to be greater Verifies that the first value is less than the second value. If it is not, then an is thrown. The first value, expected to be less The second value, expected to be greater The message to display in case of failure Array of objects to be used in formatting the message Verifies that the first value is less than the second value. If it is not, then an is thrown. The first value, expected to be less The second value, expected to be greater Verifies that the first value is less than the second value. If it is not, then an is thrown. The first value, expected to be less The second value, expected to be greater The message to display in case of failure Array of objects to be used in formatting the message Verifies that the first value is less than the second value. If it is not, then an is thrown. The first value, expected to be less The second value, expected to be greater Verifies that the first value is less than the second value. If it is not, then an is thrown. The first value, expected to be less The second value, expected to be greater The message to display in case of failure Array of objects to be used in formatting the message Verifies that the first value is less than the second value. If it is not, then an is thrown. The first value, expected to be less The second value, expected to be greater Verifies that the first value is less than the second value. If it is not, then an is thrown. The first value, expected to be less The second value, expected to be greater The message to display in case of failure Array of objects to be used in formatting the message Verifies that the first value is less than the second value. If it is not, then an is thrown. The first value, expected to be less The second value, expected to be greater Verifies that the first value is less than the second value. If it is not, then an is thrown. The first value, expected to be less The second value, expected to be greater The message to display in case of failure Array of objects to be used in formatting the message Verifies that the first value is less than the second value. If it is not, then an is thrown. The first value, expected to be less The second value, expected to be greater Verifies that the first value is less than the second value. If it is not, then an is thrown. The first value, expected to be less The second value, expected to be greater The message to display in case of failure Array of objects to be used in formatting the message Verifies that the first value is less than the second value. If it is not, then an is thrown. The first value, expected to be less The second value, expected to be greater Verifies that the first value is greater than or equal to the second value. If it is not, then an is thrown. The first value, expected to be greater The second value, expected to be less The message to display in case of failure Array of objects to be used in formatting the message Verifies that the first value is greater than or equal to the second value. If it is not, then an is thrown. The first value, expected to be greater The second value, expected to be less Verifies that the first value is greater than or equal to the second value. If it is not, then an is thrown. The first value, expected to be greater The second value, expected to be less The message to display in case of failure Array of objects to be used in formatting the message Verifies that the first value is greater than or equal to the second value. If it is not, then an is thrown. The first value, expected to be greater The second value, expected to be less Verifies that the first value is greater than or equal to the second value. If it is not, then an is thrown. The first value, expected to be greater The second value, expected to be less The message to display in case of failure Array of objects to be used in formatting the message Verifies that the first value is greater than or equal to the second value. If it is not, then an is thrown. The first value, expected to be greater The second value, expected to be less Verifies that the first value is greater than or equal to the second value. If it is not, then an is thrown. The first value, expected to be greater The second value, expected to be less The message to display in case of failure Array of objects to be used in formatting the message Verifies that the first value is greater than or equal to the second value. If it is not, then an is thrown. The first value, expected to be greater The second value, expected to be less Verifies that the first value is greater than or equal to the second value. If it is not, then an is thrown. The first value, expected to be greater The second value, expected to be less The message to display in case of failure Array of objects to be used in formatting the message Verifies that the first value is greater than or equal to the second value. If it is not, then an is thrown. The first value, expected to be greater The second value, expected to be less Verifies that the first value is greater than or equal to the second value. If it is not, then an is thrown. The first value, expected to be greater The second value, expected to be less The message to display in case of failure Array of objects to be used in formatting the message Verifies that the first value is greater than or equal to the second value. If it is not, then an is thrown. The first value, expected to be greater The second value, expected to be less Verifies that the first value is greater than or equal to the second value. If it is not, then an is thrown. The first value, expected to be greater The second value, expected to be less The message to display in case of failure Array of objects to be used in formatting the message Verifies that the first value is greater than or equal to the second value. If it is not, then an is thrown. The first value, expected to be greater The second value, expected to be less Verifies that the first value is greater than or equal to the second value. If it is not, then an is thrown. The first value, expected to be greater The second value, expected to be less The message to display in case of failure Array of objects to be used in formatting the message Verifies that the first value is greater than or equal to the second value. If it is not, then an is thrown. The first value, expected to be greater The second value, expected to be less Verifies that the first value is less than or equal to the second value. If it is not, then an is thrown. The first value, expected to be less The second value, expected to be greater The message to display in case of failure Array of objects to be used in formatting the message Verifies that the first value is less than or equal to the second value. If it is not, then an is thrown. The first value, expected to be less The second value, expected to be greater Verifies that the first value is less than or equal to the second value. If it is not, then an is thrown. The first value, expected to be less The second value, expected to be greater The message to display in case of failure Array of objects to be used in formatting the message Verifies that the first value is less than or equal to the second value. If it is not, then an is thrown. The first value, expected to be less The second value, expected to be greater Verifies that the first value is less than or equal to the second value. If it is not, then an is thrown. The first value, expected to be less The second value, expected to be greater The message to display in case of failure Array of objects to be used in formatting the message Verifies that the first value is less than or equal to the second value. If it is not, then an is thrown. The first value, expected to be less The second value, expected to be greater Verifies that the first value is less than or equal to the second value. If it is not, then an is thrown. The first value, expected to be less The second value, expected to be greater The message to display in case of failure Array of objects to be used in formatting the message Verifies that the first value is less than or equal to the second value. If it is not, then an is thrown. The first value, expected to be less The second value, expected to be greater Verifies that the first value is less than or equal to the second value. If it is not, then an is thrown. The first value, expected to be less The second value, expected to be greater The message to display in case of failure Array of objects to be used in formatting the message Verifies that the first value is less than or equal to the second value. If it is not, then an is thrown. The first value, expected to be less The second value, expected to be greater Verifies that the first value is less than or equal to the second value. If it is not, then an is thrown. The first value, expected to be less The second value, expected to be greater The message to display in case of failure Array of objects to be used in formatting the message Verifies that the first value is less than or equal to the second value. If it is not, then an is thrown. The first value, expected to be less The second value, expected to be greater Verifies that the first value is less than or equal to the second value. If it is not, then an is thrown. The first value, expected to be less The second value, expected to be greater The message to display in case of failure Array of objects to be used in formatting the message Verifies that the first value is less than or equal to the second value. If it is not, then an is thrown. The first value, expected to be less The second value, expected to be greater Verifies that the first value is less than or equal to the second value. If it is not, then an is thrown. The first value, expected to be less The second value, expected to be greater The message to display in case of failure Array of objects to be used in formatting the message Verifies that the first value is less than or equal to the second value. If it is not, then an is thrown. The first value, expected to be less The second value, expected to be greater Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. The evaluated condition The message to display in case of failure Array of objects to be used in formatting the message Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. The evaluated condition The message to display in case of failure Array of objects to be used in formatting the message Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. The evaluated condition Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. The evaluated condition Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. The evaluated condition The message to display in case of failure Array of objects to be used in formatting the message Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. The evaluated condition The message to display in case of failure Array of objects to be used in formatting the message Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. The evaluated condition Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. The evaluated condition Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert block. The evaluated condition The message to display in case of failure Array of objects to be used in formatting the message Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert block. The evaluated condition The message to display in case of failure Array of objects to be used in formatting the message Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert block. The evaluated condition Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert block. The evaluated condition Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert block. The evaluated condition The message to display in case of failure Array of objects to be used in formatting the message Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert block. The evaluated condition The message to display in case of failure Array of objects to be used in formatting the message Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert block. The evaluated condition Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert block. The evaluated condition Verifies that the object that is passed in is not equal to . Returns without throwing an exception when inside a multiple assert block. The object that is to be tested The message to display in case of failure Array of objects to be used in formatting the message Verifies that the object that is passed in is not equal to . Returns without throwing an exception when inside a multiple assert block. The object that is to be tested Verifies that the object that is passed in is not equal to . Returns without throwing an exception when inside a multiple assert block. The object that is to be tested The message to display in case of failure Array of objects to be used in formatting the message Verifies that the object that is passed in is not equal to . Returns without throwing an exception when inside a multiple assert block. The object that is to be tested Verifies that the object that is passed in is equal to . Returns without throwing an exception when inside a multiple assert block. The object that is to be tested The message to display in case of failure Array of objects to be used in formatting the message Verifies that the object that is passed in is equal to . Returns without throwing an exception when inside a multiple assert block. The object that is to be tested Verifies that the object that is passed in is equal to . Returns without throwing an exception when inside a multiple assert block. The object that is to be tested The message to display in case of failure Array of objects to be used in formatting the message Verifies that the object that is passed in is equal to . Returns without throwing an exception when inside a multiple assert block. The object that is to be tested Verifies that the double that is passed in is an NaN. Returns without throwing an exception when inside a multiple assert block. The value that is to be tested The message to display in case of failure Array of objects to be used in formatting the message Verifies that the double that is passed in is an NaN value. Returns without throwing an exception when inside a multiple assert block. The value that is to be tested Verifies that the double that is passed in is an NaN value. Returns without throwing an exception when inside a multiple assert block. The value that is to be tested The message to display in case of failure Array of objects to be used in formatting the message Verifies that the double that is passed in is an NaN value. Returns without throwing an exception when inside a multiple assert block. The value that is to be tested Assert that a string is empty. Returns without throwing an exception when inside a multiple assert block. The string to be tested The message to display in case of failure Array of objects to be used in formatting the message Assert that a string is empty. Returns without throwing an exception when inside a multiple assert block. The string to be tested Assert that an array, list or other collection is empty. Returns without throwing an exception when inside a multiple assert block. An array, list or other collection implementing ICollection The message to display in case of failure Array of objects to be used in formatting the message Assert that an array, list or other collection is empty. Returns without throwing an exception when inside a multiple assert block. An array, list or other collection implementing ICollection Assert that a string is not empty. Returns without throwing an exception when inside a multiple assert block. The string to be tested The message to display in case of failure Array of objects to be used in formatting the message Assert that a string is not empty. Returns without throwing an exception when inside a multiple assert block. The string to be tested Assert that an array, list or other collection is not empty. Returns without throwing an exception when inside a multiple assert block. An array, list or other collection implementing ICollection The message to display in case of failure Array of objects to be used in formatting the message Assert that an array, list or other collection is not empty. Returns without throwing an exception when inside a multiple assert block. An array, list or other collection implementing ICollection Asserts that an int is zero. Returns without throwing an exception when inside a multiple assert block. The number to be examined Asserts that an int is zero. Returns without throwing an exception when inside a multiple assert block. The number to be examined The message to display in case of failure Array of objects to be used in formatting the message Asserts that an unsigned int is zero. Returns without throwing an exception when inside a multiple assert block. The number to be examined Asserts that an unsigned int is zero. Returns without throwing an exception when inside a multiple assert block. The number to be examined The message to display in case of failure Array of objects to be used in formatting the message Asserts that a Long is zero. Returns without throwing an exception when inside a multiple assert block. The number to be examined Asserts that a Long is zero. Returns without throwing an exception when inside a multiple assert block. The number to be examined The message to display in case of failure Array of objects to be used in formatting the message Asserts that an unsigned Long is zero. Returns without throwing an exception when inside a multiple assert block. The number to be examined Asserts that an unsigned Long is zero. Returns without throwing an exception when inside a multiple assert block. The number to be examined The message to display in case of failure Array of objects to be used in formatting the message Asserts that a decimal is zero. Returns without throwing an exception when inside a multiple assert block. The number to be examined Asserts that a decimal is zero. Returns without throwing an exception when inside a multiple assert block. The number to be examined The message to display in case of failure Array of objects to be used in formatting the message Asserts that a double is zero. Returns without throwing an exception when inside a multiple assert block. The number to be examined Asserts that a double is zero. Returns without throwing an exception when inside a multiple assert block. The number to be examined The message to display in case of failure Array of objects to be used in formatting the message Asserts that a float is zero. Returns without throwing an exception when inside a multiple assert block. The number to be examined Asserts that a float is zero. Returns without throwing an exception when inside a multiple assert block. The number to be examined The message to display in case of failure Array of objects to be used in formatting the message Asserts that an int is not zero. Returns without throwing an exception when inside a multiple assert block. The number to be examined Asserts that an int is not zero. Returns without throwing an exception when inside a multiple assert block. The number to be examined The message to display in case of failure Array of objects to be used in formatting the message Asserts that an unsigned int is not zero. Returns without throwing an exception when inside a multiple assert block. The number to be examined Asserts that an unsigned int is not zero. Returns without throwing an exception when inside a multiple assert block. The number to be examined The message to display in case of failure Array of objects to be used in formatting the message Asserts that a Long is not zero. Returns without throwing an exception when inside a multiple assert block. The number to be examined Asserts that a Long is not zero. Returns without throwing an exception when inside a multiple assert block. The number to be examined The message to display in case of failure Array of objects to be used in formatting the message Asserts that an unsigned Long is not zero. Returns without throwing an exception when inside a multiple assert block. The number to be examined Asserts that an unsigned Long is not zero. Returns without throwing an exception when inside a multiple assert block. The number to be examined The message to display in case of failure Array of objects to be used in formatting the message Asserts that a decimal is zero. Returns without throwing an exception when inside a multiple assert block. The number to be examined Asserts that a decimal is zero. Returns without throwing an exception when inside a multiple assert block. The number to be examined The message to display in case of failure Array of objects to be used in formatting the message Asserts that a double is zero. Returns without throwing an exception when inside a multiple assert block. The number to be examined Asserts that a double is zero. Returns without throwing an exception when inside a multiple assert block. The number to be examined The message to display in case of failure Array of objects to be used in formatting the message Asserts that a float is zero. Returns without throwing an exception when inside a multiple assert block. The number to be examined Asserts that a float is zero. Returns without throwing an exception when inside a multiple assert block. The number to be examined The message to display in case of failure Array of objects to be used in formatting the message Asserts that an int is positive. Returns without throwing an exception when inside a multiple assert block. The number to be examined Asserts that an int is positive. Returns without throwing an exception when inside a multiple assert block. The number to be examined The message to display in case of failure Array of objects to be used in formatting the message Asserts that an unsigned int is positive. Returns without throwing an exception when inside a multiple assert block. The number to be examined Asserts that an unsigned int is positive. Returns without throwing an exception when inside a multiple assert block. The number to be examined The message to display in case of failure Array of objects to be used in formatting the message Asserts that a Long is positive. Returns without throwing an exception when inside a multiple assert block. The number to be examined Asserts that a Long is positive. Returns without throwing an exception when inside a multiple assert block. The number to be examined The message to display in case of failure Array of objects to be used in formatting the message Asserts that an unsigned Long is positive. Returns without throwing an exception when inside a multiple assert block. The number to be examined Asserts that an unsigned Long is positive. Returns without throwing an exception when inside a multiple assert block. The number to be examined The message to display in case of failure Array of objects to be used in formatting the message Asserts that a decimal is positive. Returns without throwing an exception when inside a multiple assert block. The number to be examined Asserts that a decimal is positive. Returns without throwing an exception when inside a multiple assert block. The number to be examined The message to display in case of failure Array of objects to be used in formatting the message Asserts that a double is positive. Returns without throwing an exception when inside a multiple assert block. The number to be examined Asserts that a double is positive. Returns without throwing an exception when inside a multiple assert block. The number to be examined The message to display in case of failure Array of objects to be used in formatting the message Asserts that a float is positive. Returns without throwing an exception when inside a multiple assert block. The number to be examined Asserts that a float is positive. Returns without throwing an exception when inside a multiple assert block. The number to be examined The message to display in case of failure Array of objects to be used in formatting the message Asserts that an int is negative. Returns without throwing an exception when inside a multiple assert block. The number to be examined Asserts that an int is negative. Returns without throwing an exception when inside a multiple assert block. The number to be examined The message to display in case of failure Array of objects to be used in formatting the message Asserts that an unsigned int is negative. Returns without throwing an exception when inside a multiple assert block. The number to be examined Asserts that an unsigned int is negative. Returns without throwing an exception when inside a multiple assert block. The number to be examined The message to display in case of failure Array of objects to be used in formatting the message Asserts that a Long is negative. Returns without throwing an exception when inside a multiple assert block. The number to be examined Asserts that a Long is negative. Returns without throwing an exception when inside a multiple assert block. The number to be examined The message to display in case of failure Array of objects to be used in formatting the message Asserts that an unsigned Long is negative. Returns without throwing an exception when inside a multiple assert block. The number to be examined Asserts that an unsigned Long is negative. Returns without throwing an exception when inside a multiple assert block. The number to be examined The message to display in case of failure Array of objects to be used in formatting the message Asserts that a decimal is negative. Returns without throwing an exception when inside a multiple assert block. The number to be examined Asserts that a decimal is negative. Returns without throwing an exception when inside a multiple assert block. The number to be examined The message to display in case of failure Array of objects to be used in formatting the message Asserts that a double is negative. Returns without throwing an exception when inside a multiple assert block. The number to be examined Asserts that a double is negative. Returns without throwing an exception when inside a multiple assert block. The number to be examined The message to display in case of failure Array of objects to be used in formatting the message Asserts that a float is negative. Returns without throwing an exception when inside a multiple assert block. The number to be examined Asserts that a float is negative. Returns without throwing an exception when inside a multiple assert block. The number to be examined The message to display in case of failure Array of objects to be used in formatting the message DO NOT USE! Use Assert.AreEqual(...) instead. The Equals method throws an InvalidOperationException. This is done to make sure there is no mistake by calling this function. DO NOT USE! The ReferenceEquals method throws an InvalidOperationException. This is done to make sure there is no mistake by calling this function. Throws a with the message and arguments that are passed in. This allows a test to be cut short, with a result of success returned to NUnit. The message to initialize the with. Arguments to be used in formatting the message Throws a with the message and arguments that are passed in. This allows a test to be cut short, with a result of success returned to NUnit. The message to initialize the with. Throws a with the message and arguments that are passed in. This allows a test to be cut short, with a result of success returned to NUnit. Marks the test as failed with the message and arguments that are passed in. Returns without throwing an exception when inside a multiple assert block. The message to initialize the with. Arguments to be used in formatting the message Marks the test as failed with the message that is passed in. Returns without throwing an exception when inside a multiple assert block. The message to initialize the with. Marks the test as failed. Returns without throwing an exception when inside a multiple assert block. Issues a warning using the message and arguments provided. The message to display. Arguments to be used in formatting the message Issues a warning using the message provided. The message to display. Throws an with the message and arguments that are passed in. This causes the test to be reported as ignored. The message to initialize the with. Arguments to be used in formatting the message Throws an with the message that is passed in. This causes the test to be reported as ignored. The message to initialize the with. Throws an . This causes the test to be reported as ignored. Throws an with the message and arguments that are passed in. This causes the test to be reported as inconclusive. The message to initialize the with. Arguments to be used in formatting the message Throws an with the message that is passed in. This causes the test to be reported as inconclusive. The message to initialize the with. Throws an . This causes the test to be reported as Inconclusive. Asserts that an object is contained in a collection. Returns without throwing an exception when inside a multiple assert block. The expected object The collection to be examined The message to display in case of failure Array of objects to be used in formatting the message Asserts that an object is contained in a collection. Returns without throwing an exception when inside a multiple assert block. The expected object The collection to be examined Wraps code containing a series of assertions, which should all be executed, even if they fail. Failed results are saved and reported at the end of the code block. A TestDelegate to be executed in Multiple Assertion mode. If throws, returns "SomeException was thrown by the Environment.StackTrace property." See also . Verifies that two doubles are equal considering a delta. If the expected value is infinity then the delta value is ignored. Returns without throwing an exception when inside a multiple assert block. The expected value The actual value The maximum acceptable difference between the the expected and the actual The message to display in case of failure Array of objects to be used in formatting the message Verifies that two doubles are equal considering a delta. If the expected value is infinity then the delta value is ignored. Returns without throwing an exception when inside a multiple assert block. The expected value The actual value The maximum acceptable difference between the the expected and the actual Verifies that two doubles are equal considering a delta. If the expected value is infinity then the delta value is ignored. Returns without throwing an exception when inside a multiple assert block. The expected value The actual value The maximum acceptable difference between the the expected and the actual The message to display in case of failure Array of objects to be used in formatting the message Verifies that two doubles are equal considering a delta. If the expected value is infinity then the delta value is ignored. Returns without throwing an exception when inside a multiple assert block. The expected value The actual value The maximum acceptable difference between the the expected and the actual Verifies that two objects are equal. Two objects are considered equal if both are null, or if both have the same value. NUnit has special semantics for some object types. Returns without throwing an exception when inside a multiple assert block. The value that is expected The actual value The message to display in case of failure Array of objects to be used in formatting the message Verifies that two objects are equal. Two objects are considered equal if both are null, or if both have the same value. NUnit has special semantics for some object types. Returns without throwing an exception when inside a multiple assert block. The value that is expected The actual value Verifies that two objects are not equal. Two objects are considered equal if both are null, or if both have the same value. NUnit has special semantics for some object types. Returns without throwing an exception when inside a multiple assert block. The value that is expected The actual value The message to display in case of failure Array of objects to be used in formatting the message Verifies that two objects are not equal. Two objects are considered equal if both are null, or if both have the same value. NUnit has special semantics for some object types. Returns without throwing an exception when inside a multiple assert block. The value that is expected The actual value Asserts that two objects refer to the same object. Returns without throwing an exception when inside a multiple assert block. The expected object The actual object The message to display in case of failure Array of objects to be used in formatting the message Asserts that two objects refer to the same object. Returns without throwing an exception when inside a multiple assert block. The expected object The actual object Asserts that two objects do not refer to the same object. Returns without throwing an exception when inside a multiple assert block. The expected object The actual object The message to display in case of failure Array of objects to be used in formatting the message Asserts that two objects do not refer to the same object. Returns without throwing an exception when inside a multiple assert block. The expected object The actual object Helper for Assert.AreEqual(double expected, double actual, ...) allowing code generation to work consistently. The expected value The actual value The maximum acceptable difference between the the expected and the actual The message to display in case of failure Array of objects to be used in formatting the message Verifies that a delegate throws a particular exception when called. The returned exception may be when inside a multiple assert block. A constraint to be satisfied by the exception A TestSnippet delegate The message that will be displayed on failure Arguments to be used in formatting the message Verifies that a delegate throws a particular exception when called. The returned exception may be when inside a multiple assert block. A constraint to be satisfied by the exception A TestSnippet delegate Verifies that a delegate throws a particular exception when called. The returned exception may be when inside a multiple assert block. The exception Type expected A TestDelegate The message that will be displayed on failure Arguments to be used in formatting the message Verifies that a delegate throws a particular exception when called. The returned exception may be when inside a multiple assert block. The exception Type expected A TestDelegate Verifies that a delegate throws a particular exception when called. The returned exception may be when inside a multiple assert block. Type of the expected exception A TestDelegate The message that will be displayed on failure Arguments to be used in formatting the message Verifies that a delegate throws a particular exception when called. The returned exception may be when inside a multiple assert block. Type of the expected exception A TestDelegate Verifies that a delegate throws an exception when called and returns it. The returned exception may be when inside a multiple assert block. A TestDelegate The message that will be displayed on failure Arguments to be used in formatting the message Verifies that a delegate throws an exception when called and returns it. The returned exception may be when inside a multiple assert block. A TestDelegate Verifies that a delegate throws an exception of a certain Type or one derived from it when called and returns it. The returned exception may be when inside a multiple assert block. The expected Exception Type A TestDelegate The message that will be displayed on failure Arguments to be used in formatting the message Verifies that a delegate throws an exception of a certain Type or one derived from it when called and returns it. The returned exception may be when inside a multiple assert block. The expected Exception Type A TestDelegate Verifies that a delegate throws an exception of a certain Type or one derived from it when called and returns it. The returned exception may be when inside a multiple assert block. A TestDelegate The message that will be displayed on failure Arguments to be used in formatting the message Verifies that a delegate throws an exception of a certain Type or one derived from it when called and returns it. The returned exception may be when inside a multiple assert block. A TestDelegate Verifies that a delegate does not throw an exception A TestDelegate The message that will be displayed on failure Arguments to be used in formatting the message Verifies that a delegate does not throw an exception. A TestDelegate Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. The evaluated condition The message to display if the condition is false Arguments to be used in formatting the message Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. The evaluated condition Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. The evaluated condition A function to build the message included with the Exception Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. A lambda that returns a Boolean The message to display if the condition is false Arguments to be used in formatting the message Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. A lambda that returns a Boolean Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. A lambda that returns a Boolean A function to build the message included with the Exception Apply a constraint to a delegate. Returns without throwing an exception when inside a multiple assert block. The Type being compared. An ActualValueDelegate returning the value to be tested A Constraint expression to be applied Apply a constraint to a delegate. Returns without throwing an exception when inside a multiple assert block. The Type being compared. An ActualValueDelegate returning the value to be tested A Constraint expression to be applied The message that will be displayed on failure Arguments to be used in formatting the message Apply a constraint to a delegate. Returns without throwing an exception when inside a multiple assert block. The Type being compared. An ActualValueDelegate returning the value to be tested A Constraint expression to be applied A function to build the message included with the Exception Apply a constraint to a delegate. Returns without throwing an exception when inside a multiple assert block. A TestDelegate to be executed A Constraint expression to be applied Apply a constraint to a delegate. Returns without throwing an exception when inside a multiple assert block. A TestDelegate to be executed A Constraint expression to be applied The message that will be displayed on failure Arguments to be used in formatting the message Apply a constraint to a delegate. Returns without throwing an exception when inside a multiple assert block. A TestDelegate to be executed A Constraint expression to be applied A function to build the message included with the Exception Apply a constraint to an actual value. Returns without throwing an exception when inside a multiple assert block. The Type being compared. The actual value to test A Constraint expression to be applied Apply a constraint to an actual value. Returns without throwing an exception when inside a multiple assert block. The Type being compared. The actual value to test A Constraint expression to be applied The message that will be displayed on failure Arguments to be used in formatting the message Apply a constraint to an actual value. Returns without throwing an exception when inside a multiple assert block. The Type being compared. The actual value to test A Constraint expression to be applied A function to build the message included with the Exception Apply a constraint to an actual value. Returns without throwing an exception when inside a multiple assert block. Used as a synonym for That in rare cases where a private setter causes a Visual Basic compilation error. The actual value to test A Constraint expression to be applied Apply a constraint to an actual value. Returns without throwing an exception when inside a multiple assert block. Used as a synonym for That in rare cases where a private setter causes a Visual Basic compilation error. This method is provided for use by VB developers needing to test the value of properties with private setters. The actual value to test A Constraint expression to be applied The message that will be displayed on failure Arguments to be used in formatting the message Asserts that an object may be assigned a value of a given Type. Returns without throwing an exception when inside a multiple assert block. The expected Type. The object under examination The message to display in case of failure Array of objects to be used in formatting the message Asserts that an object may be assigned a value of a given Type. Returns without throwing an exception when inside a multiple assert block. The expected Type. The object under examination Asserts that an object may be assigned a value of a given Type. Returns without throwing an exception when inside a multiple assert block. The expected Type. The object under examination The message to display in case of failure Array of objects to be used in formatting the message Asserts that an object may be assigned a value of a given Type. Returns without throwing an exception when inside a multiple assert block. The expected Type. The object under examination Asserts that an object may not be assigned a value of a given Type. Returns without throwing an exception when inside a multiple assert block. The expected Type. The object under examination The message to display in case of failure Array of objects to be used in formatting the message Asserts that an object may not be assigned a value of a given Type. Returns without throwing an exception when inside a multiple assert block. The expected Type. The object under examination Asserts that an object may not be assigned a value of a given Type. Returns without throwing an exception when inside a multiple assert block. The expected Type. The object under examination The message to display in case of failure Array of objects to be used in formatting the message Asserts that an object may not be assigned a value of a given Type. Returns without throwing an exception when inside a multiple assert block. The expected Type. The object under examination Asserts that an object is an instance of a given type. Returns without throwing an exception when inside a multiple assert block. The expected Type The object being examined The message to display in case of failure Array of objects to be used in formatting the message Asserts that an object is an instance of a given type. Returns without throwing an exception when inside a multiple assert block. The expected Type The object being examined Asserts that an object is an instance of a given type. Returns without throwing an exception when inside a multiple assert block. The expected Type The object being examined The message to display in case of failure Array of objects to be used in formatting the message Asserts that an object is an instance of a given type. Returns without throwing an exception when inside a multiple assert block. The expected Type The object being examined Asserts that an object is not an instance of a given type. Returns without throwing an exception when inside a multiple assert block. The expected Type The object being examined The message to display in case of failure Array of objects to be used in formatting the message Asserts that an object is not an instance of a given type. Returns without throwing an exception when inside a multiple assert block. The expected Type The object being examined Asserts that an object is not an instance of a given type. Returns without throwing an exception when inside a multiple assert block. The expected Type The object being examined The message to display in case of failure Array of objects to be used in formatting the message Asserts that an object is not an instance of a given type. Returns without throwing an exception when inside a multiple assert block. The expected Type The object being examined Delegate used by tests that execute code and capture any thrown exception. AssertionHelper is an optional base class for user tests, allowing the use of shorter names in making asserts. Asserts that a condition is true. If the condition is false the method throws an . Works Identically to . The evaluated condition The message to display if the condition is false Arguments to be used in formatting the message Asserts that a condition is true. If the condition is false the method throws an . Works Identically to . The evaluated condition Apply a constraint to an actual value, succeeding if the constraint is satisfied and throwing an assertion exception on failure. A Constraint expression to be applied An ActualValueDelegate returning the value to be tested Apply a constraint to an actual value, succeeding if the constraint is satisfied and throwing an assertion exception on failure. An ActualValueDelegate returning the value to be tested A Constraint expression to be applied The message that will be displayed on failure Arguments to be used in formatting the message Asserts that the code represented by a delegate throws an exception that satisfies the constraint provided. A TestDelegate to be executed A Constraint expression to be applied Apply a constraint to an actual value, succeeding if the constraint is satisfied and throwing an assertion exception on failure. A Constraint expression to be applied The actual value to test Apply a constraint to an actual value, succeeding if the constraint is satisfied and throwing an assertion exception on failure. A Constraint expression to be applied The actual value to test The message that will be displayed on failure Arguments to be used in formatting the message Returns a ListMapper based on a collection. The original collection Returns a ConstraintExpression that negates any following constraint. Returns a ConstraintExpression that negates any following constraint. Returns a ConstraintExpression, which will apply the following constraint to all members of a collection, succeeding if all of them succeed. Returns a ConstraintExpression, which will apply the following constraint to all members of a collection, succeeding if at least one of them succeeds. Returns a ConstraintExpression, which will apply the following constraint to all members of a collection, succeeding if all of them fail. Returns a ConstraintExpression, which will apply the following constraint to all members of a collection, succeeding only if a specified number of them succeed. Returns a new PropertyConstraintExpression, which will either test for the existence of the named property on the object being tested or apply any following constraint to that property. Returns a new ConstraintExpression, which will apply the following constraint to the Length property of the object being tested. Returns a new ConstraintExpression, which will apply the following constraint to the Count property of the object being tested. Returns a new ConstraintExpression, which will apply the following constraint to the Message property of the object being tested. Returns a new ConstraintExpression, which will apply the following constraint to the InnerException property of the object being tested. Returns a new AttributeConstraint checking for the presence of a particular attribute on an object. Returns a new AttributeConstraint checking for the presence of a particular attribute on an object. Returns a constraint that tests for null Returns a constraint that tests for True Returns a constraint that tests for False Returns a constraint that tests for a positive value Returns a constraint that tests for a negative value Returns a constraint that tests for equality with zero Returns a constraint that tests for NaN Returns a constraint that tests for empty Returns a constraint that tests whether a collection contains all unique items. Returns a constraint that tests whether an object graph is serializable in binary format. Returns a constraint that tests whether an object graph is serializable in XML format. Returns a constraint that tests two items for equality Returns a constraint that tests that two references are the same object Returns a constraint that tests whether the actual value is greater than the supplied argument Returns a constraint that tests whether the actual value is greater than or equal to the supplied argument Returns a constraint that tests whether the actual value is greater than or equal to the supplied argument Returns a constraint that tests whether the actual value is less than the supplied argument Returns a constraint that tests whether the actual value is less than or equal to the supplied argument Returns a constraint that tests whether the actual value is less than or equal to the supplied argument Returns a constraint that tests whether the actual value is of the exact type supplied as an argument. Returns a constraint that tests whether the actual value is of the exact type supplied as an argument. Returns a constraint that tests whether the actual value is of the type supplied as an argument or a derived type. Returns a constraint that tests whether the actual value is of the type supplied as an argument or a derived type. Returns a constraint that tests whether the actual value is assignable from the type supplied as an argument. Returns a constraint that tests whether the actual value is assignable from the type supplied as an argument. Returns a constraint that tests whether the actual value is assignable from the type supplied as an argument. Returns a constraint that tests whether the actual value is assignable from the type supplied as an argument. Returns a constraint that tests whether the actual value is a collection containing the same elements as the collection supplied as an argument. Returns a constraint that tests whether the actual value is a subset of the collection supplied as an argument. Returns a constraint that tests whether the actual value is a superset of the collection supplied as an argument. Returns a constraint that tests whether a collection is ordered Returns a new checking for the presence of a particular object in the collection. Returns a new checking for the presence of a particular object in the collection. To search for a substring instead of a collection element, use the overload. Returns a new ContainsConstraint. This constraint will, in turn, make use of the appropriate second-level constraint, depending on the type of the actual argument. To search for a collection element instead of a substring, use the overload. Returns a constraint that succeeds if the actual value contains the substring supplied as an argument. Returns a constraint that succeeds if the actual value contains the substring supplied as an argument. Returns a constraint that fails if the actual value contains the substring supplied as an argument. Returns a constraint that succeeds if the actual value starts with the substring supplied as an argument. Returns a constraint that succeeds if the actual value starts with the substring supplied as an argument. Returns a constraint that succeeds if the actual value starts with the substring supplied as an argument. Returns a constraint that fails if the actual value starts with the substring supplied as an argument. Returns a constraint that succeeds if the actual value ends with the substring supplied as an argument. Returns a constraint that succeeds if the actual value ends with the substring supplied as an argument. Returns a constraint that succeeds if the actual value ends with the substring supplied as an argument. Returns a constraint that fails if the actual value ends with the substring supplied as an argument. Returns a constraint that succeeds if the actual value matches the regular expression supplied as an argument. Returns a constraint that succeeds if the actual value matches the regular expression supplied as an argument. Returns a constraint that succeeds if the actual value matches the regular expression supplied as an argument. Returns a constraint that fails if the actual value matches the pattern supplied as an argument. Returns a constraint that tests whether the path provided is the same as an expected path after canonicalization. Returns a constraint that tests whether the path provided is a subpath of the expected path after canonicalization. Returns a constraint that tests whether the path provided is the same path or under an expected path after canonicalization. Returns a constraint that tests whether the actual value falls within a specified range. Provides static methods to express the assumptions that must be met for a test to give a meaningful result. If an assumption is not met, the test should produce an inconclusive result. DO NOT USE! The Equals method throws an InvalidOperationException. This is done to make sure there is no mistake by calling this function. The left object. The right object. Not applicable DO NOT USE! The ReferenceEquals method throws an InvalidOperationException. This is done to make sure there is no mistake by calling this function. The left object. The right object. Apply a constraint to an actual value, succeeding if the constraint is satisfied and throwing an InconclusiveException on failure. The Type being compared. An ActualValueDelegate returning the value to be tested A Constraint expression to be applied Apply a constraint to an actual value, succeeding if the constraint is satisfied and throwing an InconclusiveException on failure. The Type being compared. An ActualValueDelegate returning the value to be tested A Constraint expression to be applied The message that will be displayed on failure Arguments to be used in formatting the message Apply a constraint to an actual value, succeeding if the constraint is satisfied and throwing an InconclusiveException on failure. The Type being compared. An ActualValueDelegate returning the value to be tested A Constraint expression to be applied A function to build the message included with the Exception Asserts that a condition is true. If the condition is false, the method throws an . The evaluated condition The message to display if the condition is false Arguments to be used in formatting the message Asserts that a condition is true. If the condition is false, the method throws an . The evaluated condition Asserts that a condition is true. If the condition is false, the method throws an . The evaluated condition A function to build the message included with the Exception Asserts that a condition is true. If the condition is false, the method throws an . A lambda that returns a Boolean The message to display if the condition is false Arguments to be used in formatting the message Asserts that a condition is true. If the condition is false, the method throws an . A lambda that returns a Boolean Asserts that a condition is true. If the condition is false, the method throws an . A lambda that returns a Boolean A function to build the message included with the Exception Asserts that the code represented by a delegate throws an exception that satisfies the constraint provided. A TestDelegate to be executed A ThrowsConstraint used in the test Apply a constraint to an actual value, succeeding if the constraint is satisfied and throwing an InconclusiveException on failure. The Type being compared. The actual value to test A Constraint expression to be applied Apply a constraint to an actual value, succeeding if the constraint is satisfied and throwing an InconclusiveException on failure. The Type being compared. The actual value to test A Constraint expression to be applied The message that will be displayed on failure Arguments to be used in formatting the message Apply a constraint to an actual value, succeeding if the constraint is satisfied and throwing an InconclusiveException on failure. The Type being compared. The actual value to test A Constraint expression to be applied A function to build the message included with the Exception Marks a test as needing to be run in a particular threading apartment state. This will cause it to run in a separate thread if necessary. Construct an ApartmentAttribute The apartment state that this test must be run under. You must pass in a valid apartment state. Provides the author of a test or test fixture. Initializes a new instance of the class. The name of the author. Initializes a new instance of the class. The name of the author. The email address of the author. Applies a category to a test The name of the category Construct attribute for a given category based on a name. The name may not contain the characters ',', '+', '-' or '!'. However, this is not checked in the constructor since it would cause an error to arise at as the test was loaded without giving a clear indication of where the problem is located. The error is handled in NUnitFramework.cs by marking the test as not runnable. The name of the category Protected constructor uses the Type name as the name of the category. The name of the category Modifies a test by adding a category to it. The test to modify Marks a test to use a combinatorial join of any argument data provided. Since this is the default, the attribute is optional. Default constructor Marks a test as using a particular CombiningStrategy to join any supplied parameter data. Since this is the default, the attribute is optional. Construct a CombiningStrategyAttribute incorporating an ICombiningStrategy and an IParameterDataProvider. Combining strategy to be used in combining data An IParameterDataProvider to supply data Construct a CombiningStrategyAttribute incorporating an object that implements ICombiningStrategy and an IParameterDataProvider. This constructor is provided for CLS compliance. Combining strategy to be used in combining data An IParameterDataProvider to supply data Builds any number of tests from the specified method and context. The MethodInfo for which tests are to be constructed. The suite to which the tests will be added. Modify the test by adding the name of the combining strategy to the properties. The test to modify Marks an assembly, test fixture or test method as applying to a specific Culture. Constructor with no cultures specified, for use with named property syntax. Constructor taking one or more cultures Comma-delimited list of cultures Causes a test to be skipped if this CultureAttribute is not satisfied. The test to modify Tests to determine if the current culture is supported based on the properties of this attribute. True, if the current culture is supported Test to determine if the a particular culture or comma- delimited set of cultures is in use. Name of the culture or comma-separated list of culture ids True if the culture is in use on the system Test to determine if one of a collection of cultures is being used currently. Abstract base class for all data-providing attributes defined by NUnit. Used to select all data sources for a method, class or parameter. Default constructor Marks a field for use as a datapoint when executing a theory within the same fixture that requires an argument of the field's Type. Marks a field, property or method as providing a set of datapoints for use in executing any theories within the same fixture that require an argument of the provided Type. The data source may provide an array of the required Type or an . Synonymous with . Marks a field, property or method as providing a set of datapoints for use in executing any theories within the same fixture that require an argument of the provided type. The data source may provide an array of the required Type or an . Synonymous with . Sets the tolerance used by default when checking the equality of floating point values within the test assembly, fixture or method. Construct specifying an amount Apply changes to the TestExecutionContext The TestExecutionContext Provides the descriptive text relating to the assembly, test fixture or test method. Construct a description Attribute The text of the description Marks an assembly, test fixture or test method such that it will only run if explicitly executed from the GUI, command line or included within a test filter. The test will not be run simply because an enclosing suite is run. Default constructor Constructor with a reason The reason test is marked explicit Modifies a test by marking it as explicit. The test to modify Specify the life cycle of a Fixture Construct a FixtureLifeCycleAttribute with a specified . Defines the life cycle for this test fixture or assembly. Overridden to set a TestFixture's . Marks an assembly, test fixture or test method as being ignored. Ignored tests result in a warning message when the tests are run. Constructs the attribute giving a reason for ignoring the test The reason for ignoring the test The date in the future to stop ignoring the test as a string in UTC time. For example for a date and time, "2014-12-25 08:10:00Z" or for just a date, "2014-12-25". If just a date is given, the Ignore will expire at midnight UTC. Once the ignore until date has passed, the test will be marked as runnable. Tests with an ignore until date will have an IgnoreUntilDate property set which will appear in the test results. The string does not contain a valid string representation of a date and time. Modifies a test by marking it as Ignored. The test to modify Abstract base for attributes that are used to include tests in the test run based on environmental settings. Constructor with no included items specified, for use with named property syntax. Constructor taking one or more included items Comma-delimited list of included items Name of the item that is needed in order for a test to run. Multiple items may be given, separated by a comma. Name of the item to be excluded. Multiple items may be given, separated by a comma. The reason for including or excluding the test Sets the number of worker threads that may be allocated by the framework for running tests. Construct a LevelOfParallelismAttribute. The number of worker threads to be created by the framework. Specifies the life cycle for a test fixture. A single instance is created and shared for all test cases. A new instance is created for each test case. Specifies the maximum time (in milliseconds) for a test case to succeed. Construct a MaxTimeAttribute, given a time in milliseconds. The maximum elapsed time in milliseconds Marks tests that should NOT be run in parallel. Construct a NonParallelizableAttribute. Used by third-party frameworks, or other software, that reference the NUnit framework but do not contain any tests. Applying the attribute indicates that the assembly is not a test assembly and may prevent errors if certain runners attempt to load the assembly. Note that recognition of the attribute depends on each individual runner. Abstract base class for all custom attributes defined by NUnit. Default constructor Identifies a method that is called once to perform setup before any child tests are run. Identifies a method to be called once after all the child tests have run. The method is guaranteed to be called, even if an exception is thrown. Defines the order that the test will run in Defines the order that the test will run in Defines the order that the test will run in Modifies a test as defined for the specific attribute. The test to modify Marks a test as using a pairwise join of any supplied argument data. Arguments will be combined in such a way that all possible pairs of arguments are used. Default constructor Marks a test assembly, fixture or method that may be run in parallel. Construct a ParallelizableAttribute using default ParallelScope.Self. Construct a ParallelizableAttribute with a specified scope. The ParallelScope associated with this attribute. Defines the degree to which this test and its descendants may be run in parallel Overridden to check for invalid combinations of settings Modify the context to be used for child tests The current TestExecutionContext Specifies the degree to which a test, and its descendants, may be run in parallel. No ParallelScope was specified on the test The test may be run in parallel with others at the same level. Valid on classes and methods but has no effect on assemblies. Test may not be run in parallel with any others. Valid on classes and methods but not assemblies. Mask used to extract the flags that apply to the item on which a ParallelizableAttribute has been placed, as opposed to descendants. Descendants of the test may be run in parallel with one another. Valid on assemblies and classes but not on non-parameterized methods. Descendants of the test down to the level of TestFixtures may be run in parallel with one another. Valid on assemblies and classes but not on methods. Mask used to extract all the flags that impact descendants of a test and place them in the TestExecutionContext. The test and its descendants may be run in parallel with others at the same level. Valid on classes and parameterized methods. For assemblies it is recommended to use instead, as has no effect on assemblies. Marks an assembly, test fixture or test method as applying to a specific platform. Constructor with no platforms specified, for use with named property syntax. Constructor taking one or more platforms Comma-delimited list of platforms Causes a test to be skipped if this PlatformAttribute is not satisfied. The test to modify Attaches information to a test assembly, fixture or method as a name/value pair. Construct a PropertyAttribute with a name and string value The name of the property The property value Construct a PropertyAttribute with a name and int value The name of the property The property value Construct a PropertyAttribute with a name and double value The name of the property The property value Constructor for derived classes that set the property dictionary directly. Constructor for use by derived classes that use the name of the type as the property name. Derived classes must ensure that the Type of the property value is a standard type supported by the BCL. Any custom types will cause a serialization Exception when in the client. Gets the property dictionary for this attribute Modifies a test by adding properties to it. The test to modify Supplies a set of random values to a single parameter of a parameterized test. If true, no value will be repeated. Construct a random set of values appropriate for the Type of the parameter on which the attribute appears, specifying only the count. Generates values within a specified range. Generates values within a specified range. Generates values within a specified range. Generates values within a specified range. Generates values within a specified range. Generates values within a specified range. Generates values within a specified range. Generates values within a specified range. Generates values within a specified range. Generates values within a specified range. Retrieves a list of arguments which can be passed to the specified parameter. The parameter of a parameterized test. Supplies a range of values to an individual parameter of a parameterized test. Constructs a range of values using the default step of 1. Constructs a range of values with the specified step size. Constructs a range of values using the default step of 1. Constructs a range of values with the specified step size. Constructs a range of values using a default step of 1. Constructs a range of values with the specified step size. Constructs a range of values using the default step of 1. Constructs a range of values with the specified step size. Constructs a range of values with the specified step size. Constructs a range of values with the specified step size. Retrieves a list of arguments which can be passed to the specified parameter. The parameter of a parameterized test. Returns a string that represents the current object. Specifies that a test should be run multiple times. Construct a RepeatAttribute The number of times to run the test Wrap a command and return the result. The command to be wrapped The wrapped command The test command for the RepeatAttribute Initializes a new instance of the class. The inner command. The number of repetitions Runs the test, saving a TestResult in the supplied TestExecutionContext. The context in which the test should run. A TestResult Marks a test that must run on a separate thread. Construct a RequiresThreadAttribute Construct a RequiresThreadAttribute, specifying the apartment Specifies that a test method should be rerun on failure up to the specified maximum number of times. Construct a The maximum number of times the test should be run if it fails Wrap a command and return the result. The command to be wrapped The wrapped command The test command for the Initializes a new instance of the class. The inner command. The maximum number of repetitions Runs the test, saving a TestResult in the supplied TestExecutionContext. The context in which the test should run. A TestResult Marks a test to use a sequential join of any provided argument data. Arguments will be combined into test cases, taking the next value of each argument until all are used. Default constructor Sets the current Culture on an assembly, test fixture or test method for the duration of a test. The culture remains set until the test or fixture completes and is then reset to its original value. Construct given the name of a culture Sets the current UI Culture on an assembly, test fixture or test method for the duration of a test. The UI culture remains set until the test or fixture completes and is then reset to its original value. Construct given the name of a culture Identifies a method to be called immediately before each test is run. Identifies a class as containing or methods for all the test fixtures under a given namespace. Builds a from the specified type. The type info of the fixture to be used. Marks a test fixture as requiring all child tests to be run on the same thread as the OneTimeSetUp and OneTimeTearDown. A flag in the is set forcing all child tests to be run sequentially on the current thread. Any setting is ignored. Apply changes to the TestExecutionContext The TestExecutionContext Identifies a method to be called immediately after each test is run. The method is guaranteed to be called, even if an exception is thrown. Abstract attribute providing actions to execute before and after tests. Executed before each test is run The test that is going to be run. Executed after each test is run The test that has just been run. Provides the target for the action attribute Marks a test assembly as needing a special assembly resolution hook that will explicitly search the test assembly's directory for dependent assemblies. This works around a conflict between mixed-mode assembly initialization and tests running in their own AppDomain in some cases. Marks the method as callable from the NUnit test runner. [TestFixture] public class Fixture { [Test] public void MethodToTest() {} [Test(Description = "more detailed description")] public void TestDescriptionMethod() {} } Descriptive text for this test The author of this test The type that this test is testing Gets or sets the expected result. Not valid if the test method has parameters. The result. Modifies a test by adding a description, if not already set. The test to modify Builds a single test from the specified method and context. The method for which a test is to be constructed. The suite to which the test will be added. Marks a method as a parameterized test suite and provides arguments for each test case. Construct a TestCaseAttribute with a list of arguments. This constructor is not CLS-Compliant Construct a TestCaseAttribute with a single argument Construct a TestCaseAttribute with a two arguments Construct a TestCaseAttribute with a three arguments Gets or sets the name of the test. The name of the test. Gets or sets the RunState of this test case. Gets the list of arguments to a test case Gets the properties of the test case Gets or sets the expected result. The result. Returns true if the expected result has been set Gets or sets the description. The description. The author of this test The type that this test is testing Gets or sets the reason for ignoring the test Gets or sets a value indicating whether this is explicit. if explicit; otherwise, . Gets or sets the reason for not running the test. The reason. Gets or sets the ignore reason. When set to a non-null non-empty value, the test is marked as ignored. The ignore reason. Comma-delimited list of platforms to run the test for Comma-delimited list of platforms to not run the test for Gets and sets the category for this test case. May be a comma-separated list of categories. Gets and sets the ignore until date for this test case. Performs several special conversions allowed by NUnit in order to permit arguments with types that cannot be used in the constructor of an Attribute such as TestCaseAttribute or to simplify their use. The arguments to be converted The ParameterInfo array for the method Builds a single test from the specified method and context. The MethodInfo for which tests are to be constructed. The suite to which the tests will be added. Indicates the source to be used to provide test fixture instances for a test class. Construct with the name of the method, property or field that will provide data The name of a static method, property or field that will provide data. Construct with a Type and name The Type that will provide data The name of a static method, property or field that will provide data. A set of parameters passed to the method, works only if the Source Name is a method. If the source name is a field or property has no effect. Construct with a Type and name The Type that will provide data The name of a static method, property or field that will provide data. Construct with a name The name of a static method, property or field that will provide data. A set of parameters passed to the method, works only if the Source Name is a method. If the source name is a field or property has no effect. Construct with a Type The type that will provide data A set of parameters passed to the method, works only if the Source Name is a method. If the source name is a field or property has no effect. The name of a the method, property or field to be used as a source A Type to be used as a source Gets or sets the category associated with every fixture created from this attribute. May be a single category or a comma-separated list. Builds any number of tests from the specified method and context. The IMethod for which tests are to be constructed. The suite to which the tests will be added. Marks the class as a TestFixture. Default constructor Construct with a object[] representing a set of arguments. The arguments may later be separated into type arguments and constructor arguments. Gets or sets the name of the test. The name of the test. Gets or sets the RunState of this test fixture. The arguments originally provided to the attribute Properties pertaining to this fixture Get or set the type arguments. If not set explicitly, any leading arguments that are Types are taken as type arguments. Descriptive text for this fixture The author of this fixture The type that this fixture is testing Gets or sets the ignore reason. May set RunState as a side effect. The ignore reason. Gets or sets the reason for not running the fixture. The reason. Gets or sets the ignore reason. When set to a non-null non-empty value, the test is marked as ignored. The ignore reason. Gets or sets a value indicating whether this is explicit. if explicit; otherwise, . Gets and sets the category for this fixture. May be a comma-separated list of categories. Builds a single test fixture from the specified type. Builds a single test fixture from the specified type. The type info of the fixture to be used. Filter used to select methods as tests. Identifies the source used to provide test fixture instances for a test class. Error message string is public so the tests can use it Construct with the name of the method, property or field that will provide data The name of a static method, property or field that will provide data. Construct with a Type and name The Type that will provide data The name of a static method, property or field that will provide data. Construct with a Type The type that will provide data The name of a the method, property or field to be used as a source A Type to be used as a source Gets or sets the category associated with every fixture created from this attribute. May be a single category or a comma-separated list. Builds any number of test fixtures from the specified type. The TypeInfo for which fixtures are to be constructed. Builds any number of test fixtures from the specified type. The TypeInfo for which fixtures are to be constructed. PreFilter used to select methods as tests. Returns a set of ITestFixtureData items for use as arguments to a parameterized test fixture. The type for which data is needed. Indicates the method or class the assembly, test fixture or test method is testing. Initializes a new instance of the class. The type that is being tested. Initializes a new instance of the class. The type that is being tested. Adding this attribute to a method within a class makes the method callable from the NUnit test runner. There is a property called Description which is optional which you can provide a more detailed test description. This class cannot be inherited. [TestFixture] public class Fixture { [Test] public void MethodToTest() {} [Test(Description = "more detailed description")] public void TestDescriptionMethod() {} } Construct the attribute, specifying a combining strategy and source of parameter data. Applies a timeout in milliseconds to a test. When applied to a method, the test is cancelled if the timeout is exceeded. When applied to a class or assembly, the default timeout is set for all contained test methods. Construct a TimeoutAttribute given a time in milliseconds The timeout value in milliseconds Provides literal arguments for an individual parameter of a test. The collection of data to be returned. Must be set by any derived attribute classes. We use an object[] so that the individual elements may have their type changed in GetData if necessary Constructs for use with an Enum parameter. Will pass every enum value in to the test. Construct with one argument Construct with two arguments Construct with three arguments Construct with an array of arguments Retrieves a list of arguments which can be passed to the specified parameter. The parameter of a parameterized test. To generate data for Values attribute, in case no data is provided. To Check if type is nullable enum. Indicates the source used to provide data for one parameter of a test method. Construct with the name of the factory - for use with languages that don't support params arrays. The name of a static method, property or field that will provide data. Construct with a Type and name - for use with languages that don't support params arrays. The Type that will provide data The name of a static method, property or field that will provide data. The name of a the method, property or field to be used as a source A Type to be used as a source Retrieves a list of arguments which can be passed to the specified parameter. The parameter of a parameterized test. A set of Assert methods operating on one or more collections DO NOT USE! Use CollectionAssert.AreEqual(...) instead. The Equals method throws an InvalidOperationException. This is done to make sure there is no mistake by calling this function. DO NOT USE! The ReferenceEquals method throws an InvalidOperationException. This is done to make sure there is no mistake by calling this function. Asserts that all items contained in collection are of the type specified by expectedType. IEnumerable containing objects to be considered System.Type that all objects in collection must be instances of Asserts that all items contained in collection are of the type specified by expectedType. IEnumerable containing objects to be considered System.Type that all objects in collection must be instances of The message that will be displayed on failure Arguments to be used in formatting the message Asserts that all items contained in collection are not equal to null. IEnumerable containing objects to be considered Asserts that all items contained in collection are not equal to null. IEnumerable of objects to be considered The message that will be displayed on failure Arguments to be used in formatting the message Ensures that every object contained in collection exists within the collection once and only once. IEnumerable of objects to be considered Ensures that every object contained in collection exists within the collection once and only once. IEnumerable of objects to be considered The message that will be displayed on failure Arguments to be used in formatting the message Asserts that expected and actual are exactly equal. The collections must have the same count, and contain the exact same objects in the same order. The first IEnumerable of objects to be considered The second IEnumerable of objects to be considered Asserts that expected and actual are exactly equal. The collections must have the same count, and contain the exact same objects in the same order. If comparer is not null then it will be used to compare the objects. The first IEnumerable of objects to be considered The second IEnumerable of objects to be considered The IComparer to use in comparing objects from each IEnumerable Asserts that expected and actual are exactly equal. The collections must have the same count, and contain the exact same objects in the same order. The first IEnumerable of objects to be considered The second IEnumerable of objects to be considered The message that will be displayed on failure Arguments to be used in formatting the message Asserts that expected and actual are exactly equal. The collections must have the same count, and contain the exact same objects in the same order. If comparer is not null then it will be used to compare the objects. The first IEnumerable of objects to be considered The second IEnumerable of objects to be considered The IComparer to use in comparing objects from each IEnumerable The message that will be displayed on failure Arguments to be used in formatting the message Asserts that expected and actual are equivalent, containing the same objects but the match may be in any order. The first IEnumerable of objects to be considered The second IEnumerable of objects to be considered Asserts that expected and actual are equivalent, containing the same objects but the match may be in any order. The first IEnumerable of objects to be considered The second IEnumerable of objects to be considered The message that will be displayed on failure Arguments to be used in formatting the message Asserts that expected and actual are not exactly equal. The first IEnumerable of objects to be considered The second IEnumerable of objects to be considered Asserts that expected and actual are not exactly equal. If comparer is not null then it will be used to compare the objects. The first IEnumerable of objects to be considered The second IEnumerable of objects to be considered The IComparer to use in comparing objects from each IEnumerable Asserts that expected and actual are not exactly equal. The first IEnumerable of objects to be considered The second IEnumerable of objects to be considered The message that will be displayed on failure Arguments to be used in formatting the message Asserts that expected and actual are not exactly equal. If comparer is not null then it will be used to compare the objects. The first IEnumerable of objects to be considered The second IEnumerable of objects to be considered The IComparer to use in comparing objects from each IEnumerable The message that will be displayed on failure Arguments to be used in formatting the message Asserts that expected and actual are not equivalent. The first IEnumerable of objects to be considered The second IEnumerable of objects to be considered Asserts that expected and actual are not equivalent. The first IEnumerable of objects to be considered The second IEnumerable of objects to be considered The message that will be displayed on failure Arguments to be used in formatting the message Asserts that collection contains actual as an item. IEnumerable of objects to be considered Object to be found within collection Asserts that collection contains actual as an item. IEnumerable of objects to be considered Object to be found within collection The message that will be displayed on failure Arguments to be used in formatting the message Asserts that collection does not contain actual as an item. IEnumerable of objects to be considered Object that cannot exist within collection Asserts that collection does not contain actual as an item. IEnumerable of objects to be considered Object that cannot exist within collection The message that will be displayed on failure Arguments to be used in formatting the message Asserts that the superset does not contain the subset The IEnumerable subset to be considered The IEnumerable superset to be considered Asserts that the superset does not contain the subset The IEnumerable subset to be considered The IEnumerable superset to be considered The message that will be displayed on failure Arguments to be used in formatting the message Asserts that the superset contains the subset. The IEnumerable subset to be considered The IEnumerable superset to be considered Asserts that the superset contains the subset. The IEnumerable subset to be considered The IEnumerable superset to be considered The message that will be displayed on failure Arguments to be used in formatting the message Asserts that the subset does not contain the superset The IEnumerable superset to be considered The IEnumerable subset to be considered Asserts that the subset does not contain the superset The IEnumerable superset to be considered The IEnumerable subset to be considered The message that will be displayed on failure Arguments to be used in formatting the message Asserts that the subset contains the superset. The IEnumerable superset to be considered The IEnumerable subset to be considered Asserts that the subset contains the superset. The IEnumerable superset to be considered The IEnumerable subset to be considered The message that will be displayed on failure Arguments to be used in formatting the message Assert that an array, list or other collection is empty An array, list or other collection implementing IEnumerable The message to be displayed on failure Arguments to be used in formatting the message Assert that an array,list or other collection is empty An array, list or other collection implementing IEnumerable Assert that an array, list or other collection is empty An array, list or other collection implementing IEnumerable The message to be displayed on failure Arguments to be used in formatting the message Assert that an array,list or other collection is empty An array, list or other collection implementing IEnumerable Assert that an array, list or other collection is ordered An array, list or other collection implementing IEnumerable The message to be displayed on failure Arguments to be used in formatting the message Assert that an array, list or other collection is ordered An array, list or other collection implementing IEnumerable Assert that an array, list or other collection is ordered An array, list or other collection implementing IEnumerable A custom comparer to perform the comparisons The message to be displayed on failure Arguments to be used in formatting the message Assert that an array, list or other collection is ordered An array, list or other collection implementing IEnumerable A custom comparer to perform the comparisons AllItemsConstraint applies another constraint to each item in a collection, succeeding if they all succeed. Construct an AllItemsConstraint on top of an existing constraint The display name of this Constraint for use by ToString(). The default value is the name of the constraint with trailing "Constraint" removed. Derived classes may set this to another name in their constructors. Apply the item constraint to each item in the collection, failing if any item fails. AndConstraint succeeds only if both members succeed. Create an AndConstraint from two other constraints The first constraint The second constraint Gets text describing a constraint Apply both member constraints to an actual value, succeeding succeeding only if both of them succeed. The actual value True if the constraints both succeeded Write the actual value for a failing constraint test to a MessageWriter. The default implementation simply writes the raw value of actual, leaving it to the writer to perform any formatting. The writer on which the actual value is displayed is used to determine whether the value is equal to any of the expected values. Construct a Collection of expected values The Description of what this constraint tests, for use in messages and in the ConstraintResult. Test whether item is present in expected collection Actual item type Actual item Flag the constraint to ignore case and return self. Flag the constraint to use the supplied IComparer object. The IComparer object to use. Flag the constraint to use the supplied IComparer object. The IComparer object to use. Flag the constraint to use the supplied Comparison object. The Comparison object to use. Flag the constraint to use the supplied IEqualityComparer object. The IEqualityComparer object to use. Flag the constraint to use the supplied IEqualityComparer object. The IComparer object to use. Flag the constraint to use the supplied boolean-returning delegate. The supplied boolean-returning delegate to use. AssignableFromConstraint is used to test that an object can be assigned from a given Type. Construct an AssignableFromConstraint for the type provided Apply the constraint to an actual value, returning true if it succeeds The actual argument True if the constraint succeeds, otherwise false. AssignableToConstraint is used to test that an object can be assigned to a given Type. Construct an AssignableToConstraint for the type provided Apply the constraint to an actual value, returning true if it succeeds The actual argument True if the constraint succeeds, otherwise false. AttributeConstraint tests that a specified attribute is present on a Type or other provider and that the value of the attribute satisfies some other constraint. Constructs an AttributeConstraint for a specified attribute Type and base constraint. Determines whether the Type or other provider has the expected attribute and if its value matches the additional constraint specified. Returns a string representation of the constraint. AttributeExistsConstraint tests for the presence of a specified attribute on a Type. Constructs an AttributeExistsConstraint for a specific attribute Type The Description of what this constraint tests, for use in messages and in the ConstraintResult. Tests whether the object provides the expected attribute. A Type, MethodInfo, or other ICustomAttributeProvider True if the expected attribute is present, otherwise false BinaryConstraint is the abstract base of all constraints that combine two other constraints in some fashion. The first constraint being combined The second constraint being combined Construct a BinaryConstraint from two other constraints The first constraint The second constraint BinarySerializableConstraint tests whether an object is serializable in binary format. The Description of what this constraint tests, for use in messages and in the ConstraintResult. Test whether the constraint is satisfied by a given value The value to be tested True for success, false for failure Returns the string representation CollectionConstraint is the abstract base class for constraints that operate on collections. Construct an empty CollectionConstraint Construct a CollectionConstraint Determines whether the specified enumerable is empty. The enumerable. if the specified enumerable is empty; otherwise, . Test whether the constraint is satisfied by a given value The value to be tested True for success, false for failure Protected method to be implemented by derived classes CollectionContainsConstraint is used to test whether a collection contains an expected object as a member. Construct a CollectionContainsConstraint The display name of this Constraint for use by ToString(). The default value is the name of the constraint with trailing "Constraint" removed. Derived classes may set this to another name in their constructors. The Description of what this constraint tests, for use in messages and in the ConstraintResult. Gets the expected object Test whether the expected item is contained in the collection Flag the constraint to use the supplied predicate function The comparison function to use. Self. CollectionEquivalentConstraint is used to determine whether two collections are equivalent. The result of the from the collections under comparison. Construct a CollectionEquivalentConstraint Expected collection. The display name of this Constraint for use by ToString(). The default value is the name of the constraint with trailing "Constraint" removed. Derived classes may set this to another name in their constructors. The Description of what this constraint tests, for use in messages and in the ConstraintResult. Test whether two collections are equivalent Test whether the collection is equivalent to the expected. Actual collection type. Actual collection to compare. A indicating whether or not the two collections are equivalent. Flag the constraint to use the supplied predicate function The comparison function to use. Self. Provides a for the . Result of a of the collections to compare for equivalence. Construct a using a . Source . Result of the collection comparison. Actual collection to compare. Whether or not the succeeded. Write any additional lines (following Expected: and But was:) for a failing constraint. The to write the failure message to. CollectionItemsEqualConstraint is the abstract base class for all collection constraints that apply some notion of item equality as a part of their operation. The NUnitEqualityComparer in use for this constraint Construct an empty CollectionConstraint Construct a CollectionConstraint Get a flag indicating whether the user requested us to ignore case. Get a flag indicating whether any external comparers are in use. Flag the constraint to ignore case and return self. Flag the constraint to use the supplied IComparer object. The IComparer object to use. Flag the constraint to use the supplied IComparer object. The IComparer object to use. Flag the constraint to use the supplied Comparison object. The Comparison object to use. Flag the constraint to use the supplied IEqualityComparer object. The IComparer object to use. Flag the constraint to use the supplied IEqualityComparer object. The IComparer object to use. Flag the constraint to use the supplied boolean-returning delegate. The supplied boolean-returning delegate to use. Compares two collection members for equality Return a new CollectionTally for use in making tests The collection to be included in the tally CollectionOrderedConstraint is used to test whether a collection is ordered. Construct a CollectionOrderedConstraint The display name of this Constraint for use by ToString(). The default value is the name of the constraint with trailing "Constraint" removed. Derived classes may set this to another name in their constructors. If used performs a default ascending comparison If used performs a reverse comparison Modifies the constraint to use an and returns self. Modifies the constraint to use an and returns self. Modifies the constraint to use a and returns self. Modifies the constraint to test ordering by the value of a specified property and returns self. Then signals a break between two ordering steps The Description of what this constraint tests, for use in messages and in the ConstraintResult. Test whether the constraint is satisfied by a given value The value to be tested True for success, false for failure Test whether the collection is ordered Returns the string representation of the constraint. An OrderingStep represents one stage of the sort Constructor for success result. The Constraint to which this result applies. The actual value to which the Constraint was applied. Constructor for failure result. The Constraint to which this result applies. The actual value to which the Constraint was applied. Index at which collection order breaks. Value at which collection order breaks. CollectionSubsetConstraint is used to determine whether one collection is a subset of another Construct a CollectionSubsetConstraint The collection that the actual value is expected to be a subset of The display name of this Constraint for use by ToString(). The default value is the name of the constraint with trailing "Constraint" removed. Derived classes may set this to another name in their constructors. The Description of what this constraint tests, for use in messages and in the ConstraintResult. Test whether the actual collection is a subset of the expected collection provided. Test whether the constraint is satisfied by a given value. Flag the constraint to use the supplied predicate function The comparison function to use. Self. CollectionSupersetConstraint is used to determine whether one collection is a superset of another Construct a CollectionSupersetConstraint The collection that the actual value is expected to be a superset of The display name of this Constraint for use by ToString(). The default value is the name of the constraint with trailing "Constraint" removed. Derived classes may set this to another name in their constructors. The Description of what this constraint tests, for use in messages and in the ConstraintResult. Test whether the actual collection is a superset of the expected collection provided. Test whether the constraint is satisfied by a given value. Flag the constraint to use the supplied predicate function The comparison function to use. Self. counts (tallies) the number of occurrences of each object in one or more enumerations. The result of a . Items that were not in the expected collection. Items that were not accounted for in the expected collection. Initializes a new instance of the class with the given fields. The result of the comparison between the two collections. Construct a CollectionTally object from a comparer and a collection. The comparer to use for equality. The expected collection to compare against. Try to remove an object from the tally. The object to remove. Try to remove a set of objects from the tally. The objects to remove. Comparator for two s. Comparator for two s. Flag indicating whether or not this is the top level comparison. A list of tracked comparisons Comparator for two s. Comparator for two s. Comparator for two s. Comparator for two s. Comparator for two s. Comparator for two types related by . Interface for comparing two s. Method for comparing two objects with a tolerance. The first object to compare. The second object to compare. The tolerance to use when comparing the objects. The evaluation state of the comparison. if the objects cannot be compared using the method. Otherwise the result of the comparison is returned. Comparator for two s. Comparator for two s. Comparator for two s. Comparator for two s. Comparator for two s or s. Comparator for two Tuples. Base class for comparators for tuples (both regular Tuples and ValueTuples). Comparator for two ValueTuples. ComparisonAdapter class centralizes all comparisons of values in NUnit, adapting to the use of any provided , or . Gets the default ComparisonAdapter, which wraps an NUnitComparer object. Returns a ComparisonAdapter that wraps an Returns a ComparisonAdapter that wraps an Returns a ComparisonAdapter that wraps a Compares two objects Construct a default ComparisonAdapter Construct a ComparisonAdapter for an Compares two objects ComparerAdapter extends and allows use of an or to actually perform the comparison. Construct a ComparisonAdapter for an Compare a Type T to an object Construct a ComparisonAdapter for a Compare a Type T to an object Abstract base class for constraints that compare values to determine if one is greater than, equal to or less than the other. The value against which a comparison is to be made Tolerance used in making the comparison ComparisonAdapter to be used in making the comparison Initializes a new instance of the class. The value against which to make a comparison. Test whether the constraint is satisfied by a given value The value to be tested A ConstraintResult Protected function overridden by derived class to actually perform the comparison Modifies the constraint to use an and returns self The comparer used for comparison tests A constraint modified to use the given comparer Modifies the constraint to use an and returns self The comparer used for comparison tests A constraint modified to use the given comparer Modifies the constraint to use a and returns self The comparer used for comparison tests A constraint modified to use the given comparer Set the tolerance for use in this comparison Switches the .Within() modifier to interpret its tolerance as a percentage that the actual values is allowed to deviate from the expected value. Self Provides standard description of what the constraint tests based on comparison text. Describes the comparison being tested, throws if null Is thrown when null passed to a method Delegate used to delay evaluation of the actual value to be used in evaluating a constraint The Constraint class is the base of all built-in constraints within NUnit. It provides the operator overloads used to combine constraints. Construct a constraint with optional arguments Arguments to be saved The display name of this Constraint for use by ToString(). The default value is the name of the constraint with trailing "Constraint" removed. Derived classes may set this to another name in their constructors. The Description of what this constraint tests, for use in messages and in the ConstraintResult. Arguments provided to this Constraint, for use in formatting the description. The ConstraintBuilder holding this constraint Applies the constraint to an actual value, returning a ConstraintResult. The value to be tested A ConstraintResult Applies the constraint to an ActualValueDelegate that returns the value to be tested. The default implementation simply evaluates the delegate but derived classes may override it to provide for delayed processing. An ActualValueDelegate A ConstraintResult Test whether the constraint is satisfied by a given reference. The default implementation simply dereferences the value but derived classes may override it to provide for delayed processing. A reference to the value to be tested A ConstraintResult Retrieves the value to be tested from an ActualValueDelegate. The default implementation simply evaluates the delegate but derived classes may override it to provide for delayed processing. An ActualValueDelegate Delegate evaluation result Default override of ToString returns the constraint DisplayName followed by any arguments within angle brackets. Returns the string representation of this constraint This operator creates a constraint that is satisfied only if both argument constraints are satisfied. This operator creates a constraint that is satisfied if either of the argument constraints is satisfied. This operator creates a constraint that is satisfied if the argument constraint is not satisfied. Returns a ConstraintExpression by appending And to the current constraint. Returns a ConstraintExpression by appending And to the current constraint. Returns a ConstraintExpression by appending Or to the current constraint. Returns a DelayedConstraint.WithRawDelayInterval with the specified delay time. The delay, which defaults to milliseconds. Returns a DelayedConstraint with the specified delay time and polling interval. The delay in milliseconds. The interval at which to test the constraint. Resolves any pending operators and returns the resolved constraint. ConstraintBuilder maintains the stacks that are used in processing a ConstraintExpression. An OperatorStack is used to hold operators that are waiting for their operands to be reorganized. a ConstraintStack holds input constraints as well as the results of each operator applied. OperatorStack is a type-safe stack for holding ConstraintOperators Initializes a new instance of the class. The ConstraintBuilder using this stack. Gets a value indicating whether this is empty. if empty; otherwise, . Gets the topmost operator without modifying the stack. Pushes the specified operator onto the stack. The operator to put onto the stack. Pops the topmost operator from the stack. The topmost operator on the stack ConstraintStack is a type-safe stack for holding Constraints Initializes a new instance of the class. The ConstraintBuilder using this stack. Gets a value indicating whether this is empty. if empty; otherwise, . Pushes the specified constraint. As a side effect, the constraint's Builder field is set to the ConstraintBuilder owning this stack. The constraint to put onto the stack Pops this topmost constraint from the stack. As a side effect, the constraint's Builder field is set to null. The topmost constraint on the stack Initializes a new instance of the class. Appends the specified operator to the expression by first reducing the operator stack and then pushing the new operator on the stack. The operator to push. Appends the specified constraint to the expression by pushing it on the constraint stack. The constraint to push. Sets the top operator right context. The right context. Reduces the operator stack until the topmost item precedence is greater than or equal to the target precedence. The target precedence. Resolves this instance, returning a Constraint. If the Builder is not currently in a resolvable state, an exception is thrown. The resolved constraint Gets a value indicating whether this instance is resolvable. if this instance is resolvable; otherwise, . ConstraintExpression represents a compound constraint in the process of being constructed from a series of syntactic elements. Individual elements are appended to the expression as they are reorganized. When a constraint is appended, it is returned as the value of the operation so that modifiers may be applied. However, any partially built expression is attached to the constraint for later resolution. When an operator is appended, the partial expression is returned. If it's a self-resolving operator, then a ResolvableConstraintExpression is returned. The ConstraintBuilder holding the elements recognized so far Initializes a new instance of the class. Initializes a new instance of the class passing in a ConstraintBuilder, which may be pre-populated. The builder. Returns a string representation of the expression as it currently stands. This should only be used for testing, since it has the side-effect of resolving the expression. Appends an operator to the expression and returns the resulting expression itself. Appends a self-resolving operator to the expression and returns a new ResolvableConstraintExpression. Appends a constraint to the expression and returns that constraint, which is associated with the current state of the expression being built. Note that the constraint is not reduced at this time. For example, if there is a NotOperator on the stack we don't reduce and return a NotConstraint. The original constraint must be returned because it may support modifiers that are yet to be applied. Returns a ConstraintExpression that negates any following constraint. Returns a ConstraintExpression that negates any following constraint. Returns a ConstraintExpression, which will apply the following constraint to all members of a collection, succeeding if all of them succeed. Returns a ConstraintExpression, which will apply the following constraint to all members of a collection, succeeding if at least one of them succeeds. Returns a ConstraintExpression, which will apply the following constraint to all members of a collection, succeeding if all of them fail. Returns a ConstraintExpression, which will apply the following constraint to all members of a collection, succeeding only if a specified number of them succeed. Returns a , which will apply the following constraint to a collection of length one, succeeding only if exactly one of them succeeds. Returns a new PropertyConstraintExpression, which will either test for the existence of the named property on the object being tested or apply any following constraint to that property. Returns a new ConstraintExpression, which will apply the following constraint to the Length property of the object being tested. Returns a new ConstraintExpression, which will apply the following constraint to the Count property of the object being tested. Returns a new ConstraintExpression, which will apply the following constraint to the Message property of the object being tested. Returns a new ConstraintExpression, which will apply the following constraint to the InnerException property of the object being tested. Returns a new AttributeConstraint checking for the presence of a particular attribute on an object. Returns a new AttributeConstraint checking for the presence of a particular attribute on an object. With is currently a NOP - reserved for future use. Returns the constraint provided as an argument - used to allow custom custom constraints to easily participate in the syntax. Returns the constraint provided as an argument - used to allow custom custom constraints to easily participate in the syntax. Returns a constraint that tests for null Returns a constraint that tests for True Returns a constraint that tests for False Returns a constraint that tests for a positive value Returns a constraint that tests for a negative value Returns a constraint that tests if item is equal to zero Returns a constraint that tests for NaN Returns a constraint that tests for empty Returns a constraint that tests whether a collection contains all unique items. Returns a constraint that tests whether an object graph is serializable in binary format. Returns a constraint that tests whether an object graph is serializable in XML format. Returns a constraint that tests two items for equality Returns a constraint that tests that two references are the same object Returns a constraint that tests whether the actual value is greater than the supplied argument Returns a constraint that tests whether the actual value is greater than or equal to the supplied argument Returns a constraint that tests whether the actual value is greater than or equal to the supplied argument Returns a constraint that tests whether the actual value is less than the supplied argument Returns a constraint that tests whether the actual value is less than or equal to the supplied argument Returns a constraint that tests whether the actual value is less than or equal to the supplied argument Returns a constraint that tests whether the actual value is of the exact type supplied as an argument. Returns a constraint that tests whether the actual value is of the exact type supplied as an argument. Returns a constraint that tests whether the actual value is of the type supplied as an argument or a derived type. Returns a constraint that tests whether the actual value is of the type supplied as an argument or a derived type. Returns a constraint that tests whether the actual value is assignable from the type supplied as an argument. Returns a constraint that tests whether the actual value is assignable from the type supplied as an argument. Returns a constraint that tests whether the actual value is assignable from the type supplied as an argument. Returns a constraint that tests whether the actual value is assignable from the type supplied as an argument. Returns a constraint that tests whether the actual value is a collection containing the same elements as the collection supplied as an argument. Returns a constraint that tests whether the actual value is a subset of the collection supplied as an argument. Returns a constraint that tests whether the actual value is a superset of the collection supplied as an argument. Returns a constraint that tests whether a collection is ordered Returns a new checking for the presence of a particular object in the collection. Returns a new checking for the presence of a particular object in the collection. To search for a substring instead of a collection element, use the overload. Returns a new ContainsConstraint. This constraint will, in turn, make use of the appropriate second-level constraint, depending on the type of the actual argument. To search for a collection element instead of a substring, use the overload. Returns a new checking for the presence of a particular object in the collection. Returns a new ContainsConstraint. This constraint will, in turn, make use of the appropriate second-level constraint, depending on the type of the actual argument. This overload is only used if the item sought is a string, since any other type implies that we are looking for a collection member. Returns a new DictionaryContainsKeyConstraint checking for the presence of a particular key in the Dictionary key collection. The key to be matched in the Dictionary key collection Returns a new DictionaryContainsValueConstraint checking for the presence of a particular value in the Dictionary value collection. The value to be matched in the Dictionary value collection Returns a constraint that succeeds if the actual value contains the substring supplied as an argument. Returns a constraint that succeeds if the actual value contains the substring supplied as an argument. Returns a constraint that succeeds if the actual value starts with the substring supplied as an argument. Returns a constraint that succeeds if the actual value starts with the substring supplied as an argument. Returns a constraint that succeeds if the actual value starts with the substring supplied as an argument. Returns a constraint that succeeds if the actual value ends with the substring supplied as an argument. Returns a constraint that succeeds if the actual value ends with the substring supplied as an argument. Returns a constraint that succeeds if the actual value ends with the substring supplied as an argument. Returns a constraint that succeeds if the actual value matches the regular expression supplied as an argument. Returns a constraint that succeeds if the actual value matches the regular expression supplied as an argument. Returns a constraint that succeeds if the actual value matches the regular expression supplied as an argument. Returns a constraint that succeeds if the actual value matches the regular expression supplied as an argument. Returns a constraint that succeeds if the actual value matches the regular expression supplied as an argument. Returns a constraint that tests whether the path provided is the same as an expected path after canonicalization. Returns a constraint that tests whether the path provided is the a subpath of the expected path after canonicalization. Returns a constraint that tests whether the path provided is the same path or under an expected path after canonicalization. Returns a constraint that tests whether the actual value falls inclusively within a specified range. Inclusive beginning of the range. Inclusive end of the range. Returns a constraint that succeeds if the value is a file or directory and it exists. Returns a constraint that tests if an item is equal to any of parameters Expected values Returns a new IndexerConstraintExpression, which will apply any following constraint to that indexer value. Index accessor values. ConstraintStatus represents the status of a ConstraintResult returned by a Constraint being applied to an actual value. The status has not yet been set The constraint succeeded The constraint failed An error occurred in applying the constraint (reserved for future use) Contains the result of matching a against an actual value. Constructs a for a particular . The Constraint to which this result applies. The actual value to which the Constraint was applied. Constructs a for a particular . The Constraint to which this result applies. The actual value to which the Constraint was applied. The status of the new ConstraintResult. Constructs a for a particular . The Constraint to which this result applies. The actual value to which the Constraint was applied. If true, applies a status of Success to the result, otherwise Failure. The actual value that was passed to the method. Gets and sets the ResultStatus for this result. True if actual value meets the Constraint criteria otherwise false. Display friendly name of the constraint. Description of the constraint may be affected by the state the constraint had when was performed against the actual value. Write the failure message to the MessageWriter provided as an argument. The default implementation simply passes the result and the actual value to the writer, which then displays the constraint description and the value. Constraints that need to provide additional details, such as where the error occurred, can override this. The MessageWriter on which to display the message Write some additional failure message. The MessageWriter on which to display the message Write the actual value for a failing constraint test to a MessageWriter. The default implementation simply writes the raw value of actual, leaving it to the writer to perform any formatting. The writer on which the actual value is displayed ContainsConstraint tests a whether a string contains a substring or a collection contains an object. It postpones the decision of which test to use until the type of the actual argument is known. This allows testing whether a string is contained in a collection or as a substring of another string using the same syntax. Initializes a new instance of the class. The expected value contained within the string/collection. The Description of what this constraint tests, for use in messages and in the ConstraintResult. Flag the constraint to ignore case and return self. Test whether the constraint is satisfied by a given value The value to be tested True for success, false for failure CountZeroConstraint tests whether an instance has a property .Count with value zero. The Description of what this constraint tests, for use in messages and in the ConstraintResult. Checks if the specified has a int Count property. Type to check. when has a 'int Count' property, otherwise. Test whether the constraint is satisfied by a given value The value to be tested True for success, false for failure The DateTimes class contains common operations on Date and Time values. Applies a delay to the match so that a match can be evaluated in the future. Allows only changing the time dimension of delay interval and setting a polling interval of a DelayedConstraint Creates a new DelayedConstraint.WithRawDelayInterval Parent DelayedConstraint on which delay interval dimension is required to be set Changes delay interval dimension to minutes Changes delay interval dimension to seconds Changes delay interval dimension to milliseconds Set polling interval, in milliseconds A time interval, in milliseconds Allows only setting the polling interval of a DelayedConstraint Creates a new DelayedConstraint.WithDimensionedDelayInterval Parent DelayedConstraint on which polling interval is required to be set Set polling interval, in milliseconds A time interval, in milliseconds Allows only changing the time dimension of the polling interval of a DelayedConstraint Creates a new DelayedConstraint.WithRawPollingInterval Parent DelayedConstraint on which polling dimension is required to be set Changes polling interval dimension to minutes Changes polling interval dimension to seconds Changes polling interval dimension to milliseconds Delay value store as an Interval object Polling value stored as an Interval object Creates a new DelayedConstraint The inner constraint to decorate The time interval after which the match is performed If the value of is less than 0 Creates a new DelayedConstraint The inner constraint to decorate The time interval after which the match is performed, in milliseconds The time interval used for polling, in milliseconds If the value of is less than 0 Gets text describing a constraint Test whether the constraint is satisfied by a given value The value to be tested True for if the base constraint fails, false if it succeeds Test whether the constraint is satisfied by a delegate The delegate whose value is to be tested A ConstraintResult Test whether the constraint is satisfied by a given reference. Overridden to wait for the specified delay period before calling the base constraint with the dereferenced value. A reference to the value to be tested True for success, false for failure Returns the string representation of the constraint. Adjusts a Timestamp by a given TimeSpan Returns the difference between two Timestamps as a TimeSpan DictionaryContainsKeyConstraint is used to test whether a dictionary contains an expected object as a key. Construct a DictionaryContainsKeyConstraint The display name of this Constraint for use by ToString(). The default value is the name of the constraint with trailing "Constraint" removed. Derived classes may set this to another name in their constructors. The Description of what this constraint tests, for use in messages and in the ConstraintResult. Gets the expected object Returns a new DictionaryContainsKeyValuePairConstraint checking for the presence of a particular key-value-pair in the dictionary. Flag the constraint to ignore case and return self. Test whether the constraint is satisfied by a given value The value to be tested Test whether the expected key is contained in the dictionary Flag the constraint to use the supplied predicate function The comparison function to use. Flag the constraint to use the supplied Comparison object. The Comparison object to use. Flag the constraint to use the supplied IComparer object. The IComparer object to use. Flag the constraint to use the supplied IComparer object. The IComparer object to use. Flag the constraint to use the supplied IEqualityComparer object. The IComparer object to use. Flag the constraint to use the supplied IEqualityComparer object. The IComparer object to use. Flag the constraint to use the supplied boolean-returning delegate. The supplied boolean-returning delegate to use. DictionaryContainsKeyValuePairConstraint is used to test whether a dictionary contains an expected object as a key-value-pair. Construct a DictionaryContainsKeyValuePairConstraint The display name of this Constraint for use by ToString(). The default value is the name of the constraint with trailing "Constraint" removed. Derived classes may set this to another name in their constructors. The Description of what this constraint tests, for use in messages and in the ConstraintResult. Test whether the constraint is satisfied by a given value The value to be tested Test whether the expected key is contained in the dictionary DictionaryContainsValueConstraint is used to test whether a dictionary contains an expected object as a value. Construct a DictionaryContainsValueConstraint The display name of this Constraint for use by ToString(). The default value is the name of the constraint with trailing "Constraint" removed. Derived classes may set this to another name in their constructors. The Description of what this constraint tests, for use in messages and in the ConstraintResult. Gets the expected object Test whether the expected value is contained in the dictionary Flag the constraint to use the supplied predicate function The comparison function to use. Self. Provides a for the constraints that are applied to each item in the collection Constructs a for a particular Only used for Failure The Constraint to which this result applies The actual value to which the Constraint was applied Actual item that does not match expected condition Non matching item index Write constraint description, actual items, and non-matching item The MessageWriter on which to display the message EmptyCollectionConstraint tests whether a collection is empty. The Description of what this constraint tests, for use in messages and in the ConstraintResult. Check that the collection is empty EmptyConstraint tests a whether a string or collection is empty, postponing the decision about which test is applied until the type of the actual argument is known. The Description of what this constraint tests, for use in messages and in the ConstraintResult. Test whether the constraint is satisfied by a given value The value to be tested True for success, false for failure EmptyDirectoryConstraint is used to test that a directory is empty The Description of what this constraint tests, for use in messages and in the ConstraintResult. Test whether the constraint is satisfied by a given value The value to be tested True for success, false for failure EmptyGuidConstraint tests whether a Guid is empty. The Description of what this constraint tests, for use in messages and in the ConstraintResult. Test whether the constraint is satisfied by a given value The value to be tested True for success, false for failure EmptyStringConstraint tests whether a string is empty. The Description of what this constraint tests, for use in messages and in the ConstraintResult. Test whether the constraint is satisfied by a given value The value to be tested True for success, false for failure EndsWithConstraint can test whether a string ends with an expected substring. Initializes a new instance of the class. The expected string Test whether the constraint is matched by the actual value. This is a template method, which calls the IsMatch method of the derived class. EqualConstraint is able to compare an actual value with the expected value provided in its constructor. Two objects are considered equal if both are null, or if both have the same value. NUnit has special semantics for some object types. NUnitEqualityComparer used to test equality. Initializes a new instance of the class. The expected value. Gets the tolerance for this comparison. The tolerance. Gets a value indicating whether to compare case insensitive. if comparing case insensitive; otherwise, . Gets a value indicating whether or not to clip strings. if set to clip strings otherwise, . Gets the failure points. The failure points. Flag the constraint to ignore case and return self. Flag the constraint to suppress string clipping and return self. Flag the constraint to compare arrays as collections and return self. Flag the constraint to use a tolerance when determining equality. Tolerance value to be used Self. Flags the constraint to include property in comparison of two values. Using this modifier does not allow to use the constraint modifier. Switches the .Within() modifier to interpret its tolerance as a distance in representable values (see remarks). Self. Ulp stands for "unit in the last place" and describes the minimum amount a given value can change. For any integers, an ulp is 1 whole digit. For floating point values, the accuracy of which is better for smaller numbers and worse for larger numbers, an ulp depends on the size of the number. Using ulps for comparison of floating point results instead of fixed tolerances is safer because it will automatically compensate for the added inaccuracy of larger numbers. Switches the .Within() modifier to interpret its tolerance as a percentage that the actual values is allowed to deviate from the expected value. Self Causes the tolerance to be interpreted as a TimeSpan in days. Self Causes the tolerance to be interpreted as a TimeSpan in hours. Self Causes the tolerance to be interpreted as a TimeSpan in minutes. Self Causes the tolerance to be interpreted as a TimeSpan in seconds. Self Causes the tolerance to be interpreted as a TimeSpan in milliseconds. Self Causes the tolerance to be interpreted as a TimeSpan in clock ticks. Self Flag the constraint to use the supplied IComparer object. The IComparer object to use. Self. Flag the constraint to use the supplied IComparer object. The IComparer object to use. Self. Flag the constraint to use the supplied boolean-returning delegate. The boolean-returning delegate to use. Self. Flag the constraint to use the supplied Comparison object. The IComparer object to use. Self. Flag the constraint to use the supplied IEqualityComparer object. The IComparer object to use. Self. Flag the constraint to use the supplied IEqualityComparer object. The IComparer object to use. Self. Flag the constraint to use the supplied predicate function The comparison function to use. Self. Test whether the constraint is satisfied by a given value The value to be tested True for success, false for failure The Description of what this constraint tests, for use in messages and in the ConstraintResult. The EqualConstraintResult class is tailored for formatting and displaying the result of an EqualConstraint. Construct an EqualConstraintResult Write a failure message. Overridden to provide custom failure messages for EqualConstraint. The MessageWriter to write to Display the failure information for two collections that did not match. The MessageWriter on which to display The expected collection. The actual collection The depth of this failure in a set of nested collections Displays a single line showing the types and sizes of the expected and actual collections or arrays. If both are identical, the value is only shown once. The MessageWriter on which to display The expected collection or array The actual collection or array The indentation level for the message line Displays a single line showing the point in the expected and actual arrays at which the comparison failed. If the arrays have different structures or dimensions, both values are shown. The MessageWriter on which to display The expected array The actual array Index of the failure point in the underlying collections The indentation level for the message line Display the failure information for two IEnumerables that did not match. The MessageWriter on which to display The expected enumeration. The actual enumeration The depth of this failure in a set of nested collections EqualityAdapter class handles all equality comparisons that use an , or a . Compares two objects, returning true if they are equal Returns true if the two objects can be compared by this adapter. The base adapter cannot handle IEnumerables except for strings. Returns an that wraps an . that wraps an . Returns an that wraps an . Returns an EqualityAdapter that uses a predicate function for items comparison. Returns true if the two objects can be compared by this adapter. The base adapter cannot handle IEnumerables except for strings. Compares two objects, returning true if they are equal Returns true if the two objects can be compared by this adapter. Generic adapter requires objects of the specified type. Returns an that wraps an . Returns an that wraps an . that wraps an . Returns an that wraps a . ExactCountConstraint applies another constraint to each item in a collection, succeeding only if a specified number of items succeed. Construct a standalone ExactCountConstraint Construct an ExactCountConstraint on top of an existing constraint Apply the item constraint to each item in the collection, succeeding only if the expected number of items pass. The value to be tested A ConstraintResult The Description of what this constraint tests, for use in messages and in the ConstraintResult. Contain the result of matching a against an actual value. The count of matched items of the A list with maximum count (+1) of items of the Constructs a for a . The Constraint to which this result applies. The actual value to which the Constraint was applied. If true, applies a status of Success to the result, otherwise Failure. Count of matched items of the A list with maximum count (+1) of items of the Write the actual value for a failing constraint test to a MessageWriter. The writer on which the actual value is displayed ExactTypeConstraint is used to test that an object is of the exact type provided in the constructor Construct an ExactTypeConstraint for a given Type The expected Type. The display name of this Constraint for use by ToString(). The default value is the name of the constraint with trailing "Constraint" removed. Derived classes may set this to another name in their constructors. Apply the constraint to an actual value, returning true if it succeeds The actual argument True if the constraint succeeds, otherwise false. The Description of what this constraint tests, for use in messages and in the ConstraintResult. Applies the constraint to an actual value, returning a ConstraintResult. The value to be tested A ConstraintResult ExceptionTypeConstraint is a special version of ExactTypeConstraint used to provided detailed info about the exception thrown in an error message. Constructs an ExceptionTypeConstraint Applies the constraint to an actual value, returning a ConstraintResult. The value to be tested A ConstraintResult FalseConstraint tests that the actual value is false Initializes a new instance of the class. Test whether the constraint is satisfied by a given value The value to be tested True for success, false for failure FileExistsConstraint is used to determine if a file exists Initializes a new instance of the class. The Description of what this constraint tests, for use in messages and in the ConstraintResult. FileOrDirectoryExistsConstraint is used to determine if a file or directory exists If true, the constraint will only check if files exist, not directories If true, the constraint will only check if directories exist, not files Initializes a new instance of the class that will check files and directories. Initializes a new instance of the class that will only check files if ignoreDirectories is true. if set to [ignore directories]. The Description of what this constraint tests, for use in messages and in the ConstraintResult. Applies the constraint to an actual value, returning a ConstraintResult. The value to be tested A ConstraintResult Helper routines for working with floating point numbers The floating point comparison code is based on this excellent article: https://randomascii.wordpress.com/2012/02/25/comparing-floating-point-numbers-2012-edition/ "ULP" means Unit in the Last Place and in the context of this library refers to the distance between two adjacent floating point numbers. IEEE floating point numbers can only represent a finite subset of natural numbers, with greater accuracy for smaller numbers and lower accuracy for very large numbers. If a comparison is allowed "2 ulps" of deviation, that means the values are allowed to deviate by up to 2 adjacent floating point values, which might be as low as 0.0000001 for small numbers or as high as 10.0 for large numbers. Union of a floating point variable and an integer The union's value as a floating point variable The union's value as an integer The union's value as an unsigned integer Union of a double precision floating point variable and a long The union's value as a double precision floating point variable The union's value as a long The union's value as an unsigned long Compares two floating point values for equality First floating point value to be compared Second floating point value t be compared Maximum number of representable floating point values that are allowed to be between the left and the right floating point values True if both numbers are equal or close to being equal Floating point values can only represent a finite subset of natural numbers. For example, the values 2.00000000 and 2.00000024 can be stored in a float, but nothing between them. This comparison will count how many possible floating point values are between the left and the right number. If the number of possible values between both numbers is less than or equal to maxUlps, then the numbers are considered as being equal. Implementation partially follows the code outlined here: http://www.anttirt.net/2007/08/19/proper-floating-point-comparisons/ Compares two double precision floating point values for equality First double precision floating point value to be compared Second double precision floating point value t be compared Maximum number of representable double precision floating point values that are allowed to be between the left and the right double precision floating point values True if both numbers are equal or close to being equal Double precision floating point values can only represent a limited series of natural numbers. For example, the values 2.0000000000000000 and 2.0000000000000004 can be stored in a double, but nothing between them. This comparison will count how many possible double precision floating point values are between the left and the right number. If the number of possible values between both numbers is less than or equal to maxUlps, then the numbers are considered as being equal. Implementation partially follows the code outlined here: http://www.anttirt.net/2007/08/19/proper-floating-point-comparisons/ Tests whether a value is greater than the value supplied to its constructor Initializes a new instance of the class. The expected value. The Description of what this constraint tests, for use in messages and in the ConstraintResult. Perform the comparison Tests whether a value is greater than or equal to the value supplied to its constructor Initializes a new instance of the class. The expected value. The Description of what this constraint tests, for use in messages and in the ConstraintResult. Perform the comparison Interface for all constraints The display name of this Constraint for use by ToString(). The Description of what this constraint tests, for use in messages and in the ConstraintResult. Arguments provided to this Constraint, for use in formatting the description. The ConstraintBuilder holding this constraint Applies the constraint to an actual value, returning a ConstraintResult. The value to be tested A ConstraintResult Applies the constraint to an ActualValueDelegate that returns the value to be tested. The default implementation simply evaluates the delegate but derived classes may override it to provide for delayed processing. An ActualValueDelegate A ConstraintResult Test whether the constraint is satisfied by a given reference. The default implementation simply dereferences the value but derived classes may override it to provide for delayed processing. A reference to the value to be tested A ConstraintResult IndexerConstraint extracts a named property and uses its value as the actual value for a chained constraint. Initializes a new instance of the class. The argument list for the indexer. The constraint to apply to the indexer. Test whether the constraint is satisfied by a given value The value to be tested Returns the string representation of the constraint. InstanceOfTypeConstraint is used to test that an object is of the same type provided or derived from it. Construct an InstanceOfTypeConstraint for the type provided The expected Type The display name of this Constraint for use by ToString(). The default value is the name of the constraint with trailing "Constraint" removed. Derived classes may set this to another name in their constructors. Apply the constraint to an actual value, returning true if it succeeds The actual argument True if the constraint succeeds, otherwise false. Keeps track of an interval time which can be represented in Minutes, Seconds or Milliseconds Constructs a interval given an value in milliseconds Gets Interval value represented as a TimeSpan object Returns the interval with the current value as a number of minutes. Returns the interval with the current value as a number of seconds. Returns the interval with the current value as a number of milliseconds. Is true for intervals created with a non-zero value Returns a string that represents the current object. A string that represents the current object. IntervalUnit provides the semantics to the value stored in Interval class. Unit representing an Interval in minutes Unit representing an Interval in seconds Unit representing an Interval in milliseconds The IResolveConstraint interface is implemented by all complete and resolvable constraints and expressions. Return the top-level constraint for this expression An extension of ResolvableConstraintExpression that adds a no-op Items property for readability. Create a new instance of ItemsConstraintExpression Create a new instance of ResolvableConstraintExpression, passing in a pre-populated ConstraintBuilder. No-op property for readability. Tests whether a value is less than the value supplied to its constructor Initializes a new instance of the class. The expected value. The Description of what this constraint tests, for use in messages and in the ConstraintResult. Perform the comparison Tests whether a value is less than or equal to the value supplied to its constructor Initializes a new instance of the class. The expected value. The Description of what this constraint tests, for use in messages and in the ConstraintResult. Perform the comparison MessageWriter is the abstract base for classes that write constraint descriptions and messages in some form. The class has separate methods for writing various components of a message, allowing implementations to tailor the presentation as needed. Construct a MessageWriter given a culture Abstract method to get the max line length Method to write single line message with optional args, usually written to precede the general failure message. The message to be written Any arguments used in formatting the message Method to write single line message with optional args, usually written to precede the general failure message, at a given indentation level. The indentation level of the message The message to be written Any arguments used in formatting the message Display Expected and Actual lines for a constraint. This is called by MessageWriter's default implementation of WriteMessageTo and provides the generic two-line display. The failing constraint result Display Expected and Actual lines for given values. This method may be called by constraints that need more control over the display of actual and expected values than is provided by the default implementation. The expected value The actual value causing the failure Display Expected and Actual lines for given values, including a tolerance value on the Expected line. The expected value The actual value causing the failure The tolerance within which the test was made Display the expected and actual string values on separate lines. If the mismatch parameter is >=0, an additional line is displayed line containing a caret that points to the mismatch point. The expected string value The actual string value The point at which the strings don't match or -1 If true, case is ignored in locating the point where the strings differ If true, the strings should be clipped to fit the line Writes the text for an actual value. The actual value. Writes the text for a generalized value. The value. Writes the text for a collection value, starting at a particular point, to a max length The collection containing elements to write. The starting point of the elements to write The maximum number of elements to write Custom value formatter function The value Custom value formatter factory function The next formatter function ValueFormatter If the given formatter is unable to handle a certain format, it must call the next formatter in the chain Static methods used in creating messages Default amount of items used by method. Static string used when strings are clipped Formatting strings used for expected and actual values Current head of chain of value formatters. Public for testing. Add a formatter to the chain of responsibility. Formats text to represent a generalized value. The value The formatted text Formats text for a collection value, starting at a particular point, to a max length The collection containing elements to write. The starting point of the elements to write The maximum number of elements to write Returns the representation of a type as used in NUnitLite. This is the same as Type.ToString() except for arrays, which are displayed with their declared sizes. Converts any control characters in a string to their escaped representation. The string to be converted The converted string Converts any null characters in a string to their escaped representation. The string to be converted The converted string Return the a string representation for a set of indices into an array Array of indices for which a string is needed Get an array of indices representing the point in a collection or array corresponding to a single int index into the collection. The collection to which the indices apply Index in the collection Array of indices Clip a string to a given length, starting at a particular offset, returning the clipped string with ellipses representing the removed parts The string to be clipped The maximum permitted length of the result string The point at which to start clipping The clipped string Clip the expected and actual strings in a coordinated fashion, so that they may be displayed together. Shows the position two strings start to differ. Comparison starts at the start index. The expected string The actual string The index in the strings at which comparison should start Boolean indicating whether case should be ignored -1 if no mismatch found, or the index where mismatch found NaNConstraint tests that the actual value is a double or float NaN The Description of what this constraint tests, for use in messages and in the ConstraintResult. Test that the actual value is an NaN NoItemConstraint applies another constraint to each item in a collection, failing if any of them succeeds. Construct a SomeItemsConstraint on top of an existing constraint The display name of this Constraint for use by ToString(). The default value is the name of the constraint with trailing "Constraint" removed. Derived classes may set this to another name in their constructors. Apply the item constraint to each item in the collection, failing if any item fails. NotConstraint negates the effect of some other constraint Initializes a new instance of the class. The base constraint to be negated. Test whether the constraint is satisfied by a given value The value to be tested True for if the base constraint fails, false if it succeeds NullConstraint tests that the actual value is null Initializes a new instance of the class. Applies the constraint to an actual value, returning a ConstraintResult. The value to be tested A ConstraintResult The Numerics class contains common operations on numeric values. Checks the type of the object, returning true if the object is a numeric type. The object to check true if the object is a numeric type Checks the type of the object, returning true if the object is a floating point numeric type. The object to check true if the object is a floating point numeric type Checks the type of the object, returning true if the object is a fixed point numeric type. The object to check true if the object is a fixed point numeric type Test two numeric values for equality, performing the usual numeric conversions and using a provided or default tolerance. If the tolerance provided is Empty, this method may set it to a default tolerance. The expected value The actual value A reference to the tolerance in effect True if the values are equal Compare two numeric values, performing the usual numeric conversions. The expected value The actual value The relationship of the values to each other Calculates the difference between 2 values in absolute/percent mode. The expected value The actual value Tolerance mode to specify difference representation The difference between the values NUnitComparer encapsulates NUnit's default behavior in comparing two objects. Returns the default NUnitComparer. Compares two objects NUnitEqualityComparer encapsulates NUnit's handling of equality tests between objects. If true, all string comparisons will ignore case If true, arrays will be treated as collections, allowing those of different dimensions to be compared Comparison objects used in comparisons for some constraints. List of points at which a failure occurred. List of comparers used to compare pairs of objects. Initializes a new instance of the class. Returns the default NUnitEqualityComparer Gets and sets a flag indicating whether case should be ignored in determining equality. Gets and sets a flag indicating that arrays should be compared as collections, without regard to their shape. Gets the list of external comparers to be used to test for equality. They are applied to members of collections, in place of NUnit's own logic. Gets the list of failure points for the last Match performed. The list consists of objects to be interpreted by the caller. This generally means that the caller may only make use of objects it has placed on the list at a particular depth. Flags the comparer to include property in comparison of two values. Using this modifier does not allow to use the modifier. Compares two objects for equality within a tolerance. Compares two objects for equality within a tolerance. FailurePoint class represents one point of failure in an equality test. The location of the failure The expected value The actual value Indicates whether the expected value is valid Indicates whether the actual value is valid Represents a constraint that succeeds if all the members of a collection match a base constraint. Returns a constraint that will apply the argument to the members of a collection, succeeding if they all succeed. Operator that requires both its arguments to succeed Construct an AndOperator Apply the operator to produce an AndConstraint Operator that tests for the presence of a particular attribute on a type and optionally applies further tests to the attribute. Construct an AttributeOperator for a particular Type The Type of attribute tested Reduce produces a constraint from the operator and any arguments. It takes the arguments from the constraint stack and pushes the resulting constraint on it. Abstract base class for all binary operators Reduce produces a constraint from the operator and any arguments. It takes the arguments from the constraint stack and pushes the resulting constraint on it. Gets the left precedence of the operator Gets the right precedence of the operator Abstract method that produces a constraint by applying the operator to its left and right constraint arguments. Abstract base for operators that indicate how to apply a constraint to items in a collection. Constructs a CollectionOperator The ConstraintOperator class is used internally by a ConstraintBuilder to represent an operator that modifies or combines constraints. Constraint operators use left and right precedence values to determine whether the top operator on the stack should be reduced before pushing a new operator. The precedence value used when the operator is about to be pushed to the stack. The precedence value used when the operator is on the top of the stack. The syntax element preceding this operator The syntax element following this operator The precedence value used when the operator is about to be pushed to the stack. The precedence value used when the operator is on the top of the stack. Reduce produces a constraint from the operator and any arguments. It takes the arguments from the constraint stack and pushes the resulting constraint on it. Represents a constraint that succeeds if the specified count of members of a collection match a base constraint. Construct an ExactCountOperator for a specified count The expected count Reduce produces a constraint from the operator and any arguments. It takes the arguments from the constraint stack and pushes the resulting constraint on it. Operator used to test for the presence of a Indexer on an object and optionally apply further tests to the value of that indexer. Constructs a IndexerOperator for a particular set of indexer parameters Returns a IndexerConstraint applied to its argument. Represents a constraint that succeeds if none of the members of a collection match a base constraint. Returns a constraint that will apply the argument to the members of a collection, succeeding if none of them succeed. Negates the test of the constraint it wraps. Constructs a new NotOperator Returns a NotConstraint applied to its argument. Operator that requires at least one of its arguments to succeed Construct an OrOperator Apply the operator to produce an OrConstraint PrefixOperator takes a single constraint and modifies its action in some way. Reduce produces a constraint from the operator and any arguments. It takes the arguments from the constraint stack and pushes the resulting constraint on it. Returns the constraint created by applying this prefix to another constraint. Operator used to test for the presence of a named Property on an object and optionally apply further tests to the value of that property. Gets the name of the property to which the operator applies Constructs a PropOperator for a particular named property Reduce produces a constraint from the operator and any arguments. It takes the arguments from the constraint stack and pushes the resulting constraint on it. Abstract base class for operators that are able to reduce to a constraint whether or not another syntactic element follows. Represents a constraint that succeeds if any of the members of a collection match a base constraint. Returns a constraint that will apply the argument to the members of a collection, succeeding if any of them succeed. Operator that tests that an exception is thrown and optionally applies further tests to the exception. Construct a ThrowsOperator Reduce produces a constraint from the operator and any arguments. It takes the arguments from the constraint stack and pushes the resulting constraint on it. Represents a constraint that simply wraps the constraint provided as an argument, without any further functionality, but which modifies the order of evaluation because of its precedence. Constructor for the WithOperator Returns a constraint that wraps its argument OrConstraint succeeds if either member succeeds Create an OrConstraint from two other constraints The first constraint The second constraint Gets text describing a constraint Apply the member constraints to an actual value, succeeding succeeding as soon as one of them succeeds. The actual value True if either constraint succeeded PathConstraint serves as the abstract base of constraints that operate on paths and provides several helper methods. Construct a PathConstraint for a give expected path The expected path Modifies the current instance to be case-sensitive and returns it. Returns the string representation of this constraint Canonicalize the provided path The path in standardized form Test whether one path in canonical form is a subpath of another path The first path - supposed to be the parent path The second path - supposed to be the child path Predicate constraint wraps a Predicate in a constraint, returning success if the predicate is true. Construct a PredicateConstraint from a predicate Gets text describing a constraint Determines whether the predicate succeeds when applied to the actual value. Abstract base class used for prefixes The base constraint Prefix used in forming the constraint description Construct given a base constraint The Description of what this constraint tests, for use in messages and in the ConstraintResult. Formats a prefix constraint's description. PropertyConstraint extracts a named property and uses its value as the actual value for a chained constraint. Initializes a new instance of the class. The name. The constraint to apply to the property. Test whether the constraint is satisfied by a given value The value to be tested Returns the string representation of the constraint. Contains the result of matching a against an actual value. Constructs a for a particular . The Constraint to which this result applies. The base result with actual value to which the Constraint was applied. Write the additional failure message for a failing constraint to a MessageWriter. The writer on which the actual value is displayed PropertyExistsConstraint tests that a named property exists on the object provided through Match. Originally, PropertyConstraint provided this feature in addition to making optional tests on the value of the property. The two constraints are now separate. Initializes a new instance of the class. The name of the property. The Description of what this constraint tests, for use in messages and in the ConstraintResult. Test whether the property exists for a given object The object to be tested True for success, false for failure Returns the string representation of the constraint. RangeConstraint tests whether two values are within a specified range. Initializes a new instance of the class. Inclusive beginning of the range. Inclusive end of the range. Gets text describing a constraint Test whether the constraint is satisfied by a given value The value to be tested True for success, false for failure Modifies the constraint to use an and returns self. Modifies the constraint to use an and returns self. Modifies the constraint to use a and returns self. RegexConstraint can test whether a string matches the pattern provided. The Description of what this constraint tests, for use in messages and in the ConstraintResult. Initializes a new instance of the class. The pattern. Initializes a new instance of the class. The Regex pattern object. Modify the constraint to ignore case in matching. Applies the regex constraint to an actual value, returning a ConstraintResult. The string to be tested. True for success, false for failure. ResolvableConstraintExpression is used to represent a compound constraint being constructed at a point where the last operator may either terminate the expression or may have additional qualifying constraints added to it. It is used, for example, for a Property element or for an Exception element, either of which may be optionally followed by constraints that apply to the property or exception. Create a new instance of ResolvableConstraintExpression Create a new instance of ResolvableConstraintExpression, passing in a pre-populated ConstraintBuilder. Appends an And Operator to the expression Appends an Or operator to the expression. Resolve the current expression to a Constraint ReusableConstraint wraps a constraint expression after resolving it so that it can be reused consistently. Construct a ReusableConstraint from a constraint expression The expression to be resolved and reused Converts a constraint to a ReusableConstraint The constraint to be converted A ReusableConstraint Returns a that represents this instance. A that represents this instance. Return the top-level constraint for this expression SameAsConstraint tests whether an object is identical to the object passed to its constructor Initializes a new instance of the class. The expected object. The Description of what this constraint tests, for use in messages and in the ConstraintResult. Test whether the constraint is satisfied by a given value The value to be tested True for success, false for failure Summary description for SamePathConstraint. Initializes a new instance of the class. The expected path The Description of what this constraint tests, for use in messages and in the ConstraintResult. Test whether the constraint is satisfied by a given value The value to be tested True for success, false for failure SamePathOrUnderConstraint tests that one path is under another Initializes a new instance of the class. The expected path The Description of what this constraint tests, for use in messages and in the ConstraintResult. Test whether the constraint is satisfied by a given value The value to be tested True for success, false for failure SomeItemsConstraint applies another constraint to each item in a collection, succeeding if any of them succeeds. Construct a SomeItemsConstraint on top of an existing constraint The display name of this Constraint for use by ToString(). The default value is the name of the constraint with trailing "Constraint" removed. Derived classes may set this to another name in their constructors. Apply the item constraint to each item in the collection, succeeding if any item succeeds. Flag the constraint to use the supplied object. The type of the elements in the collection. The type of the member. The comparison function to use. Self. Flag the constraint to use the supplied object. The IComparer object to use. Self. Flag the constraint to use the supplied object. The IComparer object to use. Self. Flag the constraint to use the supplied object. The IComparer object to use. Self. Flag the constraint to use the supplied object. The IComparer object to use. Self. Flag the constraint to use the supplied object. The IComparer object to use. Self. StartsWithConstraint can test whether a string starts with an expected substring. Initializes a new instance of the class. The expected string Test whether the constraint is matched by the actual value. This is a template method, which calls the IsMatch method of the derived class. StringConstraint is the abstract base for constraints that operate on strings. It supports the IgnoreCase modifier for string operations. The expected value Indicates whether tests should be case-insensitive Description of this constraint The Description of what this constraint tests, for use in messages and in the ConstraintResult. Constructs a StringConstraint without an expected value Constructs a StringConstraint given an expected value The expected value Modify the constraint to ignore case in matching. Test whether the constraint is satisfied by a given value The value to be tested True for success, false for failure Test whether the constraint is satisfied by a given string The string to be tested True for success, false for failure SubPathConstraint tests that the actual path is under the expected path Initializes a new instance of the class. The expected path The Description of what this constraint tests, for use in messages and in the ConstraintResult. Test whether the constraint is satisfied by a given value The value to be tested True for success, false for failure SubstringConstraint can test whether a string contains the expected substring. Initializes a new instance of the class. The expected. Modify the constraint to ignore case in matching. This will call Using(StringComparison.CurrentCultureIgnoreCase). Thrown when a comparison type different than was already set. Test whether the constraint is satisfied by a given value The value to be tested True for success, false for failure Modify the constraint to the specified comparison. Thrown when a comparison type different than was already set. ThrowsConstraint is used to test the exception thrown by a delegate by applying a constraint to it. Initializes a new instance of the class, using a constraint to be applied to the exception. A constraint to apply to the caught exception. Get the actual exception thrown - used by Assert.Throws. Gets text describing a constraint Executes the code of the delegate and captures any exception. If a non-null base constraint was provided, it applies that constraint to the exception. A delegate representing the code to be tested True if an exception is thrown and the constraint succeeds, otherwise false Converts an ActualValueDelegate to a TestDelegate before calling the primary overload. Write the actual value for a failing constraint test to a MessageWriter. This override only handles the special message used when an exception is expected but none is thrown. The writer on which the actual value is displayed ThrowsExceptionConstraint tests that an exception has been thrown, without any further tests. The Description of what this constraint tests, for use in messages and in the ConstraintResult. Executes the code and returns success if an exception is thrown. A delegate representing the code to be tested True if an exception is thrown, otherwise false Applies the constraint to an ActualValueDelegate that returns the value to be tested. The default implementation simply evaluates the delegate but derived classes may override it to provide for delayed processing. ThrowsNothingConstraint tests that a delegate does not throw an exception. Gets text describing a constraint Test whether the constraint is satisfied by a given value The value to be tested True if no exception is thrown, otherwise false Applies the constraint to an ActualValueDelegate that returns the value to be tested. The default implementation simply evaluates the delegate but derived classes may override it to provide for delayed processing. An ActualValueDelegate A ConstraintResult The Tolerance class generalizes the notion of a tolerance within which an equality test succeeds. Normally, it is used with numeric types, but it can be used with any type that supports taking a difference between two objects and comparing that difference to a value. Returns a default Tolerance object, equivalent to an exact match. Returns an empty Tolerance object, equivalent to an exact match. Constructs a linear tolerance of a specified amount Constructs a tolerance given an amount and Returns a new tolerance, using the current amount as a percentage. Returns a new tolerance, using the current amount in Ulps Returns a new tolerance with a as the amount, using the current amount as a number of days. Returns a new tolerance with a as the amount, using the current amount as a number of hours. Returns a new tolerance with a as the amount, using the current amount as a number of minutes. Returns a new tolerance with a as the amount, using the current amount as a number of seconds. Returns a new tolerance with a as the amount, using the current amount as a number of milliseconds. Returns a new tolerance with a as the amount, using the current amount as a number of clock ticks. Gets the for the current Tolerance Gets the magnitude of the current Tolerance instance. Returns true if the current tolerance has not been set or is using the . Apply the tolerance to an expected value and return a Tolerance.Range that represents the acceptable values. Tests that the current Tolerance is linear with a numeric value, throwing an exception if it is not. Tolerance.Range represents the range of values that match a specific tolerance, when applied to a specific value. The lower bound of the range The upper bound of the range Constructs a range Modes in which the tolerance value for a comparison can be interpreted. The tolerance was created with a value, without specifying how the value would be used. This is used to prevent setting the mode more than once and is generally changed to Linear upon execution of the test. The tolerance is used as a numeric range within which two compared values are considered to be equal. Interprets the tolerance as the percentage by which the two compared values my deviate from each other. Compares two values based in their distance in representable numbers. TrueConstraint tests that the actual value is true Initializes a new instance of the class. Test whether the constraint is satisfied by a given value The value to be tested True for success, false for failure TypeConstraint is the abstract base for constraints that take a Type as their expected value. The expected Type used by the constraint The type of the actual argument to which the constraint was applied Construct a TypeConstraint for a given Type The expected type for the constraint Prefix used in forming the constraint description Applies the constraint to an actual value, returning a ConstraintResult. The value to be tested A ConstraintResult Apply the constraint to an actual value, returning true if it succeeds The actual argument True if the constraint succeeds, otherwise false. UniqueItemsConstraint tests whether all the items in a collection are unique. The Description of what this constraint tests, for use in messages and in the ConstraintResult. Check that all items are unique. XmlSerializableConstraint tests whether an object is serializable in XML format. Gets text describing a constraint Test whether the constraint is satisfied by a given value The value to be tested True for success, false for failure Returns the string representation of this constraint Helper class with properties and methods that supply a number of constraints used in Asserts. Returns a new checking for the presence of a particular object in the collection. Returns a new DictionaryContainsKeyConstraint checking for the presence of a particular key in the dictionary. Returns a new DictionaryContainsValueConstraint checking for the presence of a particular value in the dictionary. Returns a constraint that succeeds if the actual value contains the substring supplied as an argument. Asserts on Directories DO NOT USE! Use DirectoryAssert.AreEqual(...) instead. The Equals method throws an InvalidOperationException. This is done to make sure there is no mistake by calling this function. DO NOT USE! The ReferenceEquals method throws an InvalidOperationException. This is done to make sure there is no mistake by calling this function. Verifies that two directories are equal. Two directories are considered equal if both are null, or if both point to the same directory. If they are not equal an is thrown. A directory containing the value that is expected A directory containing the actual value The message to display if the directories are not equal Arguments to be used in formatting the message Verifies that two directories are equal. Two directories are considered equal if both are null, or if both point to the same directory. If they are not equal an is thrown. A directory containing the value that is expected A directory containing the actual value Asserts that two directories are not equal. If they are equal an is thrown. A directory containing the value that is expected A directory containing the actual value The message to display if directories are not equal Arguments to be used in formatting the message Asserts that two directories are not equal. If they are equal an is thrown. A directory containing the value that is expected A directory containing the actual value Asserts that the directory exists. If it does not exist an is thrown. A directory containing the actual value The message to display if directories are not equal Arguments to be used in formatting the message Asserts that the directory exists. If it does not exist an is thrown. A directory containing the actual value Asserts that the directory exists. If it does not exist an is thrown. The path to a directory containing the actual value The message to display if directories are not equal Arguments to be used in formatting the message Asserts that the directory exists. If it does not exist an is thrown. The path to a directory containing the actual value Asserts that the directory does not exist. If it does exist an is thrown. A directory containing the actual value The message to display if directories are not equal Arguments to be used in formatting the message Asserts that the directory does not exist. If it does exist an is thrown. A directory containing the actual value Asserts that the directory does not exist. If it does exist an is thrown. The path to a directory containing the actual value The message to display if directories are not equal Arguments to be used in formatting the message Asserts that the directory does not exist. If it does exist an is thrown. The path to a directory containing the actual value Helper class with properties and methods that supply a number of constraints used in Asserts. Returns a ConstraintExpression that negates any following constraint. Returns a constraint that succeeds if the value is a file or directory and it exists. Returns a new checking for the presence of a particular object in the collection. Returns a new . This constraint will, in turn, make use of the appropriate second-level constraint, depending on the type of the actual argument. This overload is only used if the item sought is a string, since any other type implies that we are looking for a collection member. Returns a new DictionaryContainsKeyConstraint checking for the presence of a particular key in the Dictionary key collection. The key to be matched in the Dictionary key collection Returns a new DictionaryContainsValueConstraint checking for the presence of a particular value in the Dictionary value collection. The value to be matched in the Dictionary value collection Returns a constraint that succeeds if the actual value starts with the substring supplied as an argument. Returns a constraint that succeeds if the actual value ends with the substring supplied as an argument. Returns a constraint that succeeds if the actual value matches the regular expression supplied as an argument. Returns a constraint that succeeds if the actual value matches the regular expression supplied as an argument. If throws, returns "SomeException was thrown by the Exception.StackTrace property." See also . If throws, returns "SomeException was thrown by the Exception.Message property." If throws, returns "SomeException was thrown by the Exception.Data property." Thrown when an assertion failed. The error message that explains the reason for the exception The error message that explains the reason for the exception The exception that caused the current exception Serialization Constructor Gets the ResultState provided by this exception Thrown when an assertion failed. The error message that explains the reason for the exception The exception that caused the current exception Serialization Constructor Gets the ResultState provided by this exception Thrown when a test executes inconclusively. The error message that explains the reason for the exception The error message that explains the reason for the exception The exception that caused the current exception Serialization Constructor Gets the ResultState provided by this exception Thrown when an assertion failed. Construct based on the TestResult so far. This is the constructor used normally, when exiting the multiple assert block with failures. Not used internally but provided to facilitate debugging. The current result, up to this point. The result is not used internally by NUnit but is provided to facilitate debugging. Serialization Constructor Gets the provided by this exception. Gets the of this test at the point the exception was thrown, Abstract base for Exceptions that terminate a test and provide a ResultState. The error message that explains the reason for the exception The error message that explains the reason for the exception The exception that caused the current exception Serialization Constructor Gets the ResultState provided by this exception Thrown when an assertion failed. The error message that explains the reason for the exception The exception that caused the current exception Serialization Constructor Gets the ResultState provided by this exception Contains extension methods that do not require a special using directive. Asserts on Files DO NOT USE! Use FileAssert.AreEqual(...) instead. The Equals method throws an InvalidOperationException. This is done to make sure there is no mistake by calling this function. DO NOT USE! The ReferenceEquals method throws an InvalidOperationException. This is done to make sure there is no mistake by calling this function. Verifies that two Streams are equal. Two Streams are considered equal if both are null, or if both have the same value byte for byte. If they are not equal an is thrown. The expected Stream The actual Stream The message to display if Streams are not equal Arguments to be used in formatting the message Verifies that two Streams are equal. Two Streams are considered equal if both are null, or if both have the same value byte for byte. If they are not equal an is thrown. The expected Stream The actual Stream Verifies that two files are equal. Two files are considered equal if both are null, or if both have the same value byte for byte. If they are not equal an is thrown. A file containing the value that is expected A file containing the actual value The message to display if Streams are not equal Arguments to be used in formatting the message Verifies that two files are equal. Two files are considered equal if both are null, or if both have the same value byte for byte. If they are not equal an is thrown. A file containing the value that is expected A file containing the actual value Verifies that two files are equal. Two files are considered equal if both are null, or if both have the same value byte for byte. If they are not equal an is thrown. The path to a file containing the value that is expected The path to a file containing the actual value The message to display if Streams are not equal Arguments to be used in formatting the message Verifies that two files are equal. Two files are considered equal if both are null, or if both have the same value byte for byte. If they are not equal an is thrown. The path to a file containing the value that is expected The path to a file containing the actual value Asserts that two Streams are not equal. If they are equal an is thrown. The expected Stream The actual Stream The message to be displayed when the two Stream are the same. Arguments to be used in formatting the message Asserts that two Streams are not equal. If they are equal an is thrown. The expected Stream The actual Stream Asserts that two files are not equal. If they are equal an is thrown. A file containing the value that is expected A file containing the actual value The message to display if Streams are not equal Arguments to be used in formatting the message Asserts that two files are not equal. If they are equal an is thrown. A file containing the value that is expected A file containing the actual value Asserts that two files are not equal. If they are equal an is thrown. The path to a file containing the value that is expected The path to a file containing the actual value The message to display if Streams are not equal Arguments to be used in formatting the message Asserts that two files are not equal. If they are equal an is thrown. The path to a file containing the value that is expected The path to a file containing the actual value Asserts that the file exists. If it does not exist an is thrown. A file containing the actual value The message to display if Streams are not equal Arguments to be used in formatting the message Asserts that the file exists. If it does not exist an is thrown. A file containing the actual value Asserts that the file exists. If it does not exist an is thrown. The path to a file containing the actual value The message to display if Streams are not equal Arguments to be used in formatting the message Asserts that the file exists. If it does not exist an is thrown. The path to a file containing the actual value Asserts that the file does not exist. If it does exist an is thrown. A file containing the actual value The message to display if Streams are not equal Arguments to be used in formatting the message Asserts that the file does not exist. If it does exist an is thrown. A file containing the actual value Asserts that the file does not exist. If it does exist an is thrown. The path to a file containing the actual value The message to display if Streams are not equal Arguments to be used in formatting the message Asserts that the file does not exist. If it does exist an is thrown. The path to a file containing the actual value Class used to guard against unexpected argument values or operations by throwing an appropriate exception. Throws an exception if an argument is null The value to be tested The name of the argument Throws an exception if a string argument is null or empty The value to be tested The name of the argument Throws an ArgumentOutOfRangeException if the specified condition is not met. The condition that must be met The exception message to be used The name of the argument Throws an ArgumentException if the specified condition is not met. The condition that must be met The exception message to be used The name of the argument Throws an InvalidOperationException if the specified condition is not met. The condition that must be met The exception message to be used Throws an if the specified delegate is async void. Throws an if the specified delegate is async void. Helper class with properties and methods that supply a number of constraints used in Asserts. Returns a ConstraintExpression that negates any following constraint. Returns a ConstraintExpression, which will apply the following constraint to all members of a collection, succeeding if all of them succeed. Returns a ConstraintExpression, which will apply the following constraint to all members of a collection, succeeding if at least one of them succeeds. Returns a ConstraintExpression, which will apply the following constraint to all members of a collection, succeeding if all of them fail. Returns a ConstraintExpression, which will apply the following constraint to all members of a collection, succeeding only if a specified number of them succeed. Returns a which will apply the following constraint to only one member of the collection, and fail if none or more than one match occurs. Returns a new PropertyConstraintExpression, which will either test for the existence of the named property on the object being tested or apply any following constraint to that property. Returns a new ConstraintExpression, which will apply the following constraint to the Length property of the object being tested. Returns a new ConstraintExpression, which will apply the following constraint to the Count property of the object being tested. Returns a new ConstraintExpression, which will apply the following constraint to the Message property of the object being tested. Returns a new ConstraintExpression, which will apply the following constraint to the InnerException property of the object being tested. Returns a new AttributeConstraint checking for the presence of a particular attribute on an object. Returns a new AttributeConstraint checking for the presence of a particular attribute on an object. Returns a new checking for the presence of a particular object in the collection. Returns a new IndexerConstraintExpression, which will apply any following constraint to that indexer value. Index accessor values. The AssertionResult class represents the result of a single assertion. Construct an AssertionResult The pass/fail status of the assertion The message produced by the assertion, or null The stack trace associated with the assertion, or null Determines whether the specified object is equal to the current object. The object to compare with the current object. Indicates whether the current object is equal to another object of the same type. An object to compare with this object. Serves as the default hash function. ToString Override AssertionStatus enumeration represents the possible outcomes of an assertion. The order of definition is significant, higher level values override lower ones in determining the overall result of a test. An assumption failed The assertion succeeded A warning message was issued The assertion failed An unexpected exception was thrown The IApplyToContext interface is implemented by attributes that want to make changes to the execution context before a test is run. Apply changes to the execution context The execution context The IApplyToTest interface is implemented by self-applying attributes that modify the state of a test in some way. Modifies a test as defined for the specific attribute. The test to modify 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. Gets the test cases generated by the CombiningStrategy. The test cases. ICommandWrapper is implemented by attributes and other objects able to wrap a TestCommand with another command. Attributes or other objects should implement one of the derived interfaces, rather than this one, since they indicate in which part of the command chain the wrapper should be applied. Wrap a command and return the result. The command to be wrapped The wrapped command Objects implementing this interface are used to wrap the TestMethodCommand itself. They apply after SetUp has been run and before TearDown. Objects implementing this interface are used to wrap the entire test, including SetUp and TearDown. Objects implementing this interface are used to wrap tests that can repeat. The implementing command is run once, invoking the chained commands any number of times. Any ITest that implements this interface is at a level that the implementing class should be disposed at the end of the test run The IFixtureBuilder interface is exposed by a class that knows how to build test fixtures from a specified type. In general, it is exposed by an attribute, but it may be implemented in a helper class used by the attribute in some cases. Builds any number of test fixtures from the specified type. The type info of the fixture to be used. The IFixtureBuilder2 interface extends IFixtureBuilder by allowing use of a PreFilter, which is used to select methods as test cases. Builds any number of test fixtures from the specified type. The type info of the fixture to be used. PreFilter to be used to select methods. 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. The IMethodInfo class is used to encapsulate information about a method in a platform-independent manner. Gets the Type from which this method was reflected. Gets the MethodInfo for this method. Gets the name of the method. Gets a value indicating whether the method is abstract. Gets a value indicating whether the method is public. Gets a value indicating whether the method is static. Gets a value indicating whether the method contains unassigned generic type parameters. Gets a value indicating whether the method is a generic method. Gets a value indicating whether the MethodInfo represents the definition of a generic method. Gets the return Type of the method. Gets the parameters of the method. Returns the Type arguments of a generic method or the Type parameters of a generic method definition. Replaces the type parameters of the method with the array of types provided and returns a new IMethodInfo. The type arguments to be used A new IMethodInfo with the type arguments replaced Invokes the method, converting any TargetInvocationException to an NUnitException. The object on which to invoke the method The argument list for the method The return value from the invoked method Provides data for a single test parameter. Determines whether any data is available for a parameter. The parameter of a parameterized test. Retrieves a list of arguments which can be passed to the specified parameter. The parameter of a parameterized test. Provides data for a single test parameter. Retrieves a list of arguments which can be passed to the specified parameter. The parameter of a parameterized test. The IParameterInfo interface is an abstraction of a .NET parameter. Gets a value indicating whether the parameter is optional Gets an IMethodInfo representing the method for which this is a parameter Gets the underlying .NET ParameterInfo Gets the Type of the parameter Implemented by filters for use in deciding which Types and Methods should be used to generate tests. Use the filter on a Type, returning true if the type matches the filter and should therefore be included in the discovery process. Use the filter on a Type, returning true if the type matches the filter and should therefore be included in the discovery process. 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 properties, 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")); Adds a key/value pair to the property bag The key The value Sets the value for a key, removing any other values that are already in the property set. Gets a single value for a key, using the first one if multiple values are present and returning null if the value is not found. Gets a flag indicating whether the specified key has any entries in the property set. The key to be checked True if their are values present, otherwise false Gets or sets the list of values for a particular key The key for which the values are to be retrieved or set Gets a collection containing all the keys in the property set The IReflectionInfo interface is implemented by NUnit wrapper objects that perform reflection. Returns an array of custom attributes of the specified type applied to this object Returns a value indicating whether an attribute of the specified type is defined on this object. The ISimpleTestBuilder interface is exposed by a class that knows how to build a single tests from a specified method. In general, it is exposed by an attribute, but it may be implemented in a helper class used by the attribute in some cases. Builds a single test from the specified method and context. The method to be used as a test The TestSuite to which the method will be added The ISuiteBuilder interface is exposed by a class that knows how to build a single test suite from a specified type. Examine the type and determine if it is suitable for this builder to use in building a TestSuite. Note that returning false will cause the type to be ignored in loading the tests. If it is desired to load the suite but label it as non-runnable, ignored, etc., then this method must return true. The type of the fixture to be used Builds a single test suite from the specified type. The type of the fixture to be used Builds a single test suite from the specified type, subject to a filter that decides which methods are included. The type of the fixture to be used A PreFilter for selecting methods. 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. Gets the id of the test Gets the name of the test Gets the type of the test Gets the fully qualified name of the test Gets the name of the class containing this test. Returns null if the test is not associated with a class. Gets the name of the method implementing this test. Returns null if the test is not implemented as a method. Gets the Type of the test fixture, if applicable, or null if no fixture type is associated with this test. Gets the method which declares the test, or if no method is associated with this test. Gets the RunState of the test, indicating whether it can be run. Count of the test cases ( 1 if this is a test case ) Gets the properties of the test Gets the parent test, if any. The parent test or null if none exists. Returns true if this is a test suite Gets a bool indicating whether the current test has any descendant tests. Gets this test's child tests A list of child tests Gets a fixture object for running this test. The arguments to use in creating the test or empty array if none are required. The ITestBuilder interface is exposed by a class that knows how to build tests from a specified method. In general, it is exposed by an attribute which has additional information available to provide the necessary test parameters to distinguish the test cases built. Builds any number of tests from the specified method and context. The method to be used as a test The TestSuite to which the method will be added The ITestCaseBuilder interface is exposed by a class that knows how to build a test from a specified method, possibly containing child test cases. Examine the method and determine if it is suitable for this builder to use in building a TestCase to be included in the suite being populated. Note that returning false will cause the method to be ignored in loading the tests. If it is desired to load the method but label it as non-runnable, ignored, etc., then this method must return true. The test method to examine The suite being populated Builds a single test from the specified method and context, possibly containing child test cases. The method to be used as a test case The test suite being populated, or null The ITestCaseData interface is implemented by a class that is able to return complete test cases for use by a parameterized test method. Gets the expected result of the test case Returns true if an expected result has been set The ITestData interface is implemented by a class that represents a single instance of a parameterized test. Gets the name to be used for the test Gets the RunState for this test case. Gets the argument list to be provided to the test Gets the property dictionary for the test case 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. Determine if a particular test passes the filter criteria. Pass may examine the parents and/or descendants of a test, depending on the semantics of the particular filter The test to which the filter is applied True if the test passes the filter, otherwise false Determine if a test matches the filter explicitly. That is, it must be a direct match of the test itself or one of its children. The test to which the filter is applied True if the test matches the filter explicitly, otherwise false 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. Get the TypeArgs if separately set 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. NUnit extensions may also monitor these events. Called when a test has just started The test that is starting Called when a test has finished The result of the test Called when a test produces output for immediate display A TestOutput object containing the text to display Called when a test produces a message to be sent to listeners A object containing the text to send The ITestResult interface represents the result of a test. Gets the ResultState of the test result, which indicates the success or failure of the test. Gets the name of the test result Gets the full name of the test result Gets the elapsed time for running the test in seconds Gets or sets the time the test started running. Gets or sets the time the test finished running. Gets the message associated with a test failure or with not running the test Gets any stack trace associated with an error or failure. Gets the total number of tests executed when running the test and all its children. Gets the number of asserts executed when running the test and all its children. Gets the number of test cases that failed when running the test and all its children. Gets the number of test cases that had warnings when running the test and all its children. Gets the number of test cases that passed when running the test and all its children. Gets the number of test cases that were skipped when running the test and all its children. Gets the number of test cases that were inconclusive when running the test and all its children. Indicates whether this result has any child results. Accessing HasChildren should not force creation of the Children collection in classes implementing this interface. Gets the collection of child results. Gets the Test to which this result applies. Gets any text output written to this result. Gets a list of AssertionResults associated with the test Gets the collection of files attached to the test The ITypeInfo interface is an abstraction of a .NET Type Gets the underlying Type on which this ITypeInfo is based Gets the base type of this type as an ITypeInfo Returns true if the Type wrapped is equal to the argument Gets the name of the Type Gets the full name of the Type Gets the assembly in which the type is declared Gets the namespace of the Type Gets a value indicating whether the type is abstract. Gets a value indicating whether the Type is a generic Type Gets a value indicating whether the Type has generic parameters that have not been replaced by specific Types. Gets a value indicating whether the Type is a generic Type definition Gets a value indicating whether the type is sealed. Gets a value indicating whether this type is a static class. Get the display name for this typeInfo. Get the display name for an object of this type, constructed with specific arguments Returns a Type representing a generic type definition from which this Type can be constructed. Returns a new ITypeInfo representing an instance of this generic Type using the supplied Type arguments Returns a value indicating whether this type has a method with a specified public attribute Returns an array of IMethodInfos for methods of this Type that match the specified flags. Gets the public constructor taking the specified argument Types Returns a value indicating whether this Type has a public constructor taking the specified argument Types. Construct an object of this Type, using the specified arguments. Returns all methods declared by this type that have the specified attribute, optionally including base classes. Methods from a base class are always returned before methods from a class that inherits from it. Specifies whether to search the fixture type inheritance chain. An object implementing IXmlNodeBuilder is able to build an XML representation of itself and any children. Returns a TNode representing the current object. If true, children are included where applicable A TNode representing the result Returns a TNode representing the current object after adding it as a child of the supplied parent node. The parent node. If true, children are included, where applicable 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. Initializes a new instance of the class. The TestStatus. Initializes a new instance of the class. The TestStatus. The label. Initializes a new instance of the class. The TestStatus. The stage at which the result was produced Initializes a new instance of the class. The TestStatus. The label. The stage at which the result was produced The result is inconclusive The test has been skipped. The test has been ignored. The test was skipped because it is explicit The test succeeded The test issued a warning The test failed The test encountered an unexpected exception The test was cancelled by the user The test was not runnable. A suite failed because one or more child tests failed or had errors A suite failed because one or more child tests had warnings A suite is marked ignored because one or more child tests were ignored A suite failed in its OneTimeSetUp A suite had an unexpected exception in its OneTimeSetUp A suite had an unexpected exception in its OneTimeDown Gets the TestStatus for the test. The status. Gets the label under which this test result is categorized, or if none. Gets the stage of test execution in which the failure or other result took place. Get a new ResultState, which is the same as the current one but with the FailureSite set to the specified value. The FailureSite to use A new ResultState Test whether this ResultState has the same Status and Label as another one. In other words, the whether two are equal ignoring the Site. Determines whether the specified object is equal to the current object. The object to compare with the current object. Indicates whether the current object is equal to another object of the same type. An object to compare with this object. Serves as the default hash function. Overload == operator for ResultStates Overload != operator for ResultStates Returns a that represents this instance. A that represents this instance. The FailureSite enum indicates the stage of a test in which an error or failure occurred. Failure in the test itself Failure in the SetUp method Failure in the TearDown method Failure of a parent test Failure of a child test The RunState enum indicates whether a test can be executed. The test is not runnable. The test is runnable. The test can only be run explicitly The test has been skipped. This value may appear on a Test when certain attributes are used to skip the test. The test has been ignored. May appear on a Test, when the IgnoreAttribute is used. The TestAttachment class represents a file attached to a TestResult, with an optional description. Absolute file path to attachment file User specified description of attachment. May be null. Creates a TestAttachment class to represent a file attached to a test result. Absolute file path to attachment file User specified description of attachment. May be null. The class holds a message sent by a test to all listeners Construct with text, destination type and the name of the test that produced the message. Destination of the message Text to be sent ID of the test that produced the message Converts object to string The message to send to listeners The Destination of the message. The ID of the test that sent the message Returns the XML representation of the object. The TestOutput class holds a unit of output from a test to a specific output stream Construct with text, output destination type and the name of the test that produced the output. Text to be output Name of the stream or channel to which the text should be written Id of the test that produced the output FullName of test that produced the output Return string representation of the object for debugging Get the text Get the output type Get the name of the test that created the output Get the id of the test that created the output Convert the TestOutput object to an XML string The TestStatus enum indicates the result of running a test The test was inconclusive The test has skipped The test succeeded There was a warning The test failed TNode represents a single node in the XML representation of a Test or TestResult. It replaces System.Xml.XmlNode and System.Xml.Linq.XElement, providing a minimal set of methods for operating on the XML in a platform-independent manner. Constructs a new instance of TNode The name of the node Constructs a new instance of TNode with a value The name of the node The text content of the node Constructs a new instance of TNode with a value The name of the node The text content of the node Flag indicating whether to use CDATA when writing the text Gets the name of the node Gets the value of the node Gets a flag indicating whether the value should be output using CDATA. Gets the dictionary of attributes Gets a list of child nodes Gets the first ChildNode Gets the XML representation of this node. Create a TNode from its XML text representation The XML text to be parsed A TNode Adds a new element as a child of the current node and returns it. The element name. The newly created child element Adds a new element with a value as a child of the current node and returns it. The element name The text content of the new element The newly created child element Adds a new element with a value as a child of the current node and returns it. The value will be output using a CDATA section. The element name The text content of the new element The newly created child element Adds an attribute with a specified name and value to the XmlNode. The name of the attribute. The value of the attribute. Finds a single descendant of this node matching an XPath specification. The format of the specification is limited to what is needed by NUnit and its tests. Finds all descendants of this node matching an XPath specification. The format of the specification is limited to what is needed by NUnit and its tests. Writes the XML representation of the node to an XmlWriter Class used to represent a list of XmlResults Class used to represent the attributes of a node Gets or sets the value associated with the specified key. Overridden to return null if attribute is not found. The key. Value of the attribute or null A production implementation that delegates directly to .NET's . Returns whether a debugger is currently attached to the process A layer of abstraction around to facilitate testing. Whether a debugger is currently attached to the process. AssemblyHelper provides static methods for working with assemblies. Gets the path from which an assembly was loaded. For builds where this is not possible, returns the name of the assembly. The assembly. The path. Gets the path to the directory from which an assembly was loaded. The assembly. The path. Gets the AssemblyName of an assembly. The assembly An AssemblyName Loads an assembly given a string, which may be the path to the assembly or the AssemblyName Gets the assembly path from code base. Public for testing purposes The code base. Adapts various styles of asynchronous waiting to a common API. CombinatorialStrategy creates test cases by using all possible combinations of the parameter data. Gets the test cases generated by the CombiningStrategy. The test cases. Provides data from fields marked with the DatapointAttribute or the DatapointsAttribute. Determines whether any data is available for a parameter. The parameter of a parameterized test Retrieves data for use with the supplied parameter. The parameter of a parameterized test Built-in SuiteBuilder for all types of test classes. Examine the type and determine if it is suitable for this builder to use in building a TestSuite. Note that returning false will cause the type to be ignored in loading the tests. If it is desired to load the suite but label it as non-runnable, ignored, etc., then this method must return true. The fixture type to check Builds a single test suite from the specified type. The fixture type to build Builds a single test suite from the specified type, subject to a filter that decides which methods are included. The fixture type to build A PreFilter for selecting methods. We look for attributes implementing IFixtureBuilder at one level of inheritance at a time. Attributes on base classes are not used unless there are no fixture builder attributes at all on the derived class. This is by design. The type being examined for attributes Class to build ether a parameterized or a normal NUnitTestMethod. There are four cases that the builder must deal with: 1. The method needs no params and none are provided 2. The method needs params and they are provided 3. The method needs no params but they are provided in error 4. The method needs params but they are not provided This could have been done using two different builders, but it turned out to be simpler to have just one. The BuildFrom method takes a different branch depending on whether any parameters are provided, but all four cases are dealt with in lower-level methods Determines if the method can be used to build an NUnit test test method of some kind. The method must normally be marked with an identifying attribute for this to be true. Note that this method does not check that the signature of the method for validity. If we did that here, any test methods with invalid signatures would be passed over in silence in the test run. Since we want such methods to be reported, the check for validity is made in BuildFrom rather than here. An IMethodInfo for the method being used as a test method Builds a single test from the specified method and context, possibly containing child test cases. The method for which a test is to be built Determines if the method can be used to build an NUnit test test method of some kind. The method must normally be marked with an identifying attribute for this to be true. Note that this method does not check that the signature of the method for validity. If we did that here, any test methods with invalid signatures would be passed over in silence in the test run. Since we want such methods to be reported, the check for validity is made in BuildFrom rather than here. An IMethodInfo for the method being used as a test method The test suite being built, to which the new test would be added Builds a single test from the specified method and context, possibly containing child test cases. The method for which a test is to be built The test fixture being populated, or null Builds a ParameterizedMethodSuite containing individual test cases. The method for which a test is to be built. The list of test cases to include. Build a simple, non-parameterized TestMethod for this method. The MethodInfo for which a test is to be built The test suite for which the method is being built Caches static information for IMethodInfo to reduce re-calculations and memory allocations from reflection. Returns cached metadata for method instance. Memoization of TestMethod information to reduce subsequent allocations from parameter and attribute information. Class that can build a tree of automatic namespace suites from a group of fixtures. NamespaceDictionary of all test suites we have created to represent namespaces. Used to locate namespace parent suites for fixtures. Point in the tree where items in the global namespace are added Initializes a new instance of the class. The root suite. Gets the root entry in the tree created by the NamespaceTreeBuilder. The root suite. Adds the specified fixtures to the tree. The fixtures to be added. Adds the specified fixture to the tree. The fixture to be added. NUnitTestCaseBuilder is a utility class used by attributes that build test cases. Constructs an Builds a single NUnitTestMethod, either as a child of the fixture or as one of a set of test cases under a ParameterizedTestMethodSuite. The MethodInfo from which to construct the TestMethod The suite or fixture to which the new test will be added The ParameterSet to be used, or null Checks to see if we have valid combinations of attributes. The TestMethod to be checked. If it is found to be non-runnable, it will be modified. Metadata for this TestMethod. True if the method signature is valid, false if not Helper method that checks the signature of a TestMethod and any supplied parameters to determine if the test is valid. Currently, NUnitTestMethods are required to be public, non-abstract methods, either static or instance, returning void. They may take arguments but the values must be provided or the TestMethod is not considered runnable. Methods not meeting these criteria will be marked as non-runnable and the method will return false in that case. The TestMethod to be checked. If it is found to be non-runnable, it will be modified. Metadata for this TestMethod. Parameters to be used for this test, or null True if the method signature is valid, false if not The return value is no longer used internally, but is retained for testing purposes. NUnitTestFixtureBuilder is able to build a fixture given a class marked with a TestFixtureAttribute or an unmarked class containing test methods. In the first case, it is called by the attribute and in the second directly by NUnitSuiteBuilder. Build a TestFixture from type provided. A non-null TestSuite must always be returned, since the method is generally called because the user has marked the target class as a fixture. If something prevents the fixture from being used, it should be returned nonetheless, labeled as non-runnable. An ITypeInfo for the fixture to be used. Filter used to select methods as tests. A TestSuite object or one derived from TestSuite. Overload of BuildFrom called by tests that have arguments. Builds a fixture using the provided type and information in the ITestFixtureData object. The TypeInfo for which to construct a fixture. Filter used to select methods as tests. An object implementing ITestFixtureData or null. Method to add test cases to the newly constructed fixture. Method to create a test case from a MethodInfo and add it to the fixture being built. It first checks to see if any global TestCaseBuilder addin wants to build the test case. If not, it uses the internal builder collection maintained by this fixture builder. The default implementation has no test case builders. Derived classes should add builders to the collection in their constructor. The method for which a test is to be created The test suite being built. A newly constructed Test PairwiseStrategy creates test cases by combining the parameter data so that all possible pairs of data items are used. The number of test cases that cover all possible pairs of test function parameters values is significantly less than the number of test cases that cover all possible combination of test function parameters values. And because different studies show that most of software failures are caused by combination of no more than two parameters, pairwise testing can be an effective ways to test the system when it's impossible to test all combinations of parameters. The PairwiseStrategy code is based on "jenny" tool by Bob Jenkins: https://burtleburtle.net/bob/math/jenny.html FleaRand is a pseudo-random number generator developed by Bob Jenkins: https://burtleburtle.net/bob/rand/talksmall.html#flea Initializes a new instance of the FleaRand class. The seed. FeatureInfo represents coverage of a single value of test function parameter, represented as a pair of indices, Dimension and Feature. In terms of unit testing, Dimension is the index of the test parameter and Feature is the index of the supplied value in that parameter's list of sources. Initializes a new instance of FeatureInfo class. Index of a dimension. Index of a feature. A FeatureTuple represents a combination of features, one per test parameter, which should be covered by a test case. In the PairwiseStrategy, we are only trying to cover pairs of features, so the tuples actually may contain only single feature or pair of features, but the algorithm itself works with triplets, quadruples and so on. Initializes a new instance of FeatureTuple class for a single feature. Single feature. Initializes a new instance of FeatureTuple class for a pair of features. First feature. Second feature. TestCase represents a single test case covering a list of features. Initializes a new instance of TestCaseInfo class. A number of features in the test case. PairwiseTestCaseGenerator class implements an algorithm which generates a set of test cases which covers all pairs of possible values of test function. The algorithm starts with creating a set of all feature tuples which we will try to cover (see method). This set includes every single feature and all possible pairs of features. We store feature tuples in the 3-D collection (where axes are "dimension", "feature", and "all combinations which includes this feature"), and for every two feature (e.g. "A" and "B") we generate both ("A", "B") and ("B", "A") pairs. This data structure extremely reduces the amount of time needed to calculate coverage for a single test case (this calculation is the most time-consuming part of the algorithm). Then the algorithm picks one tuple from the uncovered tuple, creates a test case that covers this tuple, and then removes this tuple and all other tuples covered by this test case from the collection of uncovered tuples. Picking a tuple to cover There are no any special rules defined for picking tuples to cover. We just pick them one by one, in the order they were generated. Test generation Test generation starts from creating a completely random test case which covers, nevertheless, previously selected tuple. Then the algorithm tries to maximize number of tuples which this test covers. Test generation and maximization process repeats seven times for every selected tuple and then the algorithm picks the best test case ("seven" is a magic number which provides good results in acceptable time). Maximizing test coverage To maximize tests coverage, the algorithm walks through the list of mutable dimensions (mutable dimension is a dimension that are not included in the previously selected tuple). Then for every dimension, the algorithm walks through the list of features and checks if this feature provides better coverage than randomly selected feature, and if yes keeps this feature. This process repeats while it shows progress. If the last iteration doesn't improve coverage, the process ends. In addition, for better results, before start every iteration, the algorithm "scrambles" dimensions - so for every iteration dimension probes in a different order. Creates a set of test cases for specified dimensions. An array which contains information about dimensions. Each element of this array represents a number of features in the specific dimension. A set of test cases. Gets the test cases generated by this strategy instance. A set of test cases. The ParameterDataProvider class implements IParameterDataProvider and hosts one or more individual providers. Construct with a collection of individual providers Determines whether any data is available for a parameter. The parameter of a parameterized test Retrieves data for use with the supplied parameter. The parameter of a parameterized test ParameterDataSourceProvider supplies individual argument values for single parameters using attributes implementing IParameterDataSource. Determines whether any data is available for a parameter. The parameter of a parameterized test Retrieves data for use with the supplied parameter. The parameter of a parameterized test SequentialStrategy creates test cases by using all of the parameter data sources in parallel, substituting when any of them run out of data. Gets the test cases generated by the CombiningStrategy. The test cases. TestActionAfterCommand handles the AfterTest method of a single TestActionItem, provided the items BeforeTest has been run. Initializes a new instance of the class. The inner command. The TestActionItem to run before the inner command. AfterCommand is a DelegatingTestCommand that performs some specific action after the inner command is run. Construct an AfterCommand Execute the command Set this to perform action after the inner command. ContextSettingsCommand applies specified changes to the TestExecutionContext prior to running a test. No special action is needed after the test runs, since the prior context will be restored automatically. TestActionCommand handles a single ITestAction applied to a test. It runs the BeforeTest method, then runs the test and finally runs the AfterTest method. Initializes a new instance of the class. The inner command. Runs the test, saving a TestResult in the supplied TestExecutionContext. The context in which the test should run. A TestResult Perform the before test action Perform the after test action TestActionBeforeCommand handles the BeforeTest method of a single TestActionItem, relying on the item to remember it has been run. Initializes a new instance of the class. The inner command. The TestActionItem to run before the inner command. BeforeTestCommand is a DelegatingTestCommand that performs some specific action before the inner command is run. Construct a BeforeCommand Execute the command Action to perform before the inner command. ConstructFixtureCommand constructs the user test object if necessary. Constructs a OneTimeSetUpCommand for a suite The inner command to which the command applies DelegatingTestCommand wraps an inner TestCommand. Derived classes may do what they like before or after running the inner command. TODO: Documentation needed for field Initializes a new instance of the class. The inner command. Runs the test with exception handling. OneTimeTearDownCommand performs any teardown actions specified for a suite and calls Dispose on the user test object, if any. Construct a OneTimeTearDownCommand The command wrapped by this command EmptyTestCommand is a TestCommand that does nothing. It simply returns the current result from the context when executed. We use it to avoid testing for null when executing a chain of DelegatingTestCommands. Construct a NullCommand for a test Execute the command ConstructFixtureCommand constructs the user test object if necessary. Handles the construction and disposement of a fixture per test case The inner command to which the command applies adjusts the result of a successful test to a failure if the elapsed time has exceeded the specified maximum time allowed. Initializes a new instance of the class. The inner command. The max time allowed in milliseconds OneTimeSetUpCommand runs any one-time setup methods for a suite, constructing the user test object if necessary. Constructs a OneTimeSetUpCommand for a suite The inner command to which the command applies A SetUpTearDownList for use by the command OneTimeTearDownCommand performs any teardown actions specified for a suite and calls Dispose on the user test object, if any. Construct a OneTimeTearDownCommand The command wrapped by this command A SetUpTearDownList for use by the command SetUpTearDownCommand runs SetUp methods for a suite, runs the test and then runs TearDown methods. Initializes a new instance of the class. The inner command. List of setup/teardown items SetUpTearDownItem holds the setup and teardown methods for a single level of the inheritance hierarchy. Construct a SetUpTearDownNode A list of setup methods for this level A list teardown methods for this level A method validator to validate each method before calling. Returns true if this level has any methods at all. This flag is used to discard levels that do nothing. Run SetUp on this level. The execution context to use for running. Run TearDown for this level. TODO: Documentation needed for class Initializes a new instance of the class. The test being skipped. Overridden to simply set the CurrentResult to the appropriate Skipped state. The execution context for the test A TestResult TestActionCommand handles a single ITestAction applied to a test. It runs the BeforeTest method, then runs the test and finally runs the AfterTest method. Initializes a new instance of the class. The inner command. The TestAction with which to wrap the inner command. TestActionItem wraps a single execution of an ITestAction. Its primary purpose is to track whether the BeforeTest method has been called and suppress calling the AfterTest method if it has not. This is necessary when ITestActions are used before and after a CompositeWorkItem, since the OneTimeSetUpCommand and OneTimeTearDownCommand are separate command chains. By sharing a TestActionItem between the setup and teardown chains, the two calls can be coordinated. Construct a TestActionItem The ITestAction to be included Get flag indicating if the BeforeTest entry was already called. Run the BeforeTest method of the action and remember that it has been run. The test to which the action applies Run the AfterTest action, but only if the BeforeTest action was actually run. The test to which the action applies TestCommand is the abstract base class for all test commands in the framework. A TestCommand represents a single stage in the execution of a test, e.g.: SetUp/TearDown, checking for Timeout, verifying the returned result from a method, etc. TestCommands may decorate other test commands so that the execution of a lower-level command is nested within that of a higher level command. All nested commands are executed synchronously, as a single unit. Scheduling test execution on separate threads is handled at a higher level, using the task dispatcher. Construct a TestCommand for a test. The test to be executed Gets the test associated with this command. Runs the test in a specified context, returning a TestResult. The TestExecutionContext to be used for running the test. A TestResult TestMethodCommand is the lowest level concrete command used to run actual test cases. Initializes a new instance of the class. The test. Runs the test, saving a TestResult in the execution context, as well as returning it. If the test has an expected result, it is asserts on that value. Since failed tests and errors throw an exception, this command must be wrapped in an outer command, will handle that exception and records the failure. This role is usually played by the SetUpTearDown command. The execution context TheoryResultCommand adjusts the result of a Theory so that it fails if all the results were inconclusive. Constructs a TheoryResultCommand The command to be wrapped by this one creates a timer in order to cancel a test if it exceeds a specified time and adjusts the test result if it did time out. Initializes a new instance of the class. The inner command Timeout value Initializes a new instance of the class. The inner command Timeout value An instance Provides methods to support consistent checking in constraints. Requires that the provided object is actually of the type required. The object to verify. Name of the parameter as passed into the checking method. If and can be null, returns null rather than throwing when is null. If cannot be null, this parameter is ignored. The type to require. CultureDetector is a helper class used by NUnit to determine whether a test should be run based on the current culture. Default constructor uses the current culture. Construct a CultureDetector for a particular culture for testing. The culture to be used Test to determine if one of a collection of cultures is being used currently. Tests to determine if the current culture is supported based on a culture attribute. The attribute to examine Test to determine if the a particular culture or comma- delimited set of cultures is in use. Name of the culture or comma-separated list of culture ids True if the culture is in use on the system Return the last failure reason. Results are not defined if called before IsSupported( Attribute ) is called. Useful when wrapping awaiters whose GetResult method does not block until complete. Contains a default mechanism to implement via and . ExceptionHelper provides static methods for working with exceptions Rethrows an exception, preserving its stack trace The exception to rethrow Builds up a message, using the Message field of the specified exception as well as any InnerExceptions. Optionally excludes exception names, creating a more readable message. The exception. Flag indicating whether exception names should be excluded. A combined message string. Builds up a message, using the Message field of the specified exception as well as any InnerExceptions. The exception. A combined stack trace. Executes a parameterless synchronous or async delegate and returns the exception it throws, if any. A CompositeWorkItem represents a test suite and encapsulates the execution of the suite as well as all its child tests. List of Child WorkItems Indicates whether this work item should use a separate dispatcher. Construct a CompositeWorkItem for executing a test suite using a filter to select child tests. The TestSuite to be executed A filter used to select child tests Method that actually performs the work. Overridden in CompositeWorkItem to do one-time setup, run all child items and then dispatch the one-time teardown work item. Cancel (abort or stop) a CompositeWorkItem and all of its children true if the CompositeWorkItem and all of its children should be aborted, false if it should allow all currently running tests to complete OneTimeTearDownWorkItem represents the cleanup and one-time teardown phase of a CompositeWorkItem Construct a OneTimeTearDownWOrkItem wrapping a CompositeWorkItem The CompositeWorkItem being wrapped The WorkItem name, overridden to indicate this is the teardown. The ExecutionStrategy for use in running this work item PerformWork is not used in CompositeWorkItem WorkItemCancelled is called directly by the parallel dispatcher when a test suite is left hanging after a forced StopRun. We simulate WorkItemComplete() but without the ripple effect to higher level suites, since we are controlling it all directly. A simplified implementation of .NET 4 CountdownEvent for use in earlier versions of .NET. Only the methods used by NUnit are implemented. Construct a CountdownEvent The initial count Gets the initial count established for the CountdownEvent Gets the current count remaining for the CountdownEvent Decrement the count by one Decrement the count by the specified amount Block the thread until the count reaches zero EventListenerTextWriter sends text output to the currently active ITestEventListener in the form of a TestOutput object. If no event listener is active in the context, or if there is no context, the output is forwarded to the supplied default writer. Construct an EventListenerTextWriter The name of the stream to use for events The default writer to use if no listener is available Get the Encoding for this TextWriter Write formatted string Write formatted string Write formatted string Write an object Write a string Write a decimal Write a double Write formatted string Write a ulong Write a long Write a uint Write an int Write a char Write a boolean Write chars Write chars Write a float Write a string with newline Write an object with newline Write formatted string with newline Write formatted string with newline Write formatted string with newline Write a decimal with newline Write a formatted string with newline Write a double with newline Write a uint with newline Write a ulong with newline Write a long with newline Write an int with newline Write a bool with newline Write chars with newline Write chars with newline Write a char with newline Write a float with newline Write newline The EventPumpState enum represents the state of an EventPump. The pump is stopped The pump is pumping events with no stop requested The pump is pumping events but a stop has been requested EventPump pulls events out of an EventQueue and sends them to a listener. It is used to send events back to the client without using the CallContext of the test runner thread. The downstream listener to which we send events The queue that holds our events Thread to do the pumping The current state of the event pump Constructor The EventListener to receive events The event queue to pull events from Gets or sets the current state of the pump Gets or sets the name of this EventPump (used only internally and for testing). Dispose stops the pump Disposes the used WaitHandle, too. Start the pump Tell the pump to stop after emptying the queue. Our thread proc for removing items from the event queue and sending them on. Note that this would need to do more locking if any other thread were removing events from the queue. NUnit.Core.Event is the abstract base for all stored events. An Event is the stored representation of a call to the ITestListener interface and is used to record such calls or to queue them for forwarding on another thread or at a later time. The Send method is implemented by derived classes to send the event to the specified listener. The listener. TestStartedEvent holds information needed to call the TestStarted method. Initializes a new instance of the class. The test. Calls TestStarted on the specified listener. The listener. TestFinishedEvent holds information needed to call the TestFinished method. Initializes a new instance of the class. The result. Calls TestFinished on the specified listener. The listener. TestOutputEvent holds information needed to call the TestOutput method. Initializes a new instance of the class. The output object. Calls TestOutput on the specified listener. The listener. TestMessageEvent holds information needed to call the SendMessage method. Initializes a new instance of the class. The test message object. Calls on the specified listener. The listener. Holds object for sending to all listeners Implements a queue of work items each of which is queued as a WaitCallback. Gets the count of items in the queue. Enqueues the specified event The event to enqueue. Removes the first element from the queue and returns it (or ). If and the queue is empty, the calling thread is blocked until either an element is enqueued, or is called. If the queue not empty the first element. otherwise, if == or has been called . Stop processing of the queue Validates method to execute. Determines whether a method is allowed to execute and throws an exception otherwise. The method to validate. An IWorkItemDispatcher handles execution of work items. The level of parallelism supported. Zero if not supported. Start execution, performing any initialization. Sets the top level work item and dispatches it. Dispatch a single work item for execution. The first work item dispatched is saved as the top-level work item and used when stopping the run. The item to dispatch Cancel the ongoing run completely. If no run is in process, the call has no effect. true if the IWorkItemDispatcher should abort all currently running WorkItems, false if it should allow all currently running WorkItems to complete MainThreadWorkItemDispatcher handles execution of WorkItems by directly executing them on the main thread. This is different from the SimpleWorkItemDispatcher where the work item is dispatched onto its own thread. The level of parallelism supported Start execution, dispatching the top level work into the main thread. Dispatch a single work item for execution by executing it directly. The item to dispatch This method is not supported for this dispatcher. Using it will throw a NotSupportedException. Not used If used, it will always throw this. Enumeration representing the strategy to follow in executing a work item. The value is only relevant when running under the parallel dispatcher. Run directly on same thread Enqueue for parallel execution Enqueue for non-parallel execution ParallelWorkItemDispatcher handles execution of work items by queuing them for worker threads to process. Event raised whenever a shift is starting. Event raised whenever a shift has ended. Construct a ParallelWorkItemDispatcher Number of workers to use Number of parallel worker threads Enumerates all the shifts supported by the dispatcher Enumerates all the Queues supported by the dispatcher Start execution, setting the top level work, enqueuing it and starting a shift to execute it. Dispatch a single work item for execution. The first work item dispatched is saved as the top-level work item and used when stopping the run. The item to dispatch Cancel the ongoing run completely. If no run is in process, the call has no effect. Save the state of the queues and create a new isolated set Try to remove isolated queues and restore old ones QueuingEventListener uses an EventQueue to store any events received on its EventListener interface. The EventQueue created and filled by this listener Construct a QueuingEventListener A test has started The test that is starting A test case finished Result of the test case Called when a test produces output for immediate display A TestOutput object containing the text to display Called when a test produces a message to be sent to listeners A object containing the text to send A SimpleWorkItem represents a single test case and is marked as completed immediately upon execution. This class is also used for skipped or ignored test suites. Construct a simple work item for a test. The test to be executed The filter used to select this test Construct a simple work item for a test. The test to be executed The filter used to select this test An instance Method that performs actually performs the work. Creates a test command for use in running this test. A TestCommand SimpleWorkItemDispatcher handles execution of WorkItems by directly executing them. It is provided so that a dispatcher is always available in the context, thereby simplifying the code needed to run child tests. The level of parallelism supported Start execution, creating the execution thread, setting the top level work and dispatching it. Dispatch a single work item for execution by executing it directly. The item to dispatch Cancel (abort or stop) the ongoing run. If no run is in process, the call has no effect. true if the run should be aborted, false if it should allow its currently running test to complete Checks whether the method to execute is static. Construct a StaticMethodValidator. The error message to output in case the validation fails. Determines whether a method to execute is static and throws an InvalidOperationException otherwise. The method to validate. A TestWorker pulls work items from a queue and executes them. Event handler for TestWorker events The TestWorker sending the event The WorkItem that caused the event Event signaled immediately before executing a WorkItem Event signaled immediately after executing a WorkItem Construct a new TestWorker. The queue from which to pull work items The name of this worker The WorkItemQueue from which this worker pulls WorkItems The name of this worker - also used for the thread Indicates whether the worker thread is running Our ThreadProc, which pulls and runs tests in a loop Create thread and start processing work items. Stop the thread, either immediately or after finishing the current WorkItem true if the thread should be aborted, false if it should allow the currently running test to complete The TextCapture class intercepts console output and writes it to the current execution context, if one is present on the thread. If no execution context is found, the output is written to a default destination, normally the original destination of the intercepted output. Construct a TextCapture object The default destination for non-intercepted output Gets the Encoding in use by this TextWriter Writes a single character The char to write Writes a string The string to write Writes a string followed by a line terminator The string to write A WorkItem may be an individual test case, a fixture or a higher level grouping of tests. All WorkItems inherit from the abstract WorkItem class, which uses the template pattern to allow derived classes to perform work in whatever way is needed. A WorkItem is created with a particular TestExecutionContext and is responsible for re-establishing that context in the current thread before it begins or resumes execution. Construct a WorkItem for a particular test. The test that the WorkItem will run Filter used to include or exclude child items Construct a work Item that wraps another work Item. Wrapper items are used to represent independently dispatched tasks, which form part of the execution of a single test, such as OneTimeTearDown. The WorkItem being wrapped Initialize the TestExecutionContext. This must be done before executing the WorkItem. Originally, the context was provided in the constructor but delaying initialization of the context until the item is about to be dispatched allows changes in the parent context during OneTimeSetUp to be reflected in the child. The TestExecutionContext to use Event triggered when the item is complete Gets the current state of the WorkItem The test being executed by the work item The name of the work item - defaults to the Test name. Filter used to include or exclude child tests The execution context The worker executing this item. The ParallelExecutionStrategy to use for this work item Indicates whether this work item should use a separate dispatcher. The test result Gets the ParallelScope associated with the test, if any, otherwise returning ParallelScope.Default; Execute the current work item, including any child work items. Wait until the execution of this item is complete Marks the WorkItem as NotRunnable. Reason for test being NotRunnable. Cancel (abort or stop) a WorkItem true if the WorkItem should be aborted, false if it should run to completion Standard Dispose Method that performs actually performs the work. It should set the State to WorkItemState.Complete when done. Method called by the derived class when all work is complete Builds the set up tear down list. Unsorted array of setup MethodInfos. Unsorted array of teardown MethodInfos. Method validator used before each method execution. A list of SetUpTearDownItems Changes the result of the test, logging the old and new states The new ResultState The new message Recursively walks up the test hierarchy to see if the has been set on any of the parent tests. WorkItemBuilder class knows how to build a tree of work items from a tree of tests Creates a work item. The test for which this WorkItem is being created. The filter to be used in selecting any child Tests. True if child work items should be created and added. Creates a work item. The test for which this WorkItem is being created. The filter to be used in selecting any child Tests. An instance. True if child work items should be created and added. if work item needs to be created unconditionally, if will be returned for tests that don't match the filter. Compares two objects and returns a value indicating whether one is less than, equal to, or greater than the other. A signed integer that indicates the relative values of and , as shown in the following table.Value Meaning Less than zero is less than .Zero equals .Greater than zero is greater than . The first object to compare.The second object to compare. WorkItemQueueState indicates the current state of a WorkItemQueue The queue is paused The queue is running The queue is stopped A WorkItemQueue holds work items that are ready to be run, either initially or after some dependency has been satisfied. Initializes a new instance of the class. The name of the queue. Flag indicating whether this is a parallel queue ApartmentState to use for items on this queue Gets the name of the work item queue. Gets a flag indicating whether this queue is used for parallel execution Gets the target ApartmentState for work items on this queue Gets the total number of items processed so far Gets the current state of the queue Get a bool indicating whether the queue is empty. Enqueue a WorkItem to be processed The WorkItem to process Enqueue a WorkItem to be processed - internal for testing The WorkItem to process The priority at which to process the item Dequeue a WorkItem for processing A WorkItem or null if the queue has stopped Start or restart processing of items from the queue Signal the queue to stop Pause the queue for restarting later Save the current inner queue and create new ones for use by a non-parallel fixture with parallel children. Restore the inner queue that was previously saved The current state of a work item Ready to run or continue Work Item is executing Complete Handler for ShiftChange events. The shift that is starting or ending. The dispatcher needs to do different things at different, non-overlapped times. For example, non-parallel tests may not be run at the same time as parallel tests. We model this using the metaphor of a working shift. The WorkShift class associates one or more WorkItemQueues with one or more TestWorkers. Work in the queues is processed until all queues are empty and all workers are idle. Both tests are needed because a worker that is busy may end up adding more work to one of the queues. At that point, the shift is over and another shift may begin. This cycle continues until all the tests have been run. Construct a WorkShift Event that fires when the shift has ended The Name of this shift Gets a flag indicating whether the shift is currently active Gets a bool indicating whether this shift has any work to do Gets a list of the queues associated with this shift. Internal for testing - immutable once initialized Gets the list of workers associated with this shift. Internal for testing - immutable once initialized Add a WorkItemQueue to the shift, starting it if the shift is currently active. Assign a worker to the shift. Start or restart processing for the shift End the shift, pausing all queues and raising the EndOfShift event. Shut down the shift. Cancel (abort or stop) the shift without completing all work true if the WorkShift should be aborted, false if it should allow its currently running tests to complete TextMessageWriter writes constraint descriptions and messages in displayable form as a text stream. It tailors the display of individual message components to form the standard message format of NUnit assertion failure messages. Prefix used for the expected value line of a message Prefix used for the actual value line of a message Prefix used for the actual difference between actual and expected values if compared with a tolerance Length of a message prefix Construct a TextMessageWriter Construct a TextMessageWriter, specifying a user message and optional formatting arguments. Gets or sets the maximum line length for this writer Method to write single line message with optional args, usually written to precede the general failure message, at a given indentation level. The indentation level of the message The message to be written Any arguments used in formatting the message Display Expected and Actual lines for a constraint. This is called by MessageWriter's default implementation of WriteMessageTo and provides the generic two-line display. The result of the constraint that failed Gets the unique type name between expected and actual. The expected value The actual value causing the failure Output of the unique type name for expected Output of the unique type name for actual Display Expected and Actual lines for given values. This method may be called by constraints that need more control over the display of actual and expected values than is provided by the default implementation. The expected value The actual value causing the failure Display Expected and Actual lines for given values, including a tolerance value on the expected line. The expected value The actual value causing the failure The tolerance within which the test was made Display the expected and actual string values on separate lines. If the mismatch parameter is >=0, an additional line is displayed line containing a caret that points to the mismatch point. The expected string value The actual string value The point at which the strings don't match or -1 If true, case is ignored in string comparisons If true, clip the strings to fit the max line length Writes the text for an actual value. The actual value. Writes the text for a generalized value. The value. Writes the text for a collection value, starting at a particular point, to a max length The collection containing elements to write. The starting point of the elements to write The maximum number of elements to write Write the generic 'Expected' line for a constraint The constraint that failed Write the generic 'Expected' line for a given value and tolerance. The expected value The tolerance within which the test was made Write the generic 'Actual' line for a constraint The ConstraintResult for which the actual value is to be written Write the generic 'Actual' line for a given value The actual value causing a failure Extensions to . Adds the skip reason to tests that are ignored until a specific date. The test properties to add the skip reason to The date that the test is being ignored until The reason the test is being ignored until that date Combines multiple filters so that a test must pass all of them in order to pass this filter. Constructs an empty AndFilter Constructs an AndFilter from an array of filters Checks whether the AndFilter is matched by a test The test to be matched If set to we are carrying a negation through True if all the component filters pass, otherwise false Checks whether the AndFilter is matched by a test The test to be matched True if all the component filters match, otherwise false Checks whether the AndFilter is explicit matched by a test. The test to be matched True if all the component filters explicit match, otherwise false Gets the element name Element name CategoryFilter is able to select or exclude tests based on their categories. Construct a CategoryFilter using a single category name A category name Check whether the filter matches a test The test to be matched Gets the element name Element name ClassName filter selects tests based on the class FullName Construct a FullNameFilter for a single name The name the filter will recognize. Match a test against a single value. Gets the element name Element name A base class for multi-part filters Constructs an empty CompositeFilter Constructs a CompositeFilter from an array of filters Return a list of the composing filters. Checks whether the CompositeFilter is matched by a test. The test to be matched If set to we are carrying a negation through Checks whether the CompositeFilter is matched by a test. The test to be matched Checks whether the CompositeFilter is explicit matched by a test. The test to be matched Adds an XML node Parent node True if recursive The added XML node Gets the element name Element name FullName filter selects tests based on their FullName Construct a FullNameFilter for a single name The name the filter will recognize. Match a test against a single value. Gets the element name Element name IdFilter selects tests based on their id Construct an IdFilter for a single value The id the filter will recognize. Match a test against a single value. Gets the element name Element name Optimized filter to check in condition using HashSet. Constructs new InFilter. Selector to get value to check. Valid values for the filter. The XML element name the original filter used. Tries to optimize OrFilter into InFilter if contained filters are all same and non-regex. FullName filter selects tests based on their FullName Construct a MethodNameFilter for a single name The name the filter will recognize. Match a test against a single value. Gets the element name Element name ClassName filter selects tests based on the class FullName Construct a NamespaceFilter for a single namespace The namespace the filter will recognize. Match a test against a single value. Gets the element name Element name NotFilter negates the operation of another filter Construct a not filter on another filter The filter to be negated Gets the base filter Determine if a particular test passes the filter criteria. The test to which the filter is applied If set to we are carrying a negation through True if the test passes the filter, otherwise false Check whether the filter matches a test The test to be matched True if it matches, otherwise false Determine if a test matches the filter explicitly. That is, it must be a direct match of the test itself or one of its children. The test to which the filter is applied True if the test matches the filter explicitly, otherwise false Adds an XML node Parent node True if recursive The added XML node Combines multiple filters so that a test must pass one of them in order to pass this filter. Constructs an empty OrFilter Constructs an OrFilter from an array of filters Checks whether the OrFilter is matched by a test The test to be matched If set to we are carrying a negation through True if any of the component filters pass, otherwise false Checks whether the OrFilter is matched by a test The test to be matched True if any of the component filters match, otherwise false Checks whether the OrFilter is explicit matched by a test The test to be matched True if any of the component filters explicit match, otherwise false Gets the element name Element name PropertyFilter is able to select or exclude tests based on their properties. Construct a PropertyFilter using a property name and expected value A property name The expected value of the property Check whether the filter matches a test The test to be matched Adds an XML node Parent node True if recursive The added XML node Gets the element name Element name TestName filter selects tests based on their Name Construct a TestNameFilter for a single name The name the filter will recognize. Match a test against a single value. Gets the element name Element name ValueMatchFilter selects tests based on some value, which is expected to be contained in the test. Returns the value matched by the filter - used for testing Indicates whether the value is a regular expression Construct a ValueMatchFilter for a single value. The value to be included. Match the input provided by the derived class The value to be matched True for a match, false otherwise. Adds an XML node Parent node True if recursive The added XML node Gets the element name Element name GenericMethodHelper is able to deduce the Type arguments for a generic method from the actual arguments provided. A special value, which is used to indicate that BestCommonType() method was unable to find a common type for the specified arguments. Construct a GenericMethodHelper for a method MethodInfo for the method to examine Return the type arguments for the method, deducing them from the arguments actually provided. The arguments to the method If successful, an array of type arguments. A minimalistic implementation of an immutable stack. Add members as needed. Represents an empty stack. may be used instead. Returns a new immutable stack which begins with the specified value and continues with the values in the current stack. The beginning value of the new stack. InvalidTestFixtureException is thrown when an appropriate test fixture constructor using the provided arguments cannot be found. Initializes a new instance of the class. Initializes a new instance of the class. The message. Initializes a new instance of the class. The message. The inner. Serialization Constructor InvalidPlatformException is thrown when the platform name supplied to a test is not recognized. Instantiates a new instance of the class. Instantiates a new instance of the class The message. Instantiates a new instance of the class The message. The inner. Serialization constructor for the class InvalidTestFixtureException is thrown when an appropriate test fixture constructor using the provided arguments cannot be found. Initializes a new instance of the class. Initializes a new instance of the class. The message. Initializes a new instance of the class. The message. The inner. Serialization Constructor Interface for logging within the engine Logs the specified message at the error level. The message. Logs the specified message at the error level. The message. The arguments. Logs the specified message at the warning level. The message. Logs the specified message at the warning level. The message. The arguments. Logs the specified message at the info level. The message. Logs the specified message at the info level. The message. The arguments. Logs the specified message at the debug level. The message. Logs the specified message at the debug level. The message. The arguments. InternalTrace provides facilities for tracing the execution of the NUnit framework. Tests and classes under test may make use of Console writes, System.Diagnostics.Trace or various loggers and NUnit itself traps and processes each of them. For that reason, a separate internal trace is needed. Note: InternalTrace uses a global lock to allow multiple threads to write trace messages. This can easily make it a bottleneck so it must be used sparingly. Keep the trace Level as low as possible and only insert InternalTrace writes where they are needed. TODO: add some buffering and a separate writer thread as an option. TODO: figure out a way to turn on trace in specific classes only. Gets a flag indicating whether the InternalTrace is initialized Initialize the internal trace facility using the name of the log to be written to and the trace level. The log name The trace level Initialize the internal trace using a provided TextWriter and level A TextWriter The InternalTraceLevel Get a named Logger Get a logger named for a particular Type. InternalTraceLevel is an enumeration controlling the level of detailed presented in the internal log. Use the default settings as specified by the user. Do not display any trace messages Display Error messages only Display Warning level and higher messages Display informational and higher messages Display debug messages and higher - i.e. all messages Display debug messages and higher - i.e. all messages A trace listener that writes to a separate file per domain and process using it. Construct an InternalTraceWriter that writes to a file. Path to the file to use Construct an InternalTraceWriter that writes to a TextWriter provided by the caller. Returns the character encoding in which the output is written. The character encoding in which the output is written. Writes a character to the text string or stream. The character to write to the text stream. Writes a string to the text string or stream. The string to write. Writes a string followed by a line terminator to the text string or stream. The string to write. If is null, only the line terminator is written. Releases the unmanaged resources used by the and optionally releases the managed resources. true to release both managed and unmanaged resources; false to release only unmanaged resources. Clears all buffers for the current writer and causes any buffered data to be written to the underlying device. Provides internal logging to the NUnit framework Initializes a new instance of the class. The name. The log level. The writer where logs are sent. Logs the message at error level. The message. Logs the message at error level. The message. The message arguments. Logs the message at warm level. The message. Logs the message at warning level. The message. The message arguments. Logs the message at info level. The message. Logs the message at info level. The message. The message arguments. Logs the message at debug level. The message. Logs the message at debug level. The message. The message arguments. The MethodWrapper class wraps a MethodInfo so that it may be used in a platform-independent manner. Construct a MethodWrapper for a Type and a MethodInfo. Construct a MethodInfo for a given Type and method name. Gets the Type from which this method was reflected. Gets the MethodInfo for this method. Gets the name of the method. Gets a value indicating whether the method is abstract. Gets a value indicating whether the method is public. Gets a value indicating whether the method is static. Gets a value indicating whether the method contains unassigned generic type parameters. Gets a value indicating whether the method is a generic method. Gets a value indicating whether the MethodInfo represents the definition of a generic method. Gets the return Type of the method. Gets the parameters of the method. Returns the Type arguments of a generic method or the Type parameters of a generic method definition. Replaces the type parameters of the method with the array of types provided and returns a new IMethodInfo. The type arguments to be used A new IMethodInfo with the type arguments replaced Returns an array of custom attributes of the specified type applied to this method Gets a value indicating whether one or more attributes of the specified type are defined on the method. Invokes the method, converting any TargetInvocationException to an NUnitException. The object on which to invoke the method The argument list for the method The return value from the invoked method Override ToString() so that error messages in NUnit's own tests make sense This class ensures the is correctly cleared or restored around framework actions. This is important if running multiple assemblies within the same process, to ensure no leakage from one assembly to the next. See https://github.com/nunit/nunit-console/issues/325 Thrown when an assertion failed. Here to preserve the inner exception and hence its stack trace. Initializes a new instance of the class. Initializes a new instance of the class. The error message that explains the reason for the exception Initializes a new instance of the class. The error message that explains the reason for the exception The exception that caused the current exception Serialization Constructor Enables the syntax. Wraps an action so that it is executed when the returned object is disposed. This disposal is thread-safe and the action will be executed at most once. OSPlatform represents a particular operating system platform Platform ID for Unix as defined by .NET Platform ID for Unix as defined by Mono Platform ID for XBox as defined by .NET and Mono Platform ID for MacOSX as defined by .NET and Mono Get the OSPlatform under which we are currently running Gets the actual OS Version, not the incorrect value that might be returned for Win 8.1 and Win 10 If an application is not manifested as Windows 8.1 or Windows 10, the version returned from Environment.OSVersion will not be 6.3 and 10.0 respectively, but will be 6.2 and 6.3. The correct value can be found in the registry. The original version The correct OS version Product Type Enumeration used for Windows Product type is unknown or unspecified Product type is Workstation Product type is Domain Controller Product type is Server Construct from a platform ID and version Construct from a platform ID, version and product type Get the platform ID of this instance Implemented to use in place of Environment.OSVersion.ToString() A representation of the platform ID and version in an approximation of the format used by Environment.OSVersion.ToString() Get the Version of this instance Get the Product Type of this instance Return true if this is a windows platform Return true if this is a Unix or Linux platform Return true if the platform is Win32S Return true if the platform is Win32Windows Return true if the platform is Win32NT Return true if the platform is Windows CE Return true if the platform is Xbox Return true if the platform is MacOSX Return true if the platform is Windows 95 Return true if the platform is Windows 98 Return true if the platform is Windows ME Return true if the platform is NT 3 Return true if the platform is NT 4 Return true if the platform is NT 5 Return true if the platform is Windows 2000 Return true if the platform is Windows XP Return true if the platform is Windows 2003 Server Return true if the platform is NT 6 Return true if the platform is NT 6.0 Return true if the platform is NT 6.1 Return true if the platform is NT 6.2 Return true if the platform is NT 6.3 Return true if the platform is Vista Return true if the platform is Windows 2008 Server (original or R2) Return true if the platform is Windows 2008 Server (original) Return true if the platform is Windows 2008 Server R2 Return true if the platform is Windows 2012 Server (original or R2) Return true if the platform is Windows 2012 Server (original) Return true if the platform is Windows 2012 Server R2 Return true if the platform is Windows 7 Return true if the platform is Windows 8 Return true if the platform is Windows 8.1 Return true if the platform is Windows 10 Return true if the platform is Windows Server. This is named Windows Server 10 to distinguish it from previous versions of Windows Server. Examines an attribute argument and tries to simulate what that value would have been if the literal syntax which might have defined the value in C# had instead been used as an argument to a given method parameter in a direct call. For example, since you can’t apply attributes using arguments, we allow the C# syntax 10 ( value) or 0.1 ( value) to be specified. NUnit then converts it to match the method’s parameters, just as if you were actually using the syntax TestMethod(10) or TestMethod(0.1). For another example, you might have written the syntax 10 and picked up the attribute constructor overload; however, the test method for which this value is intended only has a signature. Again, NUnit simulates what would have happened if the inferred C# syntax was transplanted and you were actually using the syntax TestMethod(10). Converts an array of objects to the , if it is supported. Converts a single value to the , if it is supported. Performs several special conversions allowed by NUnit in order to permit arguments with types that cannot be used in the constructor of an Attribute such as TestCaseAttribute or to simplify their use. The value to be converted The target in which the should be converted If conversion was successfully applied, the converted into if was converted and should be used; is no conversion was applied and should be ignored The ParameterWrapper class wraps a ParameterInfo so that it may be used in a platform-independent manner. Construct a ParameterWrapper for a given method and parameter Gets a value indicating whether the parameter is optional Gets an IMethodInfo representing the method for which this is a parameter. Gets the underlying ParameterInfo Gets the Type of the parameter Returns an array of custom attributes of the specified type applied to this method Gets a value indicating whether one or more attributes of the specified type are defined on the parameter. PlatformHelper class is used by the PlatformAttribute class to determine whether a platform is supported. Comma-delimited list of all supported OS platform constants Comma-delimited list of all supported Runtime platform constants Default constructor uses the operating system and common language runtime of the system. Construct a PlatformHelper for a particular operating system and common language runtime. Used in testing. RuntimeFramework to be used OperatingSystem to be used Test to determine if one of a collection of platforms is being used currently. Tests to determine if the current platform is supported based on a platform attribute. The attribute to examine Tests to determine if the current platform is supported based on a platform attribute. The attribute to examine Test to determine if a particular platform or comma-delimited set of platforms is in use. Name of the platform or comma-separated list of platform ids True if the platform is in use on the system Return the last failure reason. Results are not defined if called before IsSupported( Attribute ) is called. Implements a simplified filter for use in deciding which Types and Methods should be used to generate tests. It is constructed with a list of strings, each of which may end up being interpreted in various ways. Return a new PreFilter, without elements, which is considered empty and always matches. Return true if the filter is empty, in which case it always succeeds. Technically, this is just a filter and you can add elements but it's best to use Empty when you need an empty filter and new when you plan to add. Add a new filter element to the filter Use the filter on a Type, returning true if the type matches the filter and should therefore be included in the discovery process. Use the filter on a Type, returning true if the type matches the filter and should therefore be included in the discovery process. 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. Adds a key/value pair to the property set The key The value Sets the value for a key, removing any other values that are already in the property set. Gets a single value for a key, using the first one if multiple values are present and returning null if the value is not found. Gets a flag indicating whether the specified key has any entries in the property set. The key to be checked True if their are values present, otherwise false Gets a collection containing all the keys in the property set Gets or sets the list of values for a particular key Returns an XmlNode representing the current PropertyBag. Not used An XmlNode representing the PropertyBag Returns an XmlNode representing the PropertyBag after adding it as a child of the supplied parent node. The parent node. Not used The PropertyNames class provides static constants for the standard property ids that NUnit uses on tests. The FriendlyName of the AppDomain in which the assembly is running The selected strategy for joining parameter data into test cases The process ID of the executing assembly The stack trace from any data provider that threw an exception. The reason a test was not run The author of the tests The ApartmentState required for running the test The categories applying to a test The Description of a test The number of threads to be used in running tests The maximum time in ms, above which the test is considered to have failed The ParallelScope associated with a test The number of times the test should be repeated Indicates that the test should be run on a separate thread The culture to be set for a test The UI culture to be set for a test The type that is under test The timeout value for the test The test will be ignored until the given date The optional Order the test will run in Randomizer returns a set of random values in a repeatable way, to allow re-running of tests if necessary. It extends the .NET Random class, providing random values for a much wider range of types. The class is used internally by the framework to generate test case data and is also exposed for use by users through the TestContext.Random property. For consistency with the underlying Random Type, methods returning a single value use the prefix "Next..." Those without an argument return a non-negative value up to the full positive range of the Type. Overloads are provided for specifying a maximum or a range. Methods that return arrays or strings use the prefix "Get..." to avoid confusion with the single-value methods. Initial seed used to create randomizers for this run Get a Randomizer for a particular member, returning one that has already been created if it exists. This ensures that the same values are generated each time the tests are reloaded. Get a randomizer for a particular parameter, returning one that has already been created if it exists. This ensures that the same values are generated each time the tests are reloaded. Create a new Randomizer using the next seed available to ensure that each randomizer gives a unique sequence of values. Default constructor Construct based on seed value Returns a random unsigned int. Returns a random unsigned int less than the specified maximum. Returns a random unsigned int within a specified range. Returns a non-negative random short. Returns a non-negative random short less than the specified maximum. Returns a non-negative random short within a specified range. Returns a random unsigned short. Returns a random unsigned short less than the specified maximum. Returns a random unsigned short within a specified range. Returns a random long. Returns a random long less than the specified maximum. Returns a non-negative random long within a specified range. Returns a random ulong. Returns a random ulong less than the specified maximum. Returns a non-negative random long within a specified range. Returns a random Byte Returns a random Byte less than the specified maximum. Returns a random Byte within a specified range Returns a random SByte Returns a random sbyte less than the specified maximum. Returns a random sbyte within a specified range Returns a random bool Returns a random bool based on the probability a true result Returns a random double between 0.0 and the specified maximum. Returns a random double within a specified range. Returns a random float. Returns a random float between 0.0 and the specified maximum. Returns a random float within a specified range. Returns a random enum value of the specified Type as an object. Returns a random enum value of the specified Type. Default characters for random functions. Default characters are the English alphabet (uppercase & lowercase), Arabic numerals, and underscore Generate a random string based on the characters from the input string. desired length of output string. string representing the set of characters from which to construct the resulting string A random string of arbitrary length Generate a random string based on the characters from the input string. desired length of output string. A random string of arbitrary length Uses DefaultStringChars as the input character set Generate a random string based on the characters from the input string. A random string of the default length Uses DefaultStringChars as the input character set Returns a random decimal. Returns a random decimal between positive zero and the specified maximum. Returns a random decimal within a specified range, which is not permitted to exceed decimal.MaxVal in the current implementation. A limitation of this implementation is that the range from min to max must not exceed decimal.MaxVal. Generates a valid version 4 . Helper methods for inspecting a type by reflection. Many of these methods take ICustomAttributeProvider as an argument to avoid duplication, even though certain attributes can only appear on specific types of members, like MethodInfo or Type. In the case where a type is being examined for the presence of an attribute, interface or named member, the Reflect methods operate with the full name of the member being sought. This removes the necessity of the caller having a reference to the assembly that defines the item being sought and allows the NUnit core to inspect assemblies that reference an older version of the NUnit framework. Examine a fixture type and return true if it has a method with a particular attribute. The type to examine The attribute Type to look for True if found, otherwise false Invoke the default constructor on a Type The Type to be constructed An instance of the Type Invoke a constructor on a Type with arguments The Type to be constructed Arguments to the constructor An instance of the Type Returns an array of types from an array of objects. Differs from by returning for null elements rather than throwing . Gets the constructors to which the specified argument types can be coerced. Determines if the given types can be coerced to match the given parameters. Determines whether the current type can be implicitly converted to the specified type. Invoke a parameterless method returning void on an object. A MethodInfo for the method to be invoked The object on which to invoke the method Invoke a method, converting any TargetInvocationException to an NUnitException. A MethodInfo for the method to be invoked The object on which to invoke the method The argument list for the method The return value from the invoked method Selects the ultimate shadowing property just like dynamic would, rather than throwing for properties that shadow properties of a different property type which is what does. If you request both public and nonpublic properties, every public property is preferred over every nonpublic property. It would violate the principle of least surprise for a derived class’s implementation detail to be chosen over the public API for a type. See . See . See . Same as GetMethod(, | , , , ) except that it also chooses only non-generic methods. Useful for avoiding the you can have with GetMethod. Returns the get accessor for the indexer. Type to reflect on for the indexer. List of indexer types that matches the indexer type order. The Get accessor Searches for the specified members, using the specified binding constraints. Similar to but also finds private static members from the base class. The type to find the members from. The string containing the name of the members to get. A bitwise combination of the enumeration values that specify how the search is conducted. Represents the result of running a single test case. Construct a TestCaseResult based on a TestMethod A TestMethod to which the result applies. Gets the number of test cases that failed when running the test and all its children. Gets the number of test cases that executed when running the test and all its children. Gets the number of test cases that had warnings when running the test and all its children. Gets the number of test cases that passed when running the test and all its children. Gets the number of test cases that were skipped when running the test and all its children. Gets the number of test cases that were inconclusive when running the test and all its children. Indicates whether this result has any child results. Gets the collection of child results. The TestResult class represents the result of a test. Error message for when child tests have errors Error message for when child tests have warnings Error message for when child tests are ignored Error message for when user has cancelled the test run The minimum duration for tests Aggregate assertion count ReaderWriterLock Construct a test result given a Test The test to be used Gets the test with which this result is associated. Gets the ResultState of the test result, which indicates the success or failure of the test. Gets the name of the test result Gets the full name of the test result Gets or sets the elapsed time for running the test in seconds Gets or sets the time the test started running. Gets or sets the time the test finished running. Adds a test attachment to the test result The TestAttachment object to attach Gets the collection of files attached to the test Gets the message associated with a test failure or with not running the test Gets any stack trace associated with an error or failure. Gets or sets the count of asserts executed when running the test. Gets the number of test cases executed when running the test and all its children. Gets the number of test cases that failed when running the test and all its children. Gets the number of test cases that had warnings when running the test and all its children. Gets the number of test cases that passed when running the test and all its children. Gets the number of test cases that were skipped when running the test and all its children. Gets the number of test cases that were inconclusive when running the test and all its children. Indicates whether this result has any child results. Gets the collection of child results. Gets a TextWriter, which will write output to be included in the result. Gets any text output written to this result. Gets a list of assertion results associated with the test. Returns the XML representation of the result. If true, descendant results are included An XmlNode representing the result Adds the XML representation of the result as a child of the supplied parent node.. The parent node. If true, descendant results are included Gets a count of pending failures (from Multiple Assert) Gets the worst assertion status (highest enum) in all the assertion results Set the result of the test The ResultState to use in the result Set the result of the test The ResultState to use in the result A message associated with the result state Set the result of the test The ResultState to use in the result A message associated with the result state Stack trace giving the location of the command Set the test result based on the type of exception thrown The exception that was thrown Set the test result based on the type of exception thrown The exception that was thrown The FailureSite to use in the result RecordTearDownException appends the message and stack trace from an exception arising during teardown of the test to any previously recorded information, so that any earlier failure information is not lost. Note that calling Assert.Ignore, Assert.Inconclusive, etc. during teardown is treated as an error. If the current result represents a suite, it may show a teardown error even though all contained tests passed. The Exception to be recorded Update overall test result, including legacy Message, based on AssertionResults that have been saved to this point. Record an assertion result Record an assertion result Record an assertion result Creates a failure message incorporating failures from a Multiple Assert block for use by runners that don't know about AssertionResults. Message as a string Adds a failure element to a node and returns it. The target node. The new failure element. Adds an attachments element to a node and returns it. The target node. The new attachments element. Represents the result of running a test suite Construct a TestSuiteResult base on a TestSuite The TestSuite to which the result applies Gets the number of test cases that executed when running the test and all its children. Gets the number of test cases that failed when running the test and all its children. Gets the number of test cases that passed when running the test and all its children. Gets the number of test cases that passed when running the test and all its children. Gets the number of test cases that were skipped when running the test and all its children. Gets the number of test cases that were inconclusive when running the test and all its children. Indicates whether this result has any child results. Gets the collection of child results. Adds a child result to this result, setting this result's ResultState to Failure if the child result failed. The result to be added RuntimeFramework represents a particular version of a common language runtime implementation. DefaultVersion is an empty Version, used to indicate that NUnit should select the CLR version to use for the test. Construct from a runtime type and version. If the version has two parts, it is taken as a framework version. If it has three or more, it is taken as a CLR version. In either case, the other version is deduced based on the runtime type and provided version. The runtime type of the framework The version of the framework Static method to return a RuntimeFramework object for the framework that is currently in use. The type of this runtime framework The framework version for this runtime framework The CLR version for this runtime framework Return true if any CLR version may be used in matching this RuntimeFramework object. Returns the Display name for this framework Parses a string representing a RuntimeFramework. The string may be just a RuntimeType name or just a Version or a hyphenated RuntimeType-Version or a Version prefixed by 'versionString'. Overridden to return the short name of the framework Returns true if the current framework matches the one supplied as an argument. Two frameworks match if their runtime types are the same or either one is RuntimeType.Any and all specified version components are equal. Negative (i.e. unspecified) version components are ignored. The RuntimeFramework to be matched. True on match, otherwise false Enumeration identifying a common language runtime implementation. Any supported runtime framework Microsoft .NET Framework Microsoft .NET Framework Microsoft Shared Source CLI Mono MonoTouch Microsoft .NET Core, including .NET 5+ Holds thread state which is captured and restored in order to sandbox user code. Thread principal. This will be null on platforms that don't support . Captures a snapshot of the tracked state of the current thread to be restored later. Restores the tracked state of the current thread to the previously captured state. Returns a copy with the specified culture. Returns a copy with the specified UI culture. Returns a copy with the specified principal. May be called from any thread. May be called from any thread. May be called from any thread. May be called from any thread, but may only be called once. StackFilter class is used to remove internal NUnit entries from a stack trace so that the resulting trace provides better information about the test. Single instance of our default filter Construct a stack filter instance Regex pattern used to delete lines from the top of the stack Regex pattern used to delete lines from the bottom of the stack Construct a stack filter instance Regex pattern used to delete lines from the top of the stack Construct a stack filter instance Filters a raw stack trace and returns the result. The original stack trace A filtered stack trace Provides methods to support legacy string comparison methods. Compares two strings for equality, ignoring case if requested. The first string. The second string.. if set to , the case of the letters in the strings is ignored. Zero if the strings are equivalent, a negative number if strA is sorted first, a positive number if strB is sorted first Compares two strings for equality, ignoring case if requested. The first string. The second string.. if set to , the case of the letters in the strings is ignored. True if the strings are equivalent, false if not. The TestCaseParameters class encapsulates method arguments and other selected parameters needed for constructing a parameterized test case. The expected result to be returned Default Constructor creates an empty parameter set Construct a non-runnable ParameterSet, specifying the provider exception that made it invalid. Construct a parameter set with a list of arguments Construct a ParameterSet from an object implementing ITestCaseData The expected result of the test, which must match the method return type. Gets a value indicating whether an expected result was specified. TestCaseTimeoutException is thrown when a test running directly on a TestWorker thread is cancelled due to timeout. Initializes a new instance of the class. Initializes a new instance of the class. The message. Initializes a new instance of the class. The message. The inner. Serialization Constructor Helper class used to save and restore certain static or singleton settings in the environment that affect tests or which might be changed by the user tests. Link to a prior saved context Indicates that a stop has been requested The event listener currently receiving notifications The number of assertions for the current test The current test result Initializes a new instance of the class. Initializes a new instance of the class. An existing instance of TestExecutionContext. Gets and sets the current context. Gets or sets the current test The time the current test started execution The time the current test started in Ticks Gets the elapsed time for running the test in seconds Gets or sets the current test result Gets a TextWriter that will send output to the current test result. The current test object - that is the user fixture object on which tests are being executed. Get or set indicator that run should stop on the first error Gets an enum indicating whether a stop has been requested. The current test event listener The current WorkItemDispatcher. Made public for use by nunitlite.tests The ParallelScope to be used by tests running in this context. For builds with out the parallel feature, it has no effect. Default tolerance value used for floating point equality when no other tolerance is specified. The worker that spawned the context. For builds without the parallel feature, it is null. Gets the RandomGenerator specific to this Test Gets the assert count. The assert count. The current nesting level of multiple assert blocks Gets or sets the test case timeout value Gets a list of ITestActions set by upstream tests Saves or restores the CurrentCulture Saves or restores the CurrentUICulture Gets or sets the current for the Thread. The current head of the ValueFormatter chain, copied from MsgUtils.ValueFormatter If true, all tests must run on the same thread. No new thread may be spawned. The number of times the current test has been scheduled for execution. Currently only being executed in a test using the Record any changes in the environment made by the test code in the execution context so it will be passed on to lower level tests. Set up the execution environment to match a context. Note that we may be running on the same thread where the context was initially created or on a different thread. Increments the assert count by one. Increments the assert count by a specified amount. Adds a new ValueFormatterFactory to the chain of formatters The new factory Sends a message from test to listeners. This message is not kind of test output and doesn't go to test result. A name recognized by the intended listeners. A message to be sent Obtain lifetime service object An IsolatedContext is used when running code that may effect the current result in ways that should not impact the final result of the test. A new TestExecutionContext is created with an initially clear result, which is discarded on exiting the context. using (new TestExecutionContext.IsolatedContext()) { // Code that should not impact the result } Save the original current TestExecutionContext and make a new isolated context current. Restore the original TestExecutionContext. An AdhocTestExecutionContext is created whenever a context is needed but not available in CurrentContext. This happens when tests are run on an ad-hoc basis or Asserts are used outside of tests. Construct an AdhocTestExecutionContext, which is used whenever the current TestExecutionContext is found to be null. Enumeration indicating whether the tests are running normally or being cancelled. Running normally with no stop requested A graceful stop has been requested A forced stop has been requested 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. Unique Empty filter. Indicates whether this is the EmptyFilter Indicates whether this is a top-level filter, not contained in any other filter. Determine if a particular test passes the filter criteria. The default implementation checks the test itself, its parents and any descendants. Derived classes may override this method or any of the Match methods to change the behavior of the filter. The test to which the filter is applied True if the test passes the filter, otherwise false Determine if a particular test passes the filter criteria. The default implementation checks the test itself, its parents and any descendants. Derived classes may override this method or any of the Match methods to change the behavior of the filter. The test to which the filter is applied If set to we are carrying a negation through True if the test passes the filter, otherwise false Determine if a test matches the filter explicitly. That is, it must be a direct match of the test itself or one of its children. The test to which the filter is applied True if the test matches the filter explicitly, otherwise false Determine whether the test itself matches the filter criteria, without examining either parents or descendants. This is overridden by each different type of filter to perform the necessary tests. The test to which the filter is applied True if the filter matches the any parent of the test Determine whether any ancestor of the test matches the filter criteria The test to which the filter is applied True if the filter matches the an ancestor of the test Determine whether any descendant of the test matches the filter criteria. The test to be matched True if at least one descendant matches the filter criteria Create a TestFilter instance from an XML representation. Create a TestFilter from its TNode representation Nested class provides an empty filter - one that always returns true when called. It never matches explicitly. Adds an XML node True if recursive The added XML node Adds an XML node Parent node True if recursive The added XML node The TestCaseParameters class encapsulates method arguments and other selected parameters needed for constructing a parameterized test case. Default Constructor creates an empty parameter set Construct a non-runnable ParameterSet, specifying the provider exception that made it invalid. Construct a parameter set with a list of arguments Construct a ParameterSet from an object implementing ITestCaseData Type arguments used to create a generic fixture instance TestListener provides an implementation of ITestListener that does nothing. It is used only through its NULL property. Called when a test has just started The test that is starting Called when a test case has finished The result of the test Called when a test produces output for immediate display A TestOutput object containing the text to display Called when a test produces a message to be sent to listeners A object containing the message to send Construct a new TestListener - private so it may not be used. Get a listener that does nothing TestNameGenerator is able to create test names according to a coded pattern. Default pattern used to generate names Construct a TestNameGenerator Construct a TestNameGenerator The pattern used by this generator. Get the display name for a TestMethod and its arguments A TestMethod The display name Get the display name for a TestMethod and its arguments A TestMethod Arguments to be used The display name Checks if string contains any character that might need escaping. Checks whether given char *might* need escaping. False when absolutely no escaping is needed, otherwise true. TestParameters is the abstract base class for all classes that know how to provide data for constructing a test. Default Constructor creates an empty parameter set Construct a parameter set with a list of arguments Construct a non-runnable ParameterSet, specifying the provider exception that made it invalid. Construct a ParameterSet from an object implementing ITestData The RunState for this set of parameters. The arguments to be used in running the test, which must match the method signature. A name to be used for this test case in lieu of the standard generated name containing the argument list. Gets the property dictionary for this test Applies ParameterSet values to the test itself. A test. The original arguments provided by the user, used for display purposes. The list of display names to use as the parameters in the test name. TestProgressReporter translates ITestListener events into the async callbacks that are used to inform the client software about the progress of a test run. Initializes a new instance of the class. The callback handler to be used for reporting progress. Called when a test has just started The test that is starting Called when a test has finished. Sends a result summary to the callback. to The result of the test Called when a test produces output for immediate display A TestOutput object containing the text to display Called when a test produces a message to be sent to listeners A object containing the text to send Returns the parent test item for the target test item if it exists parent test item Makes a string safe for use as an attribute, replacing characters that can't be used with their corresponding XML representations. The string to be used A new string with the values replaced ParameterizedFixtureSuite serves as a container for the set of test fixtures created from a given Type using various parameters. Initializes a new instance of the class. The ITypeInfo for the type that represents the suite. Creates a copy of the given suite with only the descendants that pass the specified filter. The to copy. Determines which descendants are copied. Gets a string representing the type of test Creates a filtered copy of the test suite. Determines which descendants are copied. ParameterizedMethodSuite holds a collection of individual TestMethods with their arguments applied. Initializes a new instance of the class. Creates a copy of the given suite with only the descendants that pass the specified filter. The to copy. Determines which descendants are copied. Gets a MethodInfo for the method implementing this test. Gets a string representing the type of test Creates a filtered copy of the test suite. Determines which descendants are copied. SetUpFixture extends TestSuite and supports Setup and TearDown methods. Initializes a new instance of the class. Creates a copy of the given suite with only the descendants that pass the specified filter. The to copy. Determines which descendants are copied. Gets the TypeInfo of the fixture used in running this test. Creates a filtered copy of the test suite. Determines which descendants are copied. The Test abstract class represents a test within the framework. Static value to seed ids. It's started at 1000 so any uninitialized ids will stand out. Used to cache the declaring type for this MethodInfo Method property backing field Constructs a test given its name The name of the test Constructs a test given the path through the test hierarchy to its parent and a name. The parent tests full name The name of the test Constructs a test for a specific type. Constructs a test for a specific method. Gets or sets the id of the test Gets or sets the name of the test Gets or sets the fully qualified name of the test Gets the name of the class where this test was declared. Returns null if the test is not associated with a class. Gets the name of the method implementing this test. Returns null if the test is not implemented as a method. The arguments to use in creating the test or empty array if none required. Gets the TypeInfo of the fixture used in running this test or null if no fixture type is associated with it. Gets a MethodInfo for the method implementing this test. Returns null if the test is not implemented as a method. Whether or not the test should be run Gets the name used for the top-level element in the XML representation of this test Gets a string representing the type of test. Used as an attribute value in the XML representation of a test and has no other function in the framework. Gets a count of test cases represented by or contained under this test. Gets the properties for this test Returns true if this is a TestSuite Gets a bool indicating whether the current test has any descendant tests. Gets the parent as a Test object. Used by the core to set the parent. Gets this test's child tests A list of child tests Gets or sets a fixture object for running this test. Static prefix used for ids in this AppDomain. Set by FrameworkController. Gets or Sets the Int value representing the seed for the RandomGenerator The SetUp methods. The teardown methods Creates a TestResult for this test. A TestResult suitable for this type of test. Modify a newly constructed test by applying any of NUnit's common attributes, based on a supplied , which is usually the reflection element from which the test was constructed, but may not be in some instances. The attributes retrieved are saved for use in subsequent operations. Mark the test as Invalid (not runnable) specifying a reason The reason the test is not runnable Get custom attributes applied to a test Add standard attributes and members to a test node. Returns the XML representation of the test If true, include child tests recursively Returns an XmlNode representing the current result after adding it as a child of the supplied parent node. The parent node. If true, descendant results are included Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. An object to compare with this instance. Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. An object to compare with this instance. TestAssembly is a TestSuite that represents the execution of tests in a managed assembly. Initializes a new instance of the class specifying the Assembly and the suite name. The assembly this test represents. This becomes the full name of the suite and the filename part is used as the suite name. Initializes a new instance of the class specifying the suite name for an assembly that could not be loaded. This becomes the full name of the suite and the filename part is used as the suite name. Creates a copy of the given assembly with only the descendants that pass the specified filter. The to copy. Determines which descendants are copied. Gets the Assembly represented by this instance. Gets the name used for the top-level element in the XML representation of this test Get custom attributes specified on the assembly Creates a filtered copy of the test suite. Determines which descendants are copied. TestFixture is a surrogate for a user test fixture class, containing one or more tests. The life cycle specified for the current test fixture. Initializes a new instance of the class. Type of the fixture. Arguments used to instantiate the test fixture, or null if none used Creates a copy of the given suite with only the descendants that pass the specified filter. The to copy. Determines which descendants are copied. Gets the TypeInfo of the fixture used in running this test. Creates a filtered copy of the test suite. Determines which descendants are copied. The TestMethod class represents a Test implemented as a method. The ParameterSet used to create this test method Initializes a new instance of the class. The method to be used as a test. Initializes a new instance of the class. The method to be used as a test. The suite or fixture to which the new test will be added Gets a MethodInfo for the method implementing this test. The arguments to use in executing the test method, or empty array if none are provided. Overridden to return a TestCaseResult. A TestResult for this test. Gets a bool indicating whether the current test has any descendant tests. Returns a TNode representing the current result after adding it as a child of the supplied parent node. The parent node. If true, descendant results are included Gets this test's child tests A list of child tests Gets the name used for the top-level element in the XML representation of this test Returns the name of the method TestSuite represents a composite test, which contains other tests. Our collection of child tests Initializes a new instance of the class. The name of the suite. Initializes a new instance of the class. Name of the parent suite. The name of the suite. Initializes a new instance of the class. Type of the fixture. Arguments used to instantiate the test fixture, or null if none used. Initializes a new instance of the class. Type of the fixture. Creates a copy of the given suite with only the descendants that pass the specified filter. The to copy. Determines which descendants are copied. Sorts tests under this suite. Adds a test to the suite. The test. Creates a filtered copy of the test suite. Determines which descendants are copied. Gets this test's child tests The list of child tests Gets a count of test cases represented by or contained under this test. The arguments to use in creating the fixture, or empty array if none are provided. Set to true to suppress sorting this suite's contents OneTimeSetUp methods for this suite OneTimeTearDown methods for this suite Overridden to return a TestSuiteResult. A TestResult for this test. Gets a bool indicating whether the current test has any descendant tests. Gets the name used for the top-level element in the XML representation of this test Returns an XmlNode representing the current result after adding it as a child of the supplied parent node. The parent node. If true, descendant results are included Check that setup and teardown methods marked by certain attributes meet NUnit's requirements and mark the tests not runnable otherwise. ThreadUtility provides a set of static methods convenient for working with threads. Pre-Task compatibility Abort a thread, helping to dislodging it if it is blocked in native code The thread to abort The native thread id (if known), otherwise 0. If provided, allows the thread to be killed if it's in a message pump native blocking wait. This must have previously been captured by calling from the running thread itself. Do our best to kill a thread The thread to kill The native thread id (if known), otherwise 0. If provided, allows the thread to be killed if it's in a message pump native blocking wait. This must have previously been captured by calling from the running thread itself. Do our best to kill a thread, passing state info The thread to kill Info for the ThreadAbortException handler The native thread id (if known), otherwise 0. If provided, allows the thread to be killed if it's in a message pump native blocking wait. This must have previously been captured by calling from the running thread itself. Schedule a thread pool thread to check on the aborting thread in case it's in a message pump native blocking wait Captures the current thread's native id. If provided to later, allows the thread to be killed if it's in a message pump native blocking wait. Sends a message to the thread to dislodge it from native code and allow a return to managed code, where a ThreadAbortException can be generated. The message is meaningless (WM_CLOSE without a window handle) but it will end any blocking message wait. Gets or if the current platform does not support it. Sets if current platform supports it. Value to set. If the current platform does not support then the only allowed value is . TypeHelper provides static methods that operate on Types. Gets the display name for a Type as used by NUnit. The Type for which a display name is needed. The display name for the Type Gets the display name for a Type as used by NUnit. The Type for which a display name is needed. The arglist provided. The display name for the Type Returns the best fit for a common type to be used in matching actual arguments to a methods Type parameters. Determines whether the specified type is numeric. The type to be examined. if the specified type is numeric; otherwise, . Convert an argument list to the required parameter types. Currently, only widening numeric conversions are performed. An array of args to be converted A ParameterInfo[] whose types will be used as targets Determines whether this instance can deduce type args for a generic type from the supplied arguments. The type to be examined. The arglist. The type args to be used. if this the provided args give sufficient information to determine the type args to be used; otherwise, . Return the interfaces implemented by a Type. The Type to be examined. An array of Types for the interfaces. Return whether or not the given type is a ValueTuple. Type. Whether or not the given type is a ValueTuple. Return whether or not the given type is a Tuple. Type. Whether or not the given type is a Tuple. Determines whether the cast to the given type would succeed. If is and can be , the cast succeeds just like the C# language feature. The object to cast. Casts to a value of the given type if possible. If is and can be , the cast succeeds just like the C# language feature. The object to cast. The value of the object, if the cast succeeded. Used for resolving the type difference between objects. Gets the shortened type name difference between and . The expected object. The actual object. Output of the unique type name for the expected object. Output of the unique type name for actual object. Gets the shortened type name difference between and . The expected object . The actual object . Output of the unique type name for the expected object. Output of the unique type name for actual object. Obtain the shortened generic template parameters of the given and , if they are generic. The expected . The actual . Shortened generic parameters of the expected . Shortened generic parameters of the actual . Obtain a shortened name of the given . Shorten the given names by only including the relevant differing namespaces/types, if they differ. The expected . The actual . The shortened expected name. The shortened actual name. Returns whether or not the is generic. Returns the fully qualified generic name of a given . Reconstruct a generic type name using the provided generic type name, and a of the template parameters. The name of the generic type, including the number of template parameters expected. A of names of the template parameters of the provided generic type. Obtain the shortened generic names of the given expected and actual s. The expected . The actual . The shortened expected generic name. The shortened actual generic name. The TypeWrapper class wraps a Type so it may be used in a platform-independent manner. Construct a TypeWrapper for a specified Type. Gets the underlying Type on which this TypeWrapper is based. Gets the base type of this type as an ITypeInfo Gets the Name of the Type Gets the FullName of the Type Gets the assembly in which the type is declared Gets the namespace of the Type Gets a value indicating whether the type is abstract. Gets a value indicating whether the Type is a generic Type Returns true if the Type wrapped is T Gets a value indicating whether the Type has generic parameters that have not been replaced by specific Types. Gets a value indicating whether the Type is a generic Type definition Gets a value indicating whether the type is sealed. Gets a value indicating whether this type represents a static class. Get the display name for this type Get the display name for an object of this type, constructed with the specified args. Returns a new ITypeInfo representing an instance of this generic Type using the supplied Type arguments Returns a Type representing a generic type definition from which this Type can be constructed. Returns an array of custom attributes of the specified type applied to this type Returns a value indicating whether the type has an attribute of the specified type. Returns a flag indicating whether this type has a method with an attribute of the specified type. Returns an array of IMethodInfos for methods of this Type that match the specified flags. Gets the public constructor taking the specified argument Types Returns a value indicating whether this Type has a public constructor taking the specified argument Types. Construct an object of this Type, using the specified arguments. Override ToString() so that error messages in NUnit's own tests make sense Returns all methods declared by this type that have the specified attribute, optionally including base classes. Methods from a base class are always returned before methods from a class that inherits from it. Specifies whether to search the fixture type inheritance chain. Encapsulates the ability to increment a value by an amount which may be of a different type. Creates a from the specified value if the current instance is able to use it to increment the on values which it operates. If the creation fails, is thrown. Creates a from the specified value if the current instance is able to use it to increment values on which it operates. A return value indicates whether the creation succeeded. Provides a convenient shorthand when is and the default value of represents zero. Initializes a new instance of the class. The amount by which to increment each time this step is applied. Must increment the given value and return the result. If the result is outside the range representable by , must throw . If the result does not change due to lack of precision representable by , must throw . Increments the given value and returns the result. If the result is outside the range representable by , throws . If the result does not change due to lack of precision representable by , throws . Encapsulates the ability to increment a value by an amount which may be of a different type. Increments the given value and returns the result. If the result is outside the range representable by , throws . If the result does not change due to lack of precision representable by , throws . Creates a from the specified value if the current instance is able to use it to increment values of type . If the creation fails, is thrown. Creates a from the specified value if the current instance is able to use it to increment values of type . A return value indicates whether the creation succeeded. The IgnoredTestCaseData class represents a ignored TestCaseData. It adds the ability to set a date until which the test will be ignored. The previous RunState Set the date that the test is being ignored until The date that the test is being ignored until A modified TestCaseData. Helper class with properties and methods that supply a number of constraints used in Asserts. Returns a ConstraintExpression that negates any following constraint. Returns a ConstraintExpression, which will apply the following constraint to all members of a collection, succeeding if all of them succeed. Returns a constraint that tests for null Returns a constraint that tests for True Returns a constraint that tests for False Returns a constraint that tests for a positive value Returns a constraint that tests for a negative value Returns a constraint that tests for equality with zero Returns a constraint that tests for NaN Returns a constraint that tests for empty Returns a constraint that tests whether a collection contains all unique items. Returns a constraint that tests whether an object graph is serializable in binary format. Returns a constraint that tests whether an object graph is serializable in XML format. Returns a constraint that tests two items for equality Returns a constraint that tests that two references are the same object Returns a constraint that tests whether the actual value is greater than the supplied argument Returns a constraint that tests whether the actual value is greater than or equal to the supplied argument Returns a constraint that tests whether the actual value is greater than or equal to the supplied argument Returns a constraint that tests whether the actual value is less than the supplied argument Returns a constraint that tests whether the actual value is less than or equal to the supplied argument Returns a constraint that tests whether the actual value is less than or equal to the supplied argument Returns a constraint that tests whether the actual value is of the exact type supplied as an argument. Returns a constraint that tests whether the actual value is of the exact type supplied as an argument. Returns a constraint that tests whether the actual value is of the type supplied as an argument or a derived type. Returns a constraint that tests whether the actual value is of the type supplied as an argument or a derived type. Returns a constraint that tests whether the actual value is assignable from the type supplied as an argument. Returns a constraint that tests whether the actual value is assignable from the type supplied as an argument. Returns a constraint that tests whether the actual value is assignable to the type supplied as an argument. Returns a constraint that tests whether the actual value is assignable to the type supplied as an argument. Returns a constraint that tests whether the actual value is a collection containing the same elements as the collection supplied as an argument. Returns a constraint that tests whether the actual value is a subset of the collection supplied as an argument. Returns a constraint that tests whether the actual value is a superset of the collection supplied as an argument. Returns a constraint that tests whether a collection is ordered Returns a constraint that tests whether the path provided is the same as an expected path after canonicalization. Returns a constraint that tests whether the path provided is a subpath of the expected path after canonicalization. Returns a constraint that tests whether the path provided is the same path or under an expected path after canonicalization. Returns a constraint that tests whether the actual value falls inclusively within a specified range. Inclusive beginning of the range. Inclusive end of the range. Returns a constraint that tests if an item is equal to any of parameters Expected values When implemented by an attribute, this interface implemented to provide actions to execute before and after tests. Executed before each test is run The test that is going to be run. Executed after each test is run The test that has just been run. Provides the target for the action attribute The target for the action attribute The Iz class is a synonym for Is intended for use in VB, which regards Is as a keyword. The List class is a helper class with properties and methods that supply a number of constraints used with lists and collections. List.Map returns a ListMapper, which can be used to map the original collection to another collection. ListMapper is used to transform a collection used as an actual argument producing another collection to be used in the assertion. Construct a ListMapper based on a collection The collection to be transformed Produces a collection containing all the values of a property The collection of property values Basic Asserts on strings. DO NOT USE! Use StringAssert.AreEqualIgnoringCase(...) or Assert.AreEqual(...) instead. The Equals method throws an InvalidOperationException. This is done to make sure there is no mistake by calling this function. DO NOT USE! The ReferenceEquals method throws an InvalidOperationException. This is done to make sure there is no mistake by calling this function. Asserts that a string is found within another string. The expected string The string to be examined The message to display in case of failure Arguments used in formatting the message Asserts that a string is found within another string. The expected string The string to be examined Asserts that a string is not found within another string. The expected string The string to be examined The message to display in case of failure Arguments used in formatting the message Asserts that a string is found within another string. The expected string The string to be examined Asserts that a string starts with another string. The expected string The string to be examined The message to display in case of failure Arguments used in formatting the message Asserts that a string starts with another string. The expected string The string to be examined Asserts that a string does not start with another string. The expected string The string to be examined The message to display in case of failure Arguments used in formatting the message Asserts that a string does not start with another string. The expected string The string to be examined Asserts that a string ends with another string. The expected string The string to be examined The message to display in case of failure Arguments used in formatting the message Asserts that a string ends with another string. The expected string The string to be examined Asserts that a string does not end with another string. The expected string The string to be examined The message to display in case of failure Arguments used in formatting the message Asserts that a string does not end with another string. The expected string The string to be examined Asserts that two strings are equal, without regard to case. The expected string The actual string The message to display in case of failure Arguments used in formatting the message Asserts that two strings are equal, without regard to case. The expected string The actual string Asserts that two strings are not equal, without regard to case. The expected string The actual string The message to display in case of failure Arguments used in formatting the message Asserts that two strings are not equal, without regard to case. The expected string The actual string Asserts that a string matches an expected regular expression pattern. The regex pattern to be matched The actual string The message to display in case of failure Arguments used in formatting the message Asserts that a string matches an expected regular expression pattern. The regex pattern to be matched The actual string Asserts that a string does not match an expected regular expression pattern. The regex pattern to be used The actual string The message to display in case of failure Arguments used in formatting the message Asserts that a string does not match an expected regular expression pattern. The regex pattern to be used The actual string The TestCaseData class represents a set of arguments and other parameter info to be used for a parameterized test case. It is derived from TestCaseParameters and adds a fluent syntax for use in initializing the test case. Initializes a new instance of the class. The arguments. Initializes a new instance of the class. The argument. Initializes a new instance of the class. The first argument. The second argument. Initializes a new instance of the class. The first argument. The second argument. The third argument. Sets the expected result for the test The expected result A modified TestCaseData Sets the name of the test case The modified TestCaseData instance Sets the list of display names to use as the parameters in the test name. Sets the description for the test case being constructed. The description. The modified TestCaseData instance. Applies a category to the test Applies a named property to the test Applies a named property to the test Applies a named property to the test Marks the test case as explicit. Marks the test case as explicit, specifying the reason. Ignores this TestCase, specifying the reason. The reason. Provide the context information of the current test. This is an adapter for the internal ExecutionContext class, hiding the internals from the user test. Construct a TestContext for an ExecutionContext The ExecutionContext to adapt Get the current test context. This is created as needed. The user may save the context for use within a test, but it should not be used outside the test for which it is created. Gets a TextWriter that will send output to the current test result. Gets a TextWriter that will send output directly to Console.Error Gets a TextWriter for use in displaying immediate progress messages TestParameters object holds parameters for the test run, if any are specified Static DefaultWorkDirectory is now used as the source of the public instance property WorkDirectory. This is a bit odd but necessary to avoid breaking user tests. Get a representation of the current test. Gets a Representation of the TestResult for the current test. Gets the unique name of the Worker that is executing this test. Gets the directory containing the current test assembly. Gets the directory to be used for outputting files created by this test run. Gets the random generator. The random generator. Gets the number of assertions executed up to this point in the test. Get the number of times the current Test has been repeated when using the or . Write the string representation of a boolean value to the current result Write a char to the current result Write a char array to the current result Write the string representation of a double to the current result Write the string representation of an Int32 value to the current result Write the string representation of an Int64 value to the current result Write the string representation of a decimal value to the current result Write the string representation of an object to the current result Write the string representation of a Single value to the current result Write a string to the current result Write the string representation of a UInt32 value to the current result Write the string representation of a UInt64 value to the current result Write a formatted string to the current result Write a formatted string to the current result Write a formatted string to the current result Write a formatted string to the current result Write a line terminator to the current result Write the string representation of a boolean value to the current result followed by a line terminator Write a char to the current result followed by a line terminator Write a char array to the current result followed by a line terminator Write the string representation of a double to the current result followed by a line terminator Write the string representation of an Int32 value to the current result followed by a line terminator Write the string representation of an Int64 value to the current result followed by a line terminator Write the string representation of a decimal value to the current result followed by a line terminator Write the string representation of an object to the current result followed by a line terminator Write the string representation of a Single value to the current result followed by a line terminator Write a string to the current result followed by a line terminator Write the string representation of a UInt32 value to the current result followed by a line terminator Write the string representation of a UInt64 value to the current result followed by a line terminator Write a formatted string to the current result followed by a line terminator Write a formatted string to the current result followed by a line terminator Write a formatted string to the current result followed by a line terminator Write a formatted string to the current result followed by a line terminator This method adds the a new ValueFormatterFactory to the chain of responsibility used for formatting values in messages. The scope of the change is the current TestContext. The factory delegate Attach a file to the current test result Relative or absolute file path to attachment Optional description of attachment This method provides a simplified way to add a ValueFormatter delegate to the chain of responsibility, creating the factory delegate internally. It is useful when the Type of the object is the only criterion for selection of the formatter, since it can be used without getting involved with a compound function. The type supported by this formatter The ValueFormatter delegate TestAdapter adapts a Test for consumption by the user test code. Construct a TestAdapter for a Test The Test to be adapted Gets the unique Id of a test The name of the test, which may or may not be the same as the method name. The name of the method representing the test. The FullName of the test The ClassName of the test A shallow copy of the properties of the test. The arguments to use in creating the test or empty array if none are required. ResultAdapter adapts a TestResult for consumption by the user test code. Construct a ResultAdapter for a TestResult The TestResult to be adapted Gets a ResultState representing the outcome of the test up to this point in its execution. Gets a list of the assertion results generated up to this point in the test. Gets the message associated with a test failure or with not running the test Gets any stack trace associated with an error or failure. Gets the number of test cases that failed when running the test and all its children. Gets the number of test cases that had warnings when running the test and all its children. Gets the number of test cases that passed when running the test and all its children. Gets the number of test cases that were skipped when running the test and all its children. Gets the number of test cases that were inconclusive when running the test and all its children. adapts an for consumption by the user. Construct a from a source . Get the first property with the given , if it can be found, otherwise returns null. Indicates whether is found in this . Returns a collection of properties with the given . Returns the count of elements with the given . Returns a collection of the property keys. The TestFixtureData class represents a set of arguments and other parameter info to be used for a parameterized fixture. It is derived from TestFixtureParameters and adds a fluent syntax for use in initializing the fixture. Initializes a new instance of the class. The arguments. Initializes a new instance of the class. The argument. Initializes a new instance of the class. The first argument. The second argument. Initializes a new instance of the class. The first argument. The second argument. The third argument. Sets the name of the test fixture The modified TestFixtureData instance Sets the list of display names to use as the parameters in the test name. Marks the test fixture as explicit. Marks the test fixture as explicit, specifying the reason. Ignores this TestFixture, specifying the reason. The reason. TestParameters class holds any named parameters supplied to the test run Gets the number of test parameters Gets a collection of the test parameter names Gets a flag indicating whether a parameter with the specified name exists. Name of the parameter True if it exists, otherwise false Indexer provides access to the internal dictionary Name of the parameter Value of the parameter or null if not present Get method is a simple alternative to the indexer Name of the parameter Value of the parameter or null if not present Get the value of a parameter or a default string Name of the parameter Default value of the parameter Value of the parameter or default value if not present Get the value of a parameter or return a default The return Type Name of the parameter Default value of the parameter Value of the parameter or default value if not present Adds a parameter to the list Name of the parameter Value of the parameter Helper class with properties and methods that supply constraints that operate on exceptions. Creates a constraint specifying an expected exception Creates a constraint specifying an exception with a given InnerException Creates a constraint specifying an expected TargetInvocationException Creates a constraint specifying an expected ArgumentException Creates a constraint specifying an expected ArgumentNullException Creates a constraint specifying an expected InvalidOperationException Creates a constraint specifying that no exception is thrown Creates a constraint specifying the exact type of exception expected Creates a constraint specifying the exact type of exception expected Creates a constraint specifying the type of exception expected Creates a constraint specifying the type of exception expected Provides static methods to express conditions that must be met for the test to succeed. If any test fails, a warning is issued. DO NOT USE! The Equals method throws an InvalidOperationException. This is done to make sure there is no mistake by calling this function. The left object. The right object. Not applicable DO NOT USE! The ReferenceEquals method throws an InvalidOperationException. This is done to make sure there is no mistake by calling this function. The left object. The right object. Apply a constraint to an actual value, succeeding if the constraint is satisfied and issuing a warning on failure. The Type being compared. An ActualValueDelegate returning the value to be tested A Constraint expression to be applied Apply a constraint to an actual value, succeeding if the constraint is satisfied and issuing a warning on failure. The Type being compared. An ActualValueDelegate returning the value to be tested A Constraint expression to be applied The message that will be displayed on failure Arguments to be used in formatting the message Apply a constraint to an actual value, succeeding if the constraint is satisfied and issuing a warning on failure. The Type being compared. An ActualValueDelegate returning the value to be tested A Constraint expression to be applied A function to build the message included with the Exception Asserts that a condition is true. If the condition is false, a warning is issued. The evaluated condition The message to display if the condition is false Arguments to be used in formatting the message Asserts that a condition is true. If the condition is false, a warning is issued. The evaluated condition Asserts that a condition is true. If the condition is false, a warning is issued. The evaluated condition A function to build the message included with the Exception Asserts that a condition is true. If the condition is false, a warning is issued. A lambda that returns a Boolean The message to display if the condition is false Arguments to be used in formatting the message Asserts that a condition is true. If the condition is false, a warning is issued. A lambda that returns a Boolean Asserts that a condition is true. If the condition is false, a warning is issued. A lambda that returns a Boolean A function to build the message included with the Exception Asserts that the code represented by a delegate throws an exception that satisfies the constraint provided. A TestDelegate to be executed A Constraint expression to be applied Apply a constraint to an actual value, succeeding if the constraint is satisfied and issuing a warning on failure. The Type being compared. The actual value to test A Constraint expression to be applied Apply a constraint to an actual value, succeeding if the constraint is satisfied and issuing a warning on failure. The Type being compared. The actual value to test A Constraint expression to be applied The message that will be displayed on failure Arguments to be used in formatting the message Apply a constraint to an actual value, succeeding if the constraint is satisfied and issuing a warning on failure. The Type being compared. The actual value to test A Constraint expression to be applied A function to build the message included with the Exception Apply a constraint to an actual value, succeeding if the constraint fails and issuing a warning on success. The Type being compared. An ActualValueDelegate returning the value to be tested A Constraint expression to be applied Apply a constraint to an actual value, succeeding if the constraint fails and issuing a warning on success. The Type being compared. An ActualValueDelegate returning the value to be tested A Constraint expression to be applied The message that will be displayed on failure Arguments to be used in formatting the message Apply a constraint to an actual value, succeeding if the constraint fails and issuing a warning on failure. The Type being compared. An ActualValueDelegate returning the value to be tested A Constraint expression to be applied A function to build the message included with the Exception Asserts that a condition is true. If the condition is false, a warning is issued. The evaluated condition The message to display if the condition is false Arguments to be used in formatting the message Asserts that a condition is true. If the condition is false, a warning is issued. The evaluated condition Asserts that a condition is true. If the condition is false, a warning is issued. The evaluated condition A function to build the message included with the Exception Asserts that a condition is false. If the condition is true a warning is issued. A lambda that returns a Boolean The message to display if the condition is true Arguments to be used in formatting the message Asserts that a condition is false. If the condition is true a warning is issued. A lambda that returns a Boolean Asserts that a condition is false. If the condition is true a warning is issued. A lambda that returns a Boolean A function to build the message included with the Exception Apply a constraint to an actual value, succeeding if the constraint fails and issuing a warning if it succeeds. The Type being compared. The actual value to test A Constraint expression to be applied Apply a constraint to an actual value, succeeding if the constraint fails and issuing a warning if it succeeds. The Type being compared. The actual value to test A Constraint expression to be applied The message that will be displayed on failure Arguments to be used in formatting the message Apply a constraint to an actual value, succeeding if the constraint is satisfied and issuing a warning on failure. The Type being compared. The actual value to test A Constraint expression to be applied A function to build the message included with the Exception 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. Flag (bool) indicating whether tests are being debugged. Flag (bool) indicating whether to pause execution of tests to allow the user to attach a debugger. The InternalTraceLevel for this run. Values are: "Default", "Off", "Error", "Warning", "Info", "Debug", "Verbose". Default is "Off". "Debug" and "Verbose" are synonyms. Full path of the directory to be used for work and result files. This path is provided to tests by the framework TestContext. Integer value in milliseconds for the default timeout value for test cases. If not specified, there is no timeout except as specified by attributes on the tests themselves. A string representing the default thread culture to be used for running tests. String should be a valid BCP-47 culture name. If culture is unset, tests run on the machine's default culture. A string representing the default thread UI culture to be used for running tests. String should be a valid BCP-47 culture name. If culture is unset, tests run on the machine's default culture. A TextWriter to which the internal trace will be sent. A list of tests to be loaded. The number of test threads to run for the assembly. If set to 1, a single queue is used. If set to 0, tests are executed directly, without queuing. The random seed to be used for this assembly. If specified as the value reported from a prior run, the framework should generate identical random values for tests as were used for that run, provided that no change has been made to the test assembly. Default is a random value itself. If true, execution stops after the first error or failure. If true, use of the event queue is suppressed and test events are synchronous. The default naming pattern used in generating test names Parameters to be passed on to the tests, serialized to a single string which needs parsing. Obsoleted by ; kept for backward compatibility. Parameters to be passed on to the tests, already parsed into an IDictionary<string, string>. Replaces . If true, the tests will run on the same thread as the NUnit runner itself Provides a platform-independent methods for getting attributes for use by AttributeConstraint and AttributeExistsConstraint. Gets the custom attributes from the given object. The actual. Type of the attribute. if set to [inherit]. A list of the given attribute on the given object. A MarshalByRefObject that lives forever Obtains a lifetime service object to control the lifetime policy for this instance. Provides NUnit specific extensions to aid in Reflection across multiple frameworks This version of the class supplies GetTypeInfo() on platforms that don't support it. GetTypeInfo gives access to most of the Type information we take for granted on .NET Core and Windows Runtime. Rather than #ifdef different code for different platforms, it is easiest to just code all platforms as if they worked this way, thus the simple passthrough. See . Extensions for Assembly that are not available in pre-4.5 .NET releases An easy way to get a single custom attribute from an assembly The attribute Type The assembly An attribute of Type T Extensions for MethodInfo that are not available in pre-4.5 .NET releases See . See . Represents a thread-safe first-in, first-out collection of objects. Specifies the type of elements in the queue. All public and protected members of are thread-safe and may be used concurrently from multiple threads. Initializes a new instance of the class. Initializes the contents of the queue from an existing collection. A collection from which to copy elements. Initializes a new instance of the class that contains elements copied from the specified collection The collection whose elements are copied to the new . The argument is null. Get the data array to be serialized Construct the queue from a previously serialized one. Copies the elements of the to an , starting at a particular index. The one-dimensional Array that is the destination of the elements copied from the . The Array must have zero-based indexing. The zero-based index in at which copying begins. is a null reference (Nothing in Visual Basic). is less than zero. is multidimensional. -or- does not have zero-based indexing. -or- is equal to or greater than the length of the -or- The number of elements in the source is greater than the available space from to the end of the destination . -or- The type of the source cannot be cast automatically to the type of the destination . Gets a value indicating whether access to the is synchronized with the SyncRoot. true if access to the is synchronized with the SyncRoot; otherwise, false. For , this property always returns false. Gets an object that can be used to synchronize access to the . This property is not supported. The SyncRoot property is not supported. Returns an enumerator that iterates through a collection. An that can be used to iterate through the collection. Attempts to add an object to the . The object to add to the . The value can be a null reference (Nothing in Visual Basic) for reference types. true if the object was added successfully; otherwise, false. For , this operation will always add the object to the end of the and return true. Attempts to remove and return an object from the . When this method returns, if the operation was successful, contains the object removed. If no object was available to be removed, the value is unspecified. true if an element was removed and returned successfully; otherwise, false. For , this operation will attempt to remove the object from the beginning of the . Gets a value that indicates whether the is empty. true if the is empty; otherwise, false. For determining whether the collection contains any items, use of this property is recommended rather than retrieving the number of items from the property and comparing it to 0. However, as this collection is intended to be accessed concurrently, it may be the case that another thread will modify the collection after returns, thus invalidating the result. Copies the elements stored in the to a new array. A new array containing a snapshot of elements copied from the . Copies the elements to a new . A new containing a snapshot of elements copied from the . Store the position of the current head and tail positions. return the head segment return the tail segment return the head offset, value range [0, SEGMENT_SIZE] return the tail offset, value range [-1, SEGMENT_SIZE-1] Gets the number of elements contained in the . The number of elements contained in the . For determining whether the collection contains any items, use of the property is recommended rather than retrieving the number of items from the property and comparing it to 0. Copies the elements to an existing one-dimensional Array, starting at the specified array index. The one-dimensional Array that is the destination of the elements copied from the . The Array must have zero-based indexing. The zero-based index in at which copying begins. is a null reference (Nothing in Visual Basic). is less than zero. is equal to or greater than the length of the -or- The number of elements in the source is greater than the available space from to the end of the destination . Returns an enumerator that iterates through the . An enumerator for the contents of the . The enumeration represents a moment-in-time snapshot of the contents of the queue. It does not reflect any updates to the collection after GetEnumerator was called. The enumerator is safe to use concurrently with reads from and writes to the queue. Helper method of GetEnumerator to separate out yield return statement, and prevent lazy evaluation. Adds an object to the end of the . The object to add to the end of the . The value can be a null reference (Nothing in Visual Basic) for reference types. Attempts to remove and return the object at the beginning of the . When this method returns, if the operation was successful, contains the object removed. If no object was available to be removed, the value is unspecified. true if an element was removed and returned from the beginning of the successfully; otherwise, false. Attempts to return an object from the beginning of the without removing it. When this method returns, contains an object from the beginning of the or an unspecified value if the operation failed. true if and object was returned successfully; otherwise, false. private class for ConcurrentQueue. a queue is a linked list of small arrays, each node is called a segment. A segment contains an array, a pointer to the next segment, and m_low, m_high indices recording the first and last valid elements of the array. Create and initialize a segment with the specified index. return the next segment return true if the current segment is empty (doesn't have any element available to dequeue, false otherwise Add an element to the tail of the current segment exclusively called by ConcurrentQueue.InitializedFromCollection. InitializeFromCollection is responsible to guarantee that there is no index overflow and no contention. Create a new segment and append to the current one Does not update the m_tail pointer exclusively called by ConcurrentQueue.InitializedFromCollection InitializeFromCollection is responsible to guarantee that there is no index overflow, and there is no contention the reference to the new Segment Create a new segment and append to the current one Update the m_tail pointer This method is called when there is no contention Try to append an element at the end of this segment. the element to append true if the element is appended, false if the current segment is full if appending the specified element succeeds, and after which the segment is full, then grow the segment try to remove an element from the head of current segment The result. return false only if the current segment is empty try to peek the current segment holds the return value of the element at the head position, value set to default(T) if there is no such an element true if there are elements in the current segment, false otherwise Adds part or all of the current segment into a List. the list to which to add the start position the end position return the position of the head of the current segment Value range [0, SEGMENT_SIZE], if it's SEGMENT_SIZE, it means this segment is exhausted and thus empty return the logical position of the tail of the current segment Value range [-1, SEGMENT_SIZE-1]. When it's -1, it means this is a new segment and has no element yet A wrapper struct for volatile bool. Please note that a copy of the struct itself will not be volatile, e.g. volatileBool1 = volatileBool2. Defines methods to manipulate thread-safe collections intended for producer/consumer usage. Specifies the type of elements in the collection. All implementations of this interface must enable all members of this interface to be used concurrently from multiple threads. Copies the elements of the to an , starting at a specified index. The one-dimensional that is the destination of the elements copied from the . The array must have zero-based indexing. The zero-based index in at which copying begins. is a null reference (Nothing in Visual Basic). is less than zero. is equal to or greater than the length of the -or- The number of elements in the source is greater than the available space from to the end of the destination . Attempts to add an object to the . The object to add to the . true if the object was added successfully; otherwise, false. The was invalid for this collection. Attempts to remove and return an object from the . When this method returns, if the object was removed and returned successfully, contains the removed object. If no object was available to be removed, the value is unspecified. true if an object was removed and returned successfully; otherwise, false. Copies the elements contained in the to a new array. A new array containing the elements copied from the . A debugger view of the IProducerConsumerCollection that makes it simple to browse the collection's contents at a point in time. The type of elements stored within. Constructs a new debugger view object for the provided collection object. A collection to browse in the debugger. Returns a snapshot of the underlying collection's elements. Specifies that null is allowed as an input even if the corresponding type disallows it. Specifies that null is disallowed as an input even if the corresponding type allows it. Specifies that an output may be null even if the corresponding type disallows it. Specifies that an output will not be null even if the corresponding type allows it. Specifies that an input argument was not null when the call returns. Specifies that when a method returns , the parameter may be null even if the corresponding type disallows it. Initializes the attribute with the specified return value condition. The return value condition. If the method returns this value, the associated parameter may be null. Gets the return value condition. Specifies that when a method returns , the parameter will not be null even if the corresponding type allows it. Initializes the attribute with the specified return value condition. The return value condition. If the method returns this value, the associated parameter will not be null. Gets the return value condition. Specifies that the output will be non-null if the named parameter is non-null. Initializes the attribute with the associated parameter name. The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null. Gets the associated parameter name. Applied to a method that will never return under any circumstance. Specifies that the method will not return if the associated Boolean parameter is passed the specified value. Initializes the attribute with the specified parameter value. The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to the associated parameter matches this value. Gets the condition parameter value. Compatibility polyfill based on . Provides support for spin-based waiting. encapsulates common spinning logic. On single-processor machines, yields are always used instead of busy waits, and on computers with Intel� processors employing Hyper-Threading� technology, it helps to prevent hardware thread starvation. SpinWait encapsulates a good mixture of spinning and true yielding. is a value type, which means that low-level code can utilize SpinWait without fear of unnecessary allocation overheads. SpinWait is not generally useful for ordinary applications. In most cases, you should use the synchronization classes provided by the .NET Framework, such as . For most purposes where spin waiting is required, however, the type should be preferred over the method. While SpinWait is designed to be used in concurrent applications, it is not designed to be used from multiple threads concurrently. SpinWait's members are not thread-safe. If multiple threads must spin, each should use its own instance of SpinWait. Gets the number of times has been called on this instance. Gets whether the next call to will yield the processor, triggering a forced context switch. Whether the next call to will yield the processor, triggering a forced context switch. On a single-CPU machine, always yields the processor. On machines with multiple CPUs, may yield after an unspecified number of calls. Performs a single spin. This is typically called in a loop, and may change in behavior based on the number of times a has been called thus far on this instance. Resets the spin counter. This makes and behave as though no calls to had been issued on this instance. If a instance is reused many times, it may be useful to reset it to avoid yielding too soon. Spins until the specified condition is satisfied. A delegate to be executed over and over until it returns true. The argument is null. Spins until the specified condition is satisfied or until the specified timeout is expired. A delegate to be executed over and over until it returns true. A that represents the number of milliseconds to wait, or a TimeSpan that represents -1 milliseconds to wait indefinitely. True if the condition is satisfied within the timeout; otherwise, false The argument is null. is a negative number other than -1 milliseconds, which represents an infinite time-out -or- timeout is greater than . Spins until the specified condition is satisfied or until the specified timeout is expired. A delegate to be executed over and over until it returns true. The number of milliseconds to wait, or (-1) to wait indefinitely. True if the condition is satisfied within the timeout; otherwise, false The argument is null. is a negative number other than -1, which represents an infinite time-out. A helper class to get the number of processors, it updates the numbers of processors every sampling interval. Gets the number of available processors Gets whether the current machine has only a single processor. A helper class to capture a start time using Environment.TickCount as a time in milliseconds, also updates a given timeout bu subtracting the current time from the start time Returns the Environment.TickCount as a start time in milliseconds as a uint, TickCount tools over from positive to negative every ~ 25 days then ~25 days to back to positive again, uint is sued to ignore the sign and double the range to 50 days Helper function to measure and update the elapsed time The first time (in milliseconds) observed when the wait started The original wait timeout in milliseconds The new wait time in milliseconds, -1 if the time expired