From 039c975dde6ec0537738c1eebef9699137189cdb Mon Sep 17 00:00:00 2001 From: Michael Ghebremussie <Michael.ghebremussie@student.reutlingen-university.de> Date: Tue, 13 Dec 2022 11:57:42 +0100 Subject: [PATCH] Added NUnit Test --- .../ConsoleApplication1.sln.DotSettings.user | 6 + .../ConsoleApplication1/Test/BufferTest.cs | 46 + .../bin/Debug/nunit.framework.dll | Bin 0 -> 496128 bytes .../bin/Debug/nunit.framework.xml | 21915 ++++++++++++++++ .../ConsoleApplication1.csproj.CopyComplete | 0 Aufgabe3/ConsoleApplication1/packages.config | 4 + Aufgabe3/packages/NUnit.3.13.3/.signature.p7s | Bin 0 -> 9476 bytes Aufgabe3/packages/NUnit.3.13.3/CHANGES.md | 1892 ++ Aufgabe3/packages/NUnit.3.13.3/LICENSE.txt | 20 + Aufgabe3/packages/NUnit.3.13.3/NOTICES.txt | 5 + .../packages/NUnit.3.13.3/NUnit.3.13.3.nupkg | Bin 0 -> 1307336 bytes .../packages/NUnit.3.13.3/build/NUnit.props | 7 + Aufgabe3/packages/NUnit.3.13.3/icon.png | Bin 0 -> 16371 bytes .../lib/net35/nunit.framework.dll | Bin 0 -> 496128 bytes .../lib/net35/nunit.framework.xml | 21915 ++++++++++++++++ .../lib/net40/nunit.framework.dll | Bin 0 -> 488960 bytes .../lib/net40/nunit.framework.xml | 21383 +++++++++++++++ .../lib/net45/nunit.framework.dll | Bin 0 -> 488960 bytes .../lib/net45/nunit.framework.xml | 21330 +++++++++++++++ .../lib/netstandard2.0/nunit.framework.dll | Bin 0 -> 486912 bytes .../lib/netstandard2.0/nunit.framework.xml | 21295 +++++++++++++++ 21 files changed, 109818 insertions(+) create mode 100644 Aufgabe3/ConsoleApplication1.sln.DotSettings.user create mode 100644 Aufgabe3/ConsoleApplication1/Test/BufferTest.cs create mode 100644 Aufgabe3/ConsoleApplication1/bin/Debug/nunit.framework.dll create mode 100644 Aufgabe3/ConsoleApplication1/bin/Debug/nunit.framework.xml create mode 100644 Aufgabe3/ConsoleApplication1/obj/Debug/ConsoleApplication1.csproj.CopyComplete create mode 100644 Aufgabe3/ConsoleApplication1/packages.config create mode 100644 Aufgabe3/packages/NUnit.3.13.3/.signature.p7s create mode 100644 Aufgabe3/packages/NUnit.3.13.3/CHANGES.md create mode 100644 Aufgabe3/packages/NUnit.3.13.3/LICENSE.txt create mode 100644 Aufgabe3/packages/NUnit.3.13.3/NOTICES.txt create mode 100644 Aufgabe3/packages/NUnit.3.13.3/NUnit.3.13.3.nupkg create mode 100644 Aufgabe3/packages/NUnit.3.13.3/build/NUnit.props create mode 100644 Aufgabe3/packages/NUnit.3.13.3/icon.png create mode 100644 Aufgabe3/packages/NUnit.3.13.3/lib/net35/nunit.framework.dll create mode 100644 Aufgabe3/packages/NUnit.3.13.3/lib/net35/nunit.framework.xml create mode 100644 Aufgabe3/packages/NUnit.3.13.3/lib/net40/nunit.framework.dll create mode 100644 Aufgabe3/packages/NUnit.3.13.3/lib/net40/nunit.framework.xml create mode 100644 Aufgabe3/packages/NUnit.3.13.3/lib/net45/nunit.framework.dll create mode 100644 Aufgabe3/packages/NUnit.3.13.3/lib/net45/nunit.framework.xml create mode 100644 Aufgabe3/packages/NUnit.3.13.3/lib/netstandard2.0/nunit.framework.dll create mode 100644 Aufgabe3/packages/NUnit.3.13.3/lib/netstandard2.0/nunit.framework.xml diff --git a/Aufgabe3/ConsoleApplication1.sln.DotSettings.user b/Aufgabe3/ConsoleApplication1.sln.DotSettings.user new file mode 100644 index 0000000..fc61939 --- /dev/null +++ b/Aufgabe3/ConsoleApplication1.sln.DotSettings.user @@ -0,0 +1,6 @@ +<wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation"> + <s:String x:Key="/Default/Environment/UnitTesting/UnitTestSessionStore/Sessions/=f4fc3798_002D1b46_002D48e5_002Db694_002D237672f703ea/@EntryIndexedValue"><SessionState ContinuousTestingMode="0" IsActive="True" Name="PushAndStopIfFull" xmlns="urn:schemas-jetbrains-com:jetbrains-ut-session">
 + <TestAncestor>
 + <TestId>NUnit3x::F452348B-AED0-495C-9FED-657078DBB420::.NETFramework,Version=v3.5::ConsoleApplication1.Test.TestSuccess</TestId>
 + </TestAncestor>
 +</SessionState></s:String></wpf:ResourceDictionary> \ No newline at end of file diff --git a/Aufgabe3/ConsoleApplication1/Test/BufferTest.cs b/Aufgabe3/ConsoleApplication1/Test/BufferTest.cs new file mode 100644 index 0000000..52fff15 --- /dev/null +++ b/Aufgabe3/ConsoleApplication1/Test/BufferTest.cs @@ -0,0 +1,46 @@ +using System; +using System.Collections.Generic; +using System.Threading; +using NUnit.Framework; + +namespace ConsoleApplication1.Test +{ + + [TestFixture] + public class TestSuccess + { + Buffer buffer = new Buffer(); + private int _size = 10; + private Mutex _mutex; + private Queue<Car> _carQueue = new Queue<Car>(); + Car _car; + + [TestCase] + public void PushSuccessful() + { + Buffer buffer = new Buffer(); + for (int i = 0; i < 10 ; i++) + { + buffer.Push(_car); + } + Assert.AreEqual(true,buffer.Full()); + } + + [TestCase] + public void PopSuccessful() + { + for (int i = 0; i <= 9 ; i++) + { + buffer.Push(_car); + } + + for (int i = 0; i <= 9 ; i++) + { + buffer.Pop(); + } + Assert.AreEqual(true,buffer.Empty()); + } + + + } +} \ No newline at end of file diff --git a/Aufgabe3/ConsoleApplication1/bin/Debug/nunit.framework.dll b/Aufgabe3/ConsoleApplication1/bin/Debug/nunit.framework.dll new file mode 100644 index 0000000000000000000000000000000000000000..71db84fb09de4d248c289993539cb49101642095 GIT binary patch literal 496128 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%0A%yeQiFY^yq2 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
Tfafb3vz{*7nK-)y7jOgI;KxzELu9<&TxL0@ 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 QKxrFa9zXc~|D(Wv0f`%M=l}o! literal 0 HcmV?d00001 diff --git a/Aufgabe3/ConsoleApplication1/bin/Debug/nunit.framework.xml b/Aufgabe3/ConsoleApplication1/bin/Debug/nunit.framework.xml new file mode 100644 index 0000000..33aa283 --- /dev/null +++ b/Aufgabe3/ConsoleApplication1/bin/Debug/nunit.framework.xml @@ -0,0 +1,21915 @@ +<?xml version="1.0"?> +<doc> + <assembly> + <name>nunit.framework</name> + </assembly> + <members> + <member name="T:NUnit.Framework.ActionTargets"> + <summary> + The different targets a test action attribute can be applied to + </summary> + </member> + <member name="F:NUnit.Framework.ActionTargets.Default"> + <summary> + Default target, which is determined by where the action attribute is attached + </summary> + </member> + <member name="F:NUnit.Framework.ActionTargets.Test"> + <summary> + Target a individual test case + </summary> + </member> + <member name="F:NUnit.Framework.ActionTargets.Suite"> + <summary> + Target a suite of test cases + </summary> + </member> + <member name="T:NUnit.Framework.Api.DefaultTestAssemblyBuilder"> + <summary> + DefaultTestAssemblyBuilder loads a single assembly and builds a TestSuite + containing test fixtures present in the assembly. + </summary> + </member> + <member name="F:NUnit.Framework.Api.DefaultTestAssemblyBuilder._defaultSuiteBuilder"> + <summary> + The default suite builder used by the test assembly builder. + </summary> + </member> + <member name="M:NUnit.Framework.Api.DefaultTestAssemblyBuilder.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Api.DefaultTestAssemblyBuilder"/> class. + </summary> + </member> + <member name="M:NUnit.Framework.Api.DefaultTestAssemblyBuilder.Build(System.Reflection.Assembly,System.Collections.Generic.IDictionary{System.String,System.Object})"> + <summary> + Build a suite of tests from a provided assembly + </summary> + <param name="assembly">The assembly from which tests are to be built</param> + <param name="options">A dictionary of options to use in building the suite</param> + <returns> + A TestSuite containing the tests found in the assembly + </returns> + </member> + <member name="M:NUnit.Framework.Api.DefaultTestAssemblyBuilder.Build(System.String,System.Collections.Generic.IDictionary{System.String,System.Object})"> + <summary> + Build a suite of tests given the name or the location of an assembly + </summary> + <param name="assemblyNameOrPath">The name or the location of the assembly.</param> + <param name="options">A dictionary of options to use in building the suite</param> + <returns> + A TestSuite containing the tests found in the assembly + </returns> + </member> + <member name="T:NUnit.Framework.Api.FrameworkController"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Api.FrameworkController.#ctor(System.String,System.String,System.Collections.IDictionary)"> + <summary> + Construct a FrameworkController using the default builder and runner. + </summary> + <param name="assemblyNameOrPath">The AssemblyName or path to the test assembly</param> + <param name="idPrefix">A prefix used for all test ids created under this controller.</param> + <param name="settings">A Dictionary of settings to use in loading and running the tests</param> + </member> + <member name="M:NUnit.Framework.Api.FrameworkController.#ctor(System.Reflection.Assembly,System.String,System.Collections.IDictionary)"> + <summary> + Construct a FrameworkController using the default builder and runner. + </summary> + <param name="assembly">The test assembly</param> + <param name="idPrefix">A prefix used for all test ids created under this controller.</param> + <param name="settings">A Dictionary of settings to use in loading and running the tests</param> + </member> + <member name="M:NUnit.Framework.Api.FrameworkController.#ctor(System.String,System.String,System.Collections.IDictionary,System.String,System.String)"> + <summary> + Construct a FrameworkController, specifying the types to be used + for the runner and builder. This constructor is provided for + purposes of development. + </summary> + <param name="assemblyNameOrPath">The full AssemblyName or the path to the test assembly</param> + <param name="idPrefix">A prefix used for all test ids created under this controller.</param> + <param name="settings">A Dictionary of settings to use in loading and running the tests</param> + <param name="runnerType">The Type of the test runner</param> + <param name="builderType">The Type of the test builder</param> + </member> + <member name="M:NUnit.Framework.Api.FrameworkController.#ctor(System.Reflection.Assembly,System.String,System.Collections.IDictionary,System.String,System.String)"> + <summary> + Construct a FrameworkController, specifying the types to be used + for the runner and builder. This constructor is provided for + purposes of development. + </summary> + <param name="assembly">The test assembly</param> + <param name="idPrefix">A prefix used for all test ids created under this controller.</param> + <param name="settings">A Dictionary of settings to use in loading and running the tests</param> + <param name="runnerType">The Type of the test runner</param> + <param name="builderType">The Type of the test builder</param> + </member> + <member name="P:NUnit.Framework.Api.FrameworkController.Builder"> + <summary> + Gets the ITestAssemblyBuilder used by this controller instance. + </summary> + <value>The builder.</value> + </member> + <member name="P:NUnit.Framework.Api.FrameworkController.Runner"> + <summary> + Gets the ITestAssemblyRunner used by this controller instance. + </summary> + <value>The runner.</value> + </member> + <member name="P:NUnit.Framework.Api.FrameworkController.AssemblyNameOrPath"> + <summary> + Gets the AssemblyName or the path for which this FrameworkController was created + </summary> + </member> + <member name="P:NUnit.Framework.Api.FrameworkController.Assembly"> + <summary> + Gets the Assembly for which this + </summary> + </member> + <member name="P:NUnit.Framework.Api.FrameworkController.Settings"> + <summary> + Gets a dictionary of settings for the FrameworkController + </summary> + </member> + <member name="M:NUnit.Framework.Api.FrameworkController.LoadTests"> + <summary> + Loads the tests in the assembly + </summary> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Api.FrameworkController.ExploreTests(System.String)"> + <summary> + Returns info about the tests in an assembly + </summary> + <param name="filter">A string containing the XML representation of the filter to use</param> + <returns>The XML result of exploring the tests</returns> + </member> + <member name="M:NUnit.Framework.Api.FrameworkController.RunTests(System.String)"> + <summary> + Runs the tests in an assembly + </summary> + <param name="filter">A string containing the XML representation of the filter to use</param> + <returns>The XML result of the test run</returns> + </member> + <member name="M:NUnit.Framework.Api.FrameworkController.RunTests(System.Action{System.String},System.String)"> + <summary> + Runs the tests in an assembly synchronously reporting back the test results through the callback + or through the return value + </summary> + <param name="callback">The callback that receives the test results</param> + <param name="filter">A string containing the XML representation of the filter to use</param> + <returns>The XML result of the test run</returns> + </member> + <member name="M:NUnit.Framework.Api.FrameworkController.RunAsync(System.Action{System.String},System.String)"> + <summary> + Runs the tests in an assembly asynchronously reporting back the test results through the callback + </summary> + <param name="callback">The callback that receives the test results</param> + <param name="filter">A string containing the XML representation of the filter to use</param> + </member> + <member name="M:NUnit.Framework.Api.FrameworkController.StopRun(System.Boolean)"> + <summary> + Stops the test run + </summary> + <param name="force">True to force the stop, false for a cooperative stop</param> + </member> + <member name="M:NUnit.Framework.Api.FrameworkController.CountTests(System.String)"> + <summary> + Counts the number of test cases in the loaded TestSuite + </summary> + <param name="filter">A string containing the XML representation of the filter to use</param> + <returns>The number of tests</returns> + </member> + <member name="M:NUnit.Framework.Api.FrameworkController.InsertChildElements(NUnit.Framework.Interfaces.TNode)"> + <summary> + Inserts the environment and settings elements + </summary> + <param name="targetNode">Target node</param> + <returns>The updated target node</returns> + </member> + <member name="M:NUnit.Framework.Api.FrameworkController.InsertEnvironmentElement(NUnit.Framework.Interfaces.TNode)"> + <summary> + Inserts environment element + </summary> + <param name="targetNode">Target node</param> + <returns>The new node</returns> + </member> + <member name="M:NUnit.Framework.Api.FrameworkController.InsertSettingsElement(NUnit.Framework.Interfaces.TNode,System.Collections.Generic.IDictionary{System.String,System.Object})"> + <summary> + Inserts settings element + </summary> + <param name="targetNode">Target node</param> + <param name="settings">Settings dictionary</param> + <returns>The new node</returns> + </member> + <member name="T:NUnit.Framework.Api.FrameworkController.FrameworkControllerAction"> + <summary> + FrameworkControllerAction is the base class for all actions + performed against a FrameworkController. + </summary> + </member> + <member name="T:NUnit.Framework.Api.FrameworkController.LoadTestsAction"> + <summary> + LoadTestsAction loads a test into the FrameworkController + </summary> + </member> + <member name="M:NUnit.Framework.Api.FrameworkController.LoadTestsAction.#ctor(NUnit.Framework.Api.FrameworkController,System.Object)"> + <summary> + LoadTestsAction loads the tests in an assembly. + </summary> + <param name="controller">The controller.</param> + <param name="handler">The callback handler.</param> + </member> + <member name="T:NUnit.Framework.Api.FrameworkController.ExploreTestsAction"> + <summary> + ExploreTestsAction returns info about the tests in an assembly + </summary> + </member> + <member name="M:NUnit.Framework.Api.FrameworkController.ExploreTestsAction.#ctor(NUnit.Framework.Api.FrameworkController,System.String,System.Object)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Api.FrameworkController.ExploreTestsAction"/> class. + </summary> + <param name="controller">The controller for which this action is being performed.</param> + <param name="filter">Filter used to control which tests are included (NYI)</param> + <param name="handler">The callback handler.</param> + </member> + <member name="T:NUnit.Framework.Api.FrameworkController.CountTestsAction"> + <summary> + CountTestsAction counts the number of test cases in the loaded TestSuite + held by the FrameworkController. + </summary> + </member> + <member name="M:NUnit.Framework.Api.FrameworkController.CountTestsAction.#ctor(NUnit.Framework.Api.FrameworkController,System.String,System.Object)"> + <summary> + Construct a CountsTestAction and perform the count of test cases. + </summary> + <param name="controller">A FrameworkController holding the TestSuite whose cases are to be counted</param> + <param name="filter">A string containing the XML representation of the filter to use</param> + <param name="handler">A callback handler used to report results</param> + </member> + <member name="T:NUnit.Framework.Api.FrameworkController.RunTestsAction"> + <summary> + RunTestsAction runs the loaded TestSuite held by the FrameworkController. + </summary> + </member> + <member name="M:NUnit.Framework.Api.FrameworkController.RunTestsAction.#ctor(NUnit.Framework.Api.FrameworkController,System.String,System.Object)"> + <summary> + Construct a RunTestsAction and run all tests in the loaded TestSuite. + </summary> + <param name="controller">A FrameworkController holding the TestSuite to run</param> + <param name="filter">A string containing the XML representation of the filter to use</param> + <param name="handler">A callback handler used to report results</param> + </member> + <member name="T:NUnit.Framework.Api.FrameworkController.RunAsyncAction"> + <summary> + RunAsyncAction initiates an asynchronous test run, returning immediately + </summary> + </member> + <member name="M:NUnit.Framework.Api.FrameworkController.RunAsyncAction.#ctor(NUnit.Framework.Api.FrameworkController,System.String,System.Object)"> + <summary> + Construct a RunAsyncAction and run all tests in the loaded TestSuite. + </summary> + <param name="controller">A FrameworkController holding the TestSuite to run</param> + <param name="filter">A string containing the XML representation of the filter to use</param> + <param name="handler">A callback handler used to report results</param> + </member> + <member name="T:NUnit.Framework.Api.FrameworkController.StopRunAction"> + <summary> + StopRunAction stops an ongoing run. + </summary> + </member> + <member name="M:NUnit.Framework.Api.FrameworkController.StopRunAction.#ctor(NUnit.Framework.Api.FrameworkController,System.Boolean,System.Object)"> + <summary> + Construct a StopRunAction and stop any ongoing run. If no + run is in process, no error is raised. + </summary> + <param name="controller">The FrameworkController for which a run is to be stopped.</param> + <param name="force">True the stop should be forced, false for a cooperative stop.</param> + <param name="handler">>A callback handler used to report results</param> + <remarks>A forced stop will cause threads and processes to be killed as needed.</remarks> + </member> + <member name="T:NUnit.Framework.Api.ITestAssemblyBuilder"> + <summary> + The ITestAssemblyBuilder interface is implemented by a class + that is able to build a suite of tests given an assembly or + an assembly filename. + </summary> + </member> + <member name="M:NUnit.Framework.Api.ITestAssemblyBuilder.Build(System.Reflection.Assembly,System.Collections.Generic.IDictionary{System.String,System.Object})"> + <summary> + Build a suite of tests from a provided assembly + </summary> + <param name="assembly">The assembly from which tests are to be built</param> + <param name="options">A dictionary of options to use in building the suite</param> + <returns>A TestSuite containing the tests found in the assembly</returns> + </member> + <member name="M:NUnit.Framework.Api.ITestAssemblyBuilder.Build(System.String,System.Collections.Generic.IDictionary{System.String,System.Object})"> + <summary> + Build a suite of tests given the filename of an assembly + </summary> + <param name="assemblyName">The filename of the assembly from which tests are to be built</param> + <param name="options">A dictionary of options to use in building the suite</param> + <returns>A TestSuite containing the tests found in the assembly</returns> + </member> + <member name="T:NUnit.Framework.Api.ITestAssemblyRunner"> + <summary> + The ITestAssemblyRunner interface is implemented by classes + that are able to execute a suite of tests loaded + from an assembly. + </summary> + </member> + <member name="P:NUnit.Framework.Api.ITestAssemblyRunner.LoadedTest"> + <summary> + Gets the tree of loaded tests, or null if + no tests have been loaded. + </summary> + </member> + <member name="P:NUnit.Framework.Api.ITestAssemblyRunner.Result"> + <summary> + Gets the tree of test results, if the test + run is completed, otherwise null. + </summary> + </member> + <member name="P:NUnit.Framework.Api.ITestAssemblyRunner.IsTestLoaded"> + <summary> + Indicates whether a test has been loaded + </summary> + </member> + <member name="P:NUnit.Framework.Api.ITestAssemblyRunner.IsTestRunning"> + <summary> + Indicates whether a test is currently running + </summary> + </member> + <member name="P:NUnit.Framework.Api.ITestAssemblyRunner.IsTestComplete"> + <summary> + Indicates whether a test run is complete + </summary> + </member> + <member name="M:NUnit.Framework.Api.ITestAssemblyRunner.Load(System.String,System.Collections.Generic.IDictionary{System.String,System.Object})"> + <summary> + Loads the tests found in an Assembly, returning an + indication of whether or not the load succeeded. + </summary> + <param name="assemblyName">File name of the assembly to load</param> + <param name="settings">Dictionary of options to use in loading the test</param> + <returns>An ITest representing the loaded tests</returns> + </member> + <member name="M:NUnit.Framework.Api.ITestAssemblyRunner.Load(System.Reflection.Assembly,System.Collections.Generic.IDictionary{System.String,System.Object})"> + <summary> + Loads the tests found in an Assembly, returning an + indication of whether or not the load succeeded. + </summary> + <param name="assembly">The assembly to load</param> + <param name="settings">Dictionary of options to use in loading the test</param> + <returns>An ITest representing the loaded tests</returns> + </member> + <member name="M:NUnit.Framework.Api.ITestAssemblyRunner.CountTestCases(NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Count Test Cases using a filter + </summary> + <param name="filter">The filter to apply</param> + <returns>The number of test cases found</returns> + </member> + <member name="M:NUnit.Framework.Api.ITestAssemblyRunner.ExploreTests(NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Explore the test cases using a filter + </summary> + <param name="filter">The filter to apply</param> + <returns>Test Assembly with test cases that matches the filter</returns> + </member> + <member name="M:NUnit.Framework.Api.ITestAssemblyRunner.Run(NUnit.Framework.Interfaces.ITestListener,NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Run selected tests and return a test result. The test is run synchronously, + and the listener interface is notified as it progresses. + </summary> + <param name="listener">Interface to receive ITestListener notifications.</param> + <param name="filter">A test filter used to select tests to be run</param> + </member> + <member name="M:NUnit.Framework.Api.ITestAssemblyRunner.RunAsync(NUnit.Framework.Interfaces.ITestListener,NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Run selected tests asynchronously, notifying the listener interface as it progresses. + </summary> + <param name="listener">Interface to receive EventListener notifications.</param> + <param name="filter">A test filter used to select tests to be run</param> + </member> + <member name="M:NUnit.Framework.Api.ITestAssemblyRunner.WaitForCompletion(System.Int32)"> + <summary> + Wait for the ongoing run to complete. + </summary> + <param name="timeout">Time to wait in milliseconds</param> + <returns>True if the run completed, otherwise false</returns> + </member> + <member name="M:NUnit.Framework.Api.ITestAssemblyRunner.StopRun(System.Boolean)"> + <summary> + Signal any test run that is in process to stop. Return without error if no test is running. + </summary> + <param name="force">If true, kill any test-running threads</param> + </member> + <member name="T:NUnit.Framework.Api.NUnitTestAssemblyRunner"> + <summary> + Implementation of ITestAssemblyRunner + </summary> + </member> + <member name="M:NUnit.Framework.Api.NUnitTestAssemblyRunner.#ctor(NUnit.Framework.Api.ITestAssemblyBuilder)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Api.NUnitTestAssemblyRunner"/> class. + </summary> + <param name="builder">The builder.</param> + </member> + <member name="P:NUnit.Framework.Api.NUnitTestAssemblyRunner.DefaultLevelOfParallelism"> + <summary> + Gets the default level of parallel execution (worker threads) + </summary> + </member> + <member name="P:NUnit.Framework.Api.NUnitTestAssemblyRunner.LoadedTest"> + <summary> + The tree of tests that was loaded by the builder + </summary> + </member> + <member name="P:NUnit.Framework.Api.NUnitTestAssemblyRunner.Result"> + <summary> + The test result, if a run has completed + </summary> + </member> + <member name="P:NUnit.Framework.Api.NUnitTestAssemblyRunner.IsTestLoaded"> + <summary> + Indicates whether a test is loaded + </summary> + </member> + <member name="P:NUnit.Framework.Api.NUnitTestAssemblyRunner.IsTestRunning"> + <summary> + Indicates whether a test is running + </summary> + </member> + <member name="P:NUnit.Framework.Api.NUnitTestAssemblyRunner.IsTestComplete"> + <summary> + Indicates whether a test run is complete + </summary> + </member> + <member name="P:NUnit.Framework.Api.NUnitTestAssemblyRunner.Settings"> + <summary> + Our settings, specified when loading the assembly + </summary> + </member> + <member name="P:NUnit.Framework.Api.NUnitTestAssemblyRunner.TopLevelWorkItem"> + <summary> + The top level WorkItem created for the assembly as a whole + </summary> + </member> + <member name="P:NUnit.Framework.Api.NUnitTestAssemblyRunner.Context"> + <summary> + The TestExecutionContext for the top level WorkItem + </summary> + </member> + <member name="M:NUnit.Framework.Api.NUnitTestAssemblyRunner.Load(System.String,System.Collections.Generic.IDictionary{System.String,System.Object})"> + <summary> + Loads the tests found in an Assembly + </summary> + <param name="assemblyNameOrPath">File name or path of the assembly to load</param> + <param name="settings">Dictionary of option settings for loading the assembly</param> + <returns>A Test Assembly containing all loaded tests</returns> + </member> + <member name="M:NUnit.Framework.Api.NUnitTestAssemblyRunner.Load(System.Reflection.Assembly,System.Collections.Generic.IDictionary{System.String,System.Object})"> + <summary> + Loads the tests found in an Assembly + </summary> + <param name="assembly">The assembly to load</param> + <param name="settings">Dictionary of option settings for loading the assembly</param> + <returns>A Test Assembly containing all loaded tests</returns> + </member> + <member name="M:NUnit.Framework.Api.NUnitTestAssemblyRunner.CountTestCases(NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Count Test Cases using a filter + </summary> + <param name="filter">The filter to apply</param> + <returns>The number of test cases found</returns> + </member> + <member name="M:NUnit.Framework.Api.NUnitTestAssemblyRunner.ExploreTests(NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Explore the test cases using a filter + </summary> + <param name="filter">The filter to apply</param> + <returns>Test Assembly with test cases that matches the filter</returns> + </member> + <member name="M:NUnit.Framework.Api.NUnitTestAssemblyRunner.Run(NUnit.Framework.Interfaces.ITestListener,NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Run selected tests and return a test result. The test is run synchronously, + and the listener interface is notified as it progresses. + </summary> + <param name="listener">Interface to receive EventListener notifications.</param> + <param name="filter">A test filter used to select tests to be run</param> + <returns>The test results from the run</returns> + </member> + <member name="M:NUnit.Framework.Api.NUnitTestAssemblyRunner.RunAsync(NUnit.Framework.Interfaces.ITestListener,NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Run selected tests asynchronously, notifying the listener interface as it progresses. + </summary> + <param name="listener">Interface to receive EventListener notifications.</param> + <param name="filter">A test filter used to select tests to be run</param> + <remarks> + RunAsync is a template method, calling various abstract and + virtual methods to be overridden by derived classes. + </remarks> + </member> + <member name="M:NUnit.Framework.Api.NUnitTestAssemblyRunner.WaitForCompletion(System.Int32)"> + <summary> + Wait for the ongoing run to complete. + </summary> + <param name="timeout">Time to wait in milliseconds</param> + <returns>True if the run completed, otherwise false</returns> + </member> + <member name="M:NUnit.Framework.Api.NUnitTestAssemblyRunner.StopRun(System.Boolean)"> + <summary> + Signal any test run that is in process to stop. Return without error if no test is running. + </summary> + <param name="force">If true, kill any tests that are currently running</param> + </member> + <member name="M:NUnit.Framework.Api.NUnitTestAssemblyRunner.StartRun(NUnit.Framework.Interfaces.ITestListener)"> + <summary> + Initiate the test run. + </summary> + </member> + <member name="M:NUnit.Framework.Api.NUnitTestAssemblyRunner.CreateTestExecutionContext(NUnit.Framework.Interfaces.ITestListener)"> + <summary> + Create the initial TestExecutionContext used to run tests + </summary> + <param name="listener">The ITestListener specified in the RunAsync call</param> + </member> + <member name="M:NUnit.Framework.Api.NUnitTestAssemblyRunner.OnRunCompleted(System.Object,System.EventArgs)"> + <summary> + Handle the Completed event for the top level work item + </summary> + </member> + <member name="M:NUnit.Framework.Api.NUnitTestAssemblyRunner.WrapInNUnitCallContext(System.Action)"> + <summary> + Executes the action within an <see cref="T:NUnit.Framework.Internal.NUnitCallContext" /> + which ensures the <see cref="T:System.Runtime.Remoting.Messaging.CallContext"/> is cleaned up + suitably at the end of the test run. This method only has an effect running + the full .NET Framework. + </summary> + </member> + <member name="T:NUnit.Framework.Assert"> + <summary> + The Assert class contains a collection of static methods that + implement the most common assertions used in NUnit. + </summary> + <summary> + The Assert class contains a collection of static methods that + implement the most common assertions used in NUnit. + </summary> + </member> + <member name="M:NUnit.Framework.Assert.Greater(System.Int32,System.Int32,System.String,System.Object[])"> + <summary> + Verifies that the first int is greater than the second + int. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Greater(System.Int32,System.Int32)"> + <summary> + Verifies that the first int is greater than the second + int. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + </member> + <member name="M:NUnit.Framework.Assert.Greater(System.UInt32,System.UInt32,System.String,System.Object[])"> + <summary> + Verifies that the first value is greater than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Greater(System.UInt32,System.UInt32)"> + <summary> + Verifies that the first value is greater than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + </member> + <member name="M:NUnit.Framework.Assert.Greater(System.Int64,System.Int64,System.String,System.Object[])"> + <summary> + Verifies that the first value is greater than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Greater(System.Int64,System.Int64)"> + <summary> + Verifies that the first value is greater than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + </member> + <member name="M:NUnit.Framework.Assert.Greater(System.UInt64,System.UInt64,System.String,System.Object[])"> + <summary> + Verifies that the first value is greater than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Greater(System.UInt64,System.UInt64)"> + <summary> + Verifies that the first value is greater than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + </member> + <member name="M:NUnit.Framework.Assert.Greater(System.Decimal,System.Decimal,System.String,System.Object[])"> + <summary> + Verifies that the first value is greater than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Greater(System.Decimal,System.Decimal)"> + <summary> + Verifies that the first value is greater than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + </member> + <member name="M:NUnit.Framework.Assert.Greater(System.Double,System.Double,System.String,System.Object[])"> + <summary> + Verifies that the first value is greater than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Greater(System.Double,System.Double)"> + <summary> + Verifies that the first value is greater than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + </member> + <member name="M:NUnit.Framework.Assert.Greater(System.Single,System.Single,System.String,System.Object[])"> + <summary> + Verifies that the first value is greater than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Greater(System.Single,System.Single)"> + <summary> + Verifies that the first value is greater than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + </member> + <member name="M:NUnit.Framework.Assert.Greater(System.IComparable,System.IComparable,System.String,System.Object[])"> + <summary> + Verifies that the first value is greater than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Greater(System.IComparable,System.IComparable)"> + <summary> + Verifies that the first value is greater than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + </member> + <member name="M:NUnit.Framework.Assert.Less(System.Int32,System.Int32,System.String,System.Object[])"> + <summary> + Verifies that the first value is less than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Less(System.Int32,System.Int32)"> + <summary> + Verifies that the first value is less than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + </member> + <member name="M:NUnit.Framework.Assert.Less(System.UInt32,System.UInt32,System.String,System.Object[])"> + <summary> + Verifies that the first value is less than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Less(System.UInt32,System.UInt32)"> + <summary> + Verifies that the first value is less than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + </member> + <member name="M:NUnit.Framework.Assert.Less(System.Int64,System.Int64,System.String,System.Object[])"> + <summary> + Verifies that the first value is less than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Less(System.Int64,System.Int64)"> + <summary> + Verifies that the first value is less than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + </member> + <member name="M:NUnit.Framework.Assert.Less(System.UInt64,System.UInt64,System.String,System.Object[])"> + <summary> + Verifies that the first value is less than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Less(System.UInt64,System.UInt64)"> + <summary> + Verifies that the first value is less than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + </member> + <member name="M:NUnit.Framework.Assert.Less(System.Decimal,System.Decimal,System.String,System.Object[])"> + <summary> + Verifies that the first value is less than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Less(System.Decimal,System.Decimal)"> + <summary> + Verifies that the first value is less than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + </member> + <member name="M:NUnit.Framework.Assert.Less(System.Double,System.Double,System.String,System.Object[])"> + <summary> + Verifies that the first value is less than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Less(System.Double,System.Double)"> + <summary> + Verifies that the first value is less than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + </member> + <member name="M:NUnit.Framework.Assert.Less(System.Single,System.Single,System.String,System.Object[])"> + <summary> + Verifies that the first value is less than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Less(System.Single,System.Single)"> + <summary> + Verifies that the first value is less than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + </member> + <member name="M:NUnit.Framework.Assert.Less(System.IComparable,System.IComparable,System.String,System.Object[])"> + <summary> + Verifies that the first value is less than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Less(System.IComparable,System.IComparable)"> + <summary> + Verifies that the first value is less than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + </member> + <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.Int32,System.Int32,System.String,System.Object[])"> + <summary> + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.Int32,System.Int32)"> + <summary> + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + </member> + <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.UInt32,System.UInt32,System.String,System.Object[])"> + <summary> + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.UInt32,System.UInt32)"> + <summary> + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + </member> + <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.Int64,System.Int64,System.String,System.Object[])"> + <summary> + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.Int64,System.Int64)"> + <summary> + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + </member> + <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.UInt64,System.UInt64,System.String,System.Object[])"> + <summary> + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.UInt64,System.UInt64)"> + <summary> + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + </member> + <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.Decimal,System.Decimal,System.String,System.Object[])"> + <summary> + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.Decimal,System.Decimal)"> + <summary> + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + </member> + <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.Double,System.Double,System.String,System.Object[])"> + <summary> + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.Double,System.Double)"> + <summary> + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + </member> + <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.Single,System.Single,System.String,System.Object[])"> + <summary> + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.Single,System.Single)"> + <summary> + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + </member> + <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.IComparable,System.IComparable,System.String,System.Object[])"> + <summary> + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.IComparable,System.IComparable)"> + <summary> + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + </member> + <member name="M:NUnit.Framework.Assert.LessOrEqual(System.Int32,System.Int32,System.String,System.Object[])"> + <summary> + Verifies that the first value is less than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.LessOrEqual(System.Int32,System.Int32)"> + <summary> + Verifies that the first value is less than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + </member> + <member name="M:NUnit.Framework.Assert.LessOrEqual(System.UInt32,System.UInt32,System.String,System.Object[])"> + <summary> + Verifies that the first value is less than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.LessOrEqual(System.UInt32,System.UInt32)"> + <summary> + Verifies that the first value is less than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + </member> + <member name="M:NUnit.Framework.Assert.LessOrEqual(System.Int64,System.Int64,System.String,System.Object[])"> + <summary> + Verifies that the first value is less than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.LessOrEqual(System.Int64,System.Int64)"> + <summary> + Verifies that the first value is less than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + </member> + <member name="M:NUnit.Framework.Assert.LessOrEqual(System.UInt64,System.UInt64,System.String,System.Object[])"> + <summary> + Verifies that the first value is less than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.LessOrEqual(System.UInt64,System.UInt64)"> + <summary> + Verifies that the first value is less than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + </member> + <member name="M:NUnit.Framework.Assert.LessOrEqual(System.Decimal,System.Decimal,System.String,System.Object[])"> + <summary> + Verifies that the first value is less than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.LessOrEqual(System.Decimal,System.Decimal)"> + <summary> + Verifies that the first value is less than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + </member> + <member name="M:NUnit.Framework.Assert.LessOrEqual(System.Double,System.Double,System.String,System.Object[])"> + <summary> + Verifies that the first value is less than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.LessOrEqual(System.Double,System.Double)"> + <summary> + Verifies that the first value is less than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + </member> + <member name="M:NUnit.Framework.Assert.LessOrEqual(System.Single,System.Single,System.String,System.Object[])"> + <summary> + Verifies that the first value is less than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.LessOrEqual(System.Single,System.Single)"> + <summary> + Verifies that the first value is less than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + </member> + <member name="M:NUnit.Framework.Assert.LessOrEqual(System.IComparable,System.IComparable,System.String,System.Object[])"> + <summary> + Verifies that the first value is less than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.LessOrEqual(System.IComparable,System.IComparable)"> + <summary> + Verifies that the first value is less than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + </member> + <member name="M:NUnit.Framework.Assert.True(System.Nullable{System.Boolean},System.String,System.Object[])"> + <summary> + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="condition">The evaluated condition</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.True(System.Boolean,System.String,System.Object[])"> + <summary> + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="condition">The evaluated condition</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.True(System.Nullable{System.Boolean})"> + <summary> + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="condition">The evaluated condition</param> + </member> + <member name="M:NUnit.Framework.Assert.True(System.Boolean)"> + <summary> + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="condition">The evaluated condition</param> + </member> + <member name="M:NUnit.Framework.Assert.IsTrue(System.Nullable{System.Boolean},System.String,System.Object[])"> + <summary> + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="condition">The evaluated condition</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsTrue(System.Boolean,System.String,System.Object[])"> + <summary> + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="condition">The evaluated condition</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsTrue(System.Nullable{System.Boolean})"> + <summary> + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="condition">The evaluated condition</param> + </member> + <member name="M:NUnit.Framework.Assert.IsTrue(System.Boolean)"> + <summary> + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="condition">The evaluated condition</param> + </member> + <member name="M:NUnit.Framework.Assert.False(System.Nullable{System.Boolean},System.String,System.Object[])"> + <summary> + Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <param name="condition">The evaluated condition</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.False(System.Boolean,System.String,System.Object[])"> + <summary> + Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <param name="condition">The evaluated condition</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.False(System.Nullable{System.Boolean})"> + <summary> + Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="condition">The evaluated condition</param> + </member> + <member name="M:NUnit.Framework.Assert.False(System.Boolean)"> + <summary> + Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <param name="condition">The evaluated condition</param> + </member> + <member name="M:NUnit.Framework.Assert.IsFalse(System.Nullable{System.Boolean},System.String,System.Object[])"> + <summary> + Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <param name="condition">The evaluated condition</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsFalse(System.Boolean,System.String,System.Object[])"> + <summary> + Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <param name="condition">The evaluated condition</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsFalse(System.Nullable{System.Boolean})"> + <summary> + Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <param name="condition">The evaluated condition</param> + </member> + <member name="M:NUnit.Framework.Assert.IsFalse(System.Boolean)"> + <summary> + Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <param name="condition">The evaluated condition</param> + </member> + <member name="M:NUnit.Framework.Assert.NotNull(System.Object,System.String,System.Object[])"> + <summary> + Verifies that the object that is passed in is not equal to <see langword="null"/>. Returns without throwing an + exception when inside a multiple assert block. + </summary> + <param name="anObject">The object that is to be tested</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.NotNull(System.Object)"> + <summary> + Verifies that the object that is passed in is not equal to <see langword="null"/>. Returns without throwing an + exception when inside a multiple assert block. + </summary> + <param name="anObject">The object that is to be tested</param> + </member> + <member name="M:NUnit.Framework.Assert.IsNotNull(System.Object,System.String,System.Object[])"> + <summary> + Verifies that the object that is passed in is not equal to <see langword="null"/>. Returns without throwing an + exception when inside a multiple assert block. + </summary> + <param name="anObject">The object that is to be tested</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsNotNull(System.Object)"> + <summary> + Verifies that the object that is passed in is not equal to <see langword="null"/>. Returns without throwing an + exception when inside a multiple assert block. + </summary> + <param name="anObject">The object that is to be tested</param> + </member> + <member name="M:NUnit.Framework.Assert.Null(System.Object,System.String,System.Object[])"> + <summary> + Verifies that the object that is passed in is equal to <see langword="null"/>. Returns without throwing an + exception when inside a multiple assert block. + </summary> + <param name="anObject">The object that is to be tested</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Null(System.Object)"> + <summary> + Verifies that the object that is passed in is equal to <see langword="null"/>. Returns without throwing an + exception when inside a multiple assert block. + </summary> + <param name="anObject">The object that is to be tested</param> + </member> + <member name="M:NUnit.Framework.Assert.IsNull(System.Object,System.String,System.Object[])"> + <summary> + Verifies that the object that is passed in is equal to <see langword="null"/>. Returns without throwing an + exception when inside a multiple assert block. + </summary> + <param name="anObject">The object that is to be tested</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsNull(System.Object)"> + <summary> + Verifies that the object that is passed in is equal to <see langword="null"/>. Returns without throwing an + exception when inside a multiple assert block. + </summary> + <param name="anObject">The object that is to be tested</param> + </member> + <member name="M:NUnit.Framework.Assert.IsNaN(System.Double,System.String,System.Object[])"> + <summary> + Verifies that the double that is passed in is an <c>NaN</c>. Returns without throwing an + exception when inside a multiple assert block. + </summary> + <param name="aDouble">The value that is to be tested</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsNaN(System.Double)"> + <summary> + Verifies that the double that is passed in is an <c>NaN</c> value. Returns without throwing an + exception when inside a multiple assert block. + </summary> + <param name="aDouble">The value that is to be tested</param> + </member> + <member name="M:NUnit.Framework.Assert.IsNaN(System.Nullable{System.Double},System.String,System.Object[])"> + <summary> + Verifies that the double that is passed in is an <c>NaN</c> value. Returns without throwing an + exception when inside a multiple assert block. + </summary> + <param name="aDouble">The value that is to be tested</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsNaN(System.Nullable{System.Double})"> + <summary> + Verifies that the double that is passed in is an <c>NaN</c> value. Returns without throwing an + exception when inside a multiple assert block. + </summary> + <param name="aDouble">The value that is to be tested</param> + </member> + <member name="M:NUnit.Framework.Assert.IsEmpty(System.String,System.String,System.Object[])"> + <summary> + Assert that a string is empty. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="aString">The string to be tested</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsEmpty(System.String)"> + <summary> + Assert that a string is empty. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="aString">The string to be tested</param> + </member> + <member name="M:NUnit.Framework.Assert.IsEmpty(System.Collections.IEnumerable,System.String,System.Object[])"> + <summary> + Assert that an array, list or other collection is empty. Returns without throwing an exception when inside a + multiple assert block. + </summary> + <param name="collection">An array, list or other collection implementing ICollection</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsEmpty(System.Collections.IEnumerable)"> + <summary> + Assert that an array, list or other collection is empty. Returns without throwing an exception when inside a + multiple assert block. + </summary> + <param name="collection">An array, list or other collection implementing ICollection</param> + </member> + <member name="M:NUnit.Framework.Assert.IsNotEmpty(System.String,System.String,System.Object[])"> + <summary> + Assert that a string is not empty. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <param name="aString">The string to be tested</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsNotEmpty(System.String)"> + <summary> + Assert that a string is not empty. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <param name="aString">The string to be tested</param> + </member> + <member name="M:NUnit.Framework.Assert.IsNotEmpty(System.Collections.IEnumerable,System.String,System.Object[])"> + <summary> + Assert that an array, list or other collection is not empty. Returns without throwing an exception when + inside a multiple assert block. + </summary> + <param name="collection">An array, list or other collection implementing ICollection</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsNotEmpty(System.Collections.IEnumerable)"> + <summary> + Assert that an array, list or other collection is not empty. Returns without throwing an exception when + inside a multiple assert block. + </summary> + <param name="collection">An array, list or other collection implementing ICollection</param> + </member> + <member name="M:NUnit.Framework.Assert.Zero(System.Int32)"> + <summary> + Asserts that an int is zero. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Zero(System.Int32,System.String,System.Object[])"> + <summary> + Asserts that an int is zero. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Zero(System.UInt32)"> + <summary> + Asserts that an unsigned int is zero. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Zero(System.UInt32,System.String,System.Object[])"> + <summary> + Asserts that an unsigned int is zero. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Zero(System.Int64)"> + <summary> + Asserts that a Long is zero. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Zero(System.Int64,System.String,System.Object[])"> + <summary> + Asserts that a Long is zero. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Zero(System.UInt64)"> + <summary> + Asserts that an unsigned Long is zero. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Zero(System.UInt64,System.String,System.Object[])"> + <summary> + Asserts that an unsigned Long is zero. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Zero(System.Decimal)"> + <summary> + Asserts that a decimal is zero. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Zero(System.Decimal,System.String,System.Object[])"> + <summary> + Asserts that a decimal is zero. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Zero(System.Double)"> + <summary> + Asserts that a double is zero. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Zero(System.Double,System.String,System.Object[])"> + <summary> + Asserts that a double is zero. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Zero(System.Single)"> + <summary> + Asserts that a float is zero. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Zero(System.Single,System.String,System.Object[])"> + <summary> + Asserts that a float is zero. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.NotZero(System.Int32)"> + <summary> + Asserts that an int is not zero. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.NotZero(System.Int32,System.String,System.Object[])"> + <summary> + Asserts that an int is not zero. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.NotZero(System.UInt32)"> + <summary> + Asserts that an unsigned int is not zero. Returns without throwing an exception when inside a multiple + assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.NotZero(System.UInt32,System.String,System.Object[])"> + <summary> + Asserts that an unsigned int is not zero. Returns without throwing an exception when inside a multiple + assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.NotZero(System.Int64)"> + <summary> + Asserts that a Long is not zero. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.NotZero(System.Int64,System.String,System.Object[])"> + <summary> + Asserts that a Long is not zero. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.NotZero(System.UInt64)"> + <summary> + Asserts that an unsigned Long is not zero. Returns without throwing an exception when inside a multiple + assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.NotZero(System.UInt64,System.String,System.Object[])"> + <summary> + Asserts that an unsigned Long is not zero. Returns without throwing an exception when inside a multiple + assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.NotZero(System.Decimal)"> + <summary> + Asserts that a decimal is zero. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.NotZero(System.Decimal,System.String,System.Object[])"> + <summary> + Asserts that a decimal is zero. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.NotZero(System.Double)"> + <summary> + Asserts that a double is zero. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.NotZero(System.Double,System.String,System.Object[])"> + <summary> + Asserts that a double is zero. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.NotZero(System.Single)"> + <summary> + Asserts that a float is zero. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.NotZero(System.Single,System.String,System.Object[])"> + <summary> + Asserts that a float is zero. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Positive(System.Int32)"> + <summary> + Asserts that an int is positive. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Positive(System.Int32,System.String,System.Object[])"> + <summary> + Asserts that an int is positive. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Positive(System.UInt32)"> + <summary> + Asserts that an unsigned int is positive. Returns without throwing an exception when inside a multiple + assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Positive(System.UInt32,System.String,System.Object[])"> + <summary> + Asserts that an unsigned int is positive. Returns without throwing an exception when inside a multiple + assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Positive(System.Int64)"> + <summary> + Asserts that a Long is positive. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Positive(System.Int64,System.String,System.Object[])"> + <summary> + Asserts that a Long is positive. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Positive(System.UInt64)"> + <summary> + Asserts that an unsigned Long is positive. Returns without throwing an exception when inside a multiple + assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Positive(System.UInt64,System.String,System.Object[])"> + <summary> + Asserts that an unsigned Long is positive. Returns without throwing an exception when inside a multiple + assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Positive(System.Decimal)"> + <summary> + Asserts that a decimal is positive. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Positive(System.Decimal,System.String,System.Object[])"> + <summary> + Asserts that a decimal is positive. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Positive(System.Double)"> + <summary> + Asserts that a double is positive. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Positive(System.Double,System.String,System.Object[])"> + <summary> + Asserts that a double is positive. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Positive(System.Single)"> + <summary> + Asserts that a float is positive. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Positive(System.Single,System.String,System.Object[])"> + <summary> + Asserts that a float is positive. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Negative(System.Int32)"> + <summary> + Asserts that an int is negative. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Negative(System.Int32,System.String,System.Object[])"> + <summary> + Asserts that an int is negative. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Negative(System.UInt32)"> + <summary> + Asserts that an unsigned int is negative. Returns without throwing an exception when inside a multiple + assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Negative(System.UInt32,System.String,System.Object[])"> + <summary> + Asserts that an unsigned int is negative. Returns without throwing an exception when inside a multiple + assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Negative(System.Int64)"> + <summary> + Asserts that a Long is negative. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Negative(System.Int64,System.String,System.Object[])"> + <summary> + Asserts that a Long is negative. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Negative(System.UInt64)"> + <summary> + Asserts that an unsigned Long is negative. Returns without throwing an exception when inside a multiple + assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Negative(System.UInt64,System.String,System.Object[])"> + <summary> + Asserts that an unsigned Long is negative. Returns without throwing an exception when inside a multiple + assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Negative(System.Decimal)"> + <summary> + Asserts that a decimal is negative. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Negative(System.Decimal,System.String,System.Object[])"> + <summary> + Asserts that a decimal is negative. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Negative(System.Double)"> + <summary> + Asserts that a double is negative. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Negative(System.Double,System.String,System.Object[])"> + <summary> + Asserts that a double is negative. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Negative(System.Single)"> + <summary> + Asserts that a float is negative. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Negative(System.Single,System.String,System.Object[])"> + <summary> + Asserts that a float is negative. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Equals(System.Object,System.Object)"> + <summary> + 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. + </summary> + <param name="a"></param> + <param name="b"></param> + </member> + <member name="M:NUnit.Framework.Assert.ReferenceEquals(System.Object,System.Object)"> + <summary> + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + </summary> + <param name="a"></param> + <param name="b"></param> + </member> + <member name="M:NUnit.Framework.Assert.Pass(System.String,System.Object[])"> + <summary> + Throws a <see cref="T:NUnit.Framework.SuccessException"/> 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. + </summary> + <param name="message">The message to initialize the <see cref="T:NUnit.Framework.AssertionException"/> with.</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Pass(System.String)"> + <summary> + Throws a <see cref="T:NUnit.Framework.SuccessException"/> 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. + </summary> + <param name="message">The message to initialize the <see cref="T:NUnit.Framework.AssertionException"/> with.</param> + </member> + <member name="M:NUnit.Framework.Assert.Pass"> + <summary> + Throws a <see cref="T:NUnit.Framework.SuccessException"/> 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. + </summary> + </member> + <member name="M:NUnit.Framework.Assert.Fail(System.String,System.Object[])"> + <summary> + 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. + </summary> + <param name="message">The message to initialize the <see cref="T:NUnit.Framework.AssertionException"/> with.</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Fail(System.String)"> + <summary> + Marks the test as failed with the message that is passed in. Returns without throwing an exception when + inside a multiple assert block. + </summary> + <param name="message">The message to initialize the <see cref="T:NUnit.Framework.AssertionException"/> with.</param> + </member> + <member name="M:NUnit.Framework.Assert.Fail"> + <summary> + Marks the test as failed. Returns without throwing an exception when inside a multiple assert block. + </summary> + </member> + <member name="M:NUnit.Framework.Assert.Warn(System.String,System.Object[])"> + <summary> + Issues a warning using the message and arguments provided. + </summary> + <param name="message">The message to display.</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Warn(System.String)"> + <summary> + Issues a warning using the message provided. + </summary> + <param name="message">The message to display.</param> + </member> + <member name="M:NUnit.Framework.Assert.Ignore(System.String,System.Object[])"> + <summary> + Throws an <see cref="T:NUnit.Framework.IgnoreException"/> with the message and arguments + that are passed in. This causes the test to be reported as ignored. + </summary> + <param name="message">The message to initialize the <see cref="T:NUnit.Framework.AssertionException"/> with.</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Ignore(System.String)"> + <summary> + Throws an <see cref="T:NUnit.Framework.IgnoreException"/> with the message that is + passed in. This causes the test to be reported as ignored. + </summary> + <param name="message">The message to initialize the <see cref="T:NUnit.Framework.AssertionException"/> with.</param> + </member> + <member name="M:NUnit.Framework.Assert.Ignore"> + <summary> + Throws an <see cref="T:NUnit.Framework.IgnoreException"/>. + This causes the test to be reported as ignored. + </summary> + </member> + <member name="M:NUnit.Framework.Assert.Inconclusive(System.String,System.Object[])"> + <summary> + Throws an <see cref="T:NUnit.Framework.InconclusiveException"/> with the message and arguments + that are passed in. This causes the test to be reported as inconclusive. + </summary> + <param name="message">The message to initialize the <see cref="T:NUnit.Framework.InconclusiveException"/> with.</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Inconclusive(System.String)"> + <summary> + Throws an <see cref="T:NUnit.Framework.InconclusiveException"/> with the message that is + passed in. This causes the test to be reported as inconclusive. + </summary> + <param name="message">The message to initialize the <see cref="T:NUnit.Framework.InconclusiveException"/> with.</param> + </member> + <member name="M:NUnit.Framework.Assert.Inconclusive"> + <summary> + Throws an <see cref="T:NUnit.Framework.InconclusiveException"/>. + This causes the test to be reported as Inconclusive. + </summary> + </member> + <member name="M:NUnit.Framework.Assert.Contains(System.Object,System.Collections.ICollection,System.String,System.Object[])"> + <summary> + Asserts that an object is contained in a collection. Returns without throwing an exception when inside a + multiple assert block. + </summary> + <param name="expected">The expected object</param> + <param name="actual">The collection to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Contains(System.Object,System.Collections.ICollection)"> + <summary> + Asserts that an object is contained in a collection. Returns without throwing an exception when inside a + multiple assert block. + </summary> + <param name="expected">The expected object</param> + <param name="actual">The collection to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Multiple(NUnit.Framework.TestDelegate)"> + <summary> + 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. + </summary> + <param name="testDelegate">A TestDelegate to be executed in Multiple Assertion mode.</param> + </member> + <member name="M:NUnit.Framework.Assert.GetEnvironmentStackTraceWithoutThrowing"> + <summary> + If <see cref="P:System.Exception.StackTrace"/> throws, returns "SomeException was thrown by the + Environment.StackTrace property." See also <see cref="M:NUnit.Framework.ExceptionExtensions.GetStackTraceWithoutThrowing(System.Exception)"/>. + </summary> + </member> + <member name="M:NUnit.Framework.Assert.AreEqual(System.Double,System.Double,System.Double,System.String,System.Object[])"> + <summary> + 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. + </summary> + <param name="expected">The expected value</param> + <param name="actual">The actual value</param> + <param name="delta">The maximum acceptable difference between the the expected and the actual</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.AreEqual(System.Double,System.Double,System.Double)"> + <summary> + 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. + </summary> + <param name="expected">The expected value</param> + <param name="actual">The actual value</param> + <param name="delta">The maximum acceptable difference between the the expected and the actual</param> + </member> + <member name="M:NUnit.Framework.Assert.AreEqual(System.Double,System.Nullable{System.Double},System.Double,System.String,System.Object[])"> + <summary> + 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. + </summary> + <param name="expected">The expected value</param> + <param name="actual">The actual value</param> + <param name="delta">The maximum acceptable difference between the the expected and the actual</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.AreEqual(System.Double,System.Nullable{System.Double},System.Double)"> + <summary> + 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. + </summary> + <param name="expected">The expected value</param> + <param name="actual">The actual value</param> + <param name="delta">The maximum acceptable difference between the the expected and the actual</param> + </member> + <member name="M:NUnit.Framework.Assert.AreEqual(System.Object,System.Object,System.String,System.Object[])"> + <summary> + 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. + </summary> + <param name="expected">The value that is expected</param> + <param name="actual">The actual value</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.AreEqual(System.Object,System.Object)"> + <summary> + 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. + </summary> + <param name="expected">The value that is expected</param> + <param name="actual">The actual value</param> + </member> + <member name="M:NUnit.Framework.Assert.AreNotEqual(System.Object,System.Object,System.String,System.Object[])"> + <summary> + 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. + </summary> + <param name="expected">The value that is expected</param> + <param name="actual">The actual value</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.AreNotEqual(System.Object,System.Object)"> + <summary> + 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. + </summary> + <param name="expected">The value that is expected</param> + <param name="actual">The actual value</param> + </member> + <member name="M:NUnit.Framework.Assert.AreSame(System.Object,System.Object,System.String,System.Object[])"> + <summary> + Asserts that two objects refer to the same object. Returns without throwing an exception when inside a + multiple assert block. + </summary> + <param name="expected">The expected object</param> + <param name="actual">The actual object</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.AreSame(System.Object,System.Object)"> + <summary> + Asserts that two objects refer to the same object. Returns without throwing an exception when inside a + multiple assert block. + </summary> + <param name="expected">The expected object</param> + <param name="actual">The actual object</param> + </member> + <member name="M:NUnit.Framework.Assert.AreNotSame(System.Object,System.Object,System.String,System.Object[])"> + <summary> + Asserts that two objects do not refer to the same object. Returns without throwing an exception when inside + a multiple assert block. + </summary> + <param name="expected">The expected object</param> + <param name="actual">The actual object</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.AreNotSame(System.Object,System.Object)"> + <summary> + Asserts that two objects do not refer to the same object. Returns without throwing an exception when inside + a multiple assert block. + </summary> + <param name="expected">The expected object</param> + <param name="actual">The actual object</param> + </member> + <member name="M:NUnit.Framework.Assert.AssertDoublesAreEqual(System.Double,System.Double,System.Double,System.String,System.Object[])"> + <summary> + Helper for Assert.AreEqual(double expected, double actual, ...) + allowing code generation to work consistently. + </summary> + <param name="expected">The expected value</param> + <param name="actual">The actual value</param> + <param name="delta">The maximum acceptable difference between the + the expected and the actual</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Throws(NUnit.Framework.Constraints.IResolveConstraint,NUnit.Framework.TestDelegate,System.String,System.Object[])"> + <summary> + Verifies that a delegate throws a particular exception when called. The returned exception may be <see + langword="null"/> when inside a multiple assert block. + </summary> + <param name="expression">A constraint to be satisfied by the exception</param> + <param name="code">A TestSnippet delegate</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Throws(NUnit.Framework.Constraints.IResolveConstraint,NUnit.Framework.TestDelegate)"> + <summary> + Verifies that a delegate throws a particular exception when called. The returned exception may be <see + langword="null"/> when inside a multiple assert block. + </summary> + <param name="expression">A constraint to be satisfied by the exception</param> + <param name="code">A TestSnippet delegate</param> + </member> + <member name="M:NUnit.Framework.Assert.Throws(System.Type,NUnit.Framework.TestDelegate,System.String,System.Object[])"> + <summary> + Verifies that a delegate throws a particular exception when called. The returned exception may be <see + langword="null"/> when inside a multiple assert block. + </summary> + <param name="expectedExceptionType">The exception Type expected</param> + <param name="code">A TestDelegate</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Throws(System.Type,NUnit.Framework.TestDelegate)"> + <summary> + Verifies that a delegate throws a particular exception when called. The returned exception may be <see + langword="null"/> when inside a multiple assert block. + </summary> + <param name="expectedExceptionType">The exception Type expected</param> + <param name="code">A TestDelegate</param> + </member> + <member name="M:NUnit.Framework.Assert.Throws``1(NUnit.Framework.TestDelegate,System.String,System.Object[])"> + <summary> + Verifies that a delegate throws a particular exception when called. The returned exception may be <see + langword="null"/> when inside a multiple assert block. + </summary> + <typeparam name="TActual">Type of the expected exception</typeparam> + <param name="code">A TestDelegate</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Throws``1(NUnit.Framework.TestDelegate)"> + <summary> + Verifies that a delegate throws a particular exception when called. The returned exception may be <see + langword="null"/> when inside a multiple assert block. + </summary> + <typeparam name="TActual">Type of the expected exception</typeparam> + <param name="code">A TestDelegate</param> + </member> + <member name="M:NUnit.Framework.Assert.Catch(NUnit.Framework.TestDelegate,System.String,System.Object[])"> + <summary> + Verifies that a delegate throws an exception when called and returns it. The returned exception may be <see + langword="null"/> when inside a multiple assert block. + </summary> + <param name="code">A TestDelegate</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Catch(NUnit.Framework.TestDelegate)"> + <summary> + Verifies that a delegate throws an exception when called and returns it. The returned exception may be <see + langword="null"/> when inside a multiple assert block. + </summary> + <param name="code">A TestDelegate</param> + </member> + <member name="M:NUnit.Framework.Assert.Catch(System.Type,NUnit.Framework.TestDelegate,System.String,System.Object[])"> + <summary> + 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 <see langword="null"/> when inside a multiple assert block. + </summary> + <param name="expectedExceptionType">The expected Exception Type</param> + <param name="code">A TestDelegate</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Catch(System.Type,NUnit.Framework.TestDelegate)"> + <summary> + 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 <see langword="null"/> when inside a multiple assert block. + </summary> + <param name="expectedExceptionType">The expected Exception Type</param> + <param name="code">A TestDelegate</param> + </member> + <member name="M:NUnit.Framework.Assert.Catch``1(NUnit.Framework.TestDelegate,System.String,System.Object[])"> + <summary> + 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 <see langword="null"/> when inside a multiple assert block. + </summary> + <param name="code">A TestDelegate</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Catch``1(NUnit.Framework.TestDelegate)"> + <summary> + 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 <see langword="null"/> when inside a multiple assert block. + </summary> + <param name="code">A TestDelegate</param> + </member> + <member name="M:NUnit.Framework.Assert.DoesNotThrow(NUnit.Framework.TestDelegate,System.String,System.Object[])"> + <summary> + Verifies that a delegate does not throw an exception + </summary> + <param name="code">A TestDelegate</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.DoesNotThrow(NUnit.Framework.TestDelegate)"> + <summary> + Verifies that a delegate does not throw an exception. + </summary> + <param name="code">A TestDelegate</param> + </member> + <member name="M:NUnit.Framework.Assert.That(System.Boolean,System.String,System.Object[])"> + <summary> + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="condition">The evaluated condition</param> + <param name="message">The message to display if the condition is false</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.That(System.Boolean)"> + <summary> + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="condition">The evaluated condition</param> + </member> + <member name="M:NUnit.Framework.Assert.That(System.Boolean,System.Func{System.String})"> + <summary> + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="condition">The evaluated condition</param> + <param name="getExceptionMessage">A function to build the message included with the Exception</param> + </member> + <member name="M:NUnit.Framework.Assert.That(System.Func{System.Boolean},System.String,System.Object[])"> + <summary> + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="condition">A lambda that returns a Boolean</param> + <param name="message">The message to display if the condition is false</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.That(System.Func{System.Boolean})"> + <summary> + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="condition">A lambda that returns a Boolean</param> + </member> + <member name="M:NUnit.Framework.Assert.That(System.Func{System.Boolean},System.Func{System.String})"> + <summary> + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="condition">A lambda that returns a Boolean</param> + <param name="getExceptionMessage">A function to build the message included with the Exception</param> + </member> + <member name="M:NUnit.Framework.Assert.That``1(NUnit.Framework.Constraints.ActualValueDelegate{``0},NUnit.Framework.Constraints.IResolveConstraint)"> + <summary> + Apply a constraint to a delegate. Returns without throwing an exception when inside a multiple assert block. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="del">An ActualValueDelegate returning the value to be tested</param> + <param name="expr">A Constraint expression to be applied</param> + </member> + <member name="M:NUnit.Framework.Assert.That``1(NUnit.Framework.Constraints.ActualValueDelegate{``0},NUnit.Framework.Constraints.IResolveConstraint,System.String,System.Object[])"> + <summary> + Apply a constraint to a delegate. Returns without throwing an exception when inside a multiple assert block. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="del">An ActualValueDelegate returning the value to be tested</param> + <param name="expr">A Constraint expression to be applied</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.That``1(NUnit.Framework.Constraints.ActualValueDelegate{``0},NUnit.Framework.Constraints.IResolveConstraint,System.Func{System.String})"> + <summary> + Apply a constraint to a delegate. Returns without throwing an exception when inside a multiple assert block. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="del">An ActualValueDelegate returning the value to be tested</param> + <param name="expr">A Constraint expression to be applied</param> + <param name="getExceptionMessage">A function to build the message included with the Exception</param> + </member> + <member name="M:NUnit.Framework.Assert.That(NUnit.Framework.TestDelegate,NUnit.Framework.Constraints.IResolveConstraint)"> + <summary> + Apply a constraint to a delegate. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="code">A TestDelegate to be executed</param> + <param name="constraint">A Constraint expression to be applied</param> + </member> + <member name="M:NUnit.Framework.Assert.That(NUnit.Framework.TestDelegate,NUnit.Framework.Constraints.IResolveConstraint,System.String,System.Object[])"> + <summary> + Apply a constraint to a delegate. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="code">A TestDelegate to be executed</param> + <param name="constraint">A Constraint expression to be applied</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.That(NUnit.Framework.TestDelegate,NUnit.Framework.Constraints.IResolveConstraint,System.Func{System.String})"> + <summary> + Apply a constraint to a delegate. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="code">A TestDelegate to be executed</param> + <param name="constraint">A Constraint expression to be applied</param> + <param name="getExceptionMessage">A function to build the message included with the Exception</param> + </member> + <member name="M:NUnit.Framework.Assert.That``1(``0,NUnit.Framework.Constraints.IResolveConstraint)"> + <summary> + Apply a constraint to an actual value. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="actual">The actual value to test</param> + <param name="expression">A Constraint expression to be applied</param> + </member> + <member name="M:NUnit.Framework.Assert.That``1(``0,NUnit.Framework.Constraints.IResolveConstraint,System.String,System.Object[])"> + <summary> + Apply a constraint to an actual value. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="actual">The actual value to test</param> + <param name="expression">A Constraint expression to be applied</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.That``1(``0,NUnit.Framework.Constraints.IResolveConstraint,System.Func{System.String})"> + <summary> + Apply a constraint to an actual value. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="actual">The actual value to test</param> + <param name="expression">A Constraint expression to be applied</param> + <param name="getExceptionMessage">A function to build the message included with the Exception</param> + </member> + <member name="M:NUnit.Framework.Assert.ByVal(System.Object,NUnit.Framework.Constraints.IResolveConstraint)"> + <summary> + 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. + </summary> + <param name="actual">The actual value to test</param> + <param name="expression">A Constraint expression to be applied</param> + </member> + <member name="M:NUnit.Framework.Assert.ByVal(System.Object,NUnit.Framework.Constraints.IResolveConstraint,System.String,System.Object[])"> + <summary> + 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. + </summary> + <remarks> + This method is provided for use by VB developers needing to test the value of properties with private + setters. + </remarks> + <param name="actual">The actual value to test</param> + <param name="expression">A Constraint expression to be applied</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsAssignableFrom(System.Type,System.Object,System.String,System.Object[])"> + <summary> + Asserts that an object may be assigned a value of a given Type. Returns without throwing an exception when + inside a multiple assert block. + </summary> + <param name="expected">The expected Type.</param> + <param name="actual">The object under examination</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsAssignableFrom(System.Type,System.Object)"> + <summary> + Asserts that an object may be assigned a value of a given Type. Returns without throwing an exception when + inside a multiple assert block. + </summary> + <param name="expected">The expected Type.</param> + <param name="actual">The object under examination</param> + </member> + <member name="M:NUnit.Framework.Assert.IsAssignableFrom``1(System.Object,System.String,System.Object[])"> + <summary> + Asserts that an object may be assigned a value of a given Type. Returns without throwing an exception when + inside a multiple assert block. + </summary> + <typeparam name="TExpected">The expected Type.</typeparam> + <param name="actual">The object under examination</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsAssignableFrom``1(System.Object)"> + <summary> + Asserts that an object may be assigned a value of a given Type. Returns without throwing an exception when + inside a multiple assert block. + </summary> + <typeparam name="TExpected">The expected Type.</typeparam> + <param name="actual">The object under examination</param> + </member> + <member name="M:NUnit.Framework.Assert.IsNotAssignableFrom(System.Type,System.Object,System.String,System.Object[])"> + <summary> + 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. + </summary> + <param name="expected">The expected Type.</param> + <param name="actual">The object under examination</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsNotAssignableFrom(System.Type,System.Object)"> + <summary> + 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. + </summary> + <param name="expected">The expected Type.</param> + <param name="actual">The object under examination</param> + </member> + <member name="M:NUnit.Framework.Assert.IsNotAssignableFrom``1(System.Object,System.String,System.Object[])"> + <summary> + 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. + </summary> + <typeparam name="TExpected">The expected Type.</typeparam> + <param name="actual">The object under examination</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsNotAssignableFrom``1(System.Object)"> + <summary> + 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. + </summary> + <typeparam name="TExpected">The expected Type.</typeparam> + <param name="actual">The object under examination</param> + </member> + <member name="M:NUnit.Framework.Assert.IsInstanceOf(System.Type,System.Object,System.String,System.Object[])"> + <summary> + Asserts that an object is an instance of a given type. Returns without throwing an exception when inside a + multiple assert block. + </summary> + <param name="expected">The expected Type</param> + <param name="actual">The object being examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsInstanceOf(System.Type,System.Object)"> + <summary> + Asserts that an object is an instance of a given type. Returns without throwing an exception when inside a + multiple assert block. + </summary> + <param name="expected">The expected Type</param> + <param name="actual">The object being examined</param> + </member> + <member name="M:NUnit.Framework.Assert.IsInstanceOf``1(System.Object,System.String,System.Object[])"> + <summary> + Asserts that an object is an instance of a given type. Returns without throwing an exception when inside a + multiple assert block. + </summary> + <typeparam name="TExpected">The expected Type</typeparam> + <param name="actual">The object being examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsInstanceOf``1(System.Object)"> + <summary> + Asserts that an object is an instance of a given type. Returns without throwing an exception when inside a + multiple assert block. + </summary> + <typeparam name="TExpected">The expected Type</typeparam> + <param name="actual">The object being examined</param> + </member> + <member name="M:NUnit.Framework.Assert.IsNotInstanceOf(System.Type,System.Object,System.String,System.Object[])"> + <summary> + Asserts that an object is not an instance of a given type. Returns without throwing an exception when inside + a multiple assert block. + </summary> + <param name="expected">The expected Type</param> + <param name="actual">The object being examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsNotInstanceOf(System.Type,System.Object)"> + <summary> + Asserts that an object is not an instance of a given type. Returns without throwing an exception when inside + a multiple assert block. + </summary> + <param name="expected">The expected Type</param> + <param name="actual">The object being examined</param> + </member> + <member name="M:NUnit.Framework.Assert.IsNotInstanceOf``1(System.Object,System.String,System.Object[])"> + <summary> + Asserts that an object is not an instance of a given type. Returns without throwing an exception when inside + a multiple assert block. + </summary> + <typeparam name="TExpected">The expected Type</typeparam> + <param name="actual">The object being examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsNotInstanceOf``1(System.Object)"> + <summary> + Asserts that an object is not an instance of a given type. Returns without throwing an exception when inside + a multiple assert block. + </summary> + <typeparam name="TExpected">The expected Type</typeparam> + <param name="actual">The object being examined</param> + </member> + <member name="T:NUnit.Framework.TestDelegate"> + <summary> + Delegate used by tests that execute code and + capture any thrown exception. + </summary> + </member> + <member name="T:NUnit.Framework.AssertionHelper"> + <summary> + AssertionHelper is an optional base class for user tests, + allowing the use of shorter names in making asserts. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.Expect(System.Boolean,System.String,System.Object[])"> + <summary> + Asserts that a condition is true. If the condition is false the method throws + an <see cref="T:NUnit.Framework.AssertionException"/>. Works Identically to + <see cref="M:NUnit.Framework.Assert.That(System.Boolean,System.String,System.Object[])"/>. + </summary> + <param name="condition">The evaluated condition</param> + <param name="message">The message to display if the condition is false</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.AssertionHelper.Expect(System.Boolean)"> + <summary> + Asserts that a condition is true. If the condition is false the method throws + an <see cref="T:NUnit.Framework.AssertionException"/>. Works Identically to <see cref="M:NUnit.Framework.Assert.That(System.Boolean)"/>. + </summary> + <param name="condition">The evaluated condition</param> + </member> + <member name="M:NUnit.Framework.AssertionHelper.Expect``1(NUnit.Framework.Constraints.ActualValueDelegate{``0},NUnit.Framework.Constraints.IResolveConstraint)"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + </summary> + <param name="expr">A Constraint expression to be applied</param> + <param name="del">An ActualValueDelegate returning the value to be tested</param> + </member> + <member name="M:NUnit.Framework.AssertionHelper.Expect``1(NUnit.Framework.Constraints.ActualValueDelegate{``0},NUnit.Framework.Constraints.IResolveConstraint,System.String,System.Object[])"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + </summary> + <param name="del">An ActualValueDelegate returning the value to be tested</param> + <param name="expr">A Constraint expression to be applied</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.AssertionHelper.Expect(NUnit.Framework.TestDelegate,NUnit.Framework.Constraints.IResolveConstraint)"> + <summary> + Asserts that the code represented by a delegate throws an exception + that satisfies the constraint provided. + </summary> + <param name="code">A TestDelegate to be executed</param> + <param name="constraint">A Constraint expression to be applied</param> + </member> + <member name="M:NUnit.Framework.AssertionHelper.Expect``1(``0,NUnit.Framework.Constraints.IResolveConstraint)"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + </summary> + <param name="expression">A Constraint expression to be applied</param> + <param name="actual">The actual value to test</param> + </member> + <member name="M:NUnit.Framework.AssertionHelper.Expect``1(``0,NUnit.Framework.Constraints.IResolveConstraint,System.String,System.Object[])"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + </summary> + <param name="expression">A Constraint expression to be applied</param> + <param name="actual">The actual value to test</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.AssertionHelper.Map(System.Collections.ICollection)"> + <summary> + Returns a ListMapper based on a collection. + </summary> + <param name="original">The original collection</param> + </member> + <member name="P:NUnit.Framework.AssertionHelper.Not"> + <summary> + Returns a ConstraintExpression that negates any + following constraint. + </summary> + </member> + <member name="P:NUnit.Framework.AssertionHelper.No"> + <summary> + Returns a ConstraintExpression that negates any + following constraint. + </summary> + </member> + <member name="P:NUnit.Framework.AssertionHelper.All"> + <summary> + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + </summary> + </member> + <member name="P:NUnit.Framework.AssertionHelper.Some"> + <summary> + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if at least one of them succeeds. + </summary> + </member> + <member name="P:NUnit.Framework.AssertionHelper.None"> + <summary> + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them fail. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.Exactly(System.Int32)"> + <summary> + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding only if a specified number of them succeed. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.Property(System.String)"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.AssertionHelper.Length"> + <summary> + Returns a new ConstraintExpression, which will apply the following + constraint to the Length property of the object being tested. + </summary> + </member> + <member name="P:NUnit.Framework.AssertionHelper.Count"> + <summary> + Returns a new ConstraintExpression, which will apply the following + constraint to the Count property of the object being tested. + </summary> + </member> + <member name="P:NUnit.Framework.AssertionHelper.Message"> + <summary> + Returns a new ConstraintExpression, which will apply the following + constraint to the Message property of the object being tested. + </summary> + </member> + <member name="P:NUnit.Framework.AssertionHelper.InnerException"> + <summary> + Returns a new ConstraintExpression, which will apply the following + constraint to the InnerException property of the object being tested. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.Attribute(System.Type)"> + <summary> + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.Attribute``1"> + <summary> + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + </summary> + </member> + <member name="P:NUnit.Framework.AssertionHelper.Null"> + <summary> + Returns a constraint that tests for null + </summary> + </member> + <member name="P:NUnit.Framework.AssertionHelper.True"> + <summary> + Returns a constraint that tests for True + </summary> + </member> + <member name="P:NUnit.Framework.AssertionHelper.False"> + <summary> + Returns a constraint that tests for False + </summary> + </member> + <member name="P:NUnit.Framework.AssertionHelper.Positive"> + <summary> + Returns a constraint that tests for a positive value + </summary> + </member> + <member name="P:NUnit.Framework.AssertionHelper.Negative"> + <summary> + Returns a constraint that tests for a negative value + </summary> + </member> + <member name="P:NUnit.Framework.AssertionHelper.Zero"> + <summary> + Returns a constraint that tests for equality with zero + </summary> + </member> + <member name="P:NUnit.Framework.AssertionHelper.NaN"> + <summary> + Returns a constraint that tests for NaN + </summary> + </member> + <member name="P:NUnit.Framework.AssertionHelper.Empty"> + <summary> + Returns a constraint that tests for empty + </summary> + </member> + <member name="P:NUnit.Framework.AssertionHelper.Unique"> + <summary> + Returns a constraint that tests whether a collection + contains all unique items. + </summary> + </member> + <member name="P:NUnit.Framework.AssertionHelper.BinarySerializable"> + <summary> + Returns a constraint that tests whether an object graph is serializable in binary format. + </summary> + </member> + <member name="P:NUnit.Framework.AssertionHelper.XmlSerializable"> + <summary> + Returns a constraint that tests whether an object graph is serializable in XML format. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.EqualTo(System.Object)"> + <summary> + Returns a constraint that tests two items for equality + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.SameAs(System.Object)"> + <summary> + Returns a constraint that tests that two references are the same object + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.GreaterThan(System.Object)"> + <summary> + Returns a constraint that tests whether the + actual value is greater than the supplied argument + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.GreaterThanOrEqualTo(System.Object)"> + <summary> + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.AtLeast(System.Object)"> + <summary> + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.LessThan(System.Object)"> + <summary> + Returns a constraint that tests whether the + actual value is less than the supplied argument + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.LessThanOrEqualTo(System.Object)"> + <summary> + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.AtMost(System.Object)"> + <summary> + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.TypeOf(System.Type)"> + <summary> + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.TypeOf``1"> + <summary> + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.InstanceOf(System.Type)"> + <summary> + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.InstanceOf``1"> + <summary> + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.AssignableFrom(System.Type)"> + <summary> + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.AssignableFrom``1"> + <summary> + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.AssignableTo(System.Type)"> + <summary> + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.AssignableTo``1"> + <summary> + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.EquivalentTo(System.Collections.IEnumerable)"> + <summary> + Returns a constraint that tests whether the actual value + is a collection containing the same elements as the + collection supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.SubsetOf(System.Collections.IEnumerable)"> + <summary> + Returns a constraint that tests whether the actual value + is a subset of the collection supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.SupersetOf(System.Collections.IEnumerable)"> + <summary> + Returns a constraint that tests whether the actual value + is a superset of the collection supplied as an argument. + </summary> + </member> + <member name="P:NUnit.Framework.AssertionHelper.Ordered"> + <summary> + Returns a constraint that tests whether a collection is ordered + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.Member(System.Object)"> + <summary> + Returns a new <see cref="T:NUnit.Framework.Constraints.SomeItemsConstraint"/> checking for the + presence of a particular object in the collection. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.Contains(System.Object)"> + <summary> + <para> + Returns a new <see cref="T:NUnit.Framework.Constraints.SomeItemsConstraint"/> checking for the + presence of a particular object in the collection. + </para> + <para> + To search for a substring instead of a collection element, use the + <see cref="M:NUnit.Framework.AssertionHelper.Contains(System.String)"/> overload. + </para> + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.Contains(System.String)"> + <summary> + <para> + 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. + </para> + <para> + To search for a collection element instead of a substring, use the + <see cref="M:NUnit.Framework.AssertionHelper.Contains(System.Object)"/> overload. + </para> + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.StringContaining(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.ContainsSubstring(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.DoesNotContain(System.String)"> + <summary> + Returns a constraint that fails if the actual + value contains the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.StartWith(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.StartsWith(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.StringStarting(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.DoesNotStartWith(System.String)"> + <summary> + Returns a constraint that fails if the actual + value starts with the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.EndWith(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.EndsWith(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.StringEnding(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.DoesNotEndWith(System.String)"> + <summary> + Returns a constraint that fails if the actual + value ends with the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.Match(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.Matches(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.StringMatching(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.DoesNotMatch(System.String)"> + <summary> + Returns a constraint that fails if the actual + value matches the pattern supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.SamePath(System.String)"> + <summary> + Returns a constraint that tests whether the path provided + is the same as an expected path after canonicalization. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.SubPathOf(System.String)"> + <summary> + Returns a constraint that tests whether the path provided + is a subpath of the expected path after canonicalization. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.SamePathOrUnder(System.String)"> + <summary> + Returns a constraint that tests whether the path provided + is the same path or under an expected path after canonicalization. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.InRange(System.Object,System.Object)"> + <summary> + Returns a constraint that tests whether the actual value falls + within a specified range. + </summary> + </member> + <member name="T:NUnit.Framework.Assume"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Assume.Equals(System.Object,System.Object)"> + <summary> + DO NOT USE! + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + </summary> + <param name="a">The left object.</param> + <param name="b">The right object.</param> + <returns>Not applicable</returns> + </member> + <member name="M:NUnit.Framework.Assume.ReferenceEquals(System.Object,System.Object)"> + <summary> + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + </summary> + <param name="a">The left object.</param> + <param name="b">The right object.</param> + </member> + <member name="M:NUnit.Framework.Assume.That``1(NUnit.Framework.Constraints.ActualValueDelegate{``0},NUnit.Framework.Constraints.IResolveConstraint)"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="del">An ActualValueDelegate returning the value to be tested</param> + <param name="expr">A Constraint expression to be applied</param> + </member> + <member name="M:NUnit.Framework.Assume.That``1(NUnit.Framework.Constraints.ActualValueDelegate{``0},NUnit.Framework.Constraints.IResolveConstraint,System.String,System.Object[])"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="del">An ActualValueDelegate returning the value to be tested</param> + <param name="expr">A Constraint expression to be applied</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assume.That``1(NUnit.Framework.Constraints.ActualValueDelegate{``0},NUnit.Framework.Constraints.IResolveConstraint,System.Func{System.String})"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="del">An ActualValueDelegate returning the value to be tested</param> + <param name="expr">A Constraint expression to be applied</param> + <param name="getExceptionMessage">A function to build the message included with the Exception</param> + </member> + <member name="M:NUnit.Framework.Assume.That(System.Boolean,System.String,System.Object[])"> + <summary> + Asserts that a condition is true. If the condition is false, the method throws + an <see cref="T:NUnit.Framework.InconclusiveException"/>. + </summary> + <param name="condition">The evaluated condition</param> + <param name="message">The message to display if the condition is false</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assume.That(System.Boolean)"> + <summary> + Asserts that a condition is true. If the condition is false, the + method throws an <see cref="T:NUnit.Framework.InconclusiveException"/>. + </summary> + <param name="condition">The evaluated condition</param> + </member> + <member name="M:NUnit.Framework.Assume.That(System.Boolean,System.Func{System.String})"> + <summary> + Asserts that a condition is true. If the condition is false, the method throws + an <see cref="T:NUnit.Framework.InconclusiveException"/>. + </summary> + <param name="condition">The evaluated condition</param> + <param name="getExceptionMessage">A function to build the message included with the Exception</param> + </member> + <member name="M:NUnit.Framework.Assume.That(System.Func{System.Boolean},System.String,System.Object[])"> + <summary> + Asserts that a condition is true. If the condition is false, the method throws + an <see cref="T:NUnit.Framework.InconclusiveException"/>. + </summary> + <param name="condition">A lambda that returns a Boolean</param> + <param name="message">The message to display if the condition is false</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assume.That(System.Func{System.Boolean})"> + <summary> + Asserts that a condition is true. If the condition is false, the method throws + an <see cref="T:NUnit.Framework.InconclusiveException"/>. + </summary> + <param name="condition">A lambda that returns a Boolean</param> + </member> + <member name="M:NUnit.Framework.Assume.That(System.Func{System.Boolean},System.Func{System.String})"> + <summary> + Asserts that a condition is true. If the condition is false, the method throws + an <see cref="T:NUnit.Framework.InconclusiveException"/>. + </summary> + <param name="condition">A lambda that returns a Boolean</param> + <param name="getExceptionMessage">A function to build the message included with the Exception</param> + </member> + <member name="M:NUnit.Framework.Assume.That(NUnit.Framework.TestDelegate,NUnit.Framework.Constraints.IResolveConstraint)"> + <summary> + Asserts that the code represented by a delegate throws an exception + that satisfies the constraint provided. + </summary> + <param name="code">A TestDelegate to be executed</param> + <param name="constraint">A ThrowsConstraint used in the test</param> + </member> + <member name="M:NUnit.Framework.Assume.That``1(``0,NUnit.Framework.Constraints.IResolveConstraint)"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="actual">The actual value to test</param> + <param name="expression">A Constraint expression to be applied</param> + </member> + <member name="M:NUnit.Framework.Assume.That``1(``0,NUnit.Framework.Constraints.IResolveConstraint,System.String,System.Object[])"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="actual">The actual value to test</param> + <param name="expression">A Constraint expression to be applied</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assume.That``1(``0,NUnit.Framework.Constraints.IResolveConstraint,System.Func{System.String})"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="actual">The actual value to test</param> + <param name="expression">A Constraint expression to be applied</param> + <param name="getExceptionMessage">A function to build the message included with the Exception</param> + </member> + <member name="T:NUnit.Framework.ApartmentAttribute"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.ApartmentAttribute.#ctor(System.Threading.ApartmentState)"> + <summary> + Construct an ApartmentAttribute + </summary> + <param name="apartmentState">The apartment state that this test must be run under. You must pass in a valid apartment state.</param> + </member> + <member name="T:NUnit.Framework.AuthorAttribute"> + <summary> + Provides the author of a test or test fixture. + </summary> + </member> + <member name="M:NUnit.Framework.AuthorAttribute.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.AuthorAttribute"/> class. + </summary> + <param name="name">The name of the author.</param> + </member> + <member name="M:NUnit.Framework.AuthorAttribute.#ctor(System.String,System.String)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.AuthorAttribute"/> class. + </summary> + <param name="name">The name of the author.</param> + <param name="email">The email address of the author.</param> + </member> + <member name="T:NUnit.Framework.CategoryAttribute"> + <summary> + Applies a category to a test + </summary> + </member> + <member name="F:NUnit.Framework.CategoryAttribute.categoryName"> + <summary> + The name of the category + </summary> + </member> + <member name="M:NUnit.Framework.CategoryAttribute.#ctor(System.String)"> + <summary> + 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. + </summary> + <param name="name">The name of the category</param> + </member> + <member name="M:NUnit.Framework.CategoryAttribute.#ctor"> + <summary> + Protected constructor uses the Type name as the name + of the category. + </summary> + </member> + <member name="P:NUnit.Framework.CategoryAttribute.Name"> + <summary> + The name of the category + </summary> + </member> + <member name="M:NUnit.Framework.CategoryAttribute.ApplyToTest(NUnit.Framework.Internal.Test)"> + <summary> + Modifies a test by adding a category to it. + </summary> + <param name="test">The test to modify</param> + </member> + <member name="T:NUnit.Framework.CombinatorialAttribute"> + <summary> + Marks a test to use a combinatorial join of any argument data provided. + Since this is the default, the attribute is optional. + </summary> + </member> + <member name="M:NUnit.Framework.CombinatorialAttribute.#ctor"> + <summary> + Default constructor + </summary> + </member> + <member name="T:NUnit.Framework.CombiningStrategyAttribute"> + <summary> + Marks a test as using a particular CombiningStrategy to join any supplied parameter data. + Since this is the default, the attribute is optional. + </summary> + </member> + <member name="M:NUnit.Framework.CombiningStrategyAttribute.#ctor(NUnit.Framework.Interfaces.ICombiningStrategy,NUnit.Framework.Interfaces.IParameterDataProvider)"> + <summary> + Construct a CombiningStrategyAttribute incorporating an + ICombiningStrategy and an IParameterDataProvider. + </summary> + <param name="strategy">Combining strategy to be used in combining data</param> + <param name="provider">An IParameterDataProvider to supply data</param> + </member> + <member name="M:NUnit.Framework.CombiningStrategyAttribute.#ctor(System.Object,System.Object)"> + <summary> + Construct a CombiningStrategyAttribute incorporating an object + that implements ICombiningStrategy and an IParameterDataProvider. + This constructor is provided for CLS compliance. + </summary> + <param name="strategy">Combining strategy to be used in combining data</param> + <param name="provider">An IParameterDataProvider to supply data</param> + </member> + <member name="M:NUnit.Framework.CombiningStrategyAttribute.BuildFrom(NUnit.Framework.Interfaces.IMethodInfo,NUnit.Framework.Internal.Test)"> + <summary> + Builds any number of tests from the specified method and context. + </summary> + <param name="method">The MethodInfo for which tests are to be constructed.</param> + <param name="suite">The suite to which the tests will be added.</param> + </member> + <member name="M:NUnit.Framework.CombiningStrategyAttribute.ApplyToTest(NUnit.Framework.Internal.Test)"> + <summary> + Modify the test by adding the name of the combining strategy + to the properties. + </summary> + <param name="test">The test to modify</param> + </member> + <member name="T:NUnit.Framework.CultureAttribute"> + <summary> + Marks an assembly, test fixture or test method as applying to a specific Culture. + </summary> + </member> + <member name="M:NUnit.Framework.CultureAttribute.#ctor"> + <summary> + Constructor with no cultures specified, for use + with named property syntax. + </summary> + </member> + <member name="M:NUnit.Framework.CultureAttribute.#ctor(System.String)"> + <summary> + Constructor taking one or more cultures + </summary> + <param name="cultures">Comma-delimited list of cultures</param> + </member> + <member name="M:NUnit.Framework.CultureAttribute.ApplyToTest(NUnit.Framework.Internal.Test)"> + <summary> + Causes a test to be skipped if this CultureAttribute is not satisfied. + </summary> + <param name="test">The test to modify</param> + </member> + <member name="M:NUnit.Framework.CultureAttribute.IsCultureSupported(System.String@)"> + <summary> + Tests to determine if the current culture is supported + based on the properties of this attribute. + </summary> + <returns>True, if the current culture is supported</returns> + </member> + <member name="M:NUnit.Framework.CultureAttribute.IsCultureSupported(System.String)"> + <summary> + Test to determine if the a particular culture or comma- + delimited set of cultures is in use. + </summary> + <param name="culture">Name of the culture or comma-separated list of culture ids</param> + <returns>True if the culture is in use on the system</returns> + </member> + <member name="M:NUnit.Framework.CultureAttribute.IsCultureSupported(System.String[])"> + <summary> + Test to determine if one of a collection of cultures + is being used currently. + </summary> + <param name="cultures"></param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.DataAttribute"> + <summary> + Abstract base class for all data-providing attributes defined by NUnit. + Used to select all data sources for a method, class or parameter. + </summary> + </member> + <member name="M:NUnit.Framework.DataAttribute.#ctor"> + <summary> + Default constructor + </summary> + </member> + <member name="T:NUnit.Framework.DatapointAttribute"> + <summary> + 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. + </summary> + </member> + <member name="T:NUnit.Framework.DatapointsAttribute"> + <summary> + 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 <see cref="T:System.Collections.Generic.IEnumerable`1"/>. Synonymous with <see cref="T:NUnit.Framework.DatapointSourceAttribute"/>. + </summary> + </member> + <member name="T:NUnit.Framework.DatapointSourceAttribute"> + <summary> + 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 <see cref="T:System.Collections.Generic.IEnumerable`1"/>. Synonymous with <see cref="T:NUnit.Framework.DatapointsAttribute"/>. + </summary> + </member> + <member name="T:NUnit.Framework.DefaultFloatingPointToleranceAttribute"> + <summary> + Sets the tolerance used by default when checking the equality of floating point values + within the test assembly, fixture or method. + </summary> + </member> + <member name="M:NUnit.Framework.DefaultFloatingPointToleranceAttribute.#ctor(System.Double)"> + <summary> + Construct specifying an amount + </summary> + <param name="amount"></param> + </member> + <member name="M:NUnit.Framework.DefaultFloatingPointToleranceAttribute.ApplyToContext(NUnit.Framework.Internal.TestExecutionContext)"> + <summary> + Apply changes to the TestExecutionContext + </summary> + <param name="context">The TestExecutionContext</param> + </member> + <member name="T:NUnit.Framework.DescriptionAttribute"> + <summary> + Provides the descriptive text relating to the assembly, test fixture or test method. + </summary> + </member> + <member name="M:NUnit.Framework.DescriptionAttribute.#ctor(System.String)"> + <summary> + Construct a description Attribute + </summary> + <param name="description">The text of the description</param> + </member> + <member name="T:NUnit.Framework.ExplicitAttribute"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.ExplicitAttribute.#ctor"> + <summary> + Default constructor + </summary> + </member> + <member name="M:NUnit.Framework.ExplicitAttribute.#ctor(System.String)"> + <summary> + Constructor with a reason + </summary> + <param name="reason">The reason test is marked explicit</param> + </member> + <member name="M:NUnit.Framework.ExplicitAttribute.ApplyToTest(NUnit.Framework.Internal.Test)"> + <summary> + Modifies a test by marking it as explicit. + </summary> + <param name="test">The test to modify</param> + </member> + <member name="T:NUnit.Framework.FixtureLifeCycleAttribute"> + <summary> + Specify the life cycle of a Fixture + </summary> + </member> + <member name="M:NUnit.Framework.FixtureLifeCycleAttribute.#ctor(NUnit.Framework.LifeCycle)"> + <summary> + Construct a FixtureLifeCycleAttribute with a specified <see cref="P:NUnit.Framework.FixtureLifeCycleAttribute.LifeCycle"/>. + </summary> + </member> + <member name="P:NUnit.Framework.FixtureLifeCycleAttribute.LifeCycle"> + <summary> + Defines the life cycle for this test fixture or assembly. + </summary> + </member> + <member name="M:NUnit.Framework.FixtureLifeCycleAttribute.ApplyToTest(NUnit.Framework.Internal.Test)"> + <summary> + Overridden to set a TestFixture's <see cref="P:NUnit.Framework.FixtureLifeCycleAttribute.LifeCycle"/>. + </summary> + </member> + <member name="T:NUnit.Framework.IgnoreAttribute"> + <summary> + Marks an assembly, test fixture or test method as being ignored. Ignored tests result in a warning message when the tests are run. + </summary> + </member> + <member name="M:NUnit.Framework.IgnoreAttribute.#ctor(System.String)"> + <summary> + Constructs the attribute giving a reason for ignoring the test + </summary> + <param name="reason">The reason for ignoring the test</param> + </member> + <member name="P:NUnit.Framework.IgnoreAttribute.Until"> + <summary> + 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. + </summary> + <remarks> + 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. + </remarks> + <exception cref="T:System.FormatException">The string does not contain a valid string representation of a date and time.</exception> + </member> + <member name="M:NUnit.Framework.IgnoreAttribute.ApplyToTest(NUnit.Framework.Internal.Test)"> + <summary> + Modifies a test by marking it as Ignored. + </summary> + <param name="test">The test to modify</param> + </member> + <member name="T:NUnit.Framework.IncludeExcludeAttribute"> + <summary> + Abstract base for attributes that are used to include tests in + the test run based on environmental settings. + </summary> + </member> + <member name="M:NUnit.Framework.IncludeExcludeAttribute.#ctor"> + <summary> + Constructor with no included items specified, for use + with named property syntax. + </summary> + </member> + <member name="M:NUnit.Framework.IncludeExcludeAttribute.#ctor(System.String)"> + <summary> + Constructor taking one or more included items + </summary> + <param name="include">Comma-delimited list of included items</param> + </member> + <member name="P:NUnit.Framework.IncludeExcludeAttribute.Include"> + <summary> + Name of the item that is needed in order for + a test to run. Multiple items may be given, + separated by a comma. + </summary> + </member> + <member name="P:NUnit.Framework.IncludeExcludeAttribute.Exclude"> + <summary> + Name of the item to be excluded. Multiple items + may be given, separated by a comma. + </summary> + </member> + <member name="P:NUnit.Framework.IncludeExcludeAttribute.Reason"> + <summary> + The reason for including or excluding the test + </summary> + </member> + <member name="T:NUnit.Framework.LevelOfParallelismAttribute"> + <summary> + Sets the number of worker threads that may be allocated by the framework + for running tests. + </summary> + </member> + <member name="M:NUnit.Framework.LevelOfParallelismAttribute.#ctor(System.Int32)"> + <summary> + Construct a LevelOfParallelismAttribute. + </summary> + <param name="level">The number of worker threads to be created by the framework.</param> + </member> + <member name="T:NUnit.Framework.LifeCycle"> + <summary> + Specifies the life cycle for a test fixture. + </summary> + </member> + <member name="F:NUnit.Framework.LifeCycle.SingleInstance"> + <summary> + A single instance is created and shared for all test cases. + </summary> + </member> + <member name="F:NUnit.Framework.LifeCycle.InstancePerTestCase"> + <summary> + A new instance is created for each test case. + </summary> + </member> + <member name="T:NUnit.Framework.MaxTimeAttribute"> + <summary> + Specifies the maximum time (in milliseconds) for a test case to succeed. + </summary> + </member> + <member name="M:NUnit.Framework.MaxTimeAttribute.#ctor(System.Int32)"> + <summary> + Construct a MaxTimeAttribute, given a time in milliseconds. + </summary> + <param name="milliseconds">The maximum elapsed time in milliseconds</param> + </member> + <member name="T:NUnit.Framework.NonParallelizableAttribute"> + <summary> + Marks tests that should NOT be run in parallel. + </summary> + </member> + <member name="M:NUnit.Framework.NonParallelizableAttribute.#ctor"> + <summary> + Construct a NonParallelizableAttribute. + </summary> + </member> + <member name="T:NUnit.Framework.NonTestAssemblyAttribute"> + <summary> + 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. + </summary> + </member> + <member name="T:NUnit.Framework.NUnitAttribute"> + <summary> + Abstract base class for all custom attributes defined by NUnit. + </summary> + </member> + <member name="M:NUnit.Framework.NUnitAttribute.#ctor"> + <summary> + Default constructor + </summary> + </member> + <member name="T:NUnit.Framework.OneTimeSetUpAttribute"> + <summary> + Identifies a method that is called once to perform setup before any child tests are run. + </summary> + </member> + <member name="T:NUnit.Framework.OneTimeTearDownAttribute"> + <summary> + 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. + </summary> + </member> + <member name="T:NUnit.Framework.OrderAttribute"> + <summary> + Defines the order that the test will run in + </summary> + </member> + <member name="F:NUnit.Framework.OrderAttribute.Order"> + <summary> + Defines the order that the test will run in + </summary> + </member> + <member name="M:NUnit.Framework.OrderAttribute.#ctor(System.Int32)"> + <summary> + Defines the order that the test will run in + </summary> + <param name="order"></param> + </member> + <member name="M:NUnit.Framework.OrderAttribute.ApplyToTest(NUnit.Framework.Internal.Test)"> + <summary> + Modifies a test as defined for the specific attribute. + </summary> + <param name="test">The test to modify</param> + </member> + <member name="T:NUnit.Framework.PairwiseAttribute"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.PairwiseAttribute.#ctor"> + <summary> + Default constructor + </summary> + </member> + <member name="T:NUnit.Framework.ParallelizableAttribute"> + <summary> + Marks a test assembly, fixture or method that may be run in parallel. + </summary> + </member> + <member name="M:NUnit.Framework.ParallelizableAttribute.#ctor"> + <summary> + Construct a ParallelizableAttribute using default ParallelScope.Self. + </summary> + </member> + <member name="M:NUnit.Framework.ParallelizableAttribute.#ctor(NUnit.Framework.ParallelScope)"> + <summary> + Construct a ParallelizableAttribute with a specified scope. + </summary> + <param name="scope">The ParallelScope associated with this attribute.</param> + </member> + <member name="P:NUnit.Framework.ParallelizableAttribute.Scope"> + <summary> + Defines the degree to which this test and its descendants may be run in parallel + </summary> + </member> + <member name="M:NUnit.Framework.ParallelizableAttribute.ApplyToTest(NUnit.Framework.Internal.Test)"> + <summary> + Overridden to check for invalid combinations of settings + </summary> + <param name="test"></param> + </member> + <member name="M:NUnit.Framework.ParallelizableAttribute.ApplyToContext(NUnit.Framework.Internal.TestExecutionContext)"> + <summary> + Modify the context to be used for child tests + </summary> + <param name="context">The current TestExecutionContext</param> + </member> + <member name="T:NUnit.Framework.ParallelScope"> + <summary> + Specifies the degree to which a test, and its descendants, + may be run in parallel. + </summary> + </member> + <member name="F:NUnit.Framework.ParallelScope.Default"> + <summary> + No ParallelScope was specified on the test + </summary> + </member> + <member name="F:NUnit.Framework.ParallelScope.Self"> + <summary> + The test may be run in parallel with others at the same level. + Valid on classes and methods but has no effect on assemblies. + </summary> + </member> + <member name="F:NUnit.Framework.ParallelScope.None"> + <summary> + Test may not be run in parallel with any others. Valid on + classes and methods but not assemblies. + </summary> + </member> + <member name="F:NUnit.Framework.ParallelScope.ItemMask"> + <summary> + Mask used to extract the flags that apply to the item on which a + ParallelizableAttribute has been placed, as opposed to descendants. + </summary> + </member> + <member name="F:NUnit.Framework.ParallelScope.Children"> + <summary> + Descendants of the test may be run in parallel with one another. + Valid on assemblies and classes but not on non-parameterized methods. + </summary> + </member> + <member name="F:NUnit.Framework.ParallelScope.Fixtures"> + <summary> + 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. + </summary> + </member> + <member name="F:NUnit.Framework.ParallelScope.ContextMask"> + <summary> + Mask used to extract all the flags that impact descendants of a + test and place them in the TestExecutionContext. + </summary> + </member> + <member name="F:NUnit.Framework.ParallelScope.All"> + <summary> + 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 <see cref="F:NUnit.Framework.ParallelScope.Children"/> + instead, as <see cref="F:NUnit.Framework.ParallelScope.Self"/> has no effect on assemblies. + </summary> + </member> + <member name="T:NUnit.Framework.PlatformAttribute"> + <summary> + Marks an assembly, test fixture or test method as applying to a specific platform. + </summary> + </member> + <member name="M:NUnit.Framework.PlatformAttribute.#ctor"> + <summary> + Constructor with no platforms specified, for use + with named property syntax. + </summary> + </member> + <member name="M:NUnit.Framework.PlatformAttribute.#ctor(System.String)"> + <summary> + Constructor taking one or more platforms + </summary> + <param name="platforms">Comma-delimited list of platforms</param> + </member> + <member name="M:NUnit.Framework.PlatformAttribute.ApplyToTest(NUnit.Framework.Internal.Test)"> + <summary> + Causes a test to be skipped if this PlatformAttribute is not satisfied. + </summary> + <param name="test">The test to modify</param> + </member> + <member name="T:NUnit.Framework.PropertyAttribute"> + <summary> + Attaches information to a test assembly, fixture or method as a name/value pair. + </summary> + </member> + <member name="M:NUnit.Framework.PropertyAttribute.#ctor(System.String,System.String)"> + <summary> + Construct a PropertyAttribute with a name and string value + </summary> + <param name="propertyName">The name of the property</param> + <param name="propertyValue">The property value</param> + </member> + <member name="M:NUnit.Framework.PropertyAttribute.#ctor(System.String,System.Int32)"> + <summary> + Construct a PropertyAttribute with a name and int value + </summary> + <param name="propertyName">The name of the property</param> + <param name="propertyValue">The property value</param> + </member> + <member name="M:NUnit.Framework.PropertyAttribute.#ctor(System.String,System.Double)"> + <summary> + Construct a PropertyAttribute with a name and double value + </summary> + <param name="propertyName">The name of the property</param> + <param name="propertyValue">The property value</param> + </member> + <member name="M:NUnit.Framework.PropertyAttribute.#ctor"> + <summary> + Constructor for derived classes that set the + property dictionary directly. + </summary> + </member> + <member name="M:NUnit.Framework.PropertyAttribute.#ctor(System.Object)"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.PropertyAttribute.Properties"> + <summary> + Gets the property dictionary for this attribute + </summary> + </member> + <member name="M:NUnit.Framework.PropertyAttribute.ApplyToTest(NUnit.Framework.Internal.Test)"> + <summary> + Modifies a test by adding properties to it. + </summary> + <param name="test">The test to modify</param> + </member> + <member name="T:NUnit.Framework.RandomAttribute"> + <summary> + Supplies a set of random values to a single parameter of a parameterized test. + </summary> + </member> + <member name="P:NUnit.Framework.RandomAttribute.Distinct"> + <summary> + If true, no value will be repeated. + </summary> + </member> + <member name="M:NUnit.Framework.RandomAttribute.#ctor(System.Int32)"> + <summary> + Construct a random set of values appropriate for the Type of the + parameter on which the attribute appears, specifying only the count. + </summary> + <param name="count"></param> + </member> + <member name="M:NUnit.Framework.RandomAttribute.#ctor(System.Int32,System.Int32,System.Int32)"> + <summary> + Generates <see cref="T:System.Int32"/> values within a specified range. + </summary> + </member> + <member name="M:NUnit.Framework.RandomAttribute.#ctor(System.UInt32,System.UInt32,System.Int32)"> + <summary> + Generates <see cref="T:System.UInt32"/> values within a specified range. + </summary> + </member> + <member name="M:NUnit.Framework.RandomAttribute.#ctor(System.Int64,System.Int64,System.Int32)"> + <summary> + Generates <see cref="T:System.Int64"/> values within a specified range. + </summary> + </member> + <member name="M:NUnit.Framework.RandomAttribute.#ctor(System.UInt64,System.UInt64,System.Int32)"> + <summary> + Generates <see cref="T:System.UInt64"/> values within a specified range. + </summary> + </member> + <member name="M:NUnit.Framework.RandomAttribute.#ctor(System.Int16,System.Int16,System.Int32)"> + <summary> + Generates <see cref="T:System.Int16"/> values within a specified range. + </summary> + </member> + <member name="M:NUnit.Framework.RandomAttribute.#ctor(System.UInt16,System.UInt16,System.Int32)"> + <summary> + Generates <see cref="T:System.UInt16"/> values within a specified range. + </summary> + </member> + <member name="M:NUnit.Framework.RandomAttribute.#ctor(System.Double,System.Double,System.Int32)"> + <summary> + Generates <see cref="T:System.Double"/> values within a specified range. + </summary> + </member> + <member name="M:NUnit.Framework.RandomAttribute.#ctor(System.Single,System.Single,System.Int32)"> + <summary> + Generates <see cref="T:System.Single"/> values within a specified range. + </summary> + </member> + <member name="M:NUnit.Framework.RandomAttribute.#ctor(System.Byte,System.Byte,System.Int32)"> + <summary> + Generates <see cref="T:System.Byte"/> values within a specified range. + </summary> + </member> + <member name="M:NUnit.Framework.RandomAttribute.#ctor(System.SByte,System.SByte,System.Int32)"> + <summary> + Generates <see cref="T:System.SByte"/> values within a specified range. + </summary> + </member> + <member name="M:NUnit.Framework.RandomAttribute.GetData(NUnit.Framework.Interfaces.IParameterInfo)"> + <summary> + Retrieves a list of arguments which can be passed to the specified parameter. + </summary> + <param name="parameter">The parameter of a parameterized test.</param> + </member> + <member name="T:NUnit.Framework.RangeAttribute"> + <summary> + Supplies a range of values to an individual parameter of a parameterized test. + </summary> + </member> + <member name="M:NUnit.Framework.RangeAttribute.#ctor(System.Int32,System.Int32)"> + <summary> + Constructs a range of <see cref="T:System.Int32"/> values using the default step of 1. + </summary> + </member> + <member name="M:NUnit.Framework.RangeAttribute.#ctor(System.Int32,System.Int32,System.Int32)"> + <summary> + Constructs a range of <see cref="T:System.Int32"/> values with the specified step size. + </summary> + </member> + <member name="M:NUnit.Framework.RangeAttribute.#ctor(System.UInt32,System.UInt32)"> + <summary> + Constructs a range of <see cref="T:System.UInt32"/> values using the default step of 1. + </summary> + </member> + <member name="M:NUnit.Framework.RangeAttribute.#ctor(System.UInt32,System.UInt32,System.UInt32)"> + <summary> + Constructs a range of <see cref="T:System.UInt32"/> values with the specified step size. + </summary> + </member> + <member name="M:NUnit.Framework.RangeAttribute.#ctor(System.Int64,System.Int64)"> + <summary> + Constructs a range of <see cref="T:System.Int64"/> values using a default step of 1. + </summary> + </member> + <member name="M:NUnit.Framework.RangeAttribute.#ctor(System.Int64,System.Int64,System.Int64)"> + <summary> + Constructs a range of <see cref="T:System.Int64"/> values with the specified step size. + </summary> + </member> + <member name="M:NUnit.Framework.RangeAttribute.#ctor(System.UInt64,System.UInt64)"> + <summary> + Constructs a range of <see cref="T:System.UInt64"/> values using the default step of 1. + </summary> + </member> + <member name="M:NUnit.Framework.RangeAttribute.#ctor(System.UInt64,System.UInt64,System.UInt64)"> + <summary> + Constructs a range of <see cref="T:System.UInt64"/> values with the specified step size. + </summary> + </member> + <member name="M:NUnit.Framework.RangeAttribute.#ctor(System.Double,System.Double,System.Double)"> + <summary> + Constructs a range of <see cref="T:System.Double"/> values with the specified step size. + </summary> + </member> + <member name="M:NUnit.Framework.RangeAttribute.#ctor(System.Single,System.Single,System.Single)"> + <summary> + Constructs a range of <see cref="T:System.Single"/> values with the specified step size. + </summary> + </member> + <member name="M:NUnit.Framework.RangeAttribute.GetData(NUnit.Framework.Interfaces.IParameterInfo)"> + <summary> + Retrieves a list of arguments which can be passed to the specified parameter. + </summary> + <param name="parameter">The parameter of a parameterized test.</param> + </member> + <member name="M:NUnit.Framework.RangeAttribute.ToString"> + <summary>Returns a string that represents the current object.</summary> + </member> + <member name="T:NUnit.Framework.RepeatAttribute"> + <summary> + Specifies that a test should be run multiple times. + </summary> + </member> + <member name="M:NUnit.Framework.RepeatAttribute.#ctor(System.Int32)"> + <summary> + Construct a RepeatAttribute + </summary> + <param name="count">The number of times to run the test</param> + </member> + <member name="M:NUnit.Framework.RepeatAttribute.Wrap(NUnit.Framework.Internal.Commands.TestCommand)"> + <summary> + Wrap a command and return the result. + </summary> + <param name="command">The command to be wrapped</param> + <returns>The wrapped command</returns> + </member> + <member name="T:NUnit.Framework.RepeatAttribute.RepeatedTestCommand"> + <summary> + The test command for the RepeatAttribute + </summary> + </member> + <member name="M:NUnit.Framework.RepeatAttribute.RepeatedTestCommand.#ctor(NUnit.Framework.Internal.Commands.TestCommand,System.Int32)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.RepeatAttribute.RepeatedTestCommand"/> class. + </summary> + <param name="innerCommand">The inner command.</param> + <param name="repeatCount">The number of repetitions</param> + </member> + <member name="M:NUnit.Framework.RepeatAttribute.RepeatedTestCommand.Execute(NUnit.Framework.Internal.TestExecutionContext)"> + <summary> + Runs the test, saving a TestResult in the supplied TestExecutionContext. + </summary> + <param name="context">The context in which the test should run.</param> + <returns>A TestResult</returns> + </member> + <member name="T:NUnit.Framework.RequiresThreadAttribute"> + <summary> + Marks a test that must run on a separate thread. + </summary> + </member> + <member name="M:NUnit.Framework.RequiresThreadAttribute.#ctor"> + <summary> + Construct a RequiresThreadAttribute + </summary> + </member> + <member name="M:NUnit.Framework.RequiresThreadAttribute.#ctor(System.Threading.ApartmentState)"> + <summary> + Construct a RequiresThreadAttribute, specifying the apartment + </summary> + </member> + <member name="T:NUnit.Framework.RetryAttribute"> + <summary> + Specifies that a test method should be rerun on failure up to the specified + maximum number of times. + </summary> + </member> + <member name="M:NUnit.Framework.RetryAttribute.#ctor(System.Int32)"> + <summary> + Construct a <see cref="T:NUnit.Framework.RetryAttribute" /> + </summary> + <param name="tryCount">The maximum number of times the test should be run if it fails</param> + </member> + <member name="M:NUnit.Framework.RetryAttribute.Wrap(NUnit.Framework.Internal.Commands.TestCommand)"> + <summary> + Wrap a command and return the result. + </summary> + <param name="command">The command to be wrapped</param> + <returns>The wrapped command</returns> + </member> + <member name="T:NUnit.Framework.RetryAttribute.RetryCommand"> + <summary> + The test command for the <see cref="T:NUnit.Framework.RetryAttribute"/> + </summary> + </member> + <member name="M:NUnit.Framework.RetryAttribute.RetryCommand.#ctor(NUnit.Framework.Internal.Commands.TestCommand,System.Int32)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.RetryAttribute.RetryCommand"/> class. + </summary> + <param name="innerCommand">The inner command.</param> + <param name="tryCount">The maximum number of repetitions</param> + </member> + <member name="M:NUnit.Framework.RetryAttribute.RetryCommand.Execute(NUnit.Framework.Internal.TestExecutionContext)"> + <summary> + Runs the test, saving a TestResult in the supplied TestExecutionContext. + </summary> + <param name="context">The context in which the test should run.</param> + <returns>A TestResult</returns> + </member> + <member name="T:NUnit.Framework.SequentialAttribute"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.SequentialAttribute.#ctor"> + <summary> + Default constructor + </summary> + </member> + <member name="T:NUnit.Framework.SetCultureAttribute"> + <summary> + 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. + </summary> + <seealso cref="T:NUnit.Framework.SetUICultureAttribute"/> + </member> + <member name="M:NUnit.Framework.SetCultureAttribute.#ctor(System.String)"> + <summary> + Construct given the name of a culture + </summary> + <param name="culture"></param> + </member> + <member name="T:NUnit.Framework.SetUICultureAttribute"> + <summary> + 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. + </summary> + <seealso cref="T:NUnit.Framework.SetCultureAttribute"/> + </member> + <member name="M:NUnit.Framework.SetUICultureAttribute.#ctor(System.String)"> + <summary> + Construct given the name of a culture + </summary> + <param name="culture"></param> + </member> + <member name="T:NUnit.Framework.SetUpAttribute"> + <summary> + Identifies a method to be called immediately before each test is run. + </summary> + </member> + <member name="T:NUnit.Framework.SetUpFixtureAttribute"> + <summary> + Identifies a class as containing <see cref="T:NUnit.Framework.OneTimeSetUpAttribute" /> or + <see cref="T:NUnit.Framework.OneTimeTearDownAttribute" /> methods for all the test fixtures + under a given namespace. + </summary> + </member> + <member name="M:NUnit.Framework.SetUpFixtureAttribute.BuildFrom(NUnit.Framework.Interfaces.ITypeInfo)"> + <summary> + Builds a <see cref="T:NUnit.Framework.Internal.SetUpFixture"/> from the specified type. + </summary> + <param name="typeInfo">The type info of the fixture to be used.</param> + </member> + <member name="T:NUnit.Framework.SingleThreadedAttribute"> + <summary> + 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 + <see cref="T:NUnit.Framework.Internal.TestExecutionContext"/> is set forcing all child tests + to be run sequentially on the current thread. + Any <see cref="T:NUnit.Framework.ParallelScope"/> setting is ignored. + </summary> + </member> + <member name="M:NUnit.Framework.SingleThreadedAttribute.ApplyToContext(NUnit.Framework.Internal.TestExecutionContext)"> + <summary> + Apply changes to the TestExecutionContext + </summary> + <param name="context">The TestExecutionContext</param> + </member> + <member name="T:NUnit.Framework.TearDownAttribute"> + <summary> + 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. + </summary> + </member> + <member name="T:NUnit.Framework.TestActionAttribute"> + <summary> + Abstract attribute providing actions to execute before and after tests. + </summary> + </member> + <member name="M:NUnit.Framework.TestActionAttribute.BeforeTest(NUnit.Framework.Interfaces.ITest)"> + <summary> + Executed before each test is run + </summary> + <param name="test">The test that is going to be run.</param> + </member> + <member name="M:NUnit.Framework.TestActionAttribute.AfterTest(NUnit.Framework.Interfaces.ITest)"> + <summary> + Executed after each test is run + </summary> + <param name="test">The test that has just been run.</param> + </member> + <member name="P:NUnit.Framework.TestActionAttribute.Targets"> + <summary> + Provides the target for the action attribute + </summary> + </member> + <member name="T:NUnit.Framework.TestAssemblyDirectoryResolveAttribute"> + <summary> + 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. + </summary> + </member> + <member name="T:NUnit.Framework.TestAttribute"> + <summary> + Marks the method as callable from the NUnit test runner. + </summary> + + <example> + [TestFixture] + public class Fixture + { + [Test] + public void MethodToTest() + {} + + [Test(Description = "more detailed description")] + public void TestDescriptionMethod() + {} + } + </example> + + </member> + <member name="P:NUnit.Framework.TestAttribute.Description"> + <summary> + Descriptive text for this test + </summary> + </member> + <member name="P:NUnit.Framework.TestAttribute.Author"> + <summary> + The author of this test + </summary> + </member> + <member name="P:NUnit.Framework.TestAttribute.TestOf"> + <summary> + The type that this test is testing + </summary> + </member> + <member name="P:NUnit.Framework.TestAttribute.ExpectedResult"> + <summary> + Gets or sets the expected result. Not valid if the test + method has parameters. + </summary> + <value>The result.</value> + </member> + <member name="M:NUnit.Framework.TestAttribute.ApplyToTest(NUnit.Framework.Internal.Test)"> + <summary> + Modifies a test by adding a description, if not already set. + </summary> + <param name="test">The test to modify</param> + </member> + <member name="M:NUnit.Framework.TestAttribute.BuildFrom(NUnit.Framework.Interfaces.IMethodInfo,NUnit.Framework.Internal.Test)"> + <summary> + Builds a single test from the specified method and context. + </summary> + <param name="method">The method for which a test is to be constructed.</param> + <param name="suite">The suite to which the test will be added.</param> + </member> + <member name="T:NUnit.Framework.TestCaseAttribute"> + <summary> + Marks a method as a parameterized test suite and provides arguments for each test case. + </summary> + </member> + <member name="M:NUnit.Framework.TestCaseAttribute.#ctor(System.Object[])"> + <summary> + Construct a TestCaseAttribute with a list of arguments. + This constructor is not CLS-Compliant + </summary> + <param name="arguments"></param> + </member> + <member name="M:NUnit.Framework.TestCaseAttribute.#ctor(System.Object)"> + <summary> + Construct a TestCaseAttribute with a single argument + </summary> + <param name="arg"></param> + </member> + <member name="M:NUnit.Framework.TestCaseAttribute.#ctor(System.Object,System.Object)"> + <summary> + Construct a TestCaseAttribute with a two arguments + </summary> + <param name="arg1"></param> + <param name="arg2"></param> + </member> + <member name="M:NUnit.Framework.TestCaseAttribute.#ctor(System.Object,System.Object,System.Object)"> + <summary> + Construct a TestCaseAttribute with a three arguments + </summary> + <param name="arg1"></param> + <param name="arg2"></param> + <param name="arg3"></param> + </member> + <member name="P:NUnit.Framework.TestCaseAttribute.TestName"> + <summary> + Gets or sets the name of the test. + </summary> + <value>The name of the test.</value> + </member> + <member name="P:NUnit.Framework.TestCaseAttribute.RunState"> + <summary> + Gets or sets the RunState of this test case. + </summary> + </member> + <member name="P:NUnit.Framework.TestCaseAttribute.Arguments"> + <summary> + Gets the list of arguments to a test case + </summary> + </member> + <member name="P:NUnit.Framework.TestCaseAttribute.Properties"> + <summary> + Gets the properties of the test case + </summary> + </member> + <member name="P:NUnit.Framework.TestCaseAttribute.ExpectedResult"> + <summary> + Gets or sets the expected result. + </summary> + <value>The result.</value> + </member> + <member name="P:NUnit.Framework.TestCaseAttribute.HasExpectedResult"> + <summary> + Returns true if the expected result has been set + </summary> + </member> + <member name="P:NUnit.Framework.TestCaseAttribute.Description"> + <summary> + Gets or sets the description. + </summary> + <value>The description.</value> + </member> + <member name="P:NUnit.Framework.TestCaseAttribute.Author"> + <summary> + The author of this test + </summary> + </member> + <member name="P:NUnit.Framework.TestCaseAttribute.TestOf"> + <summary> + The type that this test is testing + </summary> + </member> + <member name="P:NUnit.Framework.TestCaseAttribute.Ignore"> + <summary> + Gets or sets the reason for ignoring the test + </summary> + </member> + <member name="P:NUnit.Framework.TestCaseAttribute.Explicit"> + <summary> + Gets or sets a value indicating whether this <see cref="T:NUnit.Framework.TestCaseAttribute"/> is explicit. + </summary> + <value> + <see langword="true"/> if explicit; otherwise, <see langword="false"/>. + </value> + </member> + <member name="P:NUnit.Framework.TestCaseAttribute.Reason"> + <summary> + Gets or sets the reason for not running the test. + </summary> + <value>The reason.</value> + </member> + <member name="P:NUnit.Framework.TestCaseAttribute.IgnoreReason"> + <summary> + Gets or sets the ignore reason. When set to a non-null + non-empty value, the test is marked as ignored. + </summary> + <value>The ignore reason.</value> + </member> + <member name="P:NUnit.Framework.TestCaseAttribute.IncludePlatform"> + <summary> + Comma-delimited list of platforms to run the test for + </summary> + </member> + <member name="P:NUnit.Framework.TestCaseAttribute.ExcludePlatform"> + <summary> + Comma-delimited list of platforms to not run the test for + </summary> + </member> + <member name="P:NUnit.Framework.TestCaseAttribute.Category"> + <summary> + Gets and sets the category for this test case. + May be a comma-separated list of categories. + </summary> + </member> + <member name="P:NUnit.Framework.TestCaseAttribute.Until"> + <summary> + Gets and sets the ignore until date for this test case. + </summary> + </member> + <member name="M:NUnit.Framework.TestCaseAttribute.PerformSpecialConversions(System.Object[],NUnit.Framework.Interfaces.IParameterInfo[])"> + <summary> + 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. + </summary> + <param name="arglist">The arguments to be converted</param> + <param name="parameters">The ParameterInfo array for the method</param> + </member> + <member name="M:NUnit.Framework.TestCaseAttribute.BuildFrom(NUnit.Framework.Interfaces.IMethodInfo,NUnit.Framework.Internal.Test)"> + <summary> + Builds a single test from the specified method and context. + </summary> + <param name="method">The MethodInfo for which tests are to be constructed.</param> + <param name="suite">The suite to which the tests will be added.</param> + </member> + <member name="T:NUnit.Framework.TestCaseSourceAttribute"> + <summary> + Indicates the source to be used to provide test fixture instances for a test class. + </summary> + </member> + <member name="M:NUnit.Framework.TestCaseSourceAttribute.#ctor(System.String)"> + <summary> + Construct with the name of the method, property or field that will provide data + </summary> + <param name="sourceName">The name of a static method, property or field that will provide data.</param> + </member> + <member name="M:NUnit.Framework.TestCaseSourceAttribute.#ctor(System.Type,System.String,System.Object[])"> + <summary> + Construct with a Type and name + </summary> + <param name="sourceType">The Type that will provide data</param> + <param name="sourceName">The name of a static method, property or field that will provide data.</param> + <param name="methodParams">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.</param> + </member> + <member name="M:NUnit.Framework.TestCaseSourceAttribute.#ctor(System.Type,System.String)"> + <summary> + Construct with a Type and name + </summary> + <param name="sourceType">The Type that will provide data</param> + <param name="sourceName">The name of a static method, property or field that will provide data.</param> + </member> + <member name="M:NUnit.Framework.TestCaseSourceAttribute.#ctor(System.String,System.Object[])"> + <summary> + Construct with a name + </summary> + <param name="sourceName">The name of a static method, property or field that will provide data.</param> + <param name="methodParams">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.</param> + </member> + <member name="M:NUnit.Framework.TestCaseSourceAttribute.#ctor(System.Type)"> + <summary> + Construct with a Type + </summary> + <param name="sourceType">The type that will provide data</param> + </member> + <member name="P:NUnit.Framework.TestCaseSourceAttribute.MethodParams"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.TestCaseSourceAttribute.SourceName"> + <summary> + The name of a the method, property or field to be used as a source + </summary> + </member> + <member name="P:NUnit.Framework.TestCaseSourceAttribute.SourceType"> + <summary> + A Type to be used as a source + </summary> + </member> + <member name="P:NUnit.Framework.TestCaseSourceAttribute.Category"> + <summary> + Gets or sets the category associated with every fixture created from + this attribute. May be a single category or a comma-separated list. + </summary> + </member> + <member name="M:NUnit.Framework.TestCaseSourceAttribute.BuildFrom(NUnit.Framework.Interfaces.IMethodInfo,NUnit.Framework.Internal.Test)"> + <summary> + Builds any number of tests from the specified method and context. + </summary> + <param name="method">The IMethod for which tests are to be constructed.</param> + <param name="suite">The suite to which the tests will be added.</param> + </member> + <member name="T:NUnit.Framework.TestFixtureAttribute"> + <summary> + Marks the class as a TestFixture. + </summary> + </member> + <member name="M:NUnit.Framework.TestFixtureAttribute.#ctor"> + <summary> + Default constructor + </summary> + </member> + <member name="M:NUnit.Framework.TestFixtureAttribute.#ctor(System.Object[])"> + <summary> + Construct with a object[] representing a set of arguments. + The arguments may later be separated into type arguments and constructor arguments. + </summary> + <param name="arguments"></param> + </member> + <member name="P:NUnit.Framework.TestFixtureAttribute.TestName"> + <summary> + Gets or sets the name of the test. + </summary> + <value>The name of the test.</value> + </member> + <member name="P:NUnit.Framework.TestFixtureAttribute.RunState"> + <summary> + Gets or sets the RunState of this test fixture. + </summary> + </member> + <member name="P:NUnit.Framework.TestFixtureAttribute.Arguments"> + <summary> + The arguments originally provided to the attribute + </summary> + </member> + <member name="P:NUnit.Framework.TestFixtureAttribute.Properties"> + <summary> + Properties pertaining to this fixture + </summary> + </member> + <member name="P:NUnit.Framework.TestFixtureAttribute.TypeArgs"> + <summary> + Get or set the type arguments. If not set + explicitly, any leading arguments that are + Types are taken as type arguments. + </summary> + </member> + <member name="P:NUnit.Framework.TestFixtureAttribute.Description"> + <summary> + Descriptive text for this fixture + </summary> + </member> + <member name="P:NUnit.Framework.TestFixtureAttribute.Author"> + <summary> + The author of this fixture + </summary> + </member> + <member name="P:NUnit.Framework.TestFixtureAttribute.TestOf"> + <summary> + The type that this fixture is testing + </summary> + </member> + <member name="P:NUnit.Framework.TestFixtureAttribute.Ignore"> + <summary> + Gets or sets the ignore reason. May set RunState as a side effect. + </summary> + <value>The ignore reason.</value> + </member> + <member name="P:NUnit.Framework.TestFixtureAttribute.Reason"> + <summary> + Gets or sets the reason for not running the fixture. + </summary> + <value>The reason.</value> + </member> + <member name="P:NUnit.Framework.TestFixtureAttribute.IgnoreReason"> + <summary> + Gets or sets the ignore reason. When set to a non-null + non-empty value, the test is marked as ignored. + </summary> + <value>The ignore reason.</value> + </member> + <member name="P:NUnit.Framework.TestFixtureAttribute.Explicit"> + <summary> + Gets or sets a value indicating whether this <see cref="T:NUnit.Framework.TestFixtureAttribute"/> is explicit. + </summary> + <value> + <see langword="true"/> if explicit; otherwise, <see langword="false"/>. + </value> + </member> + <member name="P:NUnit.Framework.TestFixtureAttribute.Category"> + <summary> + Gets and sets the category for this fixture. + May be a comma-separated list of categories. + </summary> + </member> + <member name="M:NUnit.Framework.TestFixtureAttribute.BuildFrom(NUnit.Framework.Interfaces.ITypeInfo)"> + <summary> + Builds a single test fixture from the specified type. + </summary> + </member> + <member name="M:NUnit.Framework.TestFixtureAttribute.BuildFrom(NUnit.Framework.Interfaces.ITypeInfo,NUnit.Framework.Interfaces.IPreFilter)"> + <summary> + Builds a single test fixture from the specified type. + </summary> + <param name="typeInfo">The type info of the fixture to be used.</param> + <param name="filter">Filter used to select methods as tests.</param> + </member> + <member name="T:NUnit.Framework.TestFixtureSourceAttribute"> + <summary> + Identifies the source used to provide test fixture instances for a test class. + </summary> + </member> + <member name="F:NUnit.Framework.TestFixtureSourceAttribute.MUST_BE_STATIC"> + <summary> + Error message string is public so the tests can use it + </summary> + </member> + <member name="M:NUnit.Framework.TestFixtureSourceAttribute.#ctor(System.String)"> + <summary> + Construct with the name of the method, property or field that will provide data + </summary> + <param name="sourceName">The name of a static method, property or field that will provide data.</param> + </member> + <member name="M:NUnit.Framework.TestFixtureSourceAttribute.#ctor(System.Type,System.String)"> + <summary> + Construct with a Type and name + </summary> + <param name="sourceType">The Type that will provide data</param> + <param name="sourceName">The name of a static method, property or field that will provide data.</param> + </member> + <member name="M:NUnit.Framework.TestFixtureSourceAttribute.#ctor(System.Type)"> + <summary> + Construct with a Type + </summary> + <param name="sourceType">The type that will provide data</param> + </member> + <member name="P:NUnit.Framework.TestFixtureSourceAttribute.SourceName"> + <summary> + The name of a the method, property or field to be used as a source + </summary> + </member> + <member name="P:NUnit.Framework.TestFixtureSourceAttribute.SourceType"> + <summary> + A Type to be used as a source + </summary> + </member> + <member name="P:NUnit.Framework.TestFixtureSourceAttribute.Category"> + <summary> + Gets or sets the category associated with every fixture created from + this attribute. May be a single category or a comma-separated list. + </summary> + </member> + <member name="M:NUnit.Framework.TestFixtureSourceAttribute.BuildFrom(NUnit.Framework.Interfaces.ITypeInfo)"> + <summary> + Builds any number of test fixtures from the specified type. + </summary> + <param name="typeInfo">The TypeInfo for which fixtures are to be constructed.</param> + </member> + <member name="M:NUnit.Framework.TestFixtureSourceAttribute.BuildFrom(NUnit.Framework.Interfaces.ITypeInfo,NUnit.Framework.Interfaces.IPreFilter)"> + <summary> + Builds any number of test fixtures from the specified type. + </summary> + <param name="typeInfo">The TypeInfo for which fixtures are to be constructed.</param> + <param name="filter">PreFilter used to select methods as tests.</param> + </member> + <member name="M:NUnit.Framework.TestFixtureSourceAttribute.GetParametersFor(System.Type)"> + <summary> + Returns a set of ITestFixtureData items for use as arguments + to a parameterized test fixture. + </summary> + <param name="sourceType">The type for which data is needed.</param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.TestOfAttribute"> + <summary> + Indicates the method or class the assembly, test fixture or test method is testing. + </summary> + </member> + <member name="M:NUnit.Framework.TestOfAttribute.#ctor(System.Type)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.TestOfAttribute"/> class. + </summary> + <param name="type">The type that is being tested.</param> + </member> + <member name="M:NUnit.Framework.TestOfAttribute.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.TestOfAttribute"/> class. + </summary> + <param name="typeName">The type that is being tested.</param> + </member> + <member name="T:NUnit.Framework.TheoryAttribute"> + <summary> + Adding this attribute to a method within a <seealso cref="T:NUnit.Framework.TestFixtureAttribute"/> + 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. + </summary> + + <example> + [TestFixture] + public class Fixture + { + [Test] + public void MethodToTest() + {} + + [Test(Description = "more detailed description")] + public void TestDescriptionMethod() + {} + } + </example> + + </member> + <member name="M:NUnit.Framework.TheoryAttribute.#ctor"> + <summary> + Construct the attribute, specifying a combining strategy and source of parameter data. + </summary> + </member> + <member name="T:NUnit.Framework.TimeoutAttribute"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.TimeoutAttribute.#ctor(System.Int32)"> + <summary> + Construct a TimeoutAttribute given a time in milliseconds + </summary> + <param name="timeout">The timeout value in milliseconds</param> + </member> + <member name="T:NUnit.Framework.ValuesAttribute"> + <summary> + Provides literal arguments for an individual parameter of a test. + </summary> + </member> + <member name="F:NUnit.Framework.ValuesAttribute.data"> + <summary> + 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 + </summary> + </member> + <member name="M:NUnit.Framework.ValuesAttribute.#ctor"> + <summary> + Constructs for use with an Enum parameter. Will pass every enum + value in to the test. + </summary> + </member> + <member name="M:NUnit.Framework.ValuesAttribute.#ctor(System.Object)"> + <summary> + Construct with one argument + </summary> + <param name="arg1"></param> + </member> + <member name="M:NUnit.Framework.ValuesAttribute.#ctor(System.Object,System.Object)"> + <summary> + Construct with two arguments + </summary> + <param name="arg1"></param> + <param name="arg2"></param> + </member> + <member name="M:NUnit.Framework.ValuesAttribute.#ctor(System.Object,System.Object,System.Object)"> + <summary> + Construct with three arguments + </summary> + <param name="arg1"></param> + <param name="arg2"></param> + <param name="arg3"></param> + </member> + <member name="M:NUnit.Framework.ValuesAttribute.#ctor(System.Object[])"> + <summary> + Construct with an array of arguments + </summary> + <param name="args"></param> + </member> + <member name="M:NUnit.Framework.ValuesAttribute.GetData(NUnit.Framework.Interfaces.IParameterInfo)"> + <summary> + Retrieves a list of arguments which can be passed to the specified parameter. + </summary> + <param name="parameter">The parameter of a parameterized test.</param> + </member> + <member name="M:NUnit.Framework.ValuesAttribute.GenerateData(System.Type)"> + <summary> + To generate data for Values attribute, in case no data is provided. + </summary> + </member> + <member name="M:NUnit.Framework.ValuesAttribute.IsNullableEnum(System.Type)"> + <summary> + To Check if type is nullable enum. + </summary> + </member> + <member name="T:NUnit.Framework.ValueSourceAttribute"> + <summary> + Indicates the source used to provide data for one parameter of a test method. + </summary> + </member> + <member name="M:NUnit.Framework.ValueSourceAttribute.#ctor(System.String)"> + <summary> + Construct with the name of the factory - for use with languages + that don't support params arrays. + </summary> + <param name="sourceName">The name of a static method, property or field that will provide data.</param> + </member> + <member name="M:NUnit.Framework.ValueSourceAttribute.#ctor(System.Type,System.String)"> + <summary> + Construct with a Type and name - for use with languages + that don't support params arrays. + </summary> + <param name="sourceType">The Type that will provide data</param> + <param name="sourceName">The name of a static method, property or field that will provide data.</param> + </member> + <member name="P:NUnit.Framework.ValueSourceAttribute.SourceName"> + <summary> + The name of a the method, property or field to be used as a source + </summary> + </member> + <member name="P:NUnit.Framework.ValueSourceAttribute.SourceType"> + <summary> + A Type to be used as a source + </summary> + </member> + <member name="M:NUnit.Framework.ValueSourceAttribute.GetData(NUnit.Framework.Interfaces.IParameterInfo)"> + <summary> + Retrieves a list of arguments which can be passed to the specified parameter. + </summary> + <param name="parameter">The parameter of a parameterized test.</param> + </member> + <member name="T:NUnit.Framework.CollectionAssert"> + <summary> + A set of Assert methods operating on one or more collections + </summary> + </member> + <member name="M:NUnit.Framework.CollectionAssert.Equals(System.Object,System.Object)"> + <summary> + 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. + </summary> + <param name="a"></param> + <param name="b"></param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.ReferenceEquals(System.Object,System.Object)"> + <summary> + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + </summary> + <param name="a"></param> + <param name="b"></param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.AllItemsAreInstancesOfType(System.Collections.IEnumerable,System.Type)"> + <summary> + Asserts that all items contained in collection are of the type specified by expectedType. + </summary> + <param name="collection">IEnumerable containing objects to be considered</param> + <param name="expectedType">System.Type that all objects in collection must be instances of</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.AllItemsAreInstancesOfType(System.Collections.IEnumerable,System.Type,System.String,System.Object[])"> + <summary> + Asserts that all items contained in collection are of the type specified by expectedType. + </summary> + <param name="collection">IEnumerable containing objects to be considered</param> + <param name="expectedType">System.Type that all objects in collection must be instances of</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.AllItemsAreNotNull(System.Collections.IEnumerable)"> + <summary> + Asserts that all items contained in collection are not equal to null. + </summary> + <param name="collection">IEnumerable containing objects to be considered</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.AllItemsAreNotNull(System.Collections.IEnumerable,System.String,System.Object[])"> + <summary> + Asserts that all items contained in collection are not equal to null. + </summary> + <param name="collection">IEnumerable of objects to be considered</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.AllItemsAreUnique(System.Collections.IEnumerable)"> + <summary> + Ensures that every object contained in collection exists within the collection + once and only once. + </summary> + <param name="collection">IEnumerable of objects to be considered</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.AllItemsAreUnique(System.Collections.IEnumerable,System.String,System.Object[])"> + <summary> + Ensures that every object contained in collection exists within the collection + once and only once. + </summary> + <param name="collection">IEnumerable of objects to be considered</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.AreEqual(System.Collections.IEnumerable,System.Collections.IEnumerable)"> + <summary> + 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. + </summary> + <param name="expected">The first IEnumerable of objects to be considered</param> + <param name="actual">The second IEnumerable of objects to be considered</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.AreEqual(System.Collections.IEnumerable,System.Collections.IEnumerable,System.Collections.IComparer)"> + <summary> + 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. + </summary> + <param name="expected">The first IEnumerable of objects to be considered</param> + <param name="actual">The second IEnumerable of objects to be considered</param> + <param name="comparer">The IComparer to use in comparing objects from each IEnumerable</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.AreEqual(System.Collections.IEnumerable,System.Collections.IEnumerable,System.String,System.Object[])"> + <summary> + 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. + </summary> + <param name="expected">The first IEnumerable of objects to be considered</param> + <param name="actual">The second IEnumerable of objects to be considered</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.AreEqual(System.Collections.IEnumerable,System.Collections.IEnumerable,System.Collections.IComparer,System.String,System.Object[])"> + <summary> + 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. + </summary> + <param name="expected">The first IEnumerable of objects to be considered</param> + <param name="actual">The second IEnumerable of objects to be considered</param> + <param name="comparer">The IComparer to use in comparing objects from each IEnumerable</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.AreEquivalent(System.Collections.IEnumerable,System.Collections.IEnumerable)"> + <summary> + Asserts that expected and actual are equivalent, containing the same objects but the match may be in any order. + </summary> + <param name="expected">The first IEnumerable of objects to be considered</param> + <param name="actual">The second IEnumerable of objects to be considered</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.AreEquivalent(System.Collections.IEnumerable,System.Collections.IEnumerable,System.String,System.Object[])"> + <summary> + Asserts that expected and actual are equivalent, containing the same objects but the match may be in any order. + </summary> + <param name="expected">The first IEnumerable of objects to be considered</param> + <param name="actual">The second IEnumerable of objects to be considered</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.AreNotEqual(System.Collections.IEnumerable,System.Collections.IEnumerable)"> + <summary> + Asserts that expected and actual are not exactly equal. + </summary> + <param name="expected">The first IEnumerable of objects to be considered</param> + <param name="actual">The second IEnumerable of objects to be considered</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.AreNotEqual(System.Collections.IEnumerable,System.Collections.IEnumerable,System.Collections.IComparer)"> + <summary> + Asserts that expected and actual are not exactly equal. + If comparer is not null then it will be used to compare the objects. + </summary> + <param name="expected">The first IEnumerable of objects to be considered</param> + <param name="actual">The second IEnumerable of objects to be considered</param> + <param name="comparer">The IComparer to use in comparing objects from each IEnumerable</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.AreNotEqual(System.Collections.IEnumerable,System.Collections.IEnumerable,System.String,System.Object[])"> + <summary> + Asserts that expected and actual are not exactly equal. + </summary> + <param name="expected">The first IEnumerable of objects to be considered</param> + <param name="actual">The second IEnumerable of objects to be considered</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.AreNotEqual(System.Collections.IEnumerable,System.Collections.IEnumerable,System.Collections.IComparer,System.String,System.Object[])"> + <summary> + Asserts that expected and actual are not exactly equal. + If comparer is not null then it will be used to compare the objects. + </summary> + <param name="expected">The first IEnumerable of objects to be considered</param> + <param name="actual">The second IEnumerable of objects to be considered</param> + <param name="comparer">The IComparer to use in comparing objects from each IEnumerable</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.AreNotEquivalent(System.Collections.IEnumerable,System.Collections.IEnumerable)"> + <summary> + Asserts that expected and actual are not equivalent. + </summary> + <param name="expected">The first IEnumerable of objects to be considered</param> + <param name="actual">The second IEnumerable of objects to be considered</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.AreNotEquivalent(System.Collections.IEnumerable,System.Collections.IEnumerable,System.String,System.Object[])"> + <summary> + Asserts that expected and actual are not equivalent. + </summary> + <param name="expected">The first IEnumerable of objects to be considered</param> + <param name="actual">The second IEnumerable of objects to be considered</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.Contains(System.Collections.IEnumerable,System.Object)"> + <summary> + Asserts that collection contains actual as an item. + </summary> + <param name="collection">IEnumerable of objects to be considered</param> + <param name="actual">Object to be found within collection</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.Contains(System.Collections.IEnumerable,System.Object,System.String,System.Object[])"> + <summary> + Asserts that collection contains actual as an item. + </summary> + <param name="collection">IEnumerable of objects to be considered</param> + <param name="actual">Object to be found within collection</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.DoesNotContain(System.Collections.IEnumerable,System.Object)"> + <summary> + Asserts that collection does not contain actual as an item. + </summary> + <param name="collection">IEnumerable of objects to be considered</param> + <param name="actual">Object that cannot exist within collection</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.DoesNotContain(System.Collections.IEnumerable,System.Object,System.String,System.Object[])"> + <summary> + Asserts that collection does not contain actual as an item. + </summary> + <param name="collection">IEnumerable of objects to be considered</param> + <param name="actual">Object that cannot exist within collection</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.IsNotSubsetOf(System.Collections.IEnumerable,System.Collections.IEnumerable)"> + <summary> + Asserts that the superset does not contain the subset + </summary> + <param name="subset">The IEnumerable subset to be considered</param> + <param name="superset">The IEnumerable superset to be considered</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.IsNotSubsetOf(System.Collections.IEnumerable,System.Collections.IEnumerable,System.String,System.Object[])"> + <summary> + Asserts that the superset does not contain the subset + </summary> + <param name="subset">The IEnumerable subset to be considered</param> + <param name="superset">The IEnumerable superset to be considered</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.IsSubsetOf(System.Collections.IEnumerable,System.Collections.IEnumerable)"> + <summary> + Asserts that the superset contains the subset. + </summary> + <param name="subset">The IEnumerable subset to be considered</param> + <param name="superset">The IEnumerable superset to be considered</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.IsSubsetOf(System.Collections.IEnumerable,System.Collections.IEnumerable,System.String,System.Object[])"> + <summary> + Asserts that the superset contains the subset. + </summary> + <param name="subset">The IEnumerable subset to be considered</param> + <param name="superset">The IEnumerable superset to be considered</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.IsNotSupersetOf(System.Collections.IEnumerable,System.Collections.IEnumerable)"> + <summary> + Asserts that the subset does not contain the superset + </summary> + <param name="superset">The IEnumerable superset to be considered</param> + <param name="subset">The IEnumerable subset to be considered</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.IsNotSupersetOf(System.Collections.IEnumerable,System.Collections.IEnumerable,System.String,System.Object[])"> + <summary> + Asserts that the subset does not contain the superset + </summary> + <param name="superset">The IEnumerable superset to be considered</param> + <param name="subset">The IEnumerable subset to be considered</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.IsSupersetOf(System.Collections.IEnumerable,System.Collections.IEnumerable)"> + <summary> + Asserts that the subset contains the superset. + </summary> + <param name="superset">The IEnumerable superset to be considered</param> + <param name="subset">The IEnumerable subset to be considered</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.IsSupersetOf(System.Collections.IEnumerable,System.Collections.IEnumerable,System.String,System.Object[])"> + <summary> + Asserts that the subset contains the superset. + </summary> + <param name="superset">The IEnumerable superset to be considered</param> + <param name="subset">The IEnumerable subset to be considered</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.IsEmpty(System.Collections.IEnumerable,System.String,System.Object[])"> + <summary> + Assert that an array, list or other collection is empty + </summary> + <param name="collection">An array, list or other collection implementing IEnumerable</param> + <param name="message">The message to be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.IsEmpty(System.Collections.IEnumerable)"> + <summary> + Assert that an array,list or other collection is empty + </summary> + <param name="collection">An array, list or other collection implementing IEnumerable</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.IsNotEmpty(System.Collections.IEnumerable,System.String,System.Object[])"> + <summary> + Assert that an array, list or other collection is empty + </summary> + <param name="collection">An array, list or other collection implementing IEnumerable</param> + <param name="message">The message to be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.IsNotEmpty(System.Collections.IEnumerable)"> + <summary> + Assert that an array,list or other collection is empty + </summary> + <param name="collection">An array, list or other collection implementing IEnumerable</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.IsOrdered(System.Collections.IEnumerable,System.String,System.Object[])"> + <summary> + Assert that an array, list or other collection is ordered + </summary> + <param name="collection">An array, list or other collection implementing IEnumerable</param> + <param name="message">The message to be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.IsOrdered(System.Collections.IEnumerable)"> + <summary> + Assert that an array, list or other collection is ordered + </summary> + <param name="collection">An array, list or other collection implementing IEnumerable</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.IsOrdered(System.Collections.IEnumerable,System.Collections.IComparer,System.String,System.Object[])"> + <summary> + Assert that an array, list or other collection is ordered + </summary> + <param name="collection">An array, list or other collection implementing IEnumerable</param> + <param name="comparer">A custom comparer to perform the comparisons</param> + <param name="message">The message to be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.IsOrdered(System.Collections.IEnumerable,System.Collections.IComparer)"> + <summary> + Assert that an array, list or other collection is ordered + </summary> + <param name="collection">An array, list or other collection implementing IEnumerable</param> + <param name="comparer">A custom comparer to perform the comparisons</param> + </member> + <member name="T:NUnit.Framework.Constraints.AllItemsConstraint"> + <summary> + AllItemsConstraint applies another constraint to each + item in a collection, succeeding if they all succeed. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.AllItemsConstraint.#ctor(NUnit.Framework.Constraints.IConstraint)"> + <summary> + Construct an AllItemsConstraint on top of an existing constraint + </summary> + <param name="itemConstraint"></param> + </member> + <member name="P:NUnit.Framework.Constraints.AllItemsConstraint.DisplayName"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.AllItemsConstraint.ApplyTo``1(``0)"> + <summary> + Apply the item constraint to each item in the collection, + failing if any item fails. + </summary> + <param name="actual"></param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Constraints.AndConstraint"> + <summary> + AndConstraint succeeds only if both members succeed. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.AndConstraint.#ctor(NUnit.Framework.Constraints.IConstraint,NUnit.Framework.Constraints.IConstraint)"> + <summary> + Create an AndConstraint from two other constraints + </summary> + <param name="left">The first constraint</param> + <param name="right">The second constraint</param> + </member> + <member name="P:NUnit.Framework.Constraints.AndConstraint.Description"> + <summary> + Gets text describing a constraint + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.AndConstraint.ApplyTo``1(``0)"> + <summary> + Apply both member constraints to an actual value, succeeding + succeeding only if both of them succeed. + </summary> + <param name="actual">The actual value</param> + <returns>True if the constraints both succeeded</returns> + </member> + <member name="M:NUnit.Framework.Constraints.AndConstraint.AndConstraintResult.WriteActualValueTo(NUnit.Framework.Constraints.MessageWriter)"> + <summary> + 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. + </summary> + <param name="writer">The writer on which the actual value is displayed</param> + </member> + <member name="T:NUnit.Framework.Constraints.AnyOfConstraint"> + <summary> + <see cref="T:NUnit.Framework.Constraints.AnyOfConstraint"/> is used to determine whether the value is equal to any of the expected values. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.AnyOfConstraint.#ctor(System.Object[])"> + <summary> + Construct a <see cref="T:NUnit.Framework.Constraints.AnyOfConstraint"/> + </summary> + <param name="expected">Collection of expected values</param> + </member> + <member name="P:NUnit.Framework.Constraints.AnyOfConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.AnyOfConstraint.ApplyTo``1(``0)"> + <summary> + Test whether item is present in expected collection + </summary> + <typeparam name="TActual">Actual item type</typeparam> + <param name="actual">Actual item</param> + </member> + <member name="P:NUnit.Framework.Constraints.AnyOfConstraint.IgnoreCase"> + <summary> + Flag the constraint to ignore case and return self. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.AnyOfConstraint.Using(System.Collections.IComparer)"> + <summary> + Flag the constraint to use the supplied IComparer object. + </summary> + <param name="comparer">The IComparer object to use.</param> + </member> + <member name="M:NUnit.Framework.Constraints.AnyOfConstraint.Using``1(System.Collections.Generic.IComparer{``0})"> + <summary> + Flag the constraint to use the supplied IComparer object. + </summary> + <param name="comparer">The IComparer object to use.</param> + </member> + <member name="M:NUnit.Framework.Constraints.AnyOfConstraint.Using``1(System.Comparison{``0})"> + <summary> + Flag the constraint to use the supplied Comparison object. + </summary> + <param name="comparer">The Comparison object to use.</param> + </member> + <member name="M:NUnit.Framework.Constraints.AnyOfConstraint.Using(System.Collections.IEqualityComparer)"> + <summary> + Flag the constraint to use the supplied IEqualityComparer object. + </summary> + <param name="comparer">The IEqualityComparer object to use.</param> + </member> + <member name="M:NUnit.Framework.Constraints.AnyOfConstraint.Using``1(System.Collections.Generic.IEqualityComparer{``0})"> + <summary> + Flag the constraint to use the supplied IEqualityComparer object. + </summary> + <param name="comparer">The IComparer object to use.</param> + </member> + <member name="M:NUnit.Framework.Constraints.AnyOfConstraint.Using``1(System.Func{``0,``0,System.Boolean})"> + <summary> + Flag the constraint to use the supplied boolean-returning delegate. + </summary> + <param name="comparer">The supplied boolean-returning delegate to use.</param> + </member> + <member name="T:NUnit.Framework.Constraints.AssignableFromConstraint"> + <summary> + AssignableFromConstraint is used to test that an object + can be assigned from a given Type. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.AssignableFromConstraint.#ctor(System.Type)"> + <summary> + Construct an AssignableFromConstraint for the type provided + </summary> + <param name="type"></param> + </member> + <member name="M:NUnit.Framework.Constraints.AssignableFromConstraint.Matches(System.Object)"> + <summary> + Apply the constraint to an actual value, returning true if it succeeds + </summary> + <param name="actual">The actual argument</param> + <returns>True if the constraint succeeds, otherwise false.</returns> + </member> + <member name="T:NUnit.Framework.Constraints.AssignableToConstraint"> + <summary> + AssignableToConstraint is used to test that an object + can be assigned to a given Type. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.AssignableToConstraint.#ctor(System.Type)"> + <summary> + Construct an AssignableToConstraint for the type provided + </summary> + <param name="type"></param> + </member> + <member name="M:NUnit.Framework.Constraints.AssignableToConstraint.Matches(System.Object)"> + <summary> + Apply the constraint to an actual value, returning true if it succeeds + </summary> + <param name="actual">The actual argument</param> + <returns>True if the constraint succeeds, otherwise false.</returns> + </member> + <member name="T:NUnit.Framework.Constraints.AttributeConstraint"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.AttributeConstraint.#ctor(System.Type,NUnit.Framework.Constraints.IConstraint)"> + <summary> + Constructs an AttributeConstraint for a specified attribute + Type and base constraint. + </summary> + <param name="type"></param> + <param name="baseConstraint"></param> + </member> + <member name="M:NUnit.Framework.Constraints.AttributeConstraint.ApplyTo``1(``0)"> + <summary> + Determines whether the Type or other provider has the + expected attribute and if its value matches the + additional constraint specified. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.AttributeConstraint.GetStringRepresentation"> + <summary> + Returns a string representation of the constraint. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.AttributeExistsConstraint"> + <summary> + AttributeExistsConstraint tests for the presence of a + specified attribute on a Type. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.AttributeExistsConstraint.#ctor(System.Type)"> + <summary> + Constructs an AttributeExistsConstraint for a specific attribute Type + </summary> + <param name="type"></param> + </member> + <member name="P:NUnit.Framework.Constraints.AttributeExistsConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.AttributeExistsConstraint.ApplyTo``1(``0)"> + <summary> + Tests whether the object provides the expected attribute. + </summary> + <param name="actual">A Type, MethodInfo, or other ICustomAttributeProvider</param> + <returns>True if the expected attribute is present, otherwise false</returns> + </member> + <member name="T:NUnit.Framework.Constraints.BinaryConstraint"> + <summary> + BinaryConstraint is the abstract base of all constraints + that combine two other constraints in some fashion. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.BinaryConstraint.Left"> + <summary> + The first constraint being combined + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.BinaryConstraint.Right"> + <summary> + The second constraint being combined + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.BinaryConstraint.#ctor(NUnit.Framework.Constraints.IConstraint,NUnit.Framework.Constraints.IConstraint)"> + <summary> + Construct a BinaryConstraint from two other constraints + </summary> + <param name="left">The first constraint</param> + <param name="right">The second constraint</param> + </member> + <member name="T:NUnit.Framework.Constraints.BinarySerializableConstraint"> + <summary> + BinarySerializableConstraint tests whether + an object is serializable in binary format. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.BinarySerializableConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.BinarySerializableConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="M:NUnit.Framework.Constraints.BinarySerializableConstraint.GetStringRepresentation"> + <summary> + Returns the string representation + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.CollectionConstraint"> + <summary> + CollectionConstraint is the abstract base class for + constraints that operate on collections. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionConstraint.#ctor"> + <summary> + Construct an empty CollectionConstraint + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionConstraint.#ctor(System.Object)"> + <summary> + Construct a CollectionConstraint + </summary> + <param name="arg"></param> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionConstraint.IsEmpty(System.Collections.IEnumerable)"> + <summary> + Determines whether the specified enumerable is empty. + </summary> + <param name="enumerable">The enumerable.</param> + <returns> + <see langword="true"/> if the specified enumerable is empty; otherwise, <see langword="false"/>. + </returns> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionConstraint.Matches(System.Collections.IEnumerable)"> + <summary> + Protected method to be implemented by derived classes + </summary> + <param name="collection"></param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Constraints.CollectionContainsConstraint"> + <summary> + CollectionContainsConstraint is used to test whether a collection + contains an expected object as a member. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionContainsConstraint.#ctor(System.Object)"> + <summary> + Construct a CollectionContainsConstraint + </summary> + <param name="expected"></param> + </member> + <member name="P:NUnit.Framework.Constraints.CollectionContainsConstraint.DisplayName"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.CollectionContainsConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.CollectionContainsConstraint.Expected"> + <summary> + Gets the expected object + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionContainsConstraint.Matches(System.Collections.IEnumerable)"> + <summary> + Test whether the expected item is contained in the collection + </summary> + <param name="actual"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionContainsConstraint.Using``2(System.Func{``0,``1,System.Boolean})"> + <summary> + Flag the constraint to use the supplied predicate function + </summary> + <param name="comparison">The comparison function to use.</param> + <returns>Self.</returns> + </member> + <member name="T:NUnit.Framework.Constraints.CollectionEquivalentConstraint"> + <summary> + CollectionEquivalentConstraint is used to determine whether two + collections are equivalent. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.CollectionEquivalentConstraint._tallyResult"> + <summary>The result of the <see cref="T:NUnit.Framework.Constraints.CollectionTally"/> from the collections + under comparison.</summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionEquivalentConstraint.#ctor(System.Collections.IEnumerable)"> + <summary>Construct a CollectionEquivalentConstraint</summary> + <param name="expected">Expected collection.</param> + </member> + <member name="P:NUnit.Framework.Constraints.CollectionEquivalentConstraint.DisplayName"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.CollectionEquivalentConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionEquivalentConstraint.Matches(System.Collections.IEnumerable)"> + <summary> + Test whether two collections are equivalent + </summary> + <param name="actual"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionEquivalentConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the collection is equivalent to the expected. + </summary> + <typeparam name="TActual"> + Actual collection type. + </typeparam> + <param name="actual"> + Actual collection to compare. + </param> + <returns> + A <see cref="T:NUnit.Framework.Constraints.CollectionEquivalentConstraintResult"/> indicating whether or not + the two collections are equivalent. + </returns> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionEquivalentConstraint.Using``2(System.Func{``0,``1,System.Boolean})"> + <summary> + Flag the constraint to use the supplied predicate function + </summary> + <param name="comparison">The comparison function to use.</param> + <returns>Self.</returns> + </member> + <member name="T:NUnit.Framework.Constraints.CollectionEquivalentConstraintResult"> + <summary>Provides a <see cref="T:NUnit.Framework.Constraints.ConstraintResult"/> for the <see cref="T:NUnit.Framework.Constraints.CollectionEquivalentConstraint"/>.</summary> + </member> + <member name="F:NUnit.Framework.Constraints.CollectionEquivalentConstraintResult._tallyResult"> + <summary>Result of a <see cref="T:NUnit.Framework.Constraints.CollectionTally"/> of the collections to compare for equivalence.</summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionEquivalentConstraintResult.#ctor(NUnit.Framework.Constraints.CollectionEquivalentConstraint,NUnit.Framework.Constraints.CollectionTally.CollectionTallyResult,System.Object,System.Boolean)"> + <summary>Construct a <see cref="T:NUnit.Framework.Constraints.CollectionEquivalentConstraintResult"/> using a <see cref="T:NUnit.Framework.Constraints.CollectionTally.CollectionTallyResult"/>.</summary> + <param name="constraint">Source <see cref="T:NUnit.Framework.Constraints.CollectionEquivalentConstraint"/>.</param> + <param name="tallyResult">Result of the collection comparison.</param> + <param name="actual">Actual collection to compare.</param> + <param name="isSuccess">Whether or not the <see cref="T:NUnit.Framework.Constraints.CollectionEquivalentConstraint"/> succeeded.</param> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionEquivalentConstraintResult.WriteAdditionalLinesTo(NUnit.Framework.Constraints.MessageWriter)"> + <summary>Write any additional lines (following <c>Expected:</c> and <c>But was:</c>) for a failing constraint.</summary> + <param name="writer">The <see cref="T:NUnit.Framework.Constraints.MessageWriter"/> to write the failure message to.</param> + </member> + <member name="T:NUnit.Framework.Constraints.CollectionItemsEqualConstraint"> + <summary> + CollectionItemsEqualConstraint is the abstract base class for all + collection constraints that apply some notion of item equality + as a part of their operation. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.CollectionItemsEqualConstraint._comparer"> + <summary> + The NUnitEqualityComparer in use for this constraint + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionItemsEqualConstraint.#ctor"> + <summary> + Construct an empty CollectionConstraint + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionItemsEqualConstraint.#ctor(System.Object)"> + <summary> + Construct a CollectionConstraint + </summary> + <param name="arg"></param> + </member> + <member name="P:NUnit.Framework.Constraints.CollectionItemsEqualConstraint.IgnoringCase"> + <summary> + Get a flag indicating whether the user requested us to ignore case. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.CollectionItemsEqualConstraint.UsingExternalComparer"> + <summary> + Get a flag indicating whether any external comparers are in use. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.CollectionItemsEqualConstraint.IgnoreCase"> + <summary> + Flag the constraint to ignore case and return self. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionItemsEqualConstraint.Using(System.Collections.IComparer)"> + <summary> + Flag the constraint to use the supplied IComparer object. + </summary> + <param name="comparer">The IComparer object to use.</param> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionItemsEqualConstraint.Using``1(System.Collections.Generic.IComparer{``0})"> + <summary> + Flag the constraint to use the supplied IComparer object. + </summary> + <param name="comparer">The IComparer object to use.</param> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionItemsEqualConstraint.Using``1(System.Comparison{``0})"> + <summary> + Flag the constraint to use the supplied Comparison object. + </summary> + <param name="comparison">The Comparison object to use.</param> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionItemsEqualConstraint.Using(System.Collections.IEqualityComparer)"> + <summary> + Flag the constraint to use the supplied IEqualityComparer object. + </summary> + <param name="comparer">The IComparer object to use.</param> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionItemsEqualConstraint.Using``1(System.Collections.Generic.IEqualityComparer{``0})"> + <summary> + Flag the constraint to use the supplied IEqualityComparer object. + </summary> + <param name="comparer">The IComparer object to use.</param> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionItemsEqualConstraint.Using``1(System.Func{``0,``0,System.Boolean})"> + <summary> + Flag the constraint to use the supplied boolean-returning delegate. + </summary> + <param name="comparer">The supplied boolean-returning delegate to use.</param> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionItemsEqualConstraint.ItemsEqual(System.Object,System.Object)"> + <summary> + Compares two collection members for equality + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionItemsEqualConstraint.Tally(System.Collections.IEnumerable)"> + <summary> + Return a new CollectionTally for use in making tests + </summary> + <param name="c">The collection to be included in the tally</param> + </member> + <member name="T:NUnit.Framework.Constraints.CollectionOrderedConstraint"> + <summary> + CollectionOrderedConstraint is used to test whether a collection is ordered. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionOrderedConstraint.#ctor"> + <summary> + Construct a CollectionOrderedConstraint + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.CollectionOrderedConstraint.DisplayName"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.CollectionOrderedConstraint.Ascending"> + <summary> + If used performs a default ascending comparison + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.CollectionOrderedConstraint.Descending"> + <summary> + If used performs a reverse comparison + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionOrderedConstraint.Using(System.Collections.IComparer)"> + <summary> + Modifies the constraint to use an <see cref="T:System.Collections.IComparer"/> and returns self. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionOrderedConstraint.Using``1(System.Collections.Generic.IComparer{``0})"> + <summary> + Modifies the constraint to use an <see cref="T:System.Collections.Generic.IComparer`1"/> and returns self. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionOrderedConstraint.Using``1(System.Comparison{``0})"> + <summary> + Modifies the constraint to use a <see cref="T:System.Comparison`1"/> and returns self. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionOrderedConstraint.By(System.String)"> + <summary> + Modifies the constraint to test ordering by the value of + a specified property and returns self. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.CollectionOrderedConstraint.Then"> + <summary> + Then signals a break between two ordering steps + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.CollectionOrderedConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionOrderedConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionOrderedConstraint.Matches(System.Collections.IEnumerable)"> + <summary> + Test whether the collection is ordered + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionOrderedConstraint.GetStringRepresentation"> + <summary> + Returns the string representation of the constraint. + </summary> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Constraints.CollectionOrderedConstraint.OrderingStep"> + <summary> + An OrderingStep represents one stage of the sort + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionOrderedConstraint.CollectionOrderedConstraintResult.#ctor(NUnit.Framework.Constraints.IConstraint,System.Collections.IEnumerable)"> + <summary> + Constructor for success result. + </summary> + <param name="constraint">The Constraint to which this result applies.</param> + <param name="actualValue">The actual value to which the Constraint was applied.</param> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionOrderedConstraint.CollectionOrderedConstraintResult.#ctor(NUnit.Framework.Constraints.IConstraint,System.Collections.IEnumerable,System.Int32,System.Object)"> + <summary> + Constructor for failure result. + </summary> + <param name="constraint">The Constraint to which this result applies.</param> + <param name="actualValue">The actual value to which the Constraint was applied.</param> + <param name="breakingIndex">Index at which collection order breaks.</param> + <param name="breakingValue">Value at which collection order breaks.</param> + </member> + <member name="T:NUnit.Framework.Constraints.CollectionSubsetConstraint"> + <summary> + CollectionSubsetConstraint is used to determine whether + one collection is a subset of another + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionSubsetConstraint.#ctor(System.Collections.IEnumerable)"> + <summary> + Construct a CollectionSubsetConstraint + </summary> + <param name="expected">The collection that the actual value is expected to be a subset of</param> + </member> + <member name="P:NUnit.Framework.Constraints.CollectionSubsetConstraint.DisplayName"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.CollectionSubsetConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionSubsetConstraint.Matches(System.Collections.IEnumerable)"> + <summary> + Test whether the actual collection is a subset of + the expected collection provided. + </summary> + <param name="actual"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionSubsetConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionSubsetConstraint.Using``2(System.Func{``0,``1,System.Boolean})"> + <summary> + Flag the constraint to use the supplied predicate function + </summary> + <param name="comparison">The comparison function to use.</param> + <returns>Self.</returns> + </member> + <member name="T:NUnit.Framework.Constraints.CollectionSupersetConstraint"> + <summary> + CollectionSupersetConstraint is used to determine whether + one collection is a superset of another + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionSupersetConstraint.#ctor(System.Collections.IEnumerable)"> + <summary> + Construct a CollectionSupersetConstraint + </summary> + <param name="expected">The collection that the actual value is expected to be a superset of</param> + </member> + <member name="P:NUnit.Framework.Constraints.CollectionSupersetConstraint.DisplayName"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.CollectionSupersetConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionSupersetConstraint.Matches(System.Collections.IEnumerable)"> + <summary> + Test whether the actual collection is a superset of + the expected collection provided. + </summary> + <param name="actual"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionSupersetConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionSupersetConstraint.Using``2(System.Func{``0,``1,System.Boolean})"> + <summary> + Flag the constraint to use the supplied predicate function + </summary> + <param name="comparison">The comparison function to use.</param> + <returns>Self.</returns> + </member> + <member name="T:NUnit.Framework.Constraints.CollectionTally"> + <summary><see cref="T:NUnit.Framework.Constraints.CollectionTally"/> counts (tallies) the number of occurrences + of each object in one or more enumerations.</summary> + </member> + <member name="T:NUnit.Framework.Constraints.CollectionTally.CollectionTallyResult"> + <summary>The result of a <see cref="T:NUnit.Framework.Constraints.CollectionTally"/>.</summary> + </member> + <member name="P:NUnit.Framework.Constraints.CollectionTally.CollectionTallyResult.ExtraItems"> + <summary>Items that were not in the expected collection.</summary> + </member> + <member name="P:NUnit.Framework.Constraints.CollectionTally.CollectionTallyResult.MissingItems"> + <summary>Items that were not accounted for in the expected collection.</summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionTally.CollectionTallyResult.#ctor(System.Collections.Generic.List{System.Object},System.Collections.Generic.List{System.Object})"> + <summary>Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.CollectionTally.CollectionTallyResult"/> class with the given fields.</summary> + </member> + <member name="P:NUnit.Framework.Constraints.CollectionTally.Result"> + <summary>The result of the comparison between the two collections.</summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionTally.#ctor(NUnit.Framework.Constraints.NUnitEqualityComparer,System.Collections.IEnumerable)"> + <summary>Construct a CollectionTally object from a comparer and a collection.</summary> + <param name="comparer">The comparer to use for equality.</param> + <param name="c">The expected collection to compare against.</param> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionTally.TryRemove(System.Object)"> + <summary>Try to remove an object from the tally.</summary> + <param name="o">The object to remove.</param> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionTally.TryRemove(System.Collections.IEnumerable)"> + <summary>Try to remove a set of objects from the tally.</summary> + <param name="c">The objects to remove.</param> + </member> + <member name="T:NUnit.Framework.Constraints.Comparers.ArraysComparer"> + <summary> + Comparator for two <see cref="T:System.Array"/>s. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.Comparers.CharsComparer"> + <summary> + Comparator for two <see cref="T:System.Char"/>s. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Comparers.ComparisonState.TopLevelComparison"> + <summary> + Flag indicating whether or not this is the top level comparison. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.Comparers.ComparisonState._comparisons"> + <summary> + A list of tracked comparisons + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.Comparers.DateTimeOffsetsComparer"> + <summary> + Comparator for two <see cref="T:System.DateTimeOffset"/>s. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.Comparers.DictionariesComparer"> + <summary> + Comparator for two <see cref="T:System.Collections.IDictionary"/>s. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.Comparers.DictionaryEntriesComparer"> + <summary> + Comparator for two <see cref="T:System.Collections.DictionaryEntry"/>s. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.Comparers.DirectoriesComparer"> + <summary> + Comparator for two <see cref="T:System.IO.DirectoryInfo"/>s. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.Comparers.EnumerablesComparer"> + <summary> + Comparator for two <see cref="T:System.Collections.IEnumerable"/>s. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.Comparers.EquatablesComparer"> + <summary> + Comparator for two types related by <see cref="T:System.IEquatable`1"/>. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.Comparers.IChainComparer"> + <summary> + Interface for comparing two <see cref="T:System.Object"/>s. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.Comparers.IChainComparer.Equal(System.Object,System.Object,NUnit.Framework.Constraints.Tolerance@,NUnit.Framework.Constraints.Comparers.ComparisonState)"> + <summary> + Method for comparing two objects with a tolerance. + </summary> + <param name="x">The first object to compare.</param> + <param name="y">The second object to compare.</param> + <param name="tolerance">The tolerance to use when comparing the objects.</param> + <param name="state">The evaluation state of the comparison.</param> + <returns> + <see langword="null"/> if the objects cannot be compared using the method. + Otherwise the result of the comparison is returned. + </returns> + </member> + <member name="T:NUnit.Framework.Constraints.Comparers.KeyValuePairsComparer"> + <summary> + Comparator for two <see cref="T:System.Collections.Generic.KeyValuePair`2"/>s. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.Comparers.NumericsComparer"> + <summary> + Comparator for two <see cref="T:NUnit.Framework.Constraints.Numerics"/>s. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.Comparers.StreamsComparer"> + <summary> + Comparator for two <see cref="T:System.IO.Stream"/>s. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.Comparers.StringsComparer"> + <summary> + Comparator for two <see cref="T:System.String"/>s. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.Comparers.TimeSpanToleranceComparer"> + <summary> + Comparator for two <see cref="T:System.DateTime"/>s or <see cref="T:System.TimeSpan"/>s. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.Comparers.TupleComparer"> + <summary> + Comparator for two <c>Tuple</c>s. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.Comparers.TupleComparerBase"> + <summary> + Base class for comparators for tuples (both regular Tuples and ValueTuples). + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.Comparers.ValueTupleComparer"> + <summary> + Comparator for two <c>ValueTuple</c>s. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.ComparisonAdapter"> + <summary> + ComparisonAdapter class centralizes all comparisons of + values in NUnit, adapting to the use of any provided + <see cref="T:System.Collections.IComparer"/>, <see cref="T:System.Collections.Generic.IComparer`1"/> + or <see cref="T:System.Comparison`1"/>. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ComparisonAdapter.Default"> + <summary> + Gets the default ComparisonAdapter, which wraps an + NUnitComparer object. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ComparisonAdapter.For(System.Collections.IComparer)"> + <summary> + Returns a ComparisonAdapter that wraps an <see cref="T:System.Collections.IComparer"/> + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ComparisonAdapter.For``1(System.Collections.Generic.IComparer{``0})"> + <summary> + Returns a ComparisonAdapter that wraps an <see cref="T:System.Collections.Generic.IComparer`1"/> + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ComparisonAdapter.For``1(System.Comparison{``0})"> + <summary> + Returns a ComparisonAdapter that wraps a <see cref="T:System.Comparison`1"/> + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ComparisonAdapter.Compare(System.Object,System.Object)"> + <summary> + Compares two objects + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ComparisonAdapter.DefaultComparisonAdapter.#ctor"> + <summary> + Construct a default ComparisonAdapter + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ComparisonAdapter.ComparerAdapter.#ctor(System.Collections.IComparer)"> + <summary> + Construct a ComparisonAdapter for an <see cref="T:System.Collections.IComparer"/> + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ComparisonAdapter.ComparerAdapter.Compare(System.Object,System.Object)"> + <summary> + Compares two objects + </summary> + <param name="expected"></param> + <param name="actual"></param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Constraints.ComparisonAdapter.ComparerAdapter`1"> + <summary> + ComparerAdapter extends <see cref="T:NUnit.Framework.Constraints.ComparisonAdapter"/> and + allows use of an <see cref="T:System.Collections.Generic.IComparer`1"/> or <see cref="T:System.Comparison`1"/> + to actually perform the comparison. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ComparisonAdapter.ComparerAdapter`1.#ctor(System.Collections.Generic.IComparer{`0})"> + <summary> + Construct a ComparisonAdapter for an <see cref="T:System.Collections.Generic.IComparer`1"/> + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ComparisonAdapter.ComparerAdapter`1.Compare(System.Object,System.Object)"> + <summary> + Compare a Type T to an object + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ComparisonAdapter.ComparisonAdapterForComparison`1.#ctor(System.Comparison{`0})"> + <summary> + Construct a ComparisonAdapter for a <see cref="T:System.Comparison`1"/> + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ComparisonAdapter.ComparisonAdapterForComparison`1.Compare(System.Object,System.Object)"> + <summary> + Compare a Type T to an object + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.ComparisonConstraint"> + <summary> + Abstract base class for constraints that compare values to + determine if one is greater than, equal to or less than + the other. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.ComparisonConstraint._expected"> + <summary> + The value against which a comparison is to be made + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.ComparisonConstraint._tolerance"> + <summary> + Tolerance used in making the comparison + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.ComparisonConstraint._comparer"> + <summary> + ComparisonAdapter to be used in making the comparison + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ComparisonConstraint.#ctor(System.Object)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.ComparisonConstraint"/> class. + </summary> + <param name="expected">The value against which to make a comparison.</param> + </member> + <member name="M:NUnit.Framework.Constraints.ComparisonConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>A ConstraintResult</returns> + </member> + <member name="M:NUnit.Framework.Constraints.ComparisonConstraint.PerformComparison(NUnit.Framework.Constraints.ComparisonAdapter,System.Object,System.Object,NUnit.Framework.Constraints.Tolerance)"> + <summary> + Protected function overridden by derived class to actually perform the comparison + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ComparisonConstraint.Using(System.Collections.IComparer)"> + <summary> + Modifies the constraint to use an <see cref="T:System.Collections.IComparer"/> and returns self + </summary> + <param name="comparer">The comparer used for comparison tests</param> + <returns>A constraint modified to use the given comparer</returns> + </member> + <member name="M:NUnit.Framework.Constraints.ComparisonConstraint.Using``1(System.Collections.Generic.IComparer{``0})"> + <summary> + Modifies the constraint to use an <see cref="T:System.Collections.Generic.IComparer`1"/> and returns self + </summary> + <param name="comparer">The comparer used for comparison tests</param> + <returns>A constraint modified to use the given comparer</returns> + </member> + <member name="M:NUnit.Framework.Constraints.ComparisonConstraint.Using``1(System.Comparison{``0})"> + <summary> + Modifies the constraint to use a <see cref="T:System.Comparison`1"/> and returns self + </summary> + <param name="comparer">The comparer used for comparison tests</param> + <returns>A constraint modified to use the given comparer</returns> + </member> + <member name="M:NUnit.Framework.Constraints.ComparisonConstraint.Within(System.Object)"> + <summary> + Set the tolerance for use in this comparison + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ComparisonConstraint.Percent"> + <summary> + Switches the .Within() modifier to interpret its tolerance as + a percentage that the actual values is allowed to deviate from + the expected value. + </summary> + <returns>Self</returns> + </member> + <member name="M:NUnit.Framework.Constraints.ComparisonConstraint.DefaultDescription(System.String)"> + <summary> + Provides standard description of what the constraint tests + based on comparison text. + </summary> + <param name="comparisonText">Describes the comparison being tested, throws <see cref="T:System.ArgumentNullException"/> + if null</param> + <exception cref="T:System.ArgumentNullException">Is thrown when null passed to a method</exception> + </member> + <member name="T:NUnit.Framework.Constraints.ActualValueDelegate`1"> + <summary> + Delegate used to delay evaluation of the actual value + to be used in evaluating a constraint + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.Constraint"> + <summary> + The Constraint class is the base of all built-in constraints + within NUnit. It provides the operator overloads used to combine + constraints. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.Constraint.#ctor(System.Object[])"> + <summary> + Construct a constraint with optional arguments + </summary> + <param name="args">Arguments to be saved</param> + </member> + <member name="P:NUnit.Framework.Constraints.Constraint.DisplayName"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Constraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Constraint.Arguments"> + <summary> + Arguments provided to this Constraint, for use in + formatting the description. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Constraint.Builder"> + <summary> + The ConstraintBuilder holding this constraint + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.Constraint.ApplyTo``1(``0)"> + <summary> + Applies the constraint to an actual value, returning a ConstraintResult. + </summary> + <param name="actual">The value to be tested</param> + <returns>A ConstraintResult</returns> + </member> + <member name="M:NUnit.Framework.Constraints.Constraint.ApplyTo``1(NUnit.Framework.Constraints.ActualValueDelegate{``0})"> + <summary> + 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. + </summary> + <param name="del">An ActualValueDelegate</param> + <returns>A ConstraintResult</returns> + </member> + <member name="M:NUnit.Framework.Constraints.Constraint.ApplyTo``1(``0@)"> + <summary> + 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. + </summary> + <param name="actual">A reference to the value to be tested</param> + <returns>A ConstraintResult</returns> + </member> + <member name="M:NUnit.Framework.Constraints.Constraint.GetTestObject``1(NUnit.Framework.Constraints.ActualValueDelegate{``0})"> + <summary> + 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. + </summary> + <param name="del">An ActualValueDelegate</param> + <returns>Delegate evaluation result</returns> + </member> + <member name="M:NUnit.Framework.Constraints.Constraint.ToString"> + <summary> + Default override of ToString returns the constraint DisplayName + followed by any arguments within angle brackets. + </summary> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Constraints.Constraint.GetStringRepresentation"> + <summary> + Returns the string representation of this constraint + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.Constraint.op_BitwiseAnd(NUnit.Framework.Constraints.Constraint,NUnit.Framework.Constraints.Constraint)"> + <summary> + This operator creates a constraint that is satisfied only if both + argument constraints are satisfied. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.Constraint.op_BitwiseOr(NUnit.Framework.Constraints.Constraint,NUnit.Framework.Constraints.Constraint)"> + <summary> + This operator creates a constraint that is satisfied if either + of the argument constraints is satisfied. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.Constraint.op_LogicalNot(NUnit.Framework.Constraints.Constraint)"> + <summary> + This operator creates a constraint that is satisfied if the + argument constraint is not satisfied. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Constraint.And"> + <summary> + Returns a ConstraintExpression by appending And + to the current constraint. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Constraint.With"> + <summary> + Returns a ConstraintExpression by appending And + to the current constraint. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Constraint.Or"> + <summary> + Returns a ConstraintExpression by appending Or + to the current constraint. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.Constraint.After(System.Int32)"> + <summary> + Returns a DelayedConstraint.WithRawDelayInterval with the specified delay time. + </summary> + <param name="delay">The delay, which defaults to milliseconds.</param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Constraints.Constraint.After(System.Int32,System.Int32)"> + <summary> + Returns a DelayedConstraint with the specified delay time + and polling interval. + </summary> + <param name="delayInMilliseconds">The delay in milliseconds.</param> + <param name="pollingInterval">The interval at which to test the constraint.</param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Constraints.Constraint.NUnit#Framework#Constraints#IResolveConstraint#Resolve"> + <summary> + Resolves any pending operators and returns the resolved constraint. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.ConstraintBuilder"> + <summary> + 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. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.ConstraintBuilder.OperatorStack"> + <summary> + OperatorStack is a type-safe stack for holding ConstraintOperators + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.OperatorStack.#ctor(NUnit.Framework.Constraints.ConstraintBuilder)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.ConstraintBuilder.OperatorStack"/> class. + </summary> + <param name="builder">The ConstraintBuilder using this stack.</param> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintBuilder.OperatorStack.Empty"> + <summary> + Gets a value indicating whether this <see cref="T:NUnit.Framework.Constraints.ConstraintBuilder.OperatorStack"/> is empty. + </summary> + <value><see langword="true"/> if empty; otherwise, <see langword="false"/>.</value> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintBuilder.OperatorStack.Top"> + <summary> + Gets the topmost operator without modifying the stack. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.OperatorStack.Push(NUnit.Framework.Constraints.ConstraintOperator)"> + <summary> + Pushes the specified operator onto the stack. + </summary> + <param name="op">The operator to put onto the stack.</param> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.OperatorStack.Pop"> + <summary> + Pops the topmost operator from the stack. + </summary> + <returns>The topmost operator on the stack</returns> + </member> + <member name="T:NUnit.Framework.Constraints.ConstraintBuilder.ConstraintStack"> + <summary> + ConstraintStack is a type-safe stack for holding Constraints + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.ConstraintStack.#ctor(NUnit.Framework.Constraints.ConstraintBuilder)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.ConstraintBuilder.ConstraintStack"/> class. + </summary> + <param name="builder">The ConstraintBuilder using this stack.</param> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintBuilder.ConstraintStack.Empty"> + <summary> + Gets a value indicating whether this <see cref="T:NUnit.Framework.Constraints.ConstraintBuilder.ConstraintStack"/> is empty. + </summary> + <value><see langword="true"/> if empty; otherwise, <see langword="false"/>.</value> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.ConstraintStack.Push(NUnit.Framework.Constraints.IConstraint)"> + <summary> + Pushes the specified constraint. As a side effect, + the constraint's Builder field is set to the + ConstraintBuilder owning this stack. + </summary> + <param name="constraint">The constraint to put onto the stack</param> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.ConstraintStack.Pop"> + <summary> + Pops this topmost constraint from the stack. + As a side effect, the constraint's Builder + field is set to null. + </summary> + <returns>The topmost constraint on the stack</returns> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.ConstraintBuilder"/> class. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.Append(NUnit.Framework.Constraints.ConstraintOperator)"> + <summary> + Appends the specified operator to the expression by first + reducing the operator stack and then pushing the new + operator on the stack. + </summary> + <param name="op">The operator to push.</param> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.Append(NUnit.Framework.Constraints.Constraint)"> + <summary> + Appends the specified constraint to the expression by pushing + it on the constraint stack. + </summary> + <param name="constraint">The constraint to push.</param> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.SetTopOperatorRightContext(System.Object)"> + <summary> + Sets the top operator right context. + </summary> + <param name="rightContext">The right context.</param> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.ReduceOperatorStack(System.Int32)"> + <summary> + Reduces the operator stack until the topmost item + precedence is greater than or equal to the target precedence. + </summary> + <param name="targetPrecedence">The target precedence.</param> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.Resolve"> + <summary> + Resolves this instance, returning a Constraint. If the Builder + is not currently in a resolvable state, an exception is thrown. + </summary> + <returns>The resolved constraint</returns> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintBuilder.IsResolvable"> + <summary> + Gets a value indicating whether this instance is resolvable. + </summary> + <value> + <see langword="true"/> if this instance is resolvable; otherwise, <see langword="false"/>. + </value> + </member> + <member name="T:NUnit.Framework.Constraints.ConstraintExpression"> + <summary> + 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. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.ConstraintExpression.builder"> + <summary> + The ConstraintBuilder holding the elements recognized so far + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.ConstraintExpression"/> class. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.#ctor(NUnit.Framework.Constraints.ConstraintBuilder)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.ConstraintExpression"/> + class passing in a ConstraintBuilder, which may be pre-populated. + </summary> + <param name="builder">The builder.</param> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.ToString"> + <summary> + 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. + </summary> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Append(NUnit.Framework.Constraints.ConstraintOperator)"> + <summary> + Appends an operator to the expression and returns the + resulting expression itself. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Append(NUnit.Framework.Constraints.SelfResolvingOperator)"> + <summary> + Appends a self-resolving operator to the expression and + returns a new ResolvableConstraintExpression. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Append(NUnit.Framework.Constraints.Constraint)"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.Not"> + <summary> + Returns a ConstraintExpression that negates any + following constraint. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.No"> + <summary> + Returns a ConstraintExpression that negates any + following constraint. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.All"> + <summary> + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.Some"> + <summary> + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if at least one of them succeeds. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.None"> + <summary> + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them fail. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Exactly(System.Int32)"> + <summary> + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding only if a specified number of them succeed. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.One"> + <summary> + Returns a <see cref="T:NUnit.Framework.Constraints.ItemsConstraintExpression"/>, which will + apply the following constraint to a collection of length one, succeeding + only if exactly one of them succeeds. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Property(System.String)"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.Length"> + <summary> + Returns a new ConstraintExpression, which will apply the following + constraint to the Length property of the object being tested. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.Count"> + <summary> + Returns a new ConstraintExpression, which will apply the following + constraint to the Count property of the object being tested. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.Message"> + <summary> + Returns a new ConstraintExpression, which will apply the following + constraint to the Message property of the object being tested. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.InnerException"> + <summary> + Returns a new ConstraintExpression, which will apply the following + constraint to the InnerException property of the object being tested. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Attribute(System.Type)"> + <summary> + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Attribute``1"> + <summary> + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.With"> + <summary> + With is currently a NOP - reserved for future use. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Matches(NUnit.Framework.Constraints.IResolveConstraint)"> + <summary> + Returns the constraint provided as an argument - used to allow custom + custom constraints to easily participate in the syntax. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Matches``1(System.Predicate{``0})"> + <summary> + Returns the constraint provided as an argument - used to allow custom + custom constraints to easily participate in the syntax. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.Null"> + <summary> + Returns a constraint that tests for null + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.True"> + <summary> + Returns a constraint that tests for True + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.False"> + <summary> + Returns a constraint that tests for False + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.Positive"> + <summary> + Returns a constraint that tests for a positive value + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.Negative"> + <summary> + Returns a constraint that tests for a negative value + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.Zero"> + <summary> + Returns a constraint that tests if item is equal to zero + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.NaN"> + <summary> + Returns a constraint that tests for NaN + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.Empty"> + <summary> + Returns a constraint that tests for empty + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.Unique"> + <summary> + Returns a constraint that tests whether a collection + contains all unique items. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.BinarySerializable"> + <summary> + Returns a constraint that tests whether an object graph is serializable in binary format. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.XmlSerializable"> + <summary> + Returns a constraint that tests whether an object graph is serializable in XML format. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.EqualTo(System.Object)"> + <summary> + Returns a constraint that tests two items for equality + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.SameAs(System.Object)"> + <summary> + Returns a constraint that tests that two references are the same object + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.GreaterThan(System.Object)"> + <summary> + Returns a constraint that tests whether the + actual value is greater than the supplied argument + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.GreaterThanOrEqualTo(System.Object)"> + <summary> + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.AtLeast(System.Object)"> + <summary> + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.LessThan(System.Object)"> + <summary> + Returns a constraint that tests whether the + actual value is less than the supplied argument + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.LessThanOrEqualTo(System.Object)"> + <summary> + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.AtMost(System.Object)"> + <summary> + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.TypeOf(System.Type)"> + <summary> + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.TypeOf``1"> + <summary> + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.InstanceOf(System.Type)"> + <summary> + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.InstanceOf``1"> + <summary> + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.AssignableFrom(System.Type)"> + <summary> + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.AssignableFrom``1"> + <summary> + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.AssignableTo(System.Type)"> + <summary> + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.AssignableTo``1"> + <summary> + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.EquivalentTo(System.Collections.IEnumerable)"> + <summary> + Returns a constraint that tests whether the actual value + is a collection containing the same elements as the + collection supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.SubsetOf(System.Collections.IEnumerable)"> + <summary> + Returns a constraint that tests whether the actual value + is a subset of the collection supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.SupersetOf(System.Collections.IEnumerable)"> + <summary> + Returns a constraint that tests whether the actual value + is a superset of the collection supplied as an argument. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.Ordered"> + <summary> + Returns a constraint that tests whether a collection is ordered + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Member(System.Object)"> + <summary> + Returns a new <see cref="T:NUnit.Framework.Constraints.SomeItemsConstraint"/> checking for the + presence of a particular object in the collection. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Contains(System.Object)"> + <summary> + <para> + Returns a new <see cref="T:NUnit.Framework.Constraints.SomeItemsConstraint"/> checking for the + presence of a particular object in the collection. + </para> + <para> + To search for a substring instead of a collection element, use the + <see cref="M:NUnit.Framework.Constraints.ConstraintExpression.Contains(System.String)"/> overload. + </para> + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Contains(System.String)"> + <summary> + <para> + 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. + </para> + <para> + To search for a collection element instead of a substring, use the + <see cref="M:NUnit.Framework.Constraints.ConstraintExpression.Contains(System.Object)"/> overload. + </para> + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Contain(System.Object)"> + <summary> + Returns a new <see cref="T:NUnit.Framework.Constraints.SomeItemsConstraint"/> checking for the + presence of a particular object in the collection. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Contain(System.String)"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.ContainKey(System.Object)"> + <summary> + Returns a new DictionaryContainsKeyConstraint checking for the + presence of a particular key in the Dictionary key collection. + </summary> + <param name="expected">The key to be matched in the Dictionary key collection</param> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.ContainValue(System.Object)"> + <summary> + Returns a new DictionaryContainsValueConstraint checking for the + presence of a particular value in the Dictionary value collection. + </summary> + <param name="expected">The value to be matched in the Dictionary value collection</param> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.StringContaining(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.ContainsSubstring(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.StartWith(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.StartsWith(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.StringStarting(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.EndWith(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.EndsWith(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.StringEnding(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Match(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Match(System.Text.RegularExpressions.Regex)"> + <summary> + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Matches(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Matches(System.Text.RegularExpressions.Regex)"> + <summary> + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.StringMatching(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.SamePath(System.String)"> + <summary> + Returns a constraint that tests whether the path provided + is the same as an expected path after canonicalization. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.SubPathOf(System.String)"> + <summary> + Returns a constraint that tests whether the path provided + is the a subpath of the expected path after canonicalization. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.SamePathOrUnder(System.String)"> + <summary> + Returns a constraint that tests whether the path provided + is the same path or under an expected path after canonicalization. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.InRange(System.Object,System.Object)"> + <summary> + Returns a constraint that tests whether the actual value falls + inclusively within a specified range. + </summary> + <param name="from">Inclusive beginning of the range.</param> + <param name="to">Inclusive end of the range.</param> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.Exist"> + <summary> + Returns a constraint that succeeds if the value + is a file or directory and it exists. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.AnyOf(System.Object[])"> + <summary> + Returns a constraint that tests if an item is equal to any of parameters + </summary> + <param name="expected">Expected values</param> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.ItemAt(System.Object[])"> + <summary> + Returns a new IndexerConstraintExpression, which will + apply any following constraint to that indexer value. + </summary> + <param name="indexArgs">Index accessor values.</param> + </member> + <member name="T:NUnit.Framework.Constraints.ConstraintStatus"> + <summary> + ConstraintStatus represents the status of a ConstraintResult + returned by a Constraint being applied to an actual value. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.ConstraintStatus.Unknown"> + <summary> + The status has not yet been set + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.ConstraintStatus.Success"> + <summary> + The constraint succeeded + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.ConstraintStatus.Failure"> + <summary> + The constraint failed + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.ConstraintStatus.Error"> + <summary> + An error occurred in applying the constraint (reserved for future use) + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.ConstraintResult"> + <summary> + Contains the result of matching a <see cref="T:NUnit.Framework.Constraints.Constraint"/> against an actual value. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintResult.#ctor(NUnit.Framework.Constraints.IConstraint,System.Object)"> + <summary> + Constructs a <see cref="T:NUnit.Framework.Constraints.ConstraintResult"/> for a particular <see cref="T:NUnit.Framework.Constraints.Constraint"/>. + </summary> + <param name="constraint">The Constraint to which this result applies.</param> + <param name="actualValue">The actual value to which the Constraint was applied.</param> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintResult.#ctor(NUnit.Framework.Constraints.IConstraint,System.Object,NUnit.Framework.Constraints.ConstraintStatus)"> + <summary> + Constructs a <see cref="T:NUnit.Framework.Constraints.ConstraintResult"/> for a particular <see cref="T:NUnit.Framework.Constraints.Constraint"/>. + </summary> + <param name="constraint">The Constraint to which this result applies.</param> + <param name="actualValue">The actual value to which the Constraint was applied.</param> + <param name="status">The status of the new ConstraintResult.</param> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintResult.#ctor(NUnit.Framework.Constraints.IConstraint,System.Object,System.Boolean)"> + <summary> + Constructs a <see cref="T:NUnit.Framework.Constraints.ConstraintResult"/> for a particular <see cref="T:NUnit.Framework.Constraints.Constraint"/>. + </summary> + <param name="constraint">The Constraint to which this result applies.</param> + <param name="actualValue">The actual value to which the Constraint was applied.</param> + <param name="isSuccess">If true, applies a status of Success to the result, otherwise Failure.</param> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintResult.ActualValue"> + <summary> + The actual value that was passed to the <see cref="M:NUnit.Framework.Constraints.Constraint.ApplyTo``1(``0)"/> method. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintResult.Status"> + <summary> + Gets and sets the ResultStatus for this result. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintResult.IsSuccess"> + <summary> + True if actual value meets the Constraint criteria otherwise false. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintResult.Name"> + <summary> + Display friendly name of the constraint. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintResult.Description"> + <summary> + Description of the constraint may be affected by the state the constraint had + when <see cref="M:NUnit.Framework.Constraints.Constraint.ApplyTo``1(``0)"/> was performed against the actual value. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintResult.WriteMessageTo(NUnit.Framework.Constraints.MessageWriter)"> + <summary> + 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. + </summary> + <param name="writer">The MessageWriter on which to display the message</param> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintResult.WriteAdditionalLinesTo(NUnit.Framework.Constraints.MessageWriter)"> + <summary> + Write some additional failure message. + </summary> + <param name="writer">The MessageWriter on which to display the message</param> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintResult.WriteActualValueTo(NUnit.Framework.Constraints.MessageWriter)"> + <summary> + 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. + </summary> + <param name="writer">The writer on which the actual value is displayed</param> + </member> + <member name="T:NUnit.Framework.Constraints.ContainsConstraint"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ContainsConstraint.#ctor(System.Object)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.ContainsConstraint"/> class. + </summary> + <param name="expected">The expected value contained within the string/collection.</param> + </member> + <member name="P:NUnit.Framework.Constraints.ContainsConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ContainsConstraint.IgnoreCase"> + <summary> + Flag the constraint to ignore case and return self. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ContainsConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="T:NUnit.Framework.Constraints.CountZeroConstraint"> + <summary> + CountZeroConstraint tests whether an instance has a property .Count with value zero. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.CountZeroConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CountZeroConstraint.HasCountProperty(System.Type)"> + <summary> + Checks if the specified <paramref name="type"/> has a int Count property. + </summary> + <param name="type">Type to check.</param> + <returns><see langword="true"/> when <paramref name="type"/> has a 'int Count' property, <see langword="false"/> otherwise.</returns> + </member> + <member name="M:NUnit.Framework.Constraints.CountZeroConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="T:NUnit.Framework.Constraints.DateTimes"> + <summary> + The DateTimes class contains common operations on Date and Time values. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.DelayedConstraint"> + <summary> + Applies a delay to the match so that a match can be evaluated in the future. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.DelayedConstraint.WithRawDelayInterval"> + <summary> + Allows only changing the time dimension of delay interval and setting a polling interval of a DelayedConstraint + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.DelayedConstraint.WithRawDelayInterval.#ctor(NUnit.Framework.Constraints.DelayedConstraint)"> + <summary> + Creates a new DelayedConstraint.WithRawDelayInterval + </summary> + <param name="parent">Parent DelayedConstraint on which delay interval dimension is required to be set</param> + </member> + <member name="P:NUnit.Framework.Constraints.DelayedConstraint.WithRawDelayInterval.Minutes"> + <summary> + Changes delay interval dimension to minutes + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.DelayedConstraint.WithRawDelayInterval.Seconds"> + <summary> + Changes delay interval dimension to seconds + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.DelayedConstraint.WithRawDelayInterval.MilliSeconds"> + <summary> + Changes delay interval dimension to milliseconds + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.DelayedConstraint.WithRawDelayInterval.PollEvery(System.Int32)"> + <summary> + Set polling interval, in milliseconds + </summary> + <param name="milliSeconds">A time interval, in milliseconds</param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Constraints.DelayedConstraint.WithDimensionedDelayInterval"> + <summary> + Allows only setting the polling interval of a DelayedConstraint + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.DelayedConstraint.WithDimensionedDelayInterval.#ctor(NUnit.Framework.Constraints.DelayedConstraint)"> + <summary> + Creates a new DelayedConstraint.WithDimensionedDelayInterval + </summary> + <param name="parent">Parent DelayedConstraint on which polling interval is required to be set</param> + </member> + <member name="M:NUnit.Framework.Constraints.DelayedConstraint.WithDimensionedDelayInterval.PollEvery(System.Int32)"> + <summary> + Set polling interval, in milliseconds + </summary> + <param name="milliSeconds">A time interval, in milliseconds</param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Constraints.DelayedConstraint.WithRawPollingInterval"> + <summary> + Allows only changing the time dimension of the polling interval of a DelayedConstraint + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.DelayedConstraint.WithRawPollingInterval.#ctor(NUnit.Framework.Constraints.DelayedConstraint)"> + <summary> + Creates a new DelayedConstraint.WithRawPollingInterval + </summary> + <param name="parent">Parent DelayedConstraint on which polling dimension is required to be set</param> + </member> + <member name="P:NUnit.Framework.Constraints.DelayedConstraint.WithRawPollingInterval.Minutes"> + <summary> + Changes polling interval dimension to minutes + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.DelayedConstraint.WithRawPollingInterval.Seconds"> + <summary> + Changes polling interval dimension to seconds + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.DelayedConstraint.WithRawPollingInterval.MilliSeconds"> + <summary> + Changes polling interval dimension to milliseconds + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.DelayedConstraint.DelayInterval"> + <summary> + Delay value store as an Interval object + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.DelayedConstraint.PollingInterval"> + <summary> + Polling value stored as an Interval object + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.DelayedConstraint.#ctor(NUnit.Framework.Constraints.IConstraint,System.Int32)"> + <summary> + Creates a new DelayedConstraint + </summary> + <param name="baseConstraint">The inner constraint to decorate</param> + <param name="delayInMilliseconds">The time interval after which the match is performed</param> + <exception cref="T:System.InvalidOperationException">If the value of <paramref name="delayInMilliseconds"/> is less than 0</exception> + </member> + <member name="M:NUnit.Framework.Constraints.DelayedConstraint.#ctor(NUnit.Framework.Constraints.IConstraint,System.Int32,System.Int32)"> + <summary> + Creates a new DelayedConstraint + </summary> + <param name="baseConstraint">The inner constraint to decorate</param> + <param name="delayInMilliseconds">The time interval after which the match is performed, in milliseconds</param> + <param name="pollingIntervalInMilliseconds">The time interval used for polling, in milliseconds</param> + <exception cref="T:System.InvalidOperationException">If the value of <paramref name="delayInMilliseconds"/> is less than 0</exception> + </member> + <member name="P:NUnit.Framework.Constraints.DelayedConstraint.Description"> + <summary> + Gets text describing a constraint + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.DelayedConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for if the base constraint fails, false if it succeeds</returns> + </member> + <member name="M:NUnit.Framework.Constraints.DelayedConstraint.ApplyTo``1(NUnit.Framework.Constraints.ActualValueDelegate{``0})"> + <summary> + Test whether the constraint is satisfied by a delegate + </summary> + <param name="del">The delegate whose value is to be tested</param> + <returns>A ConstraintResult</returns> + </member> + <member name="M:NUnit.Framework.Constraints.DelayedConstraint.ApplyTo``1(``0@)"> + <summary> + 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. + </summary> + <param name="actual">A reference to the value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="M:NUnit.Framework.Constraints.DelayedConstraint.GetStringRepresentation"> + <summary> + Returns the string representation of the constraint. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.DelayedConstraint.TimestampOffset(System.Int64,System.TimeSpan)"> + <summary> + Adjusts a Timestamp by a given TimeSpan + </summary> + <param name="timestamp"></param> + <param name="offset"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Constraints.DelayedConstraint.TimestampDiff(System.Int64,System.Int64)"> + <summary> + Returns the difference between two Timestamps as a TimeSpan + </summary> + <param name="timestamp1"></param> + <param name="timestamp2"></param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Constraints.DictionaryContainsKeyConstraint"> + <summary> + DictionaryContainsKeyConstraint is used to test whether a dictionary + contains an expected object as a key. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.DictionaryContainsKeyConstraint.#ctor(System.Object)"> + <summary> + Construct a DictionaryContainsKeyConstraint + </summary> + <param name="expected"></param> + </member> + <member name="P:NUnit.Framework.Constraints.DictionaryContainsKeyConstraint.DisplayName"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.DictionaryContainsKeyConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.DictionaryContainsKeyConstraint.Expected"> + <summary> + Gets the expected object + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.DictionaryContainsKeyConstraint.WithValue(System.Object)"> + <summary> + Returns a new DictionaryContainsKeyValuePairConstraint checking for the + presence of a particular key-value-pair in the dictionary. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.DictionaryContainsKeyConstraint.IgnoreCase"> + <summary> + Flag the constraint to ignore case and return self. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.DictionaryContainsKeyConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + </member> + <member name="M:NUnit.Framework.Constraints.DictionaryContainsKeyConstraint.Matches(System.Collections.IEnumerable)"> + <summary> + Test whether the expected key is contained in the dictionary + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.DictionaryContainsKeyConstraint.Using``2(System.Func{``0,``1,System.Boolean})"> + <summary> + Flag the constraint to use the supplied predicate function + </summary> + <param name="comparison">The comparison function to use.</param> + </member> + <member name="M:NUnit.Framework.Constraints.DictionaryContainsKeyConstraint.Using``1(System.Comparison{``0})"> + <summary> + Flag the constraint to use the supplied Comparison object. + </summary> + <param name="comparison">The Comparison object to use.</param> + </member> + <member name="M:NUnit.Framework.Constraints.DictionaryContainsKeyConstraint.Using(System.Collections.IComparer)"> + <summary> + Flag the constraint to use the supplied IComparer object. + </summary> + <param name="comparer">The IComparer object to use.</param> + </member> + <member name="M:NUnit.Framework.Constraints.DictionaryContainsKeyConstraint.Using``1(System.Collections.Generic.IComparer{``0})"> + <summary> + Flag the constraint to use the supplied IComparer object. + </summary> + <param name="comparer">The IComparer object to use.</param> + </member> + <member name="M:NUnit.Framework.Constraints.DictionaryContainsKeyConstraint.Using(System.Collections.IEqualityComparer)"> + <summary> + Flag the constraint to use the supplied IEqualityComparer object. + </summary> + <param name="comparer">The IComparer object to use.</param> + </member> + <member name="M:NUnit.Framework.Constraints.DictionaryContainsKeyConstraint.Using``1(System.Collections.Generic.IEqualityComparer{``0})"> + <summary> + Flag the constraint to use the supplied IEqualityComparer object. + </summary> + <param name="comparer">The IComparer object to use.</param> + </member> + <member name="M:NUnit.Framework.Constraints.DictionaryContainsKeyConstraint.Using``1(System.Func{``0,``0,System.Boolean})"> + <summary> + Flag the constraint to use the supplied boolean-returning delegate. + </summary> + <param name="comparer">The supplied boolean-returning delegate to use.</param> + </member> + <member name="T:NUnit.Framework.Constraints.DictionaryContainsKeyValuePairConstraint"> + <summary> + DictionaryContainsKeyValuePairConstraint is used to test whether a dictionary + contains an expected object as a key-value-pair. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.DictionaryContainsKeyValuePairConstraint.#ctor(System.Object,System.Object)"> + <summary> + Construct a DictionaryContainsKeyValuePairConstraint + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.DictionaryContainsKeyValuePairConstraint.DisplayName"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.DictionaryContainsKeyValuePairConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.DictionaryContainsKeyValuePairConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + </member> + <member name="M:NUnit.Framework.Constraints.DictionaryContainsKeyValuePairConstraint.Matches(System.Collections.IEnumerable)"> + <summary> + Test whether the expected key is contained in the dictionary + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.DictionaryContainsValueConstraint"> + <summary> + DictionaryContainsValueConstraint is used to test whether a dictionary + contains an expected object as a value. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.DictionaryContainsValueConstraint.#ctor(System.Object)"> + <summary> + Construct a DictionaryContainsValueConstraint + </summary> + <param name="expected"></param> + </member> + <member name="P:NUnit.Framework.Constraints.DictionaryContainsValueConstraint.DisplayName"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.DictionaryContainsValueConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.DictionaryContainsValueConstraint.Expected"> + <summary> + Gets the expected object + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.DictionaryContainsValueConstraint.Matches(System.Collections.IEnumerable)"> + <summary> + Test whether the expected value is contained in the dictionary + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.DictionaryContainsValueConstraint.Using``2(System.Func{``0,``1,System.Boolean})"> + <summary> + Flag the constraint to use the supplied predicate function + </summary> + <param name="comparison">The comparison function to use.</param> + <returns>Self.</returns> + </member> + <member name="T:NUnit.Framework.Constraints.EachItemConstraintResult"> + <summary> + Provides a <see cref="T:NUnit.Framework.Constraints.ConstraintResult"/> for the constraints + that are applied to each item in the collection + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EachItemConstraintResult.#ctor(NUnit.Framework.Constraints.IConstraint,System.Object,System.Object,System.Int32)"> + <summary> + Constructs a <see cref="T:NUnit.Framework.Constraints.EachItemConstraintResult" /> for a particular <see cref="T:NUnit.Framework.Constraints.Constraint" /> + Only used for Failure + </summary> + <param name="constraint">The Constraint to which this result applies</param> + <param name="actualValue">The actual value to which the Constraint was applied</param> + <param name="nonMatchingItem">Actual item that does not match expected condition</param> + <param name="nonMatchingIndex">Non matching item index</param> + </member> + <member name="M:NUnit.Framework.Constraints.EachItemConstraintResult.WriteAdditionalLinesTo(NUnit.Framework.Constraints.MessageWriter)"> + <summary> + Write constraint description, actual items, and non-matching item + </summary> + <param name="writer">The MessageWriter on which to display the message</param> + </member> + <member name="T:NUnit.Framework.Constraints.EmptyCollectionConstraint"> + <summary> + EmptyCollectionConstraint tests whether a collection is empty. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.EmptyCollectionConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EmptyCollectionConstraint.Matches(System.Collections.IEnumerable)"> + <summary> + Check that the collection is empty + </summary> + <param name="collection"></param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Constraints.EmptyConstraint"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.EmptyConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EmptyConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="T:NUnit.Framework.Constraints.EmptyDirectoryConstraint"> + <summary> + EmptyDirectoryConstraint is used to test that a directory is empty + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.EmptyDirectoryConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EmptyDirectoryConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="T:NUnit.Framework.Constraints.EmptyGuidConstraint"> + <summary> + EmptyGuidConstraint tests whether a Guid is empty. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.EmptyGuidConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EmptyGuidConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="T:NUnit.Framework.Constraints.EmptyStringConstraint"> + <summary> + EmptyStringConstraint tests whether a string is empty. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.EmptyStringConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EmptyStringConstraint.Matches(System.String)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="T:NUnit.Framework.Constraints.EndsWithConstraint"> + <summary> + EndsWithConstraint can test whether a string ends + with an expected substring. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EndsWithConstraint.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.EndsWithConstraint"/> class. + </summary> + <param name="expected">The expected string</param> + </member> + <member name="M:NUnit.Framework.Constraints.EndsWithConstraint.Matches(System.String)"> + <summary> + Test whether the constraint is matched by the actual value. + This is a template method, which calls the IsMatch method + of the derived class. + </summary> + <param name="actual"></param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Constraints.EqualConstraint"> + <summary> + 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. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.EqualConstraint._comparer"> + <summary> + NUnitEqualityComparer used to test equality. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EqualConstraint.#ctor(System.Object)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.EqualConstraint"/> class. + </summary> + <param name="expected">The expected value.</param> + </member> + <member name="P:NUnit.Framework.Constraints.EqualConstraint.Tolerance"> + <summary> + Gets the tolerance for this comparison. + </summary> + <value> + The tolerance. + </value> + </member> + <member name="P:NUnit.Framework.Constraints.EqualConstraint.CaseInsensitive"> + <summary> + Gets a value indicating whether to compare case insensitive. + </summary> + <value> + <see langword="true"/> if comparing case insensitive; otherwise, <see langword="false"/>. + </value> + </member> + <member name="P:NUnit.Framework.Constraints.EqualConstraint.ClipStrings"> + <summary> + Gets a value indicating whether or not to clip strings. + </summary> + <value> + <see langword="true"/> if set to clip strings otherwise, <see langword="false"/>. + </value> + </member> + <member name="P:NUnit.Framework.Constraints.EqualConstraint.FailurePoints"> + <summary> + Gets the failure points. + </summary> + <value> + The failure points. + </value> + </member> + <member name="P:NUnit.Framework.Constraints.EqualConstraint.IgnoreCase"> + <summary> + Flag the constraint to ignore case and return self. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.EqualConstraint.NoClip"> + <summary> + Flag the constraint to suppress string clipping + and return self. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.EqualConstraint.AsCollection"> + <summary> + Flag the constraint to compare arrays as collections + and return self. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EqualConstraint.Within(System.Object)"> + <summary> + Flag the constraint to use a tolerance when determining equality. + </summary> + <param name="amount">Tolerance value to be used</param> + <returns>Self.</returns> + </member> + <member name="P:NUnit.Framework.Constraints.EqualConstraint.WithSameOffset"> + <summary> + Flags the constraint to include <see cref="P:System.DateTimeOffset.Offset"/> + property in comparison of two <see cref="T:System.DateTimeOffset"/> values. + </summary> + <remarks> + Using this modifier does not allow to use the <see cref="M:NUnit.Framework.Constraints.EqualConstraint.Within(System.Object)"/> + constraint modifier. + </remarks> + </member> + <member name="P:NUnit.Framework.Constraints.EqualConstraint.Ulps"> + <summary> + Switches the .Within() modifier to interpret its tolerance as + a distance in representable values (see remarks). + </summary> + <returns>Self.</returns> + <remarks> + 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. + </remarks> + </member> + <member name="P:NUnit.Framework.Constraints.EqualConstraint.Percent"> + <summary> + Switches the .Within() modifier to interpret its tolerance as + a percentage that the actual values is allowed to deviate from + the expected value. + </summary> + <returns>Self</returns> + </member> + <member name="P:NUnit.Framework.Constraints.EqualConstraint.Days"> + <summary> + Causes the tolerance to be interpreted as a TimeSpan in days. + </summary> + <returns>Self</returns> + </member> + <member name="P:NUnit.Framework.Constraints.EqualConstraint.Hours"> + <summary> + Causes the tolerance to be interpreted as a TimeSpan in hours. + </summary> + <returns>Self</returns> + </member> + <member name="P:NUnit.Framework.Constraints.EqualConstraint.Minutes"> + <summary> + Causes the tolerance to be interpreted as a TimeSpan in minutes. + </summary> + <returns>Self</returns> + </member> + <member name="P:NUnit.Framework.Constraints.EqualConstraint.Seconds"> + <summary> + Causes the tolerance to be interpreted as a TimeSpan in seconds. + </summary> + <returns>Self</returns> + </member> + <member name="P:NUnit.Framework.Constraints.EqualConstraint.Milliseconds"> + <summary> + Causes the tolerance to be interpreted as a TimeSpan in milliseconds. + </summary> + <returns>Self</returns> + </member> + <member name="P:NUnit.Framework.Constraints.EqualConstraint.Ticks"> + <summary> + Causes the tolerance to be interpreted as a TimeSpan in clock ticks. + </summary> + <returns>Self</returns> + </member> + <member name="M:NUnit.Framework.Constraints.EqualConstraint.Using(System.Collections.IComparer)"> + <summary> + Flag the constraint to use the supplied IComparer object. + </summary> + <param name="comparer">The IComparer object to use.</param> + <returns>Self.</returns> + </member> + <member name="M:NUnit.Framework.Constraints.EqualConstraint.Using``1(System.Collections.Generic.IComparer{``0})"> + <summary> + Flag the constraint to use the supplied IComparer object. + </summary> + <param name="comparer">The IComparer object to use.</param> + <returns>Self.</returns> + </member> + <member name="M:NUnit.Framework.Constraints.EqualConstraint.Using``1(System.Func{``0,``0,System.Boolean})"> + <summary> + Flag the constraint to use the supplied boolean-returning delegate. + </summary> + <param name="comparer">The boolean-returning delegate to use.</param> + <returns>Self.</returns> + </member> + <member name="M:NUnit.Framework.Constraints.EqualConstraint.Using``1(System.Comparison{``0})"> + <summary> + Flag the constraint to use the supplied Comparison object. + </summary> + <param name="comparer">The IComparer object to use.</param> + <returns>Self.</returns> + </member> + <member name="M:NUnit.Framework.Constraints.EqualConstraint.Using(System.Collections.IEqualityComparer)"> + <summary> + Flag the constraint to use the supplied IEqualityComparer object. + </summary> + <param name="comparer">The IComparer object to use.</param> + <returns>Self.</returns> + </member> + <member name="M:NUnit.Framework.Constraints.EqualConstraint.Using``1(System.Collections.Generic.IEqualityComparer{``0})"> + <summary> + Flag the constraint to use the supplied IEqualityComparer object. + </summary> + <param name="comparer">The IComparer object to use.</param> + <returns>Self.</returns> + </member> + <member name="M:NUnit.Framework.Constraints.EqualConstraint.Using``2(System.Func{``0,``1,System.Boolean})"> + <summary> + Flag the constraint to use the supplied predicate function + </summary> + <param name="comparison">The comparison function to use.</param> + <returns>Self.</returns> + </member> + <member name="M:NUnit.Framework.Constraints.EqualConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="P:NUnit.Framework.Constraints.EqualConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.EqualConstraintResult"> + <summary> + The EqualConstraintResult class is tailored for formatting + and displaying the result of an EqualConstraint. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EqualConstraintResult.#ctor(NUnit.Framework.Constraints.EqualConstraint,System.Object,System.Boolean)"> + <summary> + Construct an EqualConstraintResult + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EqualConstraintResult.WriteMessageTo(NUnit.Framework.Constraints.MessageWriter)"> + <summary> + Write a failure message. Overridden to provide custom + failure messages for EqualConstraint. + </summary> + <param name="writer">The MessageWriter to write to</param> + </member> + <member name="M:NUnit.Framework.Constraints.EqualConstraintResult.DisplayCollectionDifferences(NUnit.Framework.Constraints.MessageWriter,System.Collections.ICollection,System.Collections.ICollection,System.Int32)"> + <summary> + Display the failure information for two collections that did not match. + </summary> + <param name="writer">The MessageWriter on which to display</param> + <param name="expected">The expected collection.</param> + <param name="actual">The actual collection</param> + <param name="depth">The depth of this failure in a set of nested collections</param> + </member> + <member name="M:NUnit.Framework.Constraints.EqualConstraintResult.DisplayTypesAndSizes(NUnit.Framework.Constraints.MessageWriter,System.Collections.IEnumerable,System.Collections.IEnumerable,System.Int32)"> + <summary> + 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. + </summary> + <param name="writer">The MessageWriter on which to display</param> + <param name="expected">The expected collection or array</param> + <param name="actual">The actual collection or array</param> + <param name="indent">The indentation level for the message line</param> + </member> + <member name="M:NUnit.Framework.Constraints.EqualConstraintResult.DisplayFailurePoint(NUnit.Framework.Constraints.MessageWriter,System.Collections.IEnumerable,System.Collections.IEnumerable,NUnit.Framework.Constraints.NUnitEqualityComparer.FailurePoint,System.Int32)"> + <summary> + 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. + </summary> + <param name="writer">The MessageWriter on which to display</param> + <param name="expected">The expected array</param> + <param name="actual">The actual array</param> + <param name="failurePoint">Index of the failure point in the underlying collections</param> + <param name="indent">The indentation level for the message line</param> + </member> + <member name="M:NUnit.Framework.Constraints.EqualConstraintResult.DisplayEnumerableDifferences(NUnit.Framework.Constraints.MessageWriter,System.Collections.IEnumerable,System.Collections.IEnumerable,System.Int32)"> + <summary> + Display the failure information for two IEnumerables that did not match. + </summary> + <param name="writer">The MessageWriter on which to display</param> + <param name="expected">The expected enumeration.</param> + <param name="actual">The actual enumeration</param> + <param name="depth">The depth of this failure in a set of nested collections</param> + </member> + <member name="T:NUnit.Framework.Constraints.EqualityAdapter"> + <summary> + EqualityAdapter class handles all equality comparisons + that use an <see cref="T:System.Collections.IEqualityComparer"/>, <see cref="T:System.Collections.Generic.IEqualityComparer`1"/> + or a <see cref="T:NUnit.Framework.Constraints.ComparisonAdapter"/>. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EqualityAdapter.AreEqual(System.Object,System.Object)"> + <summary> + Compares two objects, returning true if they are equal + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EqualityAdapter.CanCompare(System.Object,System.Object)"> + <summary> + Returns true if the two objects can be compared by this adapter. + The base adapter cannot handle IEnumerables except for strings. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EqualityAdapter.For(System.Collections.IComparer)"> + <summary> + Returns an <see cref="T:NUnit.Framework.Constraints.EqualityAdapter"/> that wraps an <see cref="T:System.Collections.IComparer"/>. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.EqualityAdapter.ComparerAdapter"> + <summary> + <see cref="T:NUnit.Framework.Constraints.EqualityAdapter"/> that wraps an <see cref="T:System.Collections.IComparer"/>. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EqualityAdapter.For(System.Collections.IEqualityComparer)"> + <summary> + Returns an <see cref="T:NUnit.Framework.Constraints.EqualityAdapter"/> that wraps an <see cref="T:System.Collections.IEqualityComparer"/>. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EqualityAdapter.For``2(System.Func{``0,``1,System.Boolean})"> + <summary> + Returns an EqualityAdapter that uses a predicate function for items comparison. + </summary> + <typeparam name="TExpected"></typeparam> + <typeparam name="TActual"></typeparam> + <param name="comparison"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Constraints.EqualityAdapter.PredicateEqualityAdapter`2.CanCompare(System.Object,System.Object)"> + <summary> + Returns true if the two objects can be compared by this adapter. + The base adapter cannot handle IEnumerables except for strings. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EqualityAdapter.PredicateEqualityAdapter`2.AreEqual(System.Object,System.Object)"> + <summary> + Compares two objects, returning true if they are equal + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EqualityAdapter.GenericEqualityAdapter`1.CanCompare(System.Object,System.Object)"> + <summary> + Returns true if the two objects can be compared by this adapter. + Generic adapter requires objects of the specified type. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EqualityAdapter.For``1(System.Collections.Generic.IEqualityComparer{``0})"> + <summary> + Returns an <see cref="T:NUnit.Framework.Constraints.EqualityAdapter"/> that wraps an <see cref="T:System.Collections.Generic.IEqualityComparer`1"/>. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EqualityAdapter.For``1(System.Collections.Generic.IComparer{``0})"> + <summary> + Returns an <see cref="T:NUnit.Framework.Constraints.EqualityAdapter"/> that wraps an <see cref="T:System.Collections.Generic.IComparer`1"/>. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.EqualityAdapter.ComparerAdapter`1"> + <summary> + <see cref="T:NUnit.Framework.Constraints.EqualityAdapter"/> that wraps an <see cref="T:System.Collections.IComparer"/>. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EqualityAdapter.For``1(System.Comparison{``0})"> + <summary> + Returns an <see cref="T:NUnit.Framework.Constraints.EqualityAdapter"/> that wraps a <see cref="T:System.Comparison`1"/>. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.ExactCountConstraint"> + <summary> + ExactCountConstraint applies another constraint to each + item in a collection, succeeding only if a specified + number of items succeed. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ExactCountConstraint.#ctor(System.Int32)"> + <summary> + Construct a standalone ExactCountConstraint + </summary> + <param name="expectedCount"></param> + </member> + <member name="M:NUnit.Framework.Constraints.ExactCountConstraint.#ctor(System.Int32,NUnit.Framework.Constraints.IConstraint)"> + <summary> + Construct an ExactCountConstraint on top of an existing constraint + </summary> + <param name="expectedCount"></param> + <param name="itemConstraint"></param> + </member> + <member name="M:NUnit.Framework.Constraints.ExactCountConstraint.ApplyTo``1(``0)"> + <summary> + Apply the item constraint to each item in the collection, + succeeding only if the expected number of items pass. + </summary> + <param name="actual">The value to be tested</param> + <returns>A ConstraintResult</returns> + </member> + <member name="P:NUnit.Framework.Constraints.ExactCountConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.ExactCountConstraintResult"> + <summary> + Contain the result of matching a <see cref="T:NUnit.Framework.Constraints.ExactCountConstraint"/> against an actual value. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.ExactCountConstraintResult._matchCount"> + <summary> + The count of matched items of the <see cref="T:NUnit.Framework.Constraints.ExactCountConstraint"/> + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.ExactCountConstraintResult._itemList"> + <summary> + A list with maximum count (+1) of items of the <see cref="T:NUnit.Framework.Constraints.ExactCountConstraint"/> + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ExactCountConstraintResult.#ctor(NUnit.Framework.Constraints.IConstraint,System.Object,System.Boolean,System.Int32,System.Collections.Generic.ICollection{System.Object})"> + <summary> + Constructs a <see cref="T:NUnit.Framework.Constraints.ConstraintResult"/> for a <see cref="T:NUnit.Framework.Constraints.ExactCountConstraint"/>. + </summary> + <param name="constraint">The Constraint to which this result applies.</param> + <param name="actualValue">The actual value to which the Constraint was applied.</param> + <param name="isSuccess">If true, applies a status of Success to the result, otherwise Failure.</param> + <param name="matchCount">Count of matched items of the <see cref="T:NUnit.Framework.Constraints.ExactCountConstraint"/></param> + <param name="itemList">A list with maximum count (+1) of items of the <see cref="T:NUnit.Framework.Constraints.ExactCountConstraint"/></param> + </member> + <member name="M:NUnit.Framework.Constraints.ExactCountConstraintResult.WriteActualValueTo(NUnit.Framework.Constraints.MessageWriter)"> + <summary> + Write the actual value for a failing constraint test to a MessageWriter. + </summary> + <param name="writer">The writer on which the actual value is displayed</param> + </member> + <member name="T:NUnit.Framework.Constraints.ExactTypeConstraint"> + <summary> + ExactTypeConstraint is used to test that an object + is of the exact type provided in the constructor + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ExactTypeConstraint.#ctor(System.Type)"> + <summary> + Construct an ExactTypeConstraint for a given Type + </summary> + <param name="type">The expected Type.</param> + </member> + <member name="P:NUnit.Framework.Constraints.ExactTypeConstraint.DisplayName"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ExactTypeConstraint.Matches(System.Object)"> + <summary> + Apply the constraint to an actual value, returning true if it succeeds + </summary> + <param name="actual">The actual argument</param> + <returns>True if the constraint succeeds, otherwise false.</returns> + </member> + <member name="P:NUnit.Framework.Constraints.ExceptionNotThrownConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ExceptionNotThrownConstraint.ApplyTo``1(``0)"> + <summary> + Applies the constraint to an actual value, returning a ConstraintResult. + </summary> + <param name="actual">The value to be tested</param> + <returns>A ConstraintResult</returns> + </member> + <member name="T:NUnit.Framework.Constraints.ExceptionTypeConstraint"> + <summary> + ExceptionTypeConstraint is a special version of ExactTypeConstraint + used to provided detailed info about the exception thrown in + an error message. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ExceptionTypeConstraint.#ctor(System.Type)"> + <summary> + Constructs an ExceptionTypeConstraint + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ExceptionTypeConstraint.ApplyTo``1(``0)"> + <summary> + Applies the constraint to an actual value, returning a ConstraintResult. + </summary> + <param name="actual">The value to be tested</param> + <returns>A ConstraintResult</returns> + </member> + <member name="T:NUnit.Framework.Constraints.FalseConstraint"> + <summary> + FalseConstraint tests that the actual value is false + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.FalseConstraint.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.FalseConstraint"/> class. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.FalseConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="T:NUnit.Framework.Constraints.FileExistsConstraint"> + <summary> + FileExistsConstraint is used to determine if a file exists + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.FileExistsConstraint.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.FileExistsConstraint"/> class. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.FileExistsConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.FileOrDirectoryExistsConstraint"> + <summary> + FileOrDirectoryExistsConstraint is used to determine if a file or directory exists + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.FileOrDirectoryExistsConstraint.IgnoreDirectories"> + <summary> + If true, the constraint will only check if files exist, not directories + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.FileOrDirectoryExistsConstraint.IgnoreFiles"> + <summary> + If true, the constraint will only check if directories exist, not files + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.FileOrDirectoryExistsConstraint.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.FileOrDirectoryExistsConstraint"/> class that + will check files and directories. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.FileOrDirectoryExistsConstraint.#ctor(System.Boolean)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.FileOrDirectoryExistsConstraint"/> class that + will only check files if ignoreDirectories is true. + </summary> + <param name="ignoreDirectories">if set to <see langword="true"/> [ignore directories].</param> + </member> + <member name="P:NUnit.Framework.Constraints.FileOrDirectoryExistsConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.FileOrDirectoryExistsConstraint.ApplyTo``1(``0)"> + <summary> + Applies the constraint to an actual value, returning a ConstraintResult. + </summary> + <param name="actual">The value to be tested</param> + <returns>A ConstraintResult</returns> + </member> + <member name="T:NUnit.Framework.Constraints.FloatingPointNumerics"> + <summary>Helper routines for working with floating point numbers</summary> + <remarks> + <para> + The floating point comparison code is based on this excellent article: + https://randomascii.wordpress.com/2012/02/25/comparing-floating-point-numbers-2012-edition/ + </para> + <para> + "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. + </para> + <para> + 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. + </para> + </remarks> + </member> + <member name="T:NUnit.Framework.Constraints.FloatingPointNumerics.FloatIntUnion"> + <summary>Union of a floating point variable and an integer</summary> + </member> + <member name="F:NUnit.Framework.Constraints.FloatingPointNumerics.FloatIntUnion.Float"> + <summary>The union's value as a floating point variable</summary> + </member> + <member name="F:NUnit.Framework.Constraints.FloatingPointNumerics.FloatIntUnion.Int"> + <summary>The union's value as an integer</summary> + </member> + <member name="F:NUnit.Framework.Constraints.FloatingPointNumerics.FloatIntUnion.UInt"> + <summary>The union's value as an unsigned integer</summary> + </member> + <member name="T:NUnit.Framework.Constraints.FloatingPointNumerics.DoubleLongUnion"> + <summary>Union of a double precision floating point variable and a long</summary> + </member> + <member name="F:NUnit.Framework.Constraints.FloatingPointNumerics.DoubleLongUnion.Double"> + <summary>The union's value as a double precision floating point variable</summary> + </member> + <member name="F:NUnit.Framework.Constraints.FloatingPointNumerics.DoubleLongUnion.Long"> + <summary>The union's value as a long</summary> + </member> + <member name="F:NUnit.Framework.Constraints.FloatingPointNumerics.DoubleLongUnion.ULong"> + <summary>The union's value as an unsigned long</summary> + </member> + <member name="M:NUnit.Framework.Constraints.FloatingPointNumerics.AreAlmostEqualUlps(System.Single,System.Single,System.Int32)"> + <summary>Compares two floating point values for equality</summary> + <param name="left">First floating point value to be compared</param> + <param name="right">Second floating point value t be compared</param> + <param name="maxUlps"> + Maximum number of representable floating point values that are allowed to + be between the left and the right floating point values + </param> + <returns>True if both numbers are equal or close to being equal</returns> + <remarks> + <para> + 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. + </para> + <para> + 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. + </para> + <para> + Implementation partially follows the code outlined here: + http://www.anttirt.net/2007/08/19/proper-floating-point-comparisons/ + </para> + </remarks> + </member> + <member name="M:NUnit.Framework.Constraints.FloatingPointNumerics.AreAlmostEqualUlps(System.Double,System.Double,System.Int64)"> + <summary>Compares two double precision floating point values for equality</summary> + <param name="left">First double precision floating point value to be compared</param> + <param name="right">Second double precision floating point value t be compared</param> + <param name="maxUlps"> + 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 + </param> + <returns>True if both numbers are equal or close to being equal</returns> + <remarks> + <para> + 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. + </para> + <para> + 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. + </para> + <para> + Implementation partially follows the code outlined here: + http://www.anttirt.net/2007/08/19/proper-floating-point-comparisons/ + </para> + </remarks> + </member> + <member name="T:NUnit.Framework.Constraints.GreaterThanConstraint"> + <summary> + Tests whether a value is greater than the value supplied to its constructor + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.GreaterThanConstraint.#ctor(System.Object)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.GreaterThanConstraint"/> class. + </summary> + <param name="expected">The expected value.</param> + </member> + <member name="P:NUnit.Framework.Constraints.GreaterThanConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.GreaterThanConstraint.PerformComparison(NUnit.Framework.Constraints.ComparisonAdapter,System.Object,System.Object,NUnit.Framework.Constraints.Tolerance)"> + <summary> + Perform the comparison + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.GreaterThanOrEqualConstraint"> + <summary> + Tests whether a value is greater than or equal to the value supplied to its constructor + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.GreaterThanOrEqualConstraint.#ctor(System.Object)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.GreaterThanOrEqualConstraint"/> class. + </summary> + <param name="expected">The expected value.</param> + </member> + <member name="P:NUnit.Framework.Constraints.GreaterThanOrEqualConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.GreaterThanOrEqualConstraint.PerformComparison(NUnit.Framework.Constraints.ComparisonAdapter,System.Object,System.Object,NUnit.Framework.Constraints.Tolerance)"> + <summary> + Perform the comparison + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.IConstraint"> + <summary> + Interface for all constraints + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.IConstraint.DisplayName"> + <summary> + The display name of this Constraint for use by ToString(). + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.IConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.IConstraint.Arguments"> + <summary> + Arguments provided to this Constraint, for use in + formatting the description. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.IConstraint.Builder"> + <summary> + The ConstraintBuilder holding this constraint + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.IConstraint.ApplyTo``1(``0)"> + <summary> + Applies the constraint to an actual value, returning a ConstraintResult. + </summary> + <param name="actual">The value to be tested</param> + <returns>A ConstraintResult</returns> + </member> + <member name="M:NUnit.Framework.Constraints.IConstraint.ApplyTo``1(NUnit.Framework.Constraints.ActualValueDelegate{``0})"> + <summary> + 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. + </summary> + <param name="del">An ActualValueDelegate</param> + <returns>A ConstraintResult</returns> + </member> + <member name="M:NUnit.Framework.Constraints.IConstraint.ApplyTo``1(``0@)"> + <summary> + 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. + </summary> + <param name="actual">A reference to the value to be tested</param> + <returns>A ConstraintResult</returns> + </member> + <member name="T:NUnit.Framework.Constraints.IndexerConstraint"> + <summary> + IndexerConstraint extracts a named property and uses + its value as the actual value for a chained constraint. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.IndexerConstraint.#ctor(System.Collections.Generic.IEnumerable{System.Object},NUnit.Framework.Constraints.IConstraint)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.IndexerConstraint"/> class. + </summary> + <param name="indexerArguments">The argument list for the indexer.</param> + <param name="baseConstraint">The constraint to apply to the indexer.</param> + </member> + <member name="M:NUnit.Framework.Constraints.IndexerConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + </member> + <member name="M:NUnit.Framework.Constraints.IndexerConstraint.GetStringRepresentation"> + <summary> + Returns the string representation of the constraint. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.InstanceOfTypeConstraint"> + <summary> + InstanceOfTypeConstraint is used to test that an object + is of the same type provided or derived from it. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.InstanceOfTypeConstraint.#ctor(System.Type)"> + <summary> + Construct an InstanceOfTypeConstraint for the type provided + </summary> + <param name="type">The expected Type</param> + </member> + <member name="P:NUnit.Framework.Constraints.InstanceOfTypeConstraint.DisplayName"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.InstanceOfTypeConstraint.Matches(System.Object)"> + <summary> + Apply the constraint to an actual value, returning true if it succeeds + </summary> + <param name="actual">The actual argument</param> + <returns>True if the constraint succeeds, otherwise false.</returns> + </member> + <member name="T:NUnit.Framework.Constraints.Interval"> + <summary> + Keeps track of an interval time which can be represented in + Minutes, Seconds or Milliseconds + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.Interval.#ctor(System.Int32)"> + <summary> + Constructs a interval given an value in milliseconds + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Interval.AsTimeSpan"> + <summary> + Gets Interval value represented as a TimeSpan object + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Interval.InMinutes"> + <summary> + Returns the interval with the current value as a number of minutes. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Interval.InSeconds"> + <summary> + Returns the interval with the current value as a number of seconds. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Interval.InMilliseconds"> + <summary> + Returns the interval with the current value as a number of milliseconds. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Interval.IsNotZero"> + <summary> + Is true for intervals created with a non-zero value + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.Interval.ToString"> + <summary> + Returns a string that represents the current object. + </summary> + <returns> + A string that represents the current object. + </returns> + </member> + <member name="T:NUnit.Framework.Constraints.Interval.IntervalUnit"> + <summary> + IntervalUnit provides the semantics to the value stored in Interval class. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.Interval.IntervalUnit.Minute"> + <summary> + Unit representing an Interval in minutes + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.Interval.IntervalUnit.Second"> + <summary> + Unit representing an Interval in seconds + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.Interval.IntervalUnit.Millisecond"> + <summary> + Unit representing an Interval in milliseconds + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.IResolveConstraint"> + <summary> + The IResolveConstraint interface is implemented by all + complete and resolvable constraints and expressions. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.IResolveConstraint.Resolve"> + <summary> + Return the top-level constraint for this expression + </summary> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Constraints.ItemsConstraintExpression"> + <summary> + An extension of ResolvableConstraintExpression that adds a no-op Items property for readability. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ItemsConstraintExpression.#ctor"> + <summary> + Create a new instance of ItemsConstraintExpression + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ItemsConstraintExpression.#ctor(NUnit.Framework.Constraints.ConstraintBuilder)"> + <summary> + Create a new instance of ResolvableConstraintExpression, + passing in a pre-populated ConstraintBuilder. + </summary> + <param name="builder"></param> + </member> + <member name="P:NUnit.Framework.Constraints.ItemsConstraintExpression.Items"> + <summary> + No-op property for readability. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.LessThanConstraint"> + <summary> + Tests whether a value is less than the value supplied to its constructor + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.LessThanConstraint.#ctor(System.Object)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.LessThanConstraint"/> class. + </summary> + <param name="expected">The expected value.</param> + </member> + <member name="P:NUnit.Framework.Constraints.LessThanConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.LessThanConstraint.PerformComparison(NUnit.Framework.Constraints.ComparisonAdapter,System.Object,System.Object,NUnit.Framework.Constraints.Tolerance)"> + <summary> + Perform the comparison + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.LessThanOrEqualConstraint"> + <summary> + Tests whether a value is less than or equal to the value supplied to its constructor + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.LessThanOrEqualConstraint.#ctor(System.Object)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.LessThanOrEqualConstraint"/> class. + </summary> + <param name="expected">The expected value.</param> + </member> + <member name="P:NUnit.Framework.Constraints.LessThanOrEqualConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.LessThanOrEqualConstraint.PerformComparison(NUnit.Framework.Constraints.ComparisonAdapter,System.Object,System.Object,NUnit.Framework.Constraints.Tolerance)"> + <summary> + Perform the comparison + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.MessageWriter"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.MessageWriter.#ctor"> + <summary> + Construct a MessageWriter given a culture + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.MessageWriter.MaxLineLength"> + <summary> + Abstract method to get the max line length + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.MessageWriter.WriteMessageLine(System.String,System.Object[])"> + <summary> + Method to write single line message with optional args, usually + written to precede the general failure message. + </summary> + <param name="message">The message to be written</param> + <param name="args">Any arguments used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Constraints.MessageWriter.WriteMessageLine(System.Int32,System.String,System.Object[])"> + <summary> + Method to write single line message with optional args, usually + written to precede the general failure message, at a given + indentation level. + </summary> + <param name="level">The indentation level of the message</param> + <param name="message">The message to be written</param> + <param name="args">Any arguments used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Constraints.MessageWriter.DisplayDifferences(NUnit.Framework.Constraints.ConstraintResult)"> + <summary> + 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. + </summary> + <param name="result">The failing constraint result</param> + </member> + <member name="M:NUnit.Framework.Constraints.MessageWriter.DisplayDifferences(System.Object,System.Object)"> + <summary> + 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. + </summary> + <param name="expected">The expected value</param> + <param name="actual">The actual value causing the failure</param> + </member> + <member name="M:NUnit.Framework.Constraints.MessageWriter.DisplayDifferences(System.Object,System.Object,NUnit.Framework.Constraints.Tolerance)"> + <summary> + Display Expected and Actual lines for given values, including + a tolerance value on the Expected line. + </summary> + <param name="expected">The expected value</param> + <param name="actual">The actual value causing the failure</param> + <param name="tolerance">The tolerance within which the test was made</param> + </member> + <member name="M:NUnit.Framework.Constraints.MessageWriter.DisplayStringDifferences(System.String,System.String,System.Int32,System.Boolean,System.Boolean)"> + <summary> + 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. + </summary> + <param name="expected">The expected string value</param> + <param name="actual">The actual string value</param> + <param name="mismatch">The point at which the strings don't match or -1</param> + <param name="ignoreCase">If true, case is ignored in locating the point where the strings differ</param> + <param name="clipping">If true, the strings should be clipped to fit the line</param> + </member> + <member name="M:NUnit.Framework.Constraints.MessageWriter.WriteActualValue(System.Object)"> + <summary> + Writes the text for an actual value. + </summary> + <param name="actual">The actual value.</param> + </member> + <member name="M:NUnit.Framework.Constraints.MessageWriter.WriteValue(System.Object)"> + <summary> + Writes the text for a generalized value. + </summary> + <param name="val">The value.</param> + </member> + <member name="M:NUnit.Framework.Constraints.MessageWriter.WriteCollectionElements(System.Collections.IEnumerable,System.Int64,System.Int32)"> + <summary> + Writes the text for a collection value, + starting at a particular point, to a max length + </summary> + <param name="collection">The collection containing elements to write.</param> + <param name="start">The starting point of the elements to write</param> + <param name="max">The maximum number of elements to write</param> + </member> + <member name="T:NUnit.Framework.Constraints.ValueFormatter"> + <summary> + Custom value formatter function + </summary> + <param name="val">The value</param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Constraints.ValueFormatterFactory"> + <summary> + Custom value formatter factory function + </summary> + <param name="next">The next formatter function</param> + <returns>ValueFormatter</returns> + <remarks>If the given formatter is unable to handle a certain format, it must call the next formatter in the chain</remarks> + </member> + <member name="T:NUnit.Framework.Constraints.MsgUtils"> + <summary> + Static methods used in creating messages + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.MsgUtils.DefaultMaxItems"> + <summary> + Default amount of items used by <see cref="M:NUnit.Framework.Constraints.MsgUtils.FormatCollection(System.Collections.IEnumerable,System.Int64,System.Int32)"/> method. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.MsgUtils.ELLIPSIS"> + <summary> + Static string used when strings are clipped + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.MsgUtils.Fmt_Null"> + <summary> + Formatting strings used for expected and actual values + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.MsgUtils.DefaultValueFormatter"> + <summary> + Current head of chain of value formatters. Public for testing. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.MsgUtils.AddFormatter(NUnit.Framework.Constraints.ValueFormatterFactory)"> + <summary> + Add a formatter to the chain of responsibility. + </summary> + <param name="formatterFactory"></param> + </member> + <member name="M:NUnit.Framework.Constraints.MsgUtils.FormatValue(System.Object)"> + <summary> + Formats text to represent a generalized value. + </summary> + <param name="val">The value</param> + <returns>The formatted text</returns> + </member> + <member name="M:NUnit.Framework.Constraints.MsgUtils.FormatCollection(System.Collections.IEnumerable,System.Int64,System.Int32)"> + <summary> + Formats text for a collection value, + starting at a particular point, to a max length + </summary> + <param name="collection">The collection containing elements to write.</param> + <param name="start">The starting point of the elements to write</param> + <param name="max">The maximum number of elements to write</param> + </member> + <member name="M:NUnit.Framework.Constraints.MsgUtils.GetTypeRepresentation(System.Object)"> + <summary> + 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. + </summary> + <param name="obj"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Constraints.MsgUtils.EscapeControlChars(System.String)"> + <summary> + Converts any control characters in a string + to their escaped representation. + </summary> + <param name="s">The string to be converted</param> + <returns>The converted string</returns> + </member> + <member name="M:NUnit.Framework.Constraints.MsgUtils.EscapeNullCharacters(System.String)"> + <summary> + Converts any null characters in a string + to their escaped representation. + </summary> + <param name="s">The string to be converted</param> + <returns>The converted string</returns> + </member> + <member name="M:NUnit.Framework.Constraints.MsgUtils.GetArrayIndicesAsString(System.Int32[])"> + <summary> + Return the a string representation for a set of indices into an array + </summary> + <param name="indices">Array of indices for which a string is needed</param> + </member> + <member name="M:NUnit.Framework.Constraints.MsgUtils.GetArrayIndicesFromCollectionIndex(System.Collections.IEnumerable,System.Int64)"> + <summary> + Get an array of indices representing the point in a collection or + array corresponding to a single int index into the collection. + </summary> + <param name="collection">The collection to which the indices apply</param> + <param name="index">Index in the collection</param> + <returns>Array of indices</returns> + </member> + <member name="M:NUnit.Framework.Constraints.MsgUtils.ClipString(System.String,System.Int32,System.Int32)"> + <summary> + Clip a string to a given length, starting at a particular offset, returning the clipped + string with ellipses representing the removed parts + </summary> + <param name="s">The string to be clipped</param> + <param name="maxStringLength">The maximum permitted length of the result string</param> + <param name="clipStart">The point at which to start clipping</param> + <returns>The clipped string</returns> + </member> + <member name="M:NUnit.Framework.Constraints.MsgUtils.ClipExpectedAndActual(System.String@,System.String@,System.Int32,System.Int32)"> + <summary> + Clip the expected and actual strings in a coordinated fashion, + so that they may be displayed together. + </summary> + <param name="expected"></param> + <param name="actual"></param> + <param name="maxDisplayLength"></param> + <param name="mismatch"></param> + </member> + <member name="M:NUnit.Framework.Constraints.MsgUtils.FindMismatchPosition(System.String,System.String,System.Int32,System.Boolean)"> + <summary> + Shows the position two strings start to differ. Comparison + starts at the start index. + </summary> + <param name="expected">The expected string</param> + <param name="actual">The actual string</param> + <param name="istart">The index in the strings at which comparison should start</param> + <param name="ignoreCase">Boolean indicating whether case should be ignored</param> + <returns>-1 if no mismatch found, or the index where mismatch found</returns> + </member> + <member name="T:NUnit.Framework.Constraints.NaNConstraint"> + <summary> + NaNConstraint tests that the actual value is a double or float NaN + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.NaNConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.NaNConstraint.ApplyTo``1(``0)"> + <summary> + Test that the actual value is an NaN + </summary> + <param name="actual"></param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Constraints.NoItemConstraint"> + <summary> + NoItemConstraint applies another constraint to each + item in a collection, failing if any of them succeeds. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.NoItemConstraint.#ctor(NUnit.Framework.Constraints.IConstraint)"> + <summary> + Construct a SomeItemsConstraint on top of an existing constraint + </summary> + <param name="itemConstraint"></param> + </member> + <member name="P:NUnit.Framework.Constraints.NoItemConstraint.DisplayName"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.NoItemConstraint.ApplyTo``1(``0)"> + <summary> + Apply the item constraint to each item in the collection, + failing if any item fails. + </summary> + <param name="actual"></param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Constraints.NotConstraint"> + <summary> + NotConstraint negates the effect of some other constraint + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.NotConstraint.#ctor(NUnit.Framework.Constraints.IConstraint)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.NotConstraint"/> class. + </summary> + <param name="baseConstraint">The base constraint to be negated.</param> + </member> + <member name="M:NUnit.Framework.Constraints.NotConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for if the base constraint fails, false if it succeeds</returns> + </member> + <member name="T:NUnit.Framework.Constraints.NullConstraint"> + <summary> + NullConstraint tests that the actual value is null + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.NullConstraint.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.NullConstraint"/> class. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.NullConstraint.ApplyTo``1(``0)"> + <summary> + Applies the constraint to an actual value, returning a ConstraintResult. + </summary> + <param name="actual">The value to be tested</param> + <returns>A ConstraintResult</returns> + </member> + <member name="T:NUnit.Framework.Constraints.Numerics"> + <summary> + The Numerics class contains common operations on numeric values. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.Numerics.IsNumericType(System.Object)"> + <summary> + Checks the type of the object, returning true if + the object is a numeric type. + </summary> + <param name="obj">The object to check</param> + <returns>true if the object is a numeric type</returns> + </member> + <member name="M:NUnit.Framework.Constraints.Numerics.IsFloatingPointNumeric(System.Object)"> + <summary> + Checks the type of the object, returning true if + the object is a floating point numeric type. + </summary> + <param name="obj">The object to check</param> + <returns>true if the object is a floating point numeric type</returns> + </member> + <member name="M:NUnit.Framework.Constraints.Numerics.IsFixedPointNumeric(System.Object)"> + <summary> + Checks the type of the object, returning true if + the object is a fixed point numeric type. + </summary> + <param name="obj">The object to check</param> + <returns>true if the object is a fixed point numeric type</returns> + </member> + <member name="M:NUnit.Framework.Constraints.Numerics.AreEqual(System.Object,System.Object,NUnit.Framework.Constraints.Tolerance@)"> + <summary> + 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. + </summary> + <param name="expected">The expected value</param> + <param name="actual">The actual value</param> + <param name="tolerance">A reference to the tolerance in effect</param> + <returns>True if the values are equal</returns> + </member> + <member name="M:NUnit.Framework.Constraints.Numerics.Compare(System.Object,System.Object)"> + <summary> + Compare two numeric values, performing the usual numeric conversions. + </summary> + <param name="expected">The expected value</param> + <param name="actual">The actual value</param> + <returns>The relationship of the values to each other</returns> + </member> + <member name="M:NUnit.Framework.Constraints.Numerics.Difference(System.Object,System.Object,NUnit.Framework.Constraints.ToleranceMode)"> + <summary> + Calculates the difference between 2 values in absolute/percent mode. + </summary> + <param name="expected">The expected value</param> + <param name="actual">The actual value</param> + <param name="toleranceMode">Tolerance mode to specify difference representation</param> + <returns>The difference between the values</returns> + </member> + <member name="T:NUnit.Framework.Constraints.NUnitComparer"> + <summary> + NUnitComparer encapsulates NUnit's default behavior + in comparing two objects. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.NUnitComparer.Default"> + <summary> + Returns the default NUnitComparer. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.NUnitComparer.Compare(System.Object,System.Object)"> + <summary> + Compares two objects + </summary> + <param name="x"></param> + <param name="y"></param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Constraints.NUnitEqualityComparer"> + <summary> + NUnitEqualityComparer encapsulates NUnit's handling of + equality tests between objects. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.NUnitEqualityComparer.caseInsensitive"> + <summary> + If true, all string comparisons will ignore case + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.NUnitEqualityComparer.compareAsCollection"> + <summary> + If true, arrays will be treated as collections, allowing + those of different dimensions to be compared + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.NUnitEqualityComparer.externalComparers"> + <summary> + Comparison objects used in comparisons for some constraints. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.NUnitEqualityComparer.failurePoints"> + <summary> + List of points at which a failure occurred. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.NUnitEqualityComparer._comparers"> + <summary> + List of comparers used to compare pairs of objects. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.NUnitEqualityComparer.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.NUnitEqualityComparer"/> class. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.NUnitEqualityComparer.Default"> + <summary> + Returns the default NUnitEqualityComparer + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.NUnitEqualityComparer.IgnoreCase"> + <summary> + Gets and sets a flag indicating whether case should + be ignored in determining equality. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.NUnitEqualityComparer.CompareAsCollection"> + <summary> + Gets and sets a flag indicating that arrays should be + compared as collections, without regard to their shape. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.NUnitEqualityComparer.ExternalComparers"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.NUnitEqualityComparer.FailurePoints"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.NUnitEqualityComparer.WithSameOffset"> + <summary> + Flags the comparer to include <see cref="P:System.DateTimeOffset.Offset"/> + property in comparison of two <see cref="T:System.DateTimeOffset"/> values. + </summary> + <remarks> + Using this modifier does not allow to use the <see cref="T:NUnit.Framework.Constraints.Tolerance"/> + modifier. + </remarks> + </member> + <member name="M:NUnit.Framework.Constraints.NUnitEqualityComparer.AreEqual(System.Object,System.Object,NUnit.Framework.Constraints.Tolerance@)"> + <summary> + Compares two objects for equality within a tolerance. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.NUnitEqualityComparer.AreEqual(System.Object,System.Object,NUnit.Framework.Constraints.Tolerance@,System.Boolean)"> + <summary> + Compares two objects for equality within a tolerance. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.NUnitEqualityComparer.FailurePoint"> + <summary> + FailurePoint class represents one point of failure + in an equality test. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.NUnitEqualityComparer.FailurePoint.Position"> + <summary> + The location of the failure + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.NUnitEqualityComparer.FailurePoint.ExpectedValue"> + <summary> + The expected value + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.NUnitEqualityComparer.FailurePoint.ActualValue"> + <summary> + The actual value + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.NUnitEqualityComparer.FailurePoint.ExpectedHasData"> + <summary> + Indicates whether the expected value is valid + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.NUnitEqualityComparer.FailurePoint.ActualHasData"> + <summary> + Indicates whether the actual value is valid + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.AllOperator"> + <summary> + Represents a constraint that succeeds if all the + members of a collection match a base constraint. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.AllOperator.ApplyPrefix(NUnit.Framework.Constraints.IConstraint)"> + <summary> + Returns a constraint that will apply the argument + to the members of a collection, succeeding if + they all succeed. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.AndOperator"> + <summary> + Operator that requires both its arguments to succeed + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.AndOperator.#ctor"> + <summary> + Construct an AndOperator + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.AndOperator.ApplyOperator(NUnit.Framework.Constraints.IConstraint,NUnit.Framework.Constraints.IConstraint)"> + <summary> + Apply the operator to produce an AndConstraint + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.AttributeOperator"> + <summary> + Operator that tests for the presence of a particular attribute + on a type and optionally applies further tests to the attribute. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.AttributeOperator.#ctor(System.Type)"> + <summary> + Construct an AttributeOperator for a particular Type + </summary> + <param name="type">The Type of attribute tested</param> + </member> + <member name="M:NUnit.Framework.Constraints.AttributeOperator.Reduce(NUnit.Framework.Constraints.ConstraintBuilder.ConstraintStack)"> + <summary> + 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. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.BinaryOperator"> + <summary> + Abstract base class for all binary operators + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.BinaryOperator.Reduce(NUnit.Framework.Constraints.ConstraintBuilder.ConstraintStack)"> + <summary> + 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. + </summary> + <param name="stack"></param> + </member> + <member name="P:NUnit.Framework.Constraints.BinaryOperator.LeftPrecedence"> + <summary> + Gets the left precedence of the operator + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.BinaryOperator.RightPrecedence"> + <summary> + Gets the right precedence of the operator + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.BinaryOperator.ApplyOperator(NUnit.Framework.Constraints.IConstraint,NUnit.Framework.Constraints.IConstraint)"> + <summary> + Abstract method that produces a constraint by applying + the operator to its left and right constraint arguments. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.CollectionOperator"> + <summary> + Abstract base for operators that indicate how to + apply a constraint to items in a collection. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionOperator.#ctor"> + <summary> + Constructs a CollectionOperator + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.ConstraintOperator"> + <summary> + 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. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.ConstraintOperator.left_precedence"> + <summary> + The precedence value used when the operator + is about to be pushed to the stack. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.ConstraintOperator.right_precedence"> + <summary> + The precedence value used when the operator + is on the top of the stack. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintOperator.LeftContext"> + <summary> + The syntax element preceding this operator + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintOperator.RightContext"> + <summary> + The syntax element following this operator + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintOperator.LeftPrecedence"> + <summary> + The precedence value used when the operator + is about to be pushed to the stack. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintOperator.RightPrecedence"> + <summary> + The precedence value used when the operator + is on the top of the stack. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintOperator.Reduce(NUnit.Framework.Constraints.ConstraintBuilder.ConstraintStack)"> + <summary> + 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. + </summary> + <param name="stack"></param> + </member> + <member name="T:NUnit.Framework.Constraints.ExactCountOperator"> + <summary> + Represents a constraint that succeeds if the specified + count of members of a collection match a base constraint. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ExactCountOperator.#ctor(System.Int32)"> + <summary> + Construct an ExactCountOperator for a specified count + </summary> + <param name="expectedCount">The expected count</param> + </member> + <member name="M:NUnit.Framework.Constraints.ExactCountOperator.Reduce(NUnit.Framework.Constraints.ConstraintBuilder.ConstraintStack)"> + <summary> + 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. + </summary> + <param name="stack"></param> + </member> + <member name="T:NUnit.Framework.Constraints.IndexerOperator"> + <summary> + Operator used to test for the presence of a Indexer + on an object and optionally apply further tests to the + value of that indexer. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.IndexerOperator.#ctor(System.Object[])"> + <summary> + Constructs a IndexerOperator for a particular set of indexer + parameters + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.IndexerOperator.ApplyPrefix(NUnit.Framework.Constraints.IConstraint)"> + <summary> + Returns a IndexerConstraint applied to its argument. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.NoneOperator"> + <summary> + Represents a constraint that succeeds if none of the + members of a collection match a base constraint. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.NoneOperator.ApplyPrefix(NUnit.Framework.Constraints.IConstraint)"> + <summary> + Returns a constraint that will apply the argument + to the members of a collection, succeeding if + none of them succeed. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.NotOperator"> + <summary> + Negates the test of the constraint it wraps. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.NotOperator.#ctor"> + <summary> + Constructs a new NotOperator + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.NotOperator.ApplyPrefix(NUnit.Framework.Constraints.IConstraint)"> + <summary> + Returns a NotConstraint applied to its argument. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.OrOperator"> + <summary> + Operator that requires at least one of its arguments to succeed + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.OrOperator.#ctor"> + <summary> + Construct an OrOperator + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.OrOperator.ApplyOperator(NUnit.Framework.Constraints.IConstraint,NUnit.Framework.Constraints.IConstraint)"> + <summary> + Apply the operator to produce an OrConstraint + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.PrefixOperator"> + <summary> + PrefixOperator takes a single constraint and modifies + its action in some way. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.PrefixOperator.Reduce(NUnit.Framework.Constraints.ConstraintBuilder.ConstraintStack)"> + <summary> + 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. + </summary> + <param name="stack"></param> + </member> + <member name="M:NUnit.Framework.Constraints.PrefixOperator.ApplyPrefix(NUnit.Framework.Constraints.IConstraint)"> + <summary> + Returns the constraint created by applying this + prefix to another constraint. + </summary> + <param name="constraint"></param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Constraints.PropOperator"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.PropOperator.Name"> + <summary> + Gets the name of the property to which the operator applies + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.PropOperator.#ctor(System.String)"> + <summary> + Constructs a PropOperator for a particular named property + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.PropOperator.Reduce(NUnit.Framework.Constraints.ConstraintBuilder.ConstraintStack)"> + <summary> + 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. + </summary> + <param name="stack"></param> + </member> + <member name="T:NUnit.Framework.Constraints.SelfResolvingOperator"> + <summary> + Abstract base class for operators that are able to reduce to a + constraint whether or not another syntactic element follows. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.SomeOperator"> + <summary> + Represents a constraint that succeeds if any of the + members of a collection match a base constraint. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.SomeOperator.ApplyPrefix(NUnit.Framework.Constraints.IConstraint)"> + <summary> + Returns a constraint that will apply the argument + to the members of a collection, succeeding if + any of them succeed. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.ThrowsOperator"> + <summary> + Operator that tests that an exception is thrown and + optionally applies further tests to the exception. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ThrowsOperator.#ctor"> + <summary> + Construct a ThrowsOperator + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ThrowsOperator.Reduce(NUnit.Framework.Constraints.ConstraintBuilder.ConstraintStack)"> + <summary> + 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. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.WithOperator"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.WithOperator.#ctor"> + <summary> + Constructor for the WithOperator + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.WithOperator.ApplyPrefix(NUnit.Framework.Constraints.IConstraint)"> + <summary> + Returns a constraint that wraps its argument + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.OrConstraint"> + <summary> + OrConstraint succeeds if either member succeeds + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.OrConstraint.#ctor(NUnit.Framework.Constraints.IConstraint,NUnit.Framework.Constraints.IConstraint)"> + <summary> + Create an OrConstraint from two other constraints + </summary> + <param name="left">The first constraint</param> + <param name="right">The second constraint</param> + </member> + <member name="P:NUnit.Framework.Constraints.OrConstraint.Description"> + <summary> + Gets text describing a constraint + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.OrConstraint.ApplyTo``1(``0)"> + <summary> + Apply the member constraints to an actual value, succeeding + succeeding as soon as one of them succeeds. + </summary> + <param name="actual">The actual value</param> + <returns>True if either constraint succeeded</returns> + </member> + <member name="T:NUnit.Framework.Constraints.PathConstraint"> + <summary> + PathConstraint serves as the abstract base of constraints + that operate on paths and provides several helper methods. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.PathConstraint.#ctor(System.String)"> + <summary> + Construct a PathConstraint for a give expected path + </summary> + <param name="expected">The expected path</param> + </member> + <member name="P:NUnit.Framework.Constraints.PathConstraint.RespectCase"> + <summary> + Modifies the current instance to be case-sensitive + and returns it. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.PathConstraint.GetStringRepresentation"> + <summary> + Returns the string representation of this constraint + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.PathConstraint.Canonicalize(System.String)"> + <summary> + Canonicalize the provided path + </summary> + <param name="path"></param> + <returns>The path in standardized form</returns> + </member> + <member name="M:NUnit.Framework.Constraints.PathConstraint.IsSubPath(System.String,System.String)"> + <summary> + Test whether one path in canonical form is a subpath of another path + </summary> + <param name="path1">The first path - supposed to be the parent path</param> + <param name="path2">The second path - supposed to be the child path</param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Constraints.PredicateConstraint`1"> + <summary> + Predicate constraint wraps a Predicate in a constraint, + returning success if the predicate is true. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.PredicateConstraint`1.#ctor(System.Predicate{`0})"> + <summary> + Construct a PredicateConstraint from a predicate + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.PredicateConstraint`1.Description"> + <summary> + Gets text describing a constraint + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.PredicateConstraint`1.ApplyTo``1(``0)"> + <summary> + Determines whether the predicate succeeds when applied + to the actual value. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.PrefixConstraint"> + <summary> + Abstract base class used for prefixes + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.PrefixConstraint.BaseConstraint"> + <summary> + The base constraint + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.PrefixConstraint.DescriptionPrefix"> + <summary> + Prefix used in forming the constraint description + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.PrefixConstraint.#ctor(NUnit.Framework.Constraints.IResolveConstraint)"> + <summary> + Construct given a base constraint + </summary> + <param name="baseConstraint"></param> + </member> + <member name="P:NUnit.Framework.Constraints.PrefixConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.PrefixConstraint.FormatDescription(System.String,NUnit.Framework.Constraints.IConstraint)"> + <summary> + Formats a prefix constraint's description. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.PropertyConstraint"> + <summary> + PropertyConstraint extracts a named property and uses + its value as the actual value for a chained constraint. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.PropertyConstraint.#ctor(System.String,NUnit.Framework.Constraints.IConstraint)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.PropertyConstraint"/> class. + </summary> + <param name="name">The name.</param> + <param name="baseConstraint">The constraint to apply to the property.</param> + </member> + <member name="M:NUnit.Framework.Constraints.PropertyConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + </member> + <member name="M:NUnit.Framework.Constraints.PropertyConstraint.GetStringRepresentation"> + <summary> + Returns the string representation of the constraint. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.PropertyConstraintResult"> + <summary> + Contains the result of matching a <see cref="T:NUnit.Framework.Constraints.PropertyConstraint"/> against an actual value. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.PropertyConstraintResult.#ctor(NUnit.Framework.Constraints.IConstraint,NUnit.Framework.Constraints.ConstraintResult)"> + <summary> + Constructs a <see cref="T:NUnit.Framework.Constraints.PropertyConstraintResult"/> for a particular <see cref="T:NUnit.Framework.Constraints.PropertyConstraint"/>. + </summary> + <param name="constraint">The Constraint to which this result applies.</param> + <param name="baseResult">The base result with actual value to which the Constraint was applied.</param> + </member> + <member name="M:NUnit.Framework.Constraints.PropertyConstraintResult.WriteAdditionalLinesTo(NUnit.Framework.Constraints.MessageWriter)"> + <summary> + Write the additional failure message for a failing constraint to a + MessageWriter. + </summary> + <param name="writer">The writer on which the actual value is displayed</param> + </member> + <member name="T:NUnit.Framework.Constraints.PropertyExistsConstraint"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.PropertyExistsConstraint.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.PropertyExistsConstraint"/> class. + </summary> + <param name="name">The name of the property.</param> + </member> + <member name="P:NUnit.Framework.Constraints.PropertyExistsConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.PropertyExistsConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the property exists for a given object + </summary> + <param name="actual">The object to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="M:NUnit.Framework.Constraints.PropertyExistsConstraint.GetStringRepresentation"> + <summary> + Returns the string representation of the constraint. + </summary> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Constraints.RangeConstraint"> + <summary> + RangeConstraint tests whether two values are within a + specified range. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.RangeConstraint.#ctor(System.Object,System.Object)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.RangeConstraint"/> class. + </summary> + <param name="from">Inclusive beginning of the range.</param> + <param name="to">Inclusive end of the range.</param> + </member> + <member name="P:NUnit.Framework.Constraints.RangeConstraint.Description"> + <summary> + Gets text describing a constraint + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.RangeConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="M:NUnit.Framework.Constraints.RangeConstraint.Using(System.Collections.IComparer)"> + <summary> + Modifies the constraint to use an <see cref="T:System.Collections.IComparer"/> and returns self. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.RangeConstraint.Using``1(System.Collections.Generic.IComparer{``0})"> + <summary> + Modifies the constraint to use an <see cref="T:System.Collections.Generic.IComparer`1"/> and returns self. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.RangeConstraint.Using``1(System.Comparison{``0})"> + <summary> + Modifies the constraint to use a <see cref="T:System.Comparison`1"/> and returns self. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.RegexConstraint"> + <summary> + RegexConstraint can test whether a string matches + the pattern provided. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.RegexConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.RegexConstraint.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.RegexConstraint"/> class. + </summary> + <param name="pattern">The pattern.</param> + </member> + <member name="M:NUnit.Framework.Constraints.RegexConstraint.#ctor(System.Text.RegularExpressions.Regex)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.RegexConstraint"/> class. + </summary> + <param name="regex">The Regex pattern object.</param> + </member> + <member name="P:NUnit.Framework.Constraints.RegexConstraint.IgnoreCase"> + <summary> + Modify the constraint to ignore case in matching. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.RegexConstraint.ApplyTo``1(``0)"> + <summary> + Applies the regex constraint to an actual value, returning a ConstraintResult. + </summary> + <param name="actual">The string to be tested.</param> + <returns>True for success, false for failure.</returns> + </member> + <member name="T:NUnit.Framework.Constraints.ResolvableConstraintExpression"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ResolvableConstraintExpression.#ctor"> + <summary> + Create a new instance of ResolvableConstraintExpression + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ResolvableConstraintExpression.#ctor(NUnit.Framework.Constraints.ConstraintBuilder)"> + <summary> + Create a new instance of ResolvableConstraintExpression, + passing in a pre-populated ConstraintBuilder. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ResolvableConstraintExpression.And"> + <summary> + Appends an And Operator to the expression + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ResolvableConstraintExpression.Or"> + <summary> + Appends an Or operator to the expression. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ResolvableConstraintExpression.NUnit#Framework#Constraints#IResolveConstraint#Resolve"> + <summary> + Resolve the current expression to a Constraint + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.ReusableConstraint"> + <summary> + ReusableConstraint wraps a constraint expression after + resolving it so that it can be reused consistently. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ReusableConstraint.#ctor(NUnit.Framework.Constraints.IResolveConstraint)"> + <summary> + Construct a ReusableConstraint from a constraint expression + </summary> + <param name="c">The expression to be resolved and reused</param> + </member> + <member name="M:NUnit.Framework.Constraints.ReusableConstraint.op_Implicit(NUnit.Framework.Constraints.Constraint)~NUnit.Framework.Constraints.ReusableConstraint"> + <summary> + Converts a constraint to a ReusableConstraint + </summary> + <param name="c">The constraint to be converted</param> + <returns>A ReusableConstraint</returns> + </member> + <member name="M:NUnit.Framework.Constraints.ReusableConstraint.ToString"> + <summary> + Returns a <see cref="T:System.String"/> that represents this instance. + </summary> + <returns> + A <see cref="T:System.String"/> that represents this instance. + </returns> + </member> + <member name="M:NUnit.Framework.Constraints.ReusableConstraint.Resolve"> + <summary> + Return the top-level constraint for this expression + </summary> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Constraints.SameAsConstraint"> + <summary> + SameAsConstraint tests whether an object is identical to + the object passed to its constructor + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.SameAsConstraint.#ctor(System.Object)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.SameAsConstraint"/> class. + </summary> + <param name="expected">The expected object.</param> + </member> + <member name="P:NUnit.Framework.Constraints.SameAsConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.SameAsConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="T:NUnit.Framework.Constraints.SamePathConstraint"> + <summary> + Summary description for SamePathConstraint. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.SamePathConstraint.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.SamePathConstraint"/> class. + </summary> + <param name="expected">The expected path</param> + </member> + <member name="P:NUnit.Framework.Constraints.SamePathConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.SamePathConstraint.Matches(System.String)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="T:NUnit.Framework.Constraints.SamePathOrUnderConstraint"> + <summary> + SamePathOrUnderConstraint tests that one path is under another + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.SamePathOrUnderConstraint.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.SamePathOrUnderConstraint"/> class. + </summary> + <param name="expected">The expected path</param> + </member> + <member name="P:NUnit.Framework.Constraints.SamePathOrUnderConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.SamePathOrUnderConstraint.Matches(System.String)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="T:NUnit.Framework.Constraints.SomeItemsConstraint"> + <summary> + SomeItemsConstraint applies another constraint to each + item in a collection, succeeding if any of them succeeds. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.SomeItemsConstraint.#ctor(NUnit.Framework.Constraints.IConstraint)"> + <summary> + Construct a SomeItemsConstraint on top of an existing constraint + </summary> + <param name="itemConstraint"></param> + </member> + <member name="P:NUnit.Framework.Constraints.SomeItemsConstraint.DisplayName"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.SomeItemsConstraint.ApplyTo``1(``0)"> + <summary> + Apply the item constraint to each item in the collection, + succeeding if any item succeeds. + </summary> + <param name="actual"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Constraints.SomeItemsConstraint.Using``2(System.Func{``0,``1,System.Boolean})"> + <summary> + Flag the constraint to use the supplied <see cref="T:System.Func`3"/> object. + </summary> + <typeparam name="TCollectionType">The type of the elements in the collection.</typeparam> + <typeparam name="TMemberType">The type of the member.</typeparam> + <param name="comparison">The comparison function to use.</param> + <returns>Self.</returns> + </member> + <member name="M:NUnit.Framework.Constraints.SomeItemsConstraint.Using(System.Collections.IComparer)"> + <summary> + Flag the constraint to use the supplied <see cref="T:System.Collections.IComparer"/> object. + </summary> + <param name="comparer">The IComparer object to use.</param> + <returns>Self.</returns> + </member> + <member name="M:NUnit.Framework.Constraints.SomeItemsConstraint.Using``1(System.Collections.Generic.IComparer{``0})"> + <summary> + Flag the constraint to use the supplied <see cref="T:System.Collections.Generic.IComparer`1"/> object. + </summary> + <param name="comparer">The IComparer object to use.</param> + <returns>Self.</returns> + </member> + <member name="M:NUnit.Framework.Constraints.SomeItemsConstraint.Using``1(System.Comparison{``0})"> + <summary> + Flag the constraint to use the supplied <see cref="T:System.Comparison`1"/> object. + </summary> + <param name="comparer">The IComparer object to use.</param> + <returns>Self.</returns> + </member> + <member name="M:NUnit.Framework.Constraints.SomeItemsConstraint.Using(System.Collections.IEqualityComparer)"> + <summary> + Flag the constraint to use the supplied <see cref="T:System.Collections.IEqualityComparer"/> object. + </summary> + <param name="comparer">The IComparer object to use.</param> + <returns>Self.</returns> + </member> + <member name="M:NUnit.Framework.Constraints.SomeItemsConstraint.Using``1(System.Collections.Generic.IEqualityComparer{``0})"> + <summary> + Flag the constraint to use the supplied <see cref="T:System.Collections.Generic.IEqualityComparer`1"/> object. + </summary> + <param name="comparer">The IComparer object to use.</param> + <returns>Self.</returns> + </member> + <member name="T:NUnit.Framework.Constraints.StartsWithConstraint"> + <summary> + StartsWithConstraint can test whether a string starts + with an expected substring. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.StartsWithConstraint.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.StartsWithConstraint"/> class. + </summary> + <param name="expected">The expected string</param> + </member> + <member name="M:NUnit.Framework.Constraints.StartsWithConstraint.Matches(System.String)"> + <summary> + Test whether the constraint is matched by the actual value. + This is a template method, which calls the IsMatch method + of the derived class. + </summary> + <param name="actual"></param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Constraints.StringConstraint"> + <summary> + StringConstraint is the abstract base for constraints + that operate on strings. It supports the IgnoreCase + modifier for string operations. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.StringConstraint.expected"> + <summary> + The expected value + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.StringConstraint.caseInsensitive"> + <summary> + Indicates whether tests should be case-insensitive + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.StringConstraint.descriptionText"> + <summary> + Description of this constraint + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.StringConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.StringConstraint.#ctor"> + <summary> + Constructs a StringConstraint without an expected value + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.StringConstraint.#ctor(System.String)"> + <summary> + Constructs a StringConstraint given an expected value + </summary> + <param name="expected">The expected value</param> + </member> + <member name="P:NUnit.Framework.Constraints.StringConstraint.IgnoreCase"> + <summary> + Modify the constraint to ignore case in matching. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.StringConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="M:NUnit.Framework.Constraints.StringConstraint.Matches(System.String)"> + <summary> + Test whether the constraint is satisfied by a given string + </summary> + <param name="actual">The string to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="T:NUnit.Framework.Constraints.SubPathConstraint"> + <summary> + SubPathConstraint tests that the actual path is under the expected path + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.SubPathConstraint.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.SubPathConstraint"/> class. + </summary> + <param name="expected">The expected path</param> + </member> + <member name="P:NUnit.Framework.Constraints.SubPathConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.SubPathConstraint.Matches(System.String)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="T:NUnit.Framework.Constraints.SubstringConstraint"> + <summary> + SubstringConstraint can test whether a string contains + the expected substring. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.SubstringConstraint.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.SubstringConstraint"/> class. + </summary> + <param name="expected">The expected.</param> + </member> + <member name="P:NUnit.Framework.Constraints.SubstringConstraint.IgnoreCase"> + <summary> + Modify the constraint to ignore case in matching. + This will call Using(StringComparison.CurrentCultureIgnoreCase). + </summary> + <exception cref="T:System.InvalidOperationException">Thrown when a comparison type different + than <see cref="F:System.StringComparison.CurrentCultureIgnoreCase"/> was already set.</exception> + </member> + <member name="M:NUnit.Framework.Constraints.SubstringConstraint.Matches(System.String)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="M:NUnit.Framework.Constraints.SubstringConstraint.Using(System.StringComparison)"> + <summary> + Modify the constraint to the specified comparison. + </summary> + <exception cref="T:System.InvalidOperationException">Thrown when a comparison type different + than <paramref name="comparisonType"/> was already set.</exception> + </member> + <member name="T:NUnit.Framework.Constraints.ThrowsConstraint"> + <summary> + ThrowsConstraint is used to test the exception thrown by + a delegate by applying a constraint to it. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ThrowsConstraint.#ctor(NUnit.Framework.Constraints.IConstraint)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.ThrowsConstraint"/> class, + using a constraint to be applied to the exception. + </summary> + <param name="baseConstraint">A constraint to apply to the caught exception.</param> + </member> + <member name="P:NUnit.Framework.Constraints.ThrowsConstraint.ActualException"> + <summary> + Get the actual exception thrown - used by Assert.Throws. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ThrowsConstraint.Description"> + <summary> + Gets text describing a constraint + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ThrowsConstraint.ApplyTo``1(``0)"> + <summary> + 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. + </summary> + <param name="actual">A delegate representing the code to be tested</param> + <returns>True if an exception is thrown and the constraint succeeds, otherwise false</returns> + </member> + <member name="M:NUnit.Framework.Constraints.ThrowsConstraint.ApplyTo``1(NUnit.Framework.Constraints.ActualValueDelegate{``0})"> + <summary> + Converts an ActualValueDelegate to a TestDelegate + before calling the primary overload. + </summary> + <param name="del"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Constraints.ThrowsConstraint.ThrowsConstraintResult.WriteActualValueTo(NUnit.Framework.Constraints.MessageWriter)"> + <summary> + 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. + </summary> + <param name="writer">The writer on which the actual value is displayed</param> + </member> + <member name="T:NUnit.Framework.Constraints.ThrowsExceptionConstraint"> + <summary> + ThrowsExceptionConstraint tests that an exception has + been thrown, without any further tests. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ThrowsExceptionConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ThrowsExceptionConstraint.ApplyTo``1(``0)"> + <summary> + Executes the code and returns success if an exception is thrown. + </summary> + <param name="actual">A delegate representing the code to be tested</param> + <returns>True if an exception is thrown, otherwise false</returns> + </member> + <member name="M:NUnit.Framework.Constraints.ThrowsExceptionConstraint.ApplyTo``1(NUnit.Framework.Constraints.ActualValueDelegate{``0})"> + <summary> + 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. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.ThrowsNothingConstraint"> + <summary> + ThrowsNothingConstraint tests that a delegate does not + throw an exception. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ThrowsNothingConstraint.Description"> + <summary> + Gets text describing a constraint + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ThrowsNothingConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True if no exception is thrown, otherwise false</returns> + </member> + <member name="M:NUnit.Framework.Constraints.ThrowsNothingConstraint.ApplyTo``1(NUnit.Framework.Constraints.ActualValueDelegate{``0})"> + <summary> + 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. + </summary> + <param name="del">An ActualValueDelegate</param> + <returns>A ConstraintResult</returns> + </member> + <member name="T:NUnit.Framework.Constraints.Tolerance"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Tolerance.Default"> + <summary> + Returns a default Tolerance object, equivalent to an exact match. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Tolerance.Exact"> + <summary> + Returns an empty Tolerance object, equivalent to an exact match. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.Tolerance.#ctor(System.Object)"> + <summary> + Constructs a linear tolerance of a specified amount + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.Tolerance.#ctor(System.Object,NUnit.Framework.Constraints.ToleranceMode)"> + <summary> + Constructs a tolerance given an amount and <see cref="T:NUnit.Framework.Constraints.ToleranceMode"/> + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Tolerance.Percent"> + <summary> + Returns a new tolerance, using the current amount as a percentage. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Tolerance.Ulps"> + <summary> + Returns a new tolerance, using the current amount in Ulps + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Tolerance.Days"> + <summary> + Returns a new tolerance with a <see cref="T:System.TimeSpan"/> as the amount, using + the current amount as a number of days. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Tolerance.Hours"> + <summary> + Returns a new tolerance with a <see cref="T:System.TimeSpan"/> as the amount, using + the current amount as a number of hours. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Tolerance.Minutes"> + <summary> + Returns a new tolerance with a <see cref="T:System.TimeSpan"/> as the amount, using + the current amount as a number of minutes. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Tolerance.Seconds"> + <summary> + Returns a new tolerance with a <see cref="T:System.TimeSpan"/> as the amount, using + the current amount as a number of seconds. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Tolerance.Milliseconds"> + <summary> + Returns a new tolerance with a <see cref="T:System.TimeSpan"/> as the amount, using + the current amount as a number of milliseconds. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Tolerance.Ticks"> + <summary> + Returns a new tolerance with a <see cref="T:System.TimeSpan"/> as the amount, using + the current amount as a number of clock ticks. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Tolerance.Mode"> + <summary> + Gets the <see cref="T:NUnit.Framework.Constraints.ToleranceMode"/> for the current Tolerance + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Tolerance.Amount"> + <summary> + Gets the magnitude of the current Tolerance instance. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Tolerance.IsUnsetOrDefault"> + <summary> + Returns true if the current tolerance has not been set or is using the . + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.Tolerance.ApplyToValue(System.Object)"> + <summary> + Apply the tolerance to an expected value and return + a Tolerance.Range that represents the acceptable values. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.Tolerance.CheckLinearAndNumeric"> + <summary> + Tests that the current Tolerance is linear with a + numeric value, throwing an exception if it is not. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.Tolerance.Range"> + <summary> + Tolerance.Range represents the range of values that match + a specific tolerance, when applied to a specific value. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.Tolerance.Range.LowerBound"> + <summary> + The lower bound of the range + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.Tolerance.Range.UpperBound"> + <summary> + The upper bound of the range + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.Tolerance.Range.#ctor(System.Object,System.Object)"> + <summary> + Constructs a range + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.ToleranceMode"> + <summary> + Modes in which the tolerance value for a comparison can be interpreted. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.ToleranceMode.Unset"> + <summary> + 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. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.ToleranceMode.Linear"> + <summary> + The tolerance is used as a numeric range within which + two compared values are considered to be equal. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.ToleranceMode.Percent"> + <summary> + Interprets the tolerance as the percentage by which + the two compared values my deviate from each other. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.ToleranceMode.Ulps"> + <summary> + Compares two values based in their distance in + representable numbers. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.TrueConstraint"> + <summary> + TrueConstraint tests that the actual value is true + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.TrueConstraint.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.TrueConstraint"/> class. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.TrueConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="T:NUnit.Framework.Constraints.TypeConstraint"> + <summary> + TypeConstraint is the abstract base for constraints + that take a Type as their expected value. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.TypeConstraint.expectedType"> + <summary> + The expected Type used by the constraint + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.TypeConstraint.actualType"> + <summary> + The type of the actual argument to which the constraint was applied + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.TypeConstraint.#ctor(System.Type,System.String)"> + <summary> + Construct a TypeConstraint for a given Type + </summary> + <param name="type">The expected type for the constraint</param> + <param name="descriptionPrefix">Prefix used in forming the constraint description</param> + </member> + <member name="M:NUnit.Framework.Constraints.TypeConstraint.ApplyTo``1(``0)"> + <summary> + Applies the constraint to an actual value, returning a ConstraintResult. + </summary> + <param name="actual">The value to be tested</param> + <returns>A ConstraintResult</returns> + </member> + <member name="M:NUnit.Framework.Constraints.TypeConstraint.Matches(System.Object)"> + <summary> + Apply the constraint to an actual value, returning true if it succeeds + </summary> + <param name="actual">The actual argument</param> + <returns>True if the constraint succeeds, otherwise false.</returns> + </member> + <member name="T:NUnit.Framework.Constraints.UniqueItemsConstraint"> + <summary> + UniqueItemsConstraint tests whether all the items in a + collection are unique. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.UniqueItemsConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.UniqueItemsConstraint.Matches(System.Collections.IEnumerable)"> + <summary> + Check that all items are unique. + </summary> + <param name="actual"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Constraints.UniqueItemsConstraint.ApplyTo``1(``0)"> + <inheritdoc /> + </member> + <member name="T:NUnit.Framework.Constraints.XmlSerializableConstraint"> + <summary> + XmlSerializableConstraint tests whether + an object is serializable in XML format. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.XmlSerializableConstraint.Description"> + <summary> + Gets text describing a constraint + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.XmlSerializableConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="M:NUnit.Framework.Constraints.XmlSerializableConstraint.GetStringRepresentation"> + <summary> + Returns the string representation of this constraint + </summary> + </member> + <member name="T:NUnit.Framework.Contains"> + <summary> + Helper class with properties and methods that supply + a number of constraints used in Asserts. + </summary> + </member> + <member name="M:NUnit.Framework.Contains.Item(System.Object)"> + <summary> + Returns a new <see cref="T:NUnit.Framework.Constraints.SomeItemsConstraint"/> checking for the + presence of a particular object in the collection. + </summary> + </member> + <member name="M:NUnit.Framework.Contains.Key(System.Object)"> + <summary> + Returns a new DictionaryContainsKeyConstraint checking for the + presence of a particular key in the dictionary. + </summary> + </member> + <member name="M:NUnit.Framework.Contains.Value(System.Object)"> + <summary> + Returns a new DictionaryContainsValueConstraint checking for the + presence of a particular value in the dictionary. + </summary> + </member> + <member name="M:NUnit.Framework.Contains.Substring(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + </summary> + </member> + <member name="T:NUnit.Framework.DirectoryAssert"> + <summary> + Asserts on Directories + </summary> + </member> + <member name="M:NUnit.Framework.DirectoryAssert.Equals(System.Object,System.Object)"> + <summary> + 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. + </summary> + <param name="a"></param> + <param name="b"></param> + </member> + <member name="M:NUnit.Framework.DirectoryAssert.ReferenceEquals(System.Object,System.Object)"> + <summary> + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + </summary> + <param name="a"></param> + <param name="b"></param> + </member> + <member name="M:NUnit.Framework.DirectoryAssert.AreEqual(System.IO.DirectoryInfo,System.IO.DirectoryInfo,System.String,System.Object[])"> + <summary> + 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 <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="expected">A directory containing the value that is expected</param> + <param name="actual">A directory containing the actual value</param> + <param name="message">The message to display if the directories are not equal</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.DirectoryAssert.AreEqual(System.IO.DirectoryInfo,System.IO.DirectoryInfo)"> + <summary> + 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 <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="expected">A directory containing the value that is expected</param> + <param name="actual">A directory containing the actual value</param> + </member> + <member name="M:NUnit.Framework.DirectoryAssert.AreNotEqual(System.IO.DirectoryInfo,System.IO.DirectoryInfo,System.String,System.Object[])"> + <summary> + Asserts that two directories are not equal. If they are equal + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="expected">A directory containing the value that is expected</param> + <param name="actual">A directory containing the actual value</param> + <param name="message">The message to display if directories are not equal</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.DirectoryAssert.AreNotEqual(System.IO.DirectoryInfo,System.IO.DirectoryInfo)"> + <summary> + Asserts that two directories are not equal. If they are equal + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="expected">A directory containing the value that is expected</param> + <param name="actual">A directory containing the actual value</param> + </member> + <member name="M:NUnit.Framework.DirectoryAssert.Exists(System.IO.DirectoryInfo,System.String,System.Object[])"> + <summary> + Asserts that the directory exists. If it does not exist + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="actual">A directory containing the actual value</param> + <param name="message">The message to display if directories are not equal</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.DirectoryAssert.Exists(System.IO.DirectoryInfo)"> + <summary> + Asserts that the directory exists. If it does not exist + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="actual">A directory containing the actual value</param> + </member> + <member name="M:NUnit.Framework.DirectoryAssert.Exists(System.String,System.String,System.Object[])"> + <summary> + Asserts that the directory exists. If it does not exist + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="actual">The path to a directory containing the actual value</param> + <param name="message">The message to display if directories are not equal</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.DirectoryAssert.Exists(System.String)"> + <summary> + Asserts that the directory exists. If it does not exist + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="actual">The path to a directory containing the actual value</param> + </member> + <member name="M:NUnit.Framework.DirectoryAssert.DoesNotExist(System.IO.DirectoryInfo,System.String,System.Object[])"> + <summary> + Asserts that the directory does not exist. If it does exist + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="actual">A directory containing the actual value</param> + <param name="message">The message to display if directories are not equal</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.DirectoryAssert.DoesNotExist(System.IO.DirectoryInfo)"> + <summary> + Asserts that the directory does not exist. If it does exist + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="actual">A directory containing the actual value</param> + </member> + <member name="M:NUnit.Framework.DirectoryAssert.DoesNotExist(System.String,System.String,System.Object[])"> + <summary> + Asserts that the directory does not exist. If it does exist + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="actual">The path to a directory containing the actual value</param> + <param name="message">The message to display if directories are not equal</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.DirectoryAssert.DoesNotExist(System.String)"> + <summary> + Asserts that the directory does not exist. If it does exist + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="actual">The path to a directory containing the actual value</param> + </member> + <member name="T:NUnit.Framework.Does"> + <summary> + Helper class with properties and methods that supply + a number of constraints used in Asserts. + </summary> + </member> + <member name="P:NUnit.Framework.Does.Not"> + <summary> + Returns a ConstraintExpression that negates any + following constraint. + </summary> + </member> + <member name="P:NUnit.Framework.Does.Exist"> + <summary> + Returns a constraint that succeeds if the value + is a file or directory and it exists. + </summary> + </member> + <member name="M:NUnit.Framework.Does.Contain(System.Object)"> + <summary> + Returns a new <see cref="T:NUnit.Framework.Constraints.SomeItemsConstraint"/> checking for the + presence of a particular object in the collection. + </summary> + </member> + <member name="M:NUnit.Framework.Does.Contain(System.String)"> + <summary> + Returns a new <see cref="T:NUnit.Framework.Constraints.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. + </summary> + </member> + <member name="M:NUnit.Framework.Does.ContainKey(System.Object)"> + <summary> + Returns a new DictionaryContainsKeyConstraint checking for the + presence of a particular key in the Dictionary key collection. + </summary> + <param name="expected">The key to be matched in the Dictionary key collection</param> + </member> + <member name="M:NUnit.Framework.Does.ContainValue(System.Object)"> + <summary> + Returns a new DictionaryContainsValueConstraint checking for the + presence of a particular value in the Dictionary value collection. + </summary> + <param name="expected">The value to be matched in the Dictionary value collection</param> + </member> + <member name="M:NUnit.Framework.Does.StartWith(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Does.EndWith(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Does.Match(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Does.Match(System.Text.RegularExpressions.Regex)"> + <summary> + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.ExceptionExtensions.GetStackTraceWithoutThrowing(System.Exception)"> + <summary> + If <see cref="P:System.Exception.StackTrace"/> throws, returns "SomeException was thrown by the Exception.StackTrace + property." See also <see cref="M:NUnit.Framework.Assert.GetEnvironmentStackTraceWithoutThrowing"/>. + </summary> + </member> + <member name="M:NUnit.Framework.ExceptionExtensions.GetMessageWithoutThrowing(System.Exception)"> + <summary> + If <see cref="P:System.Exception.Message"/> throws, returns "SomeException was thrown by the Exception.Message + property." + </summary> + </member> + <member name="M:NUnit.Framework.ExceptionExtensions.GetDataWithoutThrowing(System.Exception)"> + <summary> + If <see cref="P:System.Exception.Data"/> throws, returns "SomeException was thrown by the Exception.Data property." + </summary> + </member> + <member name="T:NUnit.Framework.AssertionException"> + <summary> + Thrown when an assertion failed. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionException.#ctor(System.String)"> + <param name="message">The error message that explains + the reason for the exception</param> + </member> + <member name="M:NUnit.Framework.AssertionException.#ctor(System.String,System.Exception)"> + <param name="message">The error message that explains + the reason for the exception</param> + <param name="inner">The exception that caused the + current exception</param> + </member> + <member name="M:NUnit.Framework.AssertionException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)"> + <summary> + Serialization Constructor + </summary> + </member> + <member name="P:NUnit.Framework.AssertionException.ResultState"> + <summary> + Gets the ResultState provided by this exception + </summary> + </member> + <member name="T:NUnit.Framework.IgnoreException"> + <summary> + Thrown when an assertion failed. + </summary> + </member> + <member name="M:NUnit.Framework.IgnoreException.#ctor(System.String)"> + <param name="message"></param> + </member> + <member name="M:NUnit.Framework.IgnoreException.#ctor(System.String,System.Exception)"> + <param name="message">The error message that explains + the reason for the exception</param> + <param name="inner">The exception that caused the + current exception</param> + </member> + <member name="M:NUnit.Framework.IgnoreException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)"> + <summary> + Serialization Constructor + </summary> + </member> + <member name="P:NUnit.Framework.IgnoreException.ResultState"> + <summary> + Gets the ResultState provided by this exception + </summary> + </member> + <member name="T:NUnit.Framework.InconclusiveException"> + <summary> + Thrown when a test executes inconclusively. + </summary> + </member> + <member name="M:NUnit.Framework.InconclusiveException.#ctor(System.String)"> + <param name="message">The error message that explains + the reason for the exception</param> + </member> + <member name="M:NUnit.Framework.InconclusiveException.#ctor(System.String,System.Exception)"> + <param name="message">The error message that explains + the reason for the exception</param> + <param name="inner">The exception that caused the + current exception</param> + </member> + <member name="M:NUnit.Framework.InconclusiveException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)"> + <summary> + Serialization Constructor + </summary> + </member> + <member name="P:NUnit.Framework.InconclusiveException.ResultState"> + <summary> + Gets the ResultState provided by this exception + </summary> + </member> + <member name="T:NUnit.Framework.MultipleAssertException"> + <summary> + Thrown when an assertion failed. + </summary> + </member> + <member name="M:NUnit.Framework.MultipleAssertException.#ctor(NUnit.Framework.Interfaces.ITestResult)"> + <summary> + 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. + </summary> + <param name="testResult"> + The current result, up to this point. The result is not used + internally by NUnit but is provided to facilitate debugging. + </param> + </member> + <member name="M:NUnit.Framework.MultipleAssertException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)"> + <summary> + Serialization Constructor + </summary> + </member> + <member name="P:NUnit.Framework.MultipleAssertException.ResultState"> + <summary> + Gets the <see cref="P:NUnit.Framework.MultipleAssertException.ResultState"/> provided by this exception. + </summary> + </member> + <member name="P:NUnit.Framework.MultipleAssertException.TestResult"> + <summary> + Gets the <see cref="T:NUnit.Framework.Interfaces.ITestResult"/> of this test at the point the exception was thrown, + </summary> + </member> + <member name="T:NUnit.Framework.ResultStateException"> + <summary> + Abstract base for Exceptions that terminate a test and provide a ResultState. + </summary> + </member> + <member name="M:NUnit.Framework.ResultStateException.#ctor(System.String)"> + <param name="message">The error message that explains + the reason for the exception</param> + </member> + <member name="M:NUnit.Framework.ResultStateException.#ctor(System.String,System.Exception)"> + <param name="message">The error message that explains + the reason for the exception</param> + <param name="inner">The exception that caused the + current exception</param> + </member> + <member name="M:NUnit.Framework.ResultStateException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)"> + <summary> + Serialization Constructor + </summary> + </member> + <member name="P:NUnit.Framework.ResultStateException.ResultState"> + <summary> + Gets the ResultState provided by this exception + </summary> + </member> + <member name="T:NUnit.Framework.SuccessException"> + <summary> + Thrown when an assertion failed. + </summary> + </member> + <member name="M:NUnit.Framework.SuccessException.#ctor(System.String)"> + <param name="message"></param> + </member> + <member name="M:NUnit.Framework.SuccessException.#ctor(System.String,System.Exception)"> + <param name="message">The error message that explains + the reason for the exception</param> + <param name="inner">The exception that caused the + current exception</param> + </member> + <member name="M:NUnit.Framework.SuccessException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)"> + <summary> + Serialization Constructor + </summary> + </member> + <member name="P:NUnit.Framework.SuccessException.ResultState"> + <summary> + Gets the ResultState provided by this exception + </summary> + </member> + <member name="T:NUnit.Framework.Extensions"> + <summary> + Contains extension methods that do not require a special <c>using</c> directive. + </summary> + </member> + <member name="T:NUnit.Framework.FileAssert"> + <summary> + Asserts on Files + </summary> + </member> + <member name="M:NUnit.Framework.FileAssert.Equals(System.Object,System.Object)"> + <summary> + 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. + </summary> + <param name="a"></param> + <param name="b"></param> + </member> + <member name="M:NUnit.Framework.FileAssert.ReferenceEquals(System.Object,System.Object)"> + <summary> + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + </summary> + <param name="a"></param> + <param name="b"></param> + </member> + <member name="M:NUnit.Framework.FileAssert.AreEqual(System.IO.Stream,System.IO.Stream,System.String,System.Object[])"> + <summary> + 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 <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="expected">The expected Stream</param> + <param name="actual">The actual Stream</param> + <param name="message">The message to display if Streams are not equal</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.FileAssert.AreEqual(System.IO.Stream,System.IO.Stream)"> + <summary> + 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 <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="expected">The expected Stream</param> + <param name="actual">The actual Stream</param> + </member> + <member name="M:NUnit.Framework.FileAssert.AreEqual(System.IO.FileInfo,System.IO.FileInfo,System.String,System.Object[])"> + <summary> + 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 <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="expected">A file containing the value that is expected</param> + <param name="actual">A file containing the actual value</param> + <param name="message">The message to display if Streams are not equal</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.FileAssert.AreEqual(System.IO.FileInfo,System.IO.FileInfo)"> + <summary> + 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 <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="expected">A file containing the value that is expected</param> + <param name="actual">A file containing the actual value</param> + </member> + <member name="M:NUnit.Framework.FileAssert.AreEqual(System.String,System.String,System.String,System.Object[])"> + <summary> + 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 <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="expected">The path to a file containing the value that is expected</param> + <param name="actual">The path to a file containing the actual value</param> + <param name="message">The message to display if Streams are not equal</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.FileAssert.AreEqual(System.String,System.String)"> + <summary> + 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 <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="expected">The path to a file containing the value that is expected</param> + <param name="actual">The path to a file containing the actual value</param> + </member> + <member name="M:NUnit.Framework.FileAssert.AreNotEqual(System.IO.Stream,System.IO.Stream,System.String,System.Object[])"> + <summary> + Asserts that two Streams are not equal. If they are equal + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="expected">The expected Stream</param> + <param name="actual">The actual Stream</param> + <param name="message">The message to be displayed when the two Stream are the same.</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.FileAssert.AreNotEqual(System.IO.Stream,System.IO.Stream)"> + <summary> + Asserts that two Streams are not equal. If they are equal + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="expected">The expected Stream</param> + <param name="actual">The actual Stream</param> + </member> + <member name="M:NUnit.Framework.FileAssert.AreNotEqual(System.IO.FileInfo,System.IO.FileInfo,System.String,System.Object[])"> + <summary> + Asserts that two files are not equal. If they are equal + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="expected">A file containing the value that is expected</param> + <param name="actual">A file containing the actual value</param> + <param name="message">The message to display if Streams are not equal</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.FileAssert.AreNotEqual(System.IO.FileInfo,System.IO.FileInfo)"> + <summary> + Asserts that two files are not equal. If they are equal + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="expected">A file containing the value that is expected</param> + <param name="actual">A file containing the actual value</param> + </member> + <member name="M:NUnit.Framework.FileAssert.AreNotEqual(System.String,System.String,System.String,System.Object[])"> + <summary> + Asserts that two files are not equal. If they are equal + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="expected">The path to a file containing the value that is expected</param> + <param name="actual">The path to a file containing the actual value</param> + <param name="message">The message to display if Streams are not equal</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.FileAssert.AreNotEqual(System.String,System.String)"> + <summary> + Asserts that two files are not equal. If they are equal + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="expected">The path to a file containing the value that is expected</param> + <param name="actual">The path to a file containing the actual value</param> + </member> + <member name="M:NUnit.Framework.FileAssert.Exists(System.IO.FileInfo,System.String,System.Object[])"> + <summary> + Asserts that the file exists. If it does not exist + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="actual">A file containing the actual value</param> + <param name="message">The message to display if Streams are not equal</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.FileAssert.Exists(System.IO.FileInfo)"> + <summary> + Asserts that the file exists. If it does not exist + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="actual">A file containing the actual value</param> + </member> + <member name="M:NUnit.Framework.FileAssert.Exists(System.String,System.String,System.Object[])"> + <summary> + Asserts that the file exists. If it does not exist + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="actual">The path to a file containing the actual value</param> + <param name="message">The message to display if Streams are not equal</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.FileAssert.Exists(System.String)"> + <summary> + Asserts that the file exists. If it does not exist + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="actual">The path to a file containing the actual value</param> + </member> + <member name="M:NUnit.Framework.FileAssert.DoesNotExist(System.IO.FileInfo,System.String,System.Object[])"> + <summary> + Asserts that the file does not exist. If it does exist + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="actual">A file containing the actual value</param> + <param name="message">The message to display if Streams are not equal</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.FileAssert.DoesNotExist(System.IO.FileInfo)"> + <summary> + Asserts that the file does not exist. If it does exist + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="actual">A file containing the actual value</param> + </member> + <member name="M:NUnit.Framework.FileAssert.DoesNotExist(System.String,System.String,System.Object[])"> + <summary> + Asserts that the file does not exist. If it does exist + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="actual">The path to a file containing the actual value</param> + <param name="message">The message to display if Streams are not equal</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.FileAssert.DoesNotExist(System.String)"> + <summary> + Asserts that the file does not exist. If it does exist + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="actual">The path to a file containing the actual value</param> + </member> + <member name="T:NUnit.Framework.Guard"> + <summary> + Class used to guard against unexpected argument values + or operations by throwing an appropriate exception. + </summary> + </member> + <member name="M:NUnit.Framework.Guard.ArgumentNotNull(System.Object,System.String)"> + <summary> + Throws an exception if an argument is null + </summary> + <param name="value">The value to be tested</param> + <param name="name">The name of the argument</param> + </member> + <member name="M:NUnit.Framework.Guard.ArgumentNotNullOrEmpty(System.String,System.String)"> + <summary> + Throws an exception if a string argument is null or empty + </summary> + <param name="value">The value to be tested</param> + <param name="name">The name of the argument</param> + </member> + <member name="M:NUnit.Framework.Guard.ArgumentInRange(System.Boolean,System.String,System.String)"> + <summary> + Throws an ArgumentOutOfRangeException if the specified condition is not met. + </summary> + <param name="condition">The condition that must be met</param> + <param name="message">The exception message to be used</param> + <param name="paramName">The name of the argument</param> + </member> + <member name="M:NUnit.Framework.Guard.ArgumentValid(System.Boolean,System.String,System.String)"> + <summary> + Throws an ArgumentException if the specified condition is not met. + </summary> + <param name="condition">The condition that must be met</param> + <param name="message">The exception message to be used</param> + <param name="paramName">The name of the argument</param> + </member> + <member name="M:NUnit.Framework.Guard.OperationValid(System.Boolean,System.String)"> + <summary> + Throws an InvalidOperationException if the specified condition is not met. + </summary> + <param name="condition">The condition that must be met</param> + <param name="message">The exception message to be used</param> + </member> + <member name="M:NUnit.Framework.Guard.ArgumentNotAsyncVoid(System.Delegate,System.String)"> + <summary> + Throws an <see cref="T:System.ArgumentException"/> if the specified delegate is <c>async void</c>. + </summary> + </member> + <member name="M:NUnit.Framework.Guard.ArgumentNotAsyncVoid(System.Reflection.MethodInfo,System.String)"> + <summary> + Throws an <see cref="T:System.ArgumentException"/> if the specified delegate is <c>async void</c>. + </summary> + </member> + <member name="T:NUnit.Framework.Has"> + <summary> + Helper class with properties and methods that supply + a number of constraints used in Asserts. + </summary> + </member> + <member name="P:NUnit.Framework.Has.No"> + <summary> + Returns a ConstraintExpression that negates any + following constraint. + </summary> + </member> + <member name="P:NUnit.Framework.Has.All"> + <summary> + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + </summary> + </member> + <member name="P:NUnit.Framework.Has.Some"> + <summary> + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if at least one of them succeeds. + </summary> + </member> + <member name="P:NUnit.Framework.Has.None"> + <summary> + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them fail. + </summary> + </member> + <member name="M:NUnit.Framework.Has.Exactly(System.Int32)"> + <summary> + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding only if a specified number of them succeed. + </summary> + </member> + <member name="P:NUnit.Framework.Has.One"> + <summary> + Returns a <see cref="T:NUnit.Framework.Constraints.ItemsConstraintExpression"/> which will apply + the following constraint to only one member of the collection, + and fail if none or more than one match occurs. + </summary> + </member> + <member name="M:NUnit.Framework.Has.Property(System.String)"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Has.Length"> + <summary> + Returns a new ConstraintExpression, which will apply the following + constraint to the Length property of the object being tested. + </summary> + </member> + <member name="P:NUnit.Framework.Has.Count"> + <summary> + Returns a new ConstraintExpression, which will apply the following + constraint to the Count property of the object being tested. + </summary> + </member> + <member name="P:NUnit.Framework.Has.Message"> + <summary> + Returns a new ConstraintExpression, which will apply the following + constraint to the Message property of the object being tested. + </summary> + </member> + <member name="P:NUnit.Framework.Has.InnerException"> + <summary> + Returns a new ConstraintExpression, which will apply the following + constraint to the InnerException property of the object being tested. + </summary> + </member> + <member name="M:NUnit.Framework.Has.Attribute(System.Type)"> + <summary> + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + </summary> + </member> + <member name="M:NUnit.Framework.Has.Attribute``1"> + <summary> + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + </summary> + </member> + <member name="M:NUnit.Framework.Has.Member(System.Object)"> + <summary> + Returns a new <see cref="T:NUnit.Framework.Constraints.SomeItemsConstraint"/> checking for the + presence of a particular object in the collection. + </summary> + </member> + <member name="M:NUnit.Framework.Has.ItemAt(System.Object[])"> + <summary> + Returns a new IndexerConstraintExpression, which will + apply any following constraint to that indexer value. + </summary> + <param name="indexArgs">Index accessor values.</param> + </member> + <member name="T:NUnit.Framework.Interfaces.AssertionResult"> + <summary> + The AssertionResult class represents the result of a single assertion. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.AssertionResult.#ctor(NUnit.Framework.Interfaces.AssertionStatus,System.String,System.String)"> + <summary> + Construct an AssertionResult + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.AssertionResult.Status"> + <summary> The pass/fail status of the assertion</summary> + </member> + <member name="P:NUnit.Framework.Interfaces.AssertionResult.Message"> + <summary>The message produced by the assertion, or null</summary> + </member> + <member name="P:NUnit.Framework.Interfaces.AssertionResult.StackTrace"> + <summary>The stack trace associated with the assertion, or null</summary> + </member> + <member name="M:NUnit.Framework.Interfaces.AssertionResult.Equals(System.Object)"> + <summary>Determines whether the specified object is equal to the current object.</summary> + <param name="obj">The object to compare with the current object.</param> + </member> + <member name="M:NUnit.Framework.Interfaces.AssertionResult.Equals(NUnit.Framework.Interfaces.AssertionResult)"> + <summary>Indicates whether the current object is equal to another object of the same type.</summary> + <param name="other">An object to compare with this object.</param> + </member> + <member name="M:NUnit.Framework.Interfaces.AssertionResult.GetHashCode"> + <summary>Serves as the default hash function.</summary> + </member> + <member name="M:NUnit.Framework.Interfaces.AssertionResult.ToString"> + <summary> + ToString Override + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.AssertionStatus"> + <summary> + 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. + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.AssertionStatus.Inconclusive"> + <summary> + An assumption failed + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.AssertionStatus.Passed"> + <summary> + The assertion succeeded + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.AssertionStatus.Warning"> + <summary> + A warning message was issued + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.AssertionStatus.Failed"> + <summary> + The assertion failed + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.AssertionStatus.Error"> + <summary> + An unexpected exception was thrown + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.IApplyToContext"> + <summary> + The IApplyToContext interface is implemented by attributes + that want to make changes to the execution context before + a test is run. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.IApplyToContext.ApplyToContext(NUnit.Framework.Internal.TestExecutionContext)"> + <summary> + Apply changes to the execution context + </summary> + <param name="context">The execution context</param> + </member> + <member name="T:NUnit.Framework.Interfaces.IApplyToTest"> + <summary> + The IApplyToTest interface is implemented by self-applying + attributes that modify the state of a test in some way. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.IApplyToTest.ApplyToTest(NUnit.Framework.Internal.Test)"> + <summary> + Modifies a test as defined for the specific attribute. + </summary> + <param name="test">The test to modify</param> + </member> + <member name="T:NUnit.Framework.Interfaces.ICombiningStrategy"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ICombiningStrategy.GetTestCases(System.Collections.IEnumerable[])"> + <summary> + Gets the test cases generated by the CombiningStrategy. + </summary> + <returns>The test cases.</returns> + </member> + <member name="T:NUnit.Framework.Interfaces.ICommandWrapper"> + <summary> + ICommandWrapper is implemented by attributes and other + objects able to wrap a TestCommand with another command. + </summary> + <remarks> + 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. + </remarks> + </member> + <member name="M:NUnit.Framework.Interfaces.ICommandWrapper.Wrap(NUnit.Framework.Internal.Commands.TestCommand)"> + <summary> + Wrap a command and return the result. + </summary> + <param name="command">The command to be wrapped</param> + <returns>The wrapped command</returns> + </member> + <member name="T:NUnit.Framework.Interfaces.IWrapTestMethod"> + <summary> + Objects implementing this interface are used to wrap + the TestMethodCommand itself. They apply after SetUp + has been run and before TearDown. + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.IWrapSetUpTearDown"> + <summary> + Objects implementing this interface are used to wrap + the entire test, including SetUp and TearDown. + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.IRepeatTest"> + <summary> + 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. + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.IDisposableFixture"> + <summary> + Any ITest that implements this interface is at a level that the implementing + class should be disposed at the end of the test run + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.IFixtureBuilder"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.IFixtureBuilder.BuildFrom(NUnit.Framework.Interfaces.ITypeInfo)"> + <summary> + Builds any number of test fixtures from the specified type. + </summary> + <param name="typeInfo">The type info of the fixture to be used.</param> + </member> + <member name="T:NUnit.Framework.Interfaces.IFixtureBuilder2"> + <summary> + The IFixtureBuilder2 interface extends IFixtureBuilder by allowing + use of a PreFilter, which is used to select methods as test cases. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.IFixtureBuilder2.BuildFrom(NUnit.Framework.Interfaces.ITypeInfo,NUnit.Framework.Interfaces.IPreFilter)"> + <summary> + Builds any number of test fixtures from the specified type. + </summary> + <param name="typeInfo">The type info of the fixture to be used.</param> + <param name="filter">PreFilter to be used to select methods.</param> + </member> + <member name="T:NUnit.Framework.Interfaces.IImplyFixture"> + <summary> + 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. + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.IMethodInfo"> + <summary> + The IMethodInfo class is used to encapsulate information + about a method in a platform-independent manner. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.IMethodInfo.TypeInfo"> + <summary> + Gets the Type from which this method was reflected. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.IMethodInfo.MethodInfo"> + <summary> + Gets the MethodInfo for this method. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.IMethodInfo.Name"> + <summary> + Gets the name of the method. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.IMethodInfo.IsAbstract"> + <summary> + Gets a value indicating whether the method is abstract. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.IMethodInfo.IsPublic"> + <summary> + Gets a value indicating whether the method is public. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.IMethodInfo.IsStatic"> + <summary> + Gets a value indicating whether the method is static. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.IMethodInfo.ContainsGenericParameters"> + <summary> + Gets a value indicating whether the method contains unassigned generic type parameters. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.IMethodInfo.IsGenericMethod"> + <summary> + Gets a value indicating whether the method is a generic method. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.IMethodInfo.IsGenericMethodDefinition"> + <summary> + Gets a value indicating whether the MethodInfo represents the definition of a generic method. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.IMethodInfo.ReturnType"> + <summary> + Gets the return Type of the method. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.IMethodInfo.GetParameters"> + <summary> + Gets the parameters of the method. + </summary> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Interfaces.IMethodInfo.GetGenericArguments"> + <summary> + Returns the Type arguments of a generic method or the Type parameters of a generic method definition. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.IMethodInfo.MakeGenericMethod(System.Type[])"> + <summary> + Replaces the type parameters of the method with the array of types provided and returns a new IMethodInfo. + </summary> + <param name="typeArguments">The type arguments to be used</param> + <returns>A new IMethodInfo with the type arguments replaced</returns> + </member> + <member name="M:NUnit.Framework.Interfaces.IMethodInfo.Invoke(System.Object,System.Object[])"> + <summary> + Invokes the method, converting any TargetInvocationException to an NUnitException. + </summary> + <param name="fixture">The object on which to invoke the method</param> + <param name="args">The argument list for the method</param> + <returns>The return value from the invoked method</returns> + </member> + <member name="T:NUnit.Framework.Interfaces.IParameterDataProvider"> + <summary> + Provides data for a single test parameter. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.IParameterDataProvider.HasDataFor(NUnit.Framework.Interfaces.IParameterInfo)"> + <summary> + Determines whether any data is available for a parameter. + </summary> + <param name="parameter">The parameter of a parameterized test.</param> + </member> + <member name="M:NUnit.Framework.Interfaces.IParameterDataProvider.GetDataFor(NUnit.Framework.Interfaces.IParameterInfo)"> + <summary> + Retrieves a list of arguments which can be passed to the specified parameter. + </summary> + <param name="parameter">The parameter of a parameterized test.</param> + </member> + <member name="T:NUnit.Framework.Interfaces.IParameterDataSource"> + <summary> + Provides data for a single test parameter. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.IParameterDataSource.GetData(NUnit.Framework.Interfaces.IParameterInfo)"> + <summary> + Retrieves a list of arguments which can be passed to the specified parameter. + </summary> + <param name="parameter">The parameter of a parameterized test.</param> + </member> + <member name="T:NUnit.Framework.Interfaces.IParameterInfo"> + <summary> + The IParameterInfo interface is an abstraction of a .NET parameter. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.IParameterInfo.IsOptional"> + <summary> + Gets a value indicating whether the parameter is optional + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.IParameterInfo.Method"> + <summary> + Gets an IMethodInfo representing the method for which this is a parameter + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.IParameterInfo.ParameterInfo"> + <summary> + Gets the underlying .NET ParameterInfo + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.IParameterInfo.ParameterType"> + <summary> + Gets the Type of the parameter + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.IPreFilter"> + <summary> + Implemented by filters for use in deciding which + Types and Methods should be used to generate tests. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.IPreFilter.IsMatch(System.Type)"> + <summary> + Use the filter on a Type, returning true if the type matches the filter + and should therefore be included in the discovery process. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.IPreFilter.IsMatch(System.Type,System.Reflection.MethodInfo)"> + <summary> + Use the filter on a Type, returning true if the type matches the filter + and should therefore be included in the discovery process. + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.IPropertyBag"> + <summary> + 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")); + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.IPropertyBag.Add(System.String,System.Object)"> + <summary> + Adds a key/value pair to the property bag + </summary> + <param name="key">The key</param> + <param name="value">The value</param> + </member> + <member name="M:NUnit.Framework.Interfaces.IPropertyBag.Set(System.String,System.Object)"> + <summary> + Sets the value for a key, removing any other + values that are already in the property set. + </summary> + <param name="key"></param> + <param name="value"></param> + </member> + <member name="M:NUnit.Framework.Interfaces.IPropertyBag.Get(System.String)"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.IPropertyBag.ContainsKey(System.String)"> + <summary> + Gets a flag indicating whether the specified key has + any entries in the property set. + </summary> + <param name="key">The key to be checked</param> + <returns>True if their are values present, otherwise false</returns> + </member> + <member name="P:NUnit.Framework.Interfaces.IPropertyBag.Item(System.String)"> + <summary> + Gets or sets the list of values for a particular key + </summary> + <param name="key">The key for which the values are to be retrieved or set</param> + </member> + <member name="P:NUnit.Framework.Interfaces.IPropertyBag.Keys"> + <summary> + Gets a collection containing all the keys in the property set + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.IReflectionInfo"> + <summary> + The IReflectionInfo interface is implemented by NUnit wrapper objects that perform reflection. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.IReflectionInfo.GetCustomAttributes``1(System.Boolean)"> + <summary> + Returns an array of custom attributes of the specified type applied to this object + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.IReflectionInfo.IsDefined``1(System.Boolean)"> + <summary> + Returns a value indicating whether an attribute of the specified type is defined on this object. + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.ISimpleTestBuilder"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ISimpleTestBuilder.BuildFrom(NUnit.Framework.Interfaces.IMethodInfo,NUnit.Framework.Internal.Test)"> + <summary> + Builds a single test from the specified method and context. + </summary> + <param name="method">The method to be used as a test</param> + <param name="suite">The TestSuite to which the method will be added</param> + </member> + <member name="T:NUnit.Framework.Interfaces.ISuiteBuilder"> + <summary> + The ISuiteBuilder interface is exposed by a class that knows how to + build a single test suite from a specified type. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ISuiteBuilder.CanBuildFrom(NUnit.Framework.Interfaces.ITypeInfo)"> + <summary> + 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. + </summary> + <param name="typeInfo">The type of the fixture to be used</param> + </member> + <member name="M:NUnit.Framework.Interfaces.ISuiteBuilder.BuildFrom(NUnit.Framework.Interfaces.ITypeInfo)"> + <summary> + Builds a single test suite from the specified type. + </summary> + <param name="typeInfo">The type of the fixture to be used</param> + </member> + <member name="M:NUnit.Framework.Interfaces.ISuiteBuilder.BuildFrom(NUnit.Framework.Interfaces.ITypeInfo,NUnit.Framework.Interfaces.IPreFilter)"> + <summary> + Builds a single test suite from the specified type, subject + to a filter that decides which methods are included. + </summary> + <param name="typeInfo">The type of the fixture to be used</param> + <param name="filter">A PreFilter for selecting methods.</param> + </member> + <member name="T:NUnit.Framework.Interfaces.ITest"> + <summary> + Common interface supported by all representations + of a test. Only includes informational fields. + The Run method is specifically excluded to allow + for data-only representations of a test. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITest.Id"> + <summary> + Gets the id of the test + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITest.Name"> + <summary> + Gets the name of the test + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITest.TestType"> + <summary> + Gets the type of the test + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITest.FullName"> + <summary> + Gets the fully qualified name of the test + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITest.ClassName"> + <summary> + Gets the name of the class containing this test. Returns + null if the test is not associated with a class. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITest.MethodName"> + <summary> + Gets the name of the method implementing this test. + Returns null if the test is not implemented as a method. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITest.TypeInfo"> + <summary> + Gets the Type of the test fixture, if applicable, or + null if no fixture type is associated with this test. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITest.Method"> + <summary> + Gets the method which declares the test, or <see langword="null"/> + if no method is associated with this test. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITest.RunState"> + <summary> + Gets the RunState of the test, indicating whether it can be run. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITest.TestCaseCount"> + <summary> + Count of the test cases ( 1 if this is a test case ) + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITest.Properties"> + <summary> + Gets the properties of the test + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITest.Parent"> + <summary> + Gets the parent test, if any. + </summary> + <value>The parent test or null if none exists.</value> + </member> + <member name="P:NUnit.Framework.Interfaces.ITest.IsSuite"> + <summary> + Returns true if this is a test suite + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITest.HasChildren"> + <summary> + Gets a bool indicating whether the current test + has any descendant tests. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITest.Tests"> + <summary> + Gets this test's child tests + </summary> + <value>A list of child tests</value> + </member> + <member name="P:NUnit.Framework.Interfaces.ITest.Fixture"> + <summary> + Gets a fixture object for running this test. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITest.Arguments"> + <summary> + The arguments to use in creating the test or empty array if none are required. + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.ITestBuilder"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ITestBuilder.BuildFrom(NUnit.Framework.Interfaces.IMethodInfo,NUnit.Framework.Internal.Test)"> + <summary> + Builds any number of tests from the specified method and context. + </summary> + <param name="method">The method to be used as a test</param> + <param name="suite">The TestSuite to which the method will be added</param> + </member> + <member name="T:NUnit.Framework.Interfaces.ITestCaseBuilder"> + <summary> + The ITestCaseBuilder interface is exposed by a class that knows how to + build a test from a specified method, possibly containing child test cases. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ITestCaseBuilder.CanBuildFrom(NUnit.Framework.Interfaces.IMethodInfo,NUnit.Framework.Internal.Test)"> + <summary> + 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. + </summary> + <param name="method">The test method to examine</param> + <param name="suite">The suite being populated</param> + </member> + <member name="M:NUnit.Framework.Interfaces.ITestCaseBuilder.BuildFrom(NUnit.Framework.Interfaces.IMethodInfo,NUnit.Framework.Internal.Test)"> + <summary> + Builds a single test from the specified method and context, + possibly containing child test cases. + </summary> + <param name="method">The method to be used as a test case</param> + <param name="suite">The test suite being populated, or null</param> + </member> + <member name="T:NUnit.Framework.Interfaces.ITestCaseData"> + <summary> + The ITestCaseData interface is implemented by a class + that is able to return complete test cases for use by + a parameterized test method. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestCaseData.ExpectedResult"> + <summary> + Gets the expected result of the test case + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestCaseData.HasExpectedResult"> + <summary> + Returns true if an expected result has been set + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.ITestData"> + <summary> + The ITestData interface is implemented by a class that + represents a single instance of a parameterized test. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestData.TestName"> + <summary> + Gets the name to be used for the test + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestData.RunState"> + <summary> + Gets the RunState for this test case. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestData.Arguments"> + <summary> + Gets the argument list to be provided to the test + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestData.Properties"> + <summary> + Gets the property dictionary for the test case + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.ITestFilter"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ITestFilter.Pass(NUnit.Framework.Interfaces.ITest)"> + <summary> + 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 + </summary> + <param name="test">The test to which the filter is applied</param> + <returns>True if the test passes the filter, otherwise false</returns> + </member> + <member name="M:NUnit.Framework.Interfaces.ITestFilter.IsExplicitMatch(NUnit.Framework.Interfaces.ITest)"> + <summary> + 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. + </summary> + <param name="test">The test to which the filter is applied</param> + <returns>True if the test matches the filter explicitly, otherwise false</returns> + </member> + <member name="T:NUnit.Framework.Interfaces.ITestFixtureData"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestFixtureData.TypeArgs"> + <summary> + Get the TypeArgs if separately set + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.ITestListener"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ITestListener.TestStarted(NUnit.Framework.Interfaces.ITest)"> + <summary> + Called when a test has just started + </summary> + <param name="test">The test that is starting</param> + </member> + <member name="M:NUnit.Framework.Interfaces.ITestListener.TestFinished(NUnit.Framework.Interfaces.ITestResult)"> + <summary> + Called when a test has finished + </summary> + <param name="result">The result of the test</param> + </member> + <member name="M:NUnit.Framework.Interfaces.ITestListener.TestOutput(NUnit.Framework.Interfaces.TestOutput)"> + <summary> + Called when a test produces output for immediate display + </summary> + <param name="output">A TestOutput object containing the text to display</param> + </member> + <member name="M:NUnit.Framework.Interfaces.ITestListener.SendMessage(NUnit.Framework.Interfaces.TestMessage)"> + <summary> + Called when a test produces a message to be sent to listeners + </summary> + <param name="message">A <see cref="T:NUnit.Framework.Interfaces.TestMessage"/> object containing the text to send</param> + </member> + <member name="T:NUnit.Framework.Interfaces.ITestResult"> + <summary> + The ITestResult interface represents the result of a test. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.ResultState"> + <summary> + Gets the ResultState of the test result, which + indicates the success or failure of the test. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.Name"> + <summary> + Gets the name of the test result + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.FullName"> + <summary> + Gets the full name of the test result + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.Duration"> + <summary> + Gets the elapsed time for running the test in seconds + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.StartTime"> + <summary> + Gets or sets the time the test started running. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.EndTime"> + <summary> + Gets or sets the time the test finished running. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.Message"> + <summary> + Gets the message associated with a test + failure or with not running the test + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.StackTrace"> + <summary> + Gets any stack trace associated with an + error or failure.</summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.TotalCount"> + <summary> + Gets the total number of tests executed + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.AssertCount"> + <summary> + Gets the number of asserts executed + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.FailCount"> + <summary> + Gets the number of test cases that failed + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.WarningCount"> + <summary> + Gets the number of test cases that had warnings + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.PassCount"> + <summary> + Gets the number of test cases that passed + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.SkipCount"> + <summary> + Gets the number of test cases that were skipped + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.InconclusiveCount"> + <summary> + Gets the number of test cases that were inconclusive + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.HasChildren"> + <summary> + Indicates whether this result has any child results. + Accessing HasChildren should not force creation of the + Children collection in classes implementing this interface. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.Children"> + <summary> + Gets the collection of child results. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.Test"> + <summary> + Gets the Test to which this result applies. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.Output"> + <summary> + Gets any text output written to this result. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.AssertionResults"> + <summary> + Gets a list of AssertionResults associated with the test + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.TestAttachments"> + <summary> + Gets the collection of files attached to the test + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.ITypeInfo"> + <summary> + The ITypeInfo interface is an abstraction of a .NET Type + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITypeInfo.Type"> + <summary> + Gets the underlying Type on which this ITypeInfo is based + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITypeInfo.BaseType"> + <summary> + Gets the base type of this type as an ITypeInfo + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ITypeInfo.IsType(System.Type)"> + <summary> + Returns true if the Type wrapped is equal to the argument + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITypeInfo.Name"> + <summary> + Gets the name of the Type + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITypeInfo.FullName"> + <summary> + Gets the full name of the Type + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITypeInfo.Assembly"> + <summary> + Gets the assembly in which the type is declared + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITypeInfo.Namespace"> + <summary> + Gets the namespace of the Type + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITypeInfo.IsAbstract"> + <summary> + Gets a value indicating whether the type is abstract. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITypeInfo.IsGenericType"> + <summary> + Gets a value indicating whether the Type is a generic Type + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITypeInfo.ContainsGenericParameters"> + <summary> + Gets a value indicating whether the Type has generic parameters that have not been replaced by specific Types. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITypeInfo.IsGenericTypeDefinition"> + <summary> + Gets a value indicating whether the Type is a generic Type definition + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITypeInfo.IsSealed"> + <summary> + Gets a value indicating whether the type is sealed. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITypeInfo.IsStaticClass"> + <summary> + Gets a value indicating whether this type is a static class. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ITypeInfo.GetDisplayName"> + <summary> + Get the display name for this typeInfo. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ITypeInfo.GetDisplayName(System.Object[])"> + <summary> + Get the display name for an object of this type, constructed with specific arguments + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ITypeInfo.GetGenericTypeDefinition"> + <summary> + Returns a Type representing a generic type definition from which this Type can be constructed. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ITypeInfo.MakeGenericType(System.Type[])"> + <summary> + Returns a new ITypeInfo representing an instance of this generic Type using the supplied Type arguments + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ITypeInfo.HasMethodWithAttribute(System.Type)"> + <summary> + Returns a value indicating whether this type has a method with a specified public attribute + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ITypeInfo.GetMethods(System.Reflection.BindingFlags)"> + <summary> + Returns an array of IMethodInfos for methods of this Type + that match the specified flags. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ITypeInfo.GetConstructor(System.Type[])"> + <summary> + Gets the public constructor taking the specified argument Types + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ITypeInfo.HasConstructor(System.Type[])"> + <summary> + Returns a value indicating whether this Type has a public constructor taking the specified argument Types. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ITypeInfo.Construct(System.Object[])"> + <summary> + Construct an object of this Type, using the specified arguments. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ITypeInfo.GetMethodsWithAttribute``1(System.Boolean)"> + <summary> + 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. + </summary> + <param name="inherit">Specifies whether to search the fixture type inheritance chain.</param> + </member> + <member name="T:NUnit.Framework.Interfaces.IXmlNodeBuilder"> + <summary> + An object implementing IXmlNodeBuilder is able to build + an XML representation of itself and any children. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.IXmlNodeBuilder.ToXml(System.Boolean)"> + <summary> + Returns a TNode representing the current object. + </summary> + <param name="recursive">If true, children are included where applicable</param> + <returns>A TNode representing the result</returns> + </member> + <member name="M:NUnit.Framework.Interfaces.IXmlNodeBuilder.AddToXml(NUnit.Framework.Interfaces.TNode,System.Boolean)"> + <summary> + Returns a TNode representing the current object after + adding it as a child of the supplied parent node. + </summary> + <param name="parentNode">The parent node.</param> + <param name="recursive">If true, children are included, where applicable</param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Interfaces.ResultState"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ResultState.#ctor(NUnit.Framework.Interfaces.TestStatus)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Interfaces.ResultState"/> class. + </summary> + <param name="status">The TestStatus.</param> + </member> + <member name="M:NUnit.Framework.Interfaces.ResultState.#ctor(NUnit.Framework.Interfaces.TestStatus,System.String)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Interfaces.ResultState"/> class. + </summary> + <param name="status">The TestStatus.</param> + <param name="label">The label.</param> + </member> + <member name="M:NUnit.Framework.Interfaces.ResultState.#ctor(NUnit.Framework.Interfaces.TestStatus,NUnit.Framework.Interfaces.FailureSite)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Interfaces.ResultState"/> class. + </summary> + <param name="status">The TestStatus.</param> + <param name="site">The stage at which the result was produced</param> + </member> + <member name="M:NUnit.Framework.Interfaces.ResultState.#ctor(NUnit.Framework.Interfaces.TestStatus,System.String,NUnit.Framework.Interfaces.FailureSite)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Interfaces.ResultState"/> class. + </summary> + <param name="status">The TestStatus.</param> + <param name="label">The label.</param> + <param name="site">The stage at which the result was produced</param> + </member> + <member name="F:NUnit.Framework.Interfaces.ResultState.Inconclusive"> + <summary> + The result is inconclusive + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.ResultState.Skipped"> + <summary> + The test has been skipped. + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.ResultState.Ignored"> + <summary> + The test has been ignored. + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.ResultState.Explicit"> + <summary> + The test was skipped because it is explicit + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.ResultState.Success"> + <summary> + The test succeeded + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.ResultState.Warning"> + <summary> + The test issued a warning + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.ResultState.Failure"> + <summary> + The test failed + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.ResultState.Error"> + <summary> + The test encountered an unexpected exception + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.ResultState.Cancelled"> + <summary> + The test was cancelled by the user + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.ResultState.NotRunnable"> + <summary> + The test was not runnable. + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.ResultState.ChildFailure"> + <summary> + A suite failed because one or more child tests failed or had errors + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.ResultState.ChildWarning"> + <summary> + A suite failed because one or more child tests had warnings + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.ResultState.ChildIgnored"> + <summary> + A suite is marked ignored because one or more child tests were ignored + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.ResultState.SetUpFailure"> + <summary> + A suite failed in its OneTimeSetUp + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.ResultState.SetUpError"> + <summary> + A suite had an unexpected exception in its OneTimeSetUp + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.ResultState.TearDownError"> + <summary> + A suite had an unexpected exception in its OneTimeDown + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ResultState.Status"> + <summary> + Gets the TestStatus for the test. + </summary> + <value>The status.</value> + </member> + <member name="P:NUnit.Framework.Interfaces.ResultState.Label"> + <summary> + Gets the label under which this test result is + categorized, or <see cref="F:System.String.Empty"/> if none. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ResultState.Site"> + <summary> + Gets the stage of test execution in which + the failure or other result took place. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ResultState.WithSite(NUnit.Framework.Interfaces.FailureSite)"> + <summary> + Get a new ResultState, which is the same as the current + one but with the FailureSite set to the specified value. + </summary> + <param name="site">The FailureSite to use</param> + <returns>A new ResultState</returns> + </member> + <member name="M:NUnit.Framework.Interfaces.ResultState.Matches(NUnit.Framework.Interfaces.ResultState)"> + <summary> + Test whether this ResultState has the same Status and Label + as another one. In other words, the whether two are equal + ignoring the Site. + </summary> + <param name="other"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Interfaces.ResultState.Equals(System.Object)"> + <summary>Determines whether the specified object is equal to the current object.</summary> + <param name="obj">The object to compare with the current object.</param> + </member> + <member name="M:NUnit.Framework.Interfaces.ResultState.Equals(NUnit.Framework.Interfaces.ResultState)"> + <summary>Indicates whether the current object is equal to another object of the same type.</summary> + <param name="other">An object to compare with this object.</param> + </member> + <member name="M:NUnit.Framework.Interfaces.ResultState.GetHashCode"> + <summary>Serves as the default hash function.</summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ResultState.op_Equality(NUnit.Framework.Interfaces.ResultState,NUnit.Framework.Interfaces.ResultState)"> + <summary> + Overload == operator for ResultStates + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ResultState.op_Inequality(NUnit.Framework.Interfaces.ResultState,NUnit.Framework.Interfaces.ResultState)"> + <summary> + Overload != operator for ResultStates + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ResultState.ToString"> + <summary> + Returns a <see cref="T:System.String"/> that represents this instance. + </summary> + <returns> + A <see cref="T:System.String"/> that represents this instance. + </returns> + </member> + <member name="T:NUnit.Framework.Interfaces.FailureSite"> + <summary> + The FailureSite enum indicates the stage of a test + in which an error or failure occurred. + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.FailureSite.Test"> + <summary> + Failure in the test itself + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.FailureSite.SetUp"> + <summary> + Failure in the SetUp method + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.FailureSite.TearDown"> + <summary> + Failure in the TearDown method + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.FailureSite.Parent"> + <summary> + Failure of a parent test + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.FailureSite.Child"> + <summary> + Failure of a child test + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.RunState"> + <summary> + The RunState enum indicates whether a test can be executed. + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.RunState.NotRunnable"> + <summary> + The test is not runnable. + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.RunState.Runnable"> + <summary> + The test is runnable. + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.RunState.Explicit"> + <summary> + The test can only be run explicitly + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.RunState.Skipped"> + <summary> + The test has been skipped. This value may + appear on a Test when certain attributes + are used to skip the test. + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.RunState.Ignored"> + <summary> + The test has been ignored. May appear on + a Test, when the IgnoreAttribute is used. + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.TestAttachment"> + <summary> + The TestAttachment class represents a file attached to a TestResult, + with an optional description. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.TestAttachment.FilePath"> + <summary> + Absolute file path to attachment file + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.TestAttachment.Description"> + <summary> + User specified description of attachment. May be null. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.TestAttachment.#ctor(System.String,System.String)"> + <summary> + Creates a TestAttachment class to represent a file attached to a test result. + </summary> + <param name="filePath">Absolute file path to attachment file</param> + <param name="description">User specified description of attachment. May be null.</param> + </member> + <member name="T:NUnit.Framework.Interfaces.TestMessage"> + <summary> + The <see cref="T:NUnit.Framework.Interfaces.TestMessage"/> class holds a message sent by a test to all listeners + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.TestMessage.#ctor(System.String,System.String,System.String)"> + <summary> + Construct with text, destination type and + the name of the test that produced the message. + </summary> + <param name="destination">Destination of the message</param> + <param name="text">Text to be sent</param> + <param name="testId">ID of the test that produced the message</param> + </member> + <member name="M:NUnit.Framework.Interfaces.TestMessage.ToString"> + <summary> + Converts <see cref="T:NUnit.Framework.Interfaces.TestMessage"/> object to string + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.TestMessage.Message"> + <summary> + The message to send to listeners + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.TestMessage.Destination"> + <summary> + The Destination of the message. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.TestMessage.TestId"> + <summary> + The ID of the test that sent the message + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.TestMessage.ToXml"> + <summary> + Returns the XML representation of the <see cref="T:NUnit.Framework.Interfaces.TestMessage"/> object. + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.TestOutput"> + <summary> + The TestOutput class holds a unit of output from + a test to a specific output stream + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.TestOutput.#ctor(System.String,System.String,System.String,System.String)"> + <summary> + Construct with text, output destination type and + the name of the test that produced the output. + </summary> + <param name="text">Text to be output</param> + <param name="stream">Name of the stream or channel to which the text should be written</param> + <param name="testId">Id of the test that produced the output</param> + <param name="testName">FullName of test that produced the output</param> + </member> + <member name="M:NUnit.Framework.Interfaces.TestOutput.ToString"> + <summary> + Return string representation of the object for debugging + </summary> + <returns></returns> + </member> + <member name="P:NUnit.Framework.Interfaces.TestOutput.Text"> + <summary> + Get the text + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.TestOutput.Stream"> + <summary> + Get the output type + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.TestOutput.TestName"> + <summary> + Get the name of the test that created the output + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.TestOutput.TestId"> + <summary> + Get the id of the test that created the output + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.TestOutput.ToXml"> + <summary> + Convert the TestOutput object to an XML string + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.TestStatus"> + <summary> + The TestStatus enum indicates the result of running a test + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.TestStatus.Inconclusive"> + <summary> + The test was inconclusive + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.TestStatus.Skipped"> + <summary> + The test has skipped + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.TestStatus.Passed"> + <summary> + The test succeeded + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.TestStatus.Warning"> + <summary> + There was a warning + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.TestStatus.Failed"> + <summary> + The test failed + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.TNode"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.TNode.#ctor(System.String)"> + <summary> + Constructs a new instance of TNode + </summary> + <param name="name">The name of the node</param> + </member> + <member name="M:NUnit.Framework.Interfaces.TNode.#ctor(System.String,System.String)"> + <summary> + Constructs a new instance of TNode with a value + </summary> + <param name="name">The name of the node</param> + <param name="value">The text content of the node</param> + </member> + <member name="M:NUnit.Framework.Interfaces.TNode.#ctor(System.String,System.String,System.Boolean)"> + <summary> + Constructs a new instance of TNode with a value + </summary> + <param name="name">The name of the node</param> + <param name="value">The text content of the node</param> + <param name="valueIsCDATA">Flag indicating whether to use CDATA when writing the text</param> + </member> + <member name="P:NUnit.Framework.Interfaces.TNode.Name"> + <summary> + Gets the name of the node + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.TNode.Value"> + <summary> + Gets the value of the node + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.TNode.ValueIsCDATA"> + <summary> + Gets a flag indicating whether the value should be output using CDATA. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.TNode.Attributes"> + <summary> + Gets the dictionary of attributes + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.TNode.ChildNodes"> + <summary> + Gets a list of child nodes + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.TNode.FirstChild"> + <summary> + Gets the first ChildNode + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.TNode.OuterXml"> + <summary> + Gets the XML representation of this node. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.TNode.FromXml(System.String)"> + <summary> + Create a TNode from its XML text representation + </summary> + <param name="xmlText">The XML text to be parsed</param> + <returns>A TNode</returns> + </member> + <member name="M:NUnit.Framework.Interfaces.TNode.AddElement(System.String)"> + <summary> + Adds a new element as a child of the current node and returns it. + </summary> + <param name="name">The element name.</param> + <returns>The newly created child element</returns> + </member> + <member name="M:NUnit.Framework.Interfaces.TNode.AddElement(System.String,System.String)"> + <summary> + Adds a new element with a value as a child of the current node and returns it. + </summary> + <param name="name">The element name</param> + <param name="value">The text content of the new element</param> + <returns>The newly created child element</returns> + </member> + <member name="M:NUnit.Framework.Interfaces.TNode.AddElementWithCDATA(System.String,System.String)"> + <summary> + 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. + </summary> + <param name="name">The element name</param> + <param name="value">The text content of the new element</param> + <returns>The newly created child element</returns> + </member> + <member name="M:NUnit.Framework.Interfaces.TNode.AddAttribute(System.String,System.String)"> + <summary> + Adds an attribute with a specified name and value to the XmlNode. + </summary> + <param name="name">The name of the attribute.</param> + <param name="value">The value of the attribute.</param> + </member> + <member name="M:NUnit.Framework.Interfaces.TNode.SelectSingleNode(System.String)"> + <summary> + 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. + </summary> + <param name="xpath"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Interfaces.TNode.SelectNodes(System.String)"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.TNode.WriteTo(System.Xml.XmlWriter)"> + <summary> + Writes the XML representation of the node to an XmlWriter + </summary> + <param name="writer"></param> + </member> + <member name="T:NUnit.Framework.Interfaces.NodeList"> + <summary> + Class used to represent a list of XmlResults + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.AttributeDictionary"> + <summary> + Class used to represent the attributes of a node + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.AttributeDictionary.Item(System.String)"> + <summary> + Gets or sets the value associated with the specified key. + Overridden to return null if attribute is not found. + </summary> + <param name="key">The key.</param> + <returns>Value of the attribute or null</returns> + </member> + <member name="T:NUnit.Framework.Internal.Abstractions.DebuggerProxy"> + <summary> + A production <see cref="T:NUnit.Framework.Internal.Abstractions.IDebugger"/> implementation that delegates directly to .NET's <see cref="T:System.Diagnostics.Debugger"/>. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Abstractions.DebuggerProxy.IsAttached"> + <summary> + Returns whether a debugger is currently attached to the process + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Abstractions.IDebugger"> + <summary> + A layer of abstraction around <see cref="T:System.Diagnostics.Debugger"/> to facilitate testing. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Abstractions.IDebugger.IsAttached"> + <summary> + Whether a debugger is currently attached to the process. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.AssemblyHelper"> + <summary> + AssemblyHelper provides static methods for working + with assemblies. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.AssemblyHelper.GetAssemblyPath(System.Reflection.Assembly)"> + <summary> + Gets the path from which an assembly was loaded. + For builds where this is not possible, returns + the name of the assembly. + </summary> + <param name="assembly">The assembly.</param> + <returns>The path.</returns> + </member> + <member name="M:NUnit.Framework.Internal.AssemblyHelper.GetDirectoryName(System.Reflection.Assembly)"> + <summary> + Gets the path to the directory from which an assembly was loaded. + </summary> + <param name="assembly">The assembly.</param> + <returns>The path.</returns> + </member> + <member name="M:NUnit.Framework.Internal.AssemblyHelper.GetAssemblyName(System.Reflection.Assembly)"> + <summary> + Gets the AssemblyName of an assembly. + </summary> + <param name="assembly">The assembly</param> + <returns>An AssemblyName</returns> + </member> + <member name="M:NUnit.Framework.Internal.AssemblyHelper.Load(System.String)"> + <summary> + Loads an assembly given a string, which may be the + path to the assembly or the AssemblyName + </summary> + </member> + <member name="M:NUnit.Framework.Internal.AssemblyHelper.GetAssemblyPathFromCodeBase(System.String)"> + <summary> + Gets the assembly path from code base. + </summary> + <remarks>Public for testing purposes</remarks> + <param name="codeBase">The code base.</param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Internal.AwaitAdapter"> + <summary> + Adapts various styles of asynchronous waiting to a common API. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Builders.CombinatorialStrategy"> + <summary> + CombinatorialStrategy creates test cases by using all possible + combinations of the parameter data. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Builders.CombinatorialStrategy.GetTestCases(System.Collections.IEnumerable[])"> + <summary> + Gets the test cases generated by the CombiningStrategy. + </summary> + <returns>The test cases.</returns> + </member> + <member name="T:NUnit.Framework.Internal.Builders.DatapointProvider"> + <summary> + Provides data from fields marked with the DatapointAttribute or the + DatapointsAttribute. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Builders.DatapointProvider.HasDataFor(NUnit.Framework.Interfaces.IParameterInfo)"> + <summary> + Determines whether any data is available for a parameter. + </summary> + <param name="parameter">The parameter of a parameterized test</param> + </member> + <member name="M:NUnit.Framework.Internal.Builders.DatapointProvider.GetDataFor(NUnit.Framework.Interfaces.IParameterInfo)"> + <summary> + Retrieves data for use with the supplied parameter. + </summary> + <param name="parameter">The parameter of a parameterized test</param> + </member> + <member name="T:NUnit.Framework.Internal.Builders.DefaultSuiteBuilder"> + <summary> + Built-in SuiteBuilder for all types of test classes. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Builders.DefaultSuiteBuilder.CanBuildFrom(NUnit.Framework.Interfaces.ITypeInfo)"> + <summary> + 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. + </summary> + <param name="typeInfo">The fixture type to check</param> + </member> + <member name="M:NUnit.Framework.Internal.Builders.DefaultSuiteBuilder.BuildFrom(NUnit.Framework.Interfaces.ITypeInfo)"> + <summary> + Builds a single test suite from the specified type. + </summary> + <param name="typeInfo">The fixture type to build</param> + </member> + <member name="M:NUnit.Framework.Internal.Builders.DefaultSuiteBuilder.BuildFrom(NUnit.Framework.Interfaces.ITypeInfo,NUnit.Framework.Interfaces.IPreFilter)"> + <summary> + Builds a single test suite from the specified type, subject + to a filter that decides which methods are included. + </summary> + <param name="typeInfo">The fixture type to build</param> + <param name="filter">A PreFilter for selecting methods.</param> + </member> + <member name="M:NUnit.Framework.Internal.Builders.DefaultSuiteBuilder.GetFixtureBuilderAttributes(NUnit.Framework.Interfaces.ITypeInfo)"> + <summary> + 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. + </summary> + <param name="typeInfo">The type being examined for attributes</param> + </member> + <member name="T:NUnit.Framework.Internal.Builders.DefaultTestCaseBuilder"> + <summary> + 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 + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Builders.DefaultTestCaseBuilder.CanBuildFrom(NUnit.Framework.Interfaces.IMethodInfo)"> + <summary> + 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. + </summary> + <param name="method">An IMethodInfo for the method being used as a test method</param> + </member> + <member name="M:NUnit.Framework.Internal.Builders.DefaultTestCaseBuilder.BuildFrom(NUnit.Framework.Interfaces.IMethodInfo)"> + <summary> + Builds a single test from the specified method and context, + possibly containing child test cases. + </summary> + <param name="method">The method for which a test is to be built</param> + </member> + <member name="M:NUnit.Framework.Internal.Builders.DefaultTestCaseBuilder.CanBuildFrom(NUnit.Framework.Interfaces.IMethodInfo,NUnit.Framework.Internal.Test)"> + <summary> + 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. + </summary> + <param name="method">An IMethodInfo for the method being used as a test method</param> + <param name="parentSuite">The test suite being built, to which the new test would be added</param> + </member> + <member name="M:NUnit.Framework.Internal.Builders.DefaultTestCaseBuilder.BuildFrom(NUnit.Framework.Interfaces.IMethodInfo,NUnit.Framework.Internal.Test)"> + <summary> + Builds a single test from the specified method and context, + possibly containing child test cases. + </summary> + <param name="method">The method for which a test is to be built</param> + <param name="parentSuite">The test fixture being populated, or null</param> + </member> + <member name="M:NUnit.Framework.Internal.Builders.DefaultTestCaseBuilder.BuildParameterizedMethodSuite(NUnit.Framework.Interfaces.IMethodInfo,System.Collections.Generic.IEnumerable{NUnit.Framework.Internal.TestMethod})"> + <summary> + Builds a ParameterizedMethodSuite containing individual test cases. + </summary> + <param name="method">The method for which a test is to be built.</param> + <param name="tests">The list of test cases to include.</param> + </member> + <member name="M:NUnit.Framework.Internal.Builders.DefaultTestCaseBuilder.BuildSingleTestMethod(NUnit.Framework.Interfaces.IMethodInfo,NUnit.Framework.Internal.Test)"> + <summary> + Build a simple, non-parameterized TestMethod for this method. + </summary> + <param name="method">The MethodInfo for which a test is to be built</param> + <param name="suite">The test suite for which the method is being built</param> + </member> + <member name="T:NUnit.Framework.Internal.Builders.MethodInfoCache"> + <summary> + Caches static information for IMethodInfo to reduce re-calculations and memory allocations from reflection. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Builders.MethodInfoCache.Get(NUnit.Framework.Interfaces.IMethodInfo)"> + <summary> + Returns cached metadata for method instance. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Builders.MethodInfoCache.TestMethodMetadata"> + <summary> + Memoization of TestMethod information to reduce subsequent allocations from parameter and attribute information. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Builders.NamespaceTreeBuilder"> + <summary> + Class that can build a tree of automatic namespace + suites from a group of fixtures. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Builders.NamespaceTreeBuilder._namespaceIndex"> + <summary> + NamespaceDictionary of all test suites we have created to represent + namespaces. Used to locate namespace parent suites for fixtures. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Builders.NamespaceTreeBuilder._globalInsertionPoint"> + <summary> + Point in the tree where items in the global namespace are added + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Builders.NamespaceTreeBuilder.#ctor(NUnit.Framework.Internal.TestSuite)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.Builders.NamespaceTreeBuilder"/> class. + </summary> + <param name="rootSuite">The root suite.</param> + </member> + <member name="P:NUnit.Framework.Internal.Builders.NamespaceTreeBuilder.RootSuite"> + <summary> + Gets the root entry in the tree created by the NamespaceTreeBuilder. + </summary> + <value>The root suite.</value> + </member> + <member name="M:NUnit.Framework.Internal.Builders.NamespaceTreeBuilder.Add(System.Collections.Generic.IList{NUnit.Framework.Internal.Test})"> + <summary> + Adds the specified fixtures to the tree. + </summary> + <param name="fixtures">The fixtures to be added.</param> + </member> + <member name="M:NUnit.Framework.Internal.Builders.NamespaceTreeBuilder.Add(NUnit.Framework.Internal.TestSuite)"> + <summary> + Adds the specified fixture to the tree. + </summary> + <param name="fixture">The fixture to be added.</param> + </member> + <member name="T:NUnit.Framework.Internal.Builders.NUnitTestCaseBuilder"> + <summary> + NUnitTestCaseBuilder is a utility class used by attributes + that build test cases. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Builders.NUnitTestCaseBuilder.#ctor"> + <summary> + Constructs an <see cref="T:NUnit.Framework.Internal.Builders.NUnitTestCaseBuilder"/> + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Builders.NUnitTestCaseBuilder.BuildTestMethod(NUnit.Framework.Interfaces.IMethodInfo,NUnit.Framework.Internal.Test,NUnit.Framework.Internal.TestCaseParameters)"> + <summary> + Builds a single NUnitTestMethod, either as a child of the fixture + or as one of a set of test cases under a ParameterizedTestMethodSuite. + </summary> + <param name="method">The MethodInfo from which to construct the TestMethod</param> + <param name="parentSuite">The suite or fixture to which the new test will be added</param> + <param name="parms">The ParameterSet to be used, or null</param> + </member> + <member name="M:NUnit.Framework.Internal.Builders.NUnitTestCaseBuilder.CheckTestMethodAttributes(NUnit.Framework.Internal.TestMethod,NUnit.Framework.Internal.Builders.MethodInfoCache.TestMethodMetadata)"> + <summary> + Checks to see if we have valid combinations of attributes. + </summary> + <param name="testMethod">The TestMethod to be checked. If it + is found to be non-runnable, it will be modified.</param> + <param name="metadata">Metadata for this TestMethod.</param> + <returns>True if the method signature is valid, false if not</returns> + </member> + <member name="M:NUnit.Framework.Internal.Builders.NUnitTestCaseBuilder.CheckTestMethodSignature(NUnit.Framework.Internal.TestMethod,NUnit.Framework.Internal.Builders.MethodInfoCache.TestMethodMetadata,NUnit.Framework.Internal.TestCaseParameters)"> + <summary> + 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. + </summary> + <param name="testMethod">The TestMethod to be checked. If it + is found to be non-runnable, it will be modified.</param> + <param name="metadata">Metadata for this TestMethod.</param> + <param name="parms">Parameters to be used for this test, or null</param> + <returns>True if the method signature is valid, false if not</returns> + <remarks> + The return value is no longer used internally, but is retained + for testing purposes. + </remarks> + </member> + <member name="T:NUnit.Framework.Internal.Builders.NUnitTestFixtureBuilder"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Builders.NUnitTestFixtureBuilder.BuildFrom(NUnit.Framework.Interfaces.ITypeInfo,NUnit.Framework.Interfaces.IPreFilter)"> + <summary> + 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. + </summary> + <param name="typeInfo">An ITypeInfo for the fixture to be used.</param> + <param name="filter">Filter used to select methods as tests.</param> + <returns>A TestSuite object or one derived from TestSuite.</returns> + </member> + <member name="M:NUnit.Framework.Internal.Builders.NUnitTestFixtureBuilder.BuildFrom(NUnit.Framework.Interfaces.ITypeInfo,NUnit.Framework.Interfaces.IPreFilter,NUnit.Framework.Interfaces.ITestFixtureData)"> + <summary> + Overload of BuildFrom called by tests that have arguments. + Builds a fixture using the provided type and information + in the ITestFixtureData object. + </summary> + <param name="typeInfo">The TypeInfo for which to construct a fixture.</param> + <param name="filter">Filter used to select methods as tests.</param> + <param name="testFixtureData">An object implementing ITestFixtureData or null.</param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Internal.Builders.NUnitTestFixtureBuilder.AddTestCasesToFixture(NUnit.Framework.Internal.TestFixture,NUnit.Framework.Interfaces.IPreFilter)"> + <summary> + Method to add test cases to the newly constructed fixture. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Builders.NUnitTestFixtureBuilder.BuildTestCase(NUnit.Framework.Interfaces.IMethodInfo,NUnit.Framework.Internal.TestSuite)"> + <summary> + 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. + </summary> + <param name="method">The method for which a test is to be created</param> + <param name="suite">The test suite being built.</param> + <returns>A newly constructed Test</returns> + </member> + <member name="T:NUnit.Framework.Internal.Builders.PairwiseStrategy"> + <summary> + PairwiseStrategy creates test cases by combining the parameter + data so that all possible pairs of data items are used. + </summary> + <remarks> + <para> + 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. + </para> + <para> + The PairwiseStrategy code is based on "jenny" tool by Bob Jenkins: + https://burtleburtle.net/bob/math/jenny.html + </para> + </remarks> + </member> + <member name="T:NUnit.Framework.Internal.Builders.PairwiseStrategy.FleaRand"> + <summary> + FleaRand is a pseudo-random number generator developed by Bob Jenkins: + https://burtleburtle.net/bob/rand/talksmall.html#flea + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Builders.PairwiseStrategy.FleaRand.#ctor(System.UInt32)"> + <summary> + Initializes a new instance of the FleaRand class. + </summary> + <param name="seed">The seed.</param> + </member> + <member name="T:NUnit.Framework.Internal.Builders.PairwiseStrategy.FeatureInfo"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Builders.PairwiseStrategy.FeatureInfo.#ctor(System.Int32,System.Int32)"> + <summary> + Initializes a new instance of FeatureInfo class. + </summary> + <param name="dimension">Index of a dimension.</param> + <param name="feature">Index of a feature.</param> + </member> + <member name="T:NUnit.Framework.Internal.Builders.PairwiseStrategy.FeatureTuple"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Builders.PairwiseStrategy.FeatureTuple.#ctor(NUnit.Framework.Internal.Builders.PairwiseStrategy.FeatureInfo)"> + <summary> + Initializes a new instance of FeatureTuple class for a single feature. + </summary> + <param name="feature1">Single feature.</param> + </member> + <member name="M:NUnit.Framework.Internal.Builders.PairwiseStrategy.FeatureTuple.#ctor(NUnit.Framework.Internal.Builders.PairwiseStrategy.FeatureInfo,NUnit.Framework.Internal.Builders.PairwiseStrategy.FeatureInfo)"> + <summary> + Initializes a new instance of FeatureTuple class for a pair of features. + </summary> + <param name="feature1">First feature.</param> + <param name="feature2">Second feature.</param> + </member> + <member name="T:NUnit.Framework.Internal.Builders.PairwiseStrategy.TestCaseInfo"> + <summary> + TestCase represents a single test case covering a list of features. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Builders.PairwiseStrategy.TestCaseInfo.#ctor(System.Int32)"> + <summary> + Initializes a new instance of TestCaseInfo class. + </summary> + <param name="length">A number of features in the test case.</param> + </member> + <member name="T:NUnit.Framework.Internal.Builders.PairwiseStrategy.PairwiseTestCaseGenerator"> + <summary> + PairwiseTestCaseGenerator class implements an algorithm which generates + a set of test cases which covers all pairs of possible values of test + function. + </summary> + <remarks> + <para> + The algorithm starts with creating a set of all feature tuples which we + will try to cover (see <see + cref="M:NUnit.Framework.Internal.Builders.PairwiseStrategy.PairwiseTestCaseGenerator.CreateAllTuples" /> 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). + </para> + <para> + 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. + </para> + <para> + Picking a tuple to cover + </para> + <para> + 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. + </para> + <para> + Test generation + </para> + <para> + 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. + </para> + <para> + 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). + </para> + <para>Maximizing test coverage</para> + <para> + 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. + </para> + <para> + This process repeats while it shows progress. If the last iteration + doesn't improve coverage, the process ends. + </para> + <para> + In addition, for better results, before start every iteration, the + algorithm "scrambles" dimensions - so for every iteration dimension + probes in a different order. + </para> + </remarks> + </member> + <member name="M:NUnit.Framework.Internal.Builders.PairwiseStrategy.PairwiseTestCaseGenerator.GetTestCases(System.Int32[])"> + <summary> + Creates a set of test cases for specified dimensions. + </summary> + <param name="dimensions"> + An array which contains information about dimensions. Each element of + this array represents a number of features in the specific dimension. + </param> + <returns> + A set of test cases. + </returns> + </member> + <member name="M:NUnit.Framework.Internal.Builders.PairwiseStrategy.GetTestCases(System.Collections.IEnumerable[])"> + <summary> + Gets the test cases generated by this strategy instance. + </summary> + <returns>A set of test cases.</returns> + </member> + <member name="T:NUnit.Framework.Internal.Builders.ParameterDataProvider"> + <summary> + The ParameterDataProvider class implements IParameterDataProvider + and hosts one or more individual providers. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Builders.ParameterDataProvider.#ctor(NUnit.Framework.Interfaces.IParameterDataProvider[])"> + <summary> + Construct with a collection of individual providers + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Builders.ParameterDataProvider.HasDataFor(NUnit.Framework.Interfaces.IParameterInfo)"> + <summary> + Determines whether any data is available for a parameter. + </summary> + <param name="parameter">The parameter of a parameterized test</param> + </member> + <member name="M:NUnit.Framework.Internal.Builders.ParameterDataProvider.GetDataFor(NUnit.Framework.Interfaces.IParameterInfo)"> + <summary> + Retrieves data for use with the supplied parameter. + </summary> + <param name="parameter">The parameter of a parameterized test</param> + </member> + <member name="T:NUnit.Framework.Internal.Builders.ParameterDataSourceProvider"> + <summary> + ParameterDataSourceProvider supplies individual argument values for + single parameters using attributes implementing IParameterDataSource. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Builders.ParameterDataSourceProvider.HasDataFor(NUnit.Framework.Interfaces.IParameterInfo)"> + <summary> + Determines whether any data is available for a parameter. + </summary> + <param name="parameter">The parameter of a parameterized test</param> + </member> + <member name="M:NUnit.Framework.Internal.Builders.ParameterDataSourceProvider.GetDataFor(NUnit.Framework.Interfaces.IParameterInfo)"> + <summary> + Retrieves data for use with the supplied parameter. + </summary> + <param name="parameter">The parameter of a parameterized test</param> + </member> + <member name="T:NUnit.Framework.Internal.Builders.SequentialStrategy"> + <summary> + SequentialStrategy creates test cases by using all of the + parameter data sources in parallel, substituting <see langword="null"/> + when any of them run out of data. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Builders.SequentialStrategy.GetTestCases(System.Collections.IEnumerable[])"> + <summary> + Gets the test cases generated by the CombiningStrategy. + </summary> + <returns>The test cases.</returns> + </member> + <member name="T:NUnit.Framework.Internal.Commands.AfterTestActionCommand"> + <summary> + TestActionAfterCommand handles the AfterTest method of a single + TestActionItem, provided the items BeforeTest has been run. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.AfterTestActionCommand.#ctor(NUnit.Framework.Internal.Commands.TestCommand,NUnit.Framework.Internal.Commands.TestActionItem)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.Commands.AfterTestActionCommand"/> class. + </summary> + <param name="innerCommand">The inner command.</param> + <param name="action">The TestActionItem to run before the inner command.</param> + </member> + <member name="T:NUnit.Framework.Internal.Commands.AfterTestCommand"> + <summary> + AfterCommand is a DelegatingTestCommand that performs some + specific action after the inner command is run. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.AfterTestCommand.#ctor(NUnit.Framework.Internal.Commands.TestCommand)"> + <summary> + Construct an AfterCommand + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.AfterTestCommand.Execute(NUnit.Framework.Internal.TestExecutionContext)"> + <summary> + Execute the command + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Commands.AfterTestCommand.AfterTest"> + <summary> + Set this to perform action after the inner command. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Commands.ApplyChangesToContextCommand"> + <summary> + 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. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Commands.BeforeAndAfterTestCommand"> + <summary> + TestActionCommand handles a single ITestAction applied + to a test. It runs the BeforeTest method, then runs the + test and finally runs the AfterTest method. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.BeforeAndAfterTestCommand.#ctor(NUnit.Framework.Internal.Commands.TestCommand)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.Commands.TestActionCommand"/> class. + </summary> + <param name="innerCommand">The inner command.</param> + </member> + <member name="M:NUnit.Framework.Internal.Commands.BeforeAndAfterTestCommand.Execute(NUnit.Framework.Internal.TestExecutionContext)"> + <summary> + Runs the test, saving a TestResult in the supplied TestExecutionContext. + </summary> + <param name="context">The context in which the test should run.</param> + <returns>A TestResult</returns> + </member> + <member name="F:NUnit.Framework.Internal.Commands.BeforeAndAfterTestCommand.BeforeTest"> + <summary> + Perform the before test action + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Commands.BeforeAndAfterTestCommand.AfterTest"> + <summary> + Perform the after test action + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Commands.BeforeTestActionCommand"> + <summary> + TestActionBeforeCommand handles the BeforeTest method of a single + TestActionItem, relying on the item to remember it has been run. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.BeforeTestActionCommand.#ctor(NUnit.Framework.Internal.Commands.TestCommand,NUnit.Framework.Internal.Commands.TestActionItem)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.Commands.BeforeTestActionCommand"/> class. + </summary> + <param name="innerCommand">The inner command.</param> + <param name="action">The TestActionItem to run before the inner command.</param> + </member> + <member name="T:NUnit.Framework.Internal.Commands.BeforeTestCommand"> + <summary> + BeforeTestCommand is a DelegatingTestCommand that performs some + specific action before the inner command is run. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.BeforeTestCommand.#ctor(NUnit.Framework.Internal.Commands.TestCommand)"> + <summary> + Construct a BeforeCommand + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.BeforeTestCommand.Execute(NUnit.Framework.Internal.TestExecutionContext)"> + <summary> + Execute the command + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Commands.BeforeTestCommand.BeforeTest"> + <summary> + Action to perform before the inner command. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Commands.ConstructFixtureCommand"> + <summary> + ConstructFixtureCommand constructs the user test object if necessary. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.ConstructFixtureCommand.#ctor(NUnit.Framework.Internal.Commands.TestCommand)"> + <summary> + Constructs a OneTimeSetUpCommand for a suite + </summary> + <param name="innerCommand">The inner command to which the command applies</param> + </member> + <member name="T:NUnit.Framework.Internal.Commands.DelegatingTestCommand"> + <summary> + DelegatingTestCommand wraps an inner TestCommand. + Derived classes may do what they like before or + after running the inner command. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Commands.DelegatingTestCommand.innerCommand"> + <summary>TODO: Documentation needed for field</summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.DelegatingTestCommand.#ctor(NUnit.Framework.Internal.Commands.TestCommand)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.Commands.DelegatingTestCommand"/> class. + </summary> + <param name="innerCommand">The inner command.</param> + </member> + <member name="M:NUnit.Framework.Internal.Commands.DelegatingTestCommand.RunTestMethodInThreadAbortSafeZone(NUnit.Framework.Internal.TestExecutionContext,System.Action)"> + <summary> + Runs the test with exception handling. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Commands.DisposeFixtureCommand"> + <summary> + OneTimeTearDownCommand performs any teardown actions + specified for a suite and calls Dispose on the user + test object, if any. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.DisposeFixtureCommand.#ctor(NUnit.Framework.Internal.Commands.TestCommand)"> + <summary> + Construct a OneTimeTearDownCommand + </summary> + <param name="innerCommand">The command wrapped by this command</param> + </member> + <member name="T:NUnit.Framework.Internal.Commands.EmptyTestCommand"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.EmptyTestCommand.#ctor(NUnit.Framework.Internal.Test)"> + <summary> + Construct a NullCommand for a test + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.EmptyTestCommand.Execute(NUnit.Framework.Internal.TestExecutionContext)"> + <summary> + Execute the command + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Commands.FixturePerTestCaseCommand"> + <summary> + ConstructFixtureCommand constructs the user test object if necessary. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.FixturePerTestCaseCommand.#ctor(NUnit.Framework.Internal.Commands.TestCommand)"> + <summary> + Handles the construction and disposement of a fixture per test case + </summary> + <param name="innerCommand">The inner command to which the command applies</param> + </member> + <member name="T:NUnit.Framework.Internal.Commands.MaxTimeCommand"> + <summary> + <see cref="T:NUnit.Framework.Internal.Commands.MaxTimeCommand" /> adjusts the result of a successful test + to a failure if the elapsed time has exceeded the specified maximum + time allowed. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.MaxTimeCommand.#ctor(NUnit.Framework.Internal.Commands.TestCommand,System.Int32)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.Commands.MaxTimeCommand"/> class. + </summary> + <param name="innerCommand">The inner command.</param> + <param name="maxTime">The max time allowed in milliseconds</param> + </member> + <member name="T:NUnit.Framework.Internal.Commands.OneTimeSetUpCommand"> + <summary> + OneTimeSetUpCommand runs any one-time setup methods for a suite, + constructing the user test object if necessary. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.OneTimeSetUpCommand.#ctor(NUnit.Framework.Internal.Commands.TestCommand,NUnit.Framework.Internal.Commands.SetUpTearDownItem)"> + <summary> + Constructs a OneTimeSetUpCommand for a suite + </summary> + <param name="innerCommand">The inner command to which the command applies</param> + <param name="setUpTearDown">A SetUpTearDownList for use by the command</param> + </member> + <member name="T:NUnit.Framework.Internal.Commands.OneTimeTearDownCommand"> + <summary> + OneTimeTearDownCommand performs any teardown actions + specified for a suite and calls Dispose on the user + test object, if any. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.OneTimeTearDownCommand.#ctor(NUnit.Framework.Internal.Commands.TestCommand,NUnit.Framework.Internal.Commands.SetUpTearDownItem)"> + <summary> + Construct a OneTimeTearDownCommand + </summary> + <param name="innerCommand">The command wrapped by this command</param> + <param name="setUpTearDownItem">A SetUpTearDownList for use by the command</param> + </member> + <member name="T:NUnit.Framework.Internal.Commands.SetUpTearDownCommand"> + <summary> + SetUpTearDownCommand runs SetUp methods for a suite, + runs the test and then runs TearDown methods. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.SetUpTearDownCommand.#ctor(NUnit.Framework.Internal.Commands.TestCommand,NUnit.Framework.Internal.Commands.SetUpTearDownItem)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.Commands.SetUpTearDownCommand"/> class. + </summary> + <param name="innerCommand">The inner command.</param> + <param name="setUpTearDown">List of setup/teardown items</param> + </member> + <member name="T:NUnit.Framework.Internal.Commands.SetUpTearDownItem"> + <summary> + SetUpTearDownItem holds the setup and teardown methods + for a single level of the inheritance hierarchy. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.SetUpTearDownItem.#ctor(System.Collections.Generic.IList{NUnit.Framework.Interfaces.IMethodInfo},System.Collections.Generic.IList{NUnit.Framework.Interfaces.IMethodInfo},NUnit.Framework.Internal.Execution.IMethodValidator)"> + <summary> + Construct a SetUpTearDownNode + </summary> + <param name="setUpMethods">A list of setup methods for this level</param> + <param name="tearDownMethods">A list teardown methods for this level</param> + <param name="methodValidator">A method validator to validate each method before calling.</param> + </member> + <member name="P:NUnit.Framework.Internal.Commands.SetUpTearDownItem.HasMethods"> + <summary> + Returns true if this level has any methods at all. + This flag is used to discard levels that do nothing. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.SetUpTearDownItem.RunSetUp(NUnit.Framework.Internal.TestExecutionContext)"> + <summary> + Run SetUp on this level. + </summary> + <param name="context">The execution context to use for running.</param> + </member> + <member name="M:NUnit.Framework.Internal.Commands.SetUpTearDownItem.RunTearDown(NUnit.Framework.Internal.TestExecutionContext)"> + <summary> + Run TearDown for this level. + </summary> + <param name="context"></param> + </member> + <member name="T:NUnit.Framework.Internal.Commands.SkipCommand"> + <summary> + TODO: Documentation needed for class + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.SkipCommand.#ctor(NUnit.Framework.Internal.Test)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.Commands.SkipCommand"/> class. + </summary> + <param name="test">The test being skipped.</param> + </member> + <member name="M:NUnit.Framework.Internal.Commands.SkipCommand.Execute(NUnit.Framework.Internal.TestExecutionContext)"> + <summary> + Overridden to simply set the CurrentResult to the + appropriate Skipped state. + </summary> + <param name="context">The execution context for the test</param> + <returns>A TestResult</returns> + </member> + <member name="T:NUnit.Framework.Internal.Commands.TestActionCommand"> + <summary> + TestActionCommand handles a single ITestAction applied + to a test. It runs the BeforeTest method, then runs the + test and finally runs the AfterTest method. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.TestActionCommand.#ctor(NUnit.Framework.Internal.Commands.TestCommand,NUnit.Framework.ITestAction)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.Commands.TestActionCommand"/> class. + </summary> + <param name="innerCommand">The inner command.</param> + <param name="action">The TestAction with which to wrap the inner command.</param> + </member> + <member name="T:NUnit.Framework.Internal.Commands.TestActionItem"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.TestActionItem.#ctor(NUnit.Framework.ITestAction)"> + <summary> + Construct a TestActionItem + </summary> + <param name="action">The ITestAction to be included</param> + </member> + <member name="P:NUnit.Framework.Internal.Commands.TestActionItem.BeforeTestWasRun"> + <summary> + Get flag indicating if the BeforeTest entry was already called. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.TestActionItem.BeforeTest(NUnit.Framework.Interfaces.ITest)"> + <summary> + Run the BeforeTest method of the action and remember that it has been run. + </summary> + <param name="test">The test to which the action applies</param> + </member> + <member name="M:NUnit.Framework.Internal.Commands.TestActionItem.AfterTest(NUnit.Framework.Interfaces.ITest)"> + <summary> + Run the AfterTest action, but only if the BeforeTest + action was actually run. + </summary> + <param name="test">The test to which the action applies</param> + </member> + <member name="T:NUnit.Framework.Internal.Commands.TestCommand"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.TestCommand.#ctor(NUnit.Framework.Internal.Test)"> + <summary> + Construct a TestCommand for a test. + </summary> + <param name="test">The test to be executed</param> + </member> + <member name="P:NUnit.Framework.Internal.Commands.TestCommand.Test"> + <summary> + Gets the test associated with this command. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.TestCommand.Execute(NUnit.Framework.Internal.TestExecutionContext)"> + <summary> + Runs the test in a specified context, returning a TestResult. + </summary> + <param name="context">The TestExecutionContext to be used for running the test.</param> + <returns>A TestResult</returns> + </member> + <member name="T:NUnit.Framework.Internal.Commands.TestMethodCommand"> + <summary> + TestMethodCommand is the lowest level concrete command + used to run actual test cases. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.TestMethodCommand.#ctor(NUnit.Framework.Internal.TestMethod)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.Commands.TestMethodCommand"/> class. + </summary> + <param name="testMethod">The test.</param> + </member> + <member name="M:NUnit.Framework.Internal.Commands.TestMethodCommand.Execute(NUnit.Framework.Internal.TestExecutionContext)"> + <summary> + 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. + </summary> + <param name="context">The execution context</param> + </member> + <member name="T:NUnit.Framework.Internal.Commands.TheoryResultCommand"> + <summary> + TheoryResultCommand adjusts the result of a Theory so that + it fails if all the results were inconclusive. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.TheoryResultCommand.#ctor(NUnit.Framework.Internal.Commands.TestCommand)"> + <summary> + Constructs a TheoryResultCommand + </summary> + <param name="command">The command to be wrapped by this one</param> + </member> + <member name="T:NUnit.Framework.Internal.Commands.TimeoutCommand"> + <summary> + <see cref="T:NUnit.Framework.Internal.Commands.TimeoutCommand"/> 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.TimeoutCommand.#ctor(NUnit.Framework.Internal.Commands.TestCommand,System.Int32)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.Commands.TimeoutCommand"/> class. + </summary> + <param name="innerCommand">The inner command</param> + <param name="timeout">Timeout value</param> + </member> + <member name="M:NUnit.Framework.Internal.Commands.TimeoutCommand.#ctor(NUnit.Framework.Internal.Commands.TestCommand,System.Int32,NUnit.Framework.Internal.Abstractions.IDebugger)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.Commands.TimeoutCommand"/> class. + </summary> + <param name="innerCommand">The inner command</param> + <param name="timeout">Timeout value</param> + <param name="debugger">An <see cref="T:NUnit.Framework.Internal.Abstractions.IDebugger" /> instance</param> + </member> + <member name="T:NUnit.Framework.Internal.ConstraintUtils"> + <summary> + Provides methods to support consistent checking in constraints. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ConstraintUtils.RequireActual``1(System.Object,System.String,System.Boolean)"> + <summary> + Requires that the provided object is actually of the type required. + </summary> + <param name="actual">The object to verify.</param> + <param name="paramName">Name of the parameter as passed into the checking method.</param> + <param name="allowNull"> + If <see langword="true"/> and <typeparamref name="T"/> can be null, returns null rather than throwing when <paramref name="actual"/> is null. + If <typeparamref name="T"/> cannot be null, this parameter is ignored.</param> + <typeparam name="T">The type to require.</typeparam> + </member> + <member name="T:NUnit.Framework.Internal.CultureDetector"> + <summary> + CultureDetector is a helper class used by NUnit to determine + whether a test should be run based on the current culture. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.CultureDetector.#ctor"> + <summary> + Default constructor uses the current culture. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.CultureDetector.#ctor(System.String)"> + <summary> + Construct a CultureDetector for a particular culture for testing. + </summary> + <param name="culture">The culture to be used</param> + </member> + <member name="M:NUnit.Framework.Internal.CultureDetector.IsCultureSupported(System.String[])"> + <summary> + Test to determine if one of a collection of cultures + is being used currently. + </summary> + <param name="cultures"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Internal.CultureDetector.IsCultureSupported(NUnit.Framework.CultureAttribute)"> + <summary> + Tests to determine if the current culture is supported + based on a culture attribute. + </summary> + <param name="cultureAttribute">The attribute to examine</param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Internal.CultureDetector.IsCultureSupported(System.String)"> + <summary> + Test to determine if the a particular culture or comma- + delimited set of cultures is in use. + </summary> + <param name="culture">Name of the culture or comma-separated list of culture ids</param> + <returns>True if the culture is in use on the system</returns> + </member> + <member name="P:NUnit.Framework.Internal.CultureDetector.Reason"> + <summary> + Return the last failure reason. Results are not + defined if called before IsSupported( Attribute ) + is called. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.DefaultBlockingAwaitAdapter"> + <summary> + Useful when wrapping awaiters whose <c>GetResult</c> method does not block until complete. + Contains a default mechanism to implement <see cref="M:NUnit.Framework.Internal.AwaitAdapter.BlockUntilCompleted"/> + via <see cref="P:NUnit.Framework.Internal.AwaitAdapter.IsCompleted"/> and <see cref="M:NUnit.Framework.Internal.AwaitAdapter.OnCompleted(System.Action)"/>. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.ExceptionHelper"> + <summary> + ExceptionHelper provides static methods for working with exceptions + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ExceptionHelper.Rethrow(System.Exception)"> + <summary> + Rethrows an exception, preserving its stack trace + </summary> + <param name="exception">The exception to rethrow</param> + </member> + <member name="M:NUnit.Framework.Internal.ExceptionHelper.BuildMessage(System.Exception,System.Boolean)"> + <summary> + 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. + </summary> + <param name="exception">The exception.</param> + <param name="excludeExceptionNames">Flag indicating whether exception names should be excluded.</param> + <returns>A combined message string.</returns> + </member> + <member name="M:NUnit.Framework.Internal.ExceptionHelper.BuildStackTrace(System.Exception)"> + <summary> + Builds up a message, using the Message field of the specified exception + as well as any InnerExceptions. + </summary> + <param name="exception">The exception.</param> + <returns>A combined stack trace.</returns> + </member> + <member name="M:NUnit.Framework.Internal.ExceptionHelper.RecordException(System.Delegate,System.String)"> + <summary> + Executes a parameterless synchronous or async delegate and returns the exception it throws, if any. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Execution.CompositeWorkItem"> + <summary> + A CompositeWorkItem represents a test suite and + encapsulates the execution of the suite as well + as all its child tests. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.CompositeWorkItem.Children"> + <summary> + List of Child WorkItems + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.CompositeWorkItem.IsolateChildTests"> + <summary> + Indicates whether this work item should use a separate dispatcher. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.CompositeWorkItem.#ctor(NUnit.Framework.Internal.TestSuite,NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Construct a CompositeWorkItem for executing a test suite + using a filter to select child tests. + </summary> + <param name="suite">The TestSuite to be executed</param> + <param name="childFilter">A filter used to select child tests</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.CompositeWorkItem.PerformWork"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.CompositeWorkItem.OnAllChildItemsCompleted"> + <summary> + + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.CompositeWorkItem.Cancel(System.Boolean)"> + <summary> + Cancel (abort or stop) a CompositeWorkItem and all of its children + </summary> + <param name="force">true if the CompositeWorkItem and all of its children should be aborted, false if it should allow all currently running tests to complete</param> + </member> + <member name="T:NUnit.Framework.Internal.Execution.CompositeWorkItem.OneTimeTearDownWorkItem"> + <summary> + OneTimeTearDownWorkItem represents the cleanup + and one-time teardown phase of a CompositeWorkItem + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.CompositeWorkItem.OneTimeTearDownWorkItem.#ctor(NUnit.Framework.Internal.Execution.CompositeWorkItem)"> + <summary> + Construct a OneTimeTearDownWOrkItem wrapping a CompositeWorkItem + </summary> + <param name="originalItem">The CompositeWorkItem being wrapped</param> + </member> + <member name="P:NUnit.Framework.Internal.Execution.CompositeWorkItem.OneTimeTearDownWorkItem.Name"> + <summary> + The WorkItem name, overridden to indicate this is the teardown. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.CompositeWorkItem.OneTimeTearDownWorkItem.ExecutionStrategy"> + <summary> + The ExecutionStrategy for use in running this work item + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.CompositeWorkItem.OneTimeTearDownWorkItem.Execute"> + <summary> + + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.CompositeWorkItem.OneTimeTearDownWorkItem.PerformWork"> + <summary> + PerformWork is not used in CompositeWorkItem + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.CompositeWorkItem.OneTimeTearDownWorkItem.WorkItemCancelled"> + <summary> + 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. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Execution.CountdownEvent"> + <summary> + A simplified implementation of .NET 4 CountdownEvent + for use in earlier versions of .NET. Only the methods + used by NUnit are implemented. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.CountdownEvent.#ctor(System.Int32)"> + <summary> + Construct a CountdownEvent + </summary> + <param name="initialCount">The initial count</param> + </member> + <member name="P:NUnit.Framework.Internal.Execution.CountdownEvent.InitialCount"> + <summary> + Gets the initial count established for the CountdownEvent + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.CountdownEvent.CurrentCount"> + <summary> + Gets the current count remaining for the CountdownEvent + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.CountdownEvent.Signal"> + <summary> + Decrement the count by one + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.CountdownEvent.Signal(System.Int32)"> + <summary> + Decrement the count by the specified amount + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.CountdownEvent.Wait"> + <summary> + Block the thread until the count reaches zero + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Execution.EventListenerTextWriter"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.#ctor(System.String,System.IO.TextWriter)"> + <summary> + Construct an EventListenerTextWriter + </summary> + <param name="streamName">The name of the stream to use for events</param> + <param name="defaultWriter">The default writer to use if no listener is available</param> + </member> + <member name="P:NUnit.Framework.Internal.Execution.EventListenerTextWriter.Encoding"> + <summary> + Get the Encoding for this TextWriter + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.Write(System.String,System.Object[])"> + <summary> + Write formatted string + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.Write(System.String,System.Object,System.Object,System.Object)"> + <summary> + Write formatted string + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.Write(System.String,System.Object)"> + <summary> + Write formatted string + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.Write(System.Object)"> + <summary> + Write an object + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.Write(System.String)"> + <summary> + Write a string + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.Write(System.Decimal)"> + <summary> + Write a decimal + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.Write(System.Double)"> + <summary> + Write a double + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.Write(System.String,System.Object,System.Object)"> + <summary> + Write formatted string + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.Write(System.UInt64)"> + <summary> + Write a ulong + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.Write(System.Int64)"> + <summary> + Write a long + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.Write(System.UInt32)"> + <summary> + Write a uint + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.Write(System.Int32)"> + <summary> + Write an int + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.Write(System.Char)"> + <summary> + Write a char + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.Write(System.Boolean)"> + <summary> + Write a boolean + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.Write(System.Char[],System.Int32,System.Int32)"> + <summary> + Write chars + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.Write(System.Char[])"> + <summary> + Write chars + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.Write(System.Single)"> + <summary> + Write a float + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.WriteLine(System.String)"> + <summary> + Write a string with newline + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.WriteLine(System.Object)"> + <summary> + Write an object with newline + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.WriteLine(System.String,System.Object[])"> + <summary> + Write formatted string with newline + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.WriteLine(System.String,System.Object,System.Object)"> + <summary> + Write formatted string with newline + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.WriteLine(System.String,System.Object,System.Object,System.Object)"> + <summary> + Write formatted string with newline + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.WriteLine(System.Decimal)"> + <summary> + Write a decimal with newline + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.WriteLine(System.String,System.Object)"> + <summary> + Write a formatted string with newline + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.WriteLine(System.Double)"> + <summary> + Write a double with newline + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.WriteLine(System.UInt32)"> + <summary> + Write a uint with newline + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.WriteLine(System.UInt64)"> + <summary> + Write a ulong with newline + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.WriteLine(System.Int64)"> + <summary> + Write a long with newline + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.WriteLine(System.Int32)"> + <summary> + Write an int with newline + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.WriteLine(System.Boolean)"> + <summary> + Write a bool with newline + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.WriteLine(System.Char[],System.Int32,System.Int32)"> + <summary> + Write chars with newline + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.WriteLine(System.Char[])"> + <summary> + Write chars with newline + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.WriteLine(System.Char)"> + <summary> + Write a char with newline + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.WriteLine(System.Single)"> + <summary> + Write a float with newline + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.WriteLine"> + <summary> + Write newline + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Execution.EventPumpState"> + <summary> + The EventPumpState enum represents the state of an + EventPump. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Execution.EventPumpState.Stopped"> + <summary> + The pump is stopped + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Execution.EventPumpState.Pumping"> + <summary> + The pump is pumping events with no stop requested + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Execution.EventPumpState.Stopping"> + <summary> + The pump is pumping events but a stop has been requested + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Execution.EventPump"> + <summary> + 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. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Execution.EventPump._eventListener"> + <summary> + The downstream listener to which we send events + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Execution.EventPump._events"> + <summary> + The queue that holds our events + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Execution.EventPump._pumpThread"> + <summary> + Thread to do the pumping + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Execution.EventPump._pumpState"> + <summary> + The current state of the event pump + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventPump.#ctor(NUnit.Framework.Interfaces.ITestListener,NUnit.Framework.Internal.Execution.EventQueue)"> + <summary> + Constructor + </summary> + <param name="eventListener">The EventListener to receive events</param> + <param name="events">The event queue to pull events from</param> + </member> + <member name="P:NUnit.Framework.Internal.Execution.EventPump.PumpState"> + <summary> + Gets or sets the current state of the pump + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.EventPump.Name"> + <summary> + Gets or sets the name of this EventPump + (used only internally and for testing). + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventPump.Dispose"> + <summary> + Dispose stops the pump + Disposes the used WaitHandle, too. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventPump.Start"> + <summary> + Start the pump + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventPump.Stop"> + <summary> + Tell the pump to stop after emptying the queue. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventPump.PumpThreadProc"> + <summary> + 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. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Execution.Event"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.Event.Send(NUnit.Framework.Interfaces.ITestListener)"> + <summary> + The Send method is implemented by derived classes to send the event to the specified listener. + </summary> + <param name="listener">The listener.</param> + </member> + <member name="T:NUnit.Framework.Internal.Execution.TestStartedEvent"> + <summary> + TestStartedEvent holds information needed to call the TestStarted method. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.TestStartedEvent.#ctor(NUnit.Framework.Interfaces.ITest)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.Execution.TestStartedEvent"/> class. + </summary> + <param name="test">The test.</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.TestStartedEvent.Send(NUnit.Framework.Interfaces.ITestListener)"> + <summary> + Calls TestStarted on the specified listener. + </summary> + <param name="listener">The listener.</param> + </member> + <member name="T:NUnit.Framework.Internal.Execution.TestFinishedEvent"> + <summary> + TestFinishedEvent holds information needed to call the TestFinished method. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.TestFinishedEvent.#ctor(NUnit.Framework.Interfaces.ITestResult)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.Execution.TestFinishedEvent"/> class. + </summary> + <param name="result">The result.</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.TestFinishedEvent.Send(NUnit.Framework.Interfaces.ITestListener)"> + <summary> + Calls TestFinished on the specified listener. + </summary> + <param name="listener">The listener.</param> + </member> + <member name="T:NUnit.Framework.Internal.Execution.TestOutputEvent"> + <summary> + TestOutputEvent holds information needed to call the TestOutput method. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.TestOutputEvent.#ctor(NUnit.Framework.Interfaces.TestOutput)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.Execution.TestOutputEvent"/> class. + </summary> + <param name="output">The output object.</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.TestOutputEvent.Send(NUnit.Framework.Interfaces.ITestListener)"> + <summary> + Calls TestOutput on the specified listener. + </summary> + <param name="listener">The listener.</param> + </member> + <member name="T:NUnit.Framework.Internal.Execution.TestMessageEvent"> + <summary> + TestMessageEvent holds information needed to call the SendMessage method. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.TestMessageEvent.#ctor(NUnit.Framework.Interfaces.TestMessage)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.Execution.TestMessageEvent"/> class. + </summary> + <param name="testMessage">The test message object.</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.TestMessageEvent.Send(NUnit.Framework.Interfaces.ITestListener)"> + <summary> + Calls <see cref="M:NUnit.Framework.Internal.Execution.TestMessageEvent.Send(NUnit.Framework.Interfaces.ITestListener)"/> on the specified listener. + </summary> + <param name="listener">The listener.</param> + </member> + <member name="P:NUnit.Framework.Internal.Execution.TestMessageEvent.TestMessage"> + <summary> + Holds <see cref="P:NUnit.Framework.Internal.Execution.TestMessageEvent.TestMessage"/> object for sending to all listeners + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Execution.EventQueue"> + <summary> + Implements a queue of work items each of which + is queued as a WaitCallback. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.EventQueue.Count"> + <summary> + Gets the count of items in the queue. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventQueue.Enqueue(NUnit.Framework.Internal.Execution.Event)"> + <summary> + Enqueues the specified event + </summary> + <param name="e">The event to enqueue.</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventQueue.Dequeue(System.Boolean)"> + <summary> + Removes the first element from the queue and returns it (or <see langword="null"/>). + </summary> + <param name="blockWhenEmpty"> + If <see langword="true"/> and the queue is empty, the calling thread is blocked until + either an element is enqueued, or <see cref="M:NUnit.Framework.Internal.Execution.EventQueue.Stop"/> is called. + </param> + <returns> + <list type="bullet"> + <item> + <term>If the queue not empty</term> + <description>the first element.</description> + </item> + <item> + <term>otherwise, if <paramref name="blockWhenEmpty"/>==<see langword="false"/> + or <see cref="M:NUnit.Framework.Internal.Execution.EventQueue.Stop"/> has been called</term> + <description><see langword="null"/>.</description> + </item> + </list> + </returns> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventQueue.Stop"> + <summary> + Stop processing of the queue + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Execution.IMethodValidator"> + <summary> + Validates method to execute. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.IMethodValidator.Validate(System.Reflection.MethodInfo)"> + <summary> + Determines whether a method is allowed to execute and throws an exception otherwise. + </summary> + <param name="method">The method to validate.</param> + </member> + <member name="T:NUnit.Framework.Internal.Execution.IWorkItemDispatcher"> + <summary> + An IWorkItemDispatcher handles execution of work items. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.IWorkItemDispatcher.LevelOfParallelism"> + <summary> + The level of parallelism supported. Zero if not supported. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.IWorkItemDispatcher.Start(NUnit.Framework.Internal.Execution.WorkItem)"> + <summary> + Start execution, performing any initialization. Sets + the top level work item and dispatches it. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.IWorkItemDispatcher.Dispatch(NUnit.Framework.Internal.Execution.WorkItem)"> + <summary> + 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. + </summary> + <param name="work">The item to dispatch</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.IWorkItemDispatcher.CancelRun(System.Boolean)"> + <summary> + Cancel the ongoing run completely. + If no run is in process, the call has no effect. + </summary> + <param name="force">true if the IWorkItemDispatcher should abort all currently running WorkItems, false if it should allow all currently running WorkItems to complete</param> + </member> + <member name="T:NUnit.Framework.Internal.Execution.MainThreadWorkItemDispatcher"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.MainThreadWorkItemDispatcher.LevelOfParallelism"> + <summary> + The level of parallelism supported + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.MainThreadWorkItemDispatcher.Start(NUnit.Framework.Internal.Execution.WorkItem)"> + <summary> + Start execution, dispatching the top level + work into the main thread. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.MainThreadWorkItemDispatcher.Dispatch(NUnit.Framework.Internal.Execution.WorkItem)"> + <summary> + Dispatch a single work item for execution by + executing it directly. + </summary> + <param name="work">The item to dispatch</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.MainThreadWorkItemDispatcher.CancelRun(System.Boolean)"> + <summary> + This method is not supported for + this dispatcher. Using it will throw a + NotSupportedException. + </summary> + <param name="force">Not used</param> + <exception cref="T:System.NotSupportedException">If used, it will always throw this.</exception> + </member> + <member name="T:NUnit.Framework.Internal.Execution.ParallelExecutionStrategy"> + <summary> + Enumeration representing the strategy to follow in executing a work item. + The value is only relevant when running under the parallel dispatcher. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Execution.ParallelExecutionStrategy.Direct"> + <summary> + Run directly on same thread + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Execution.ParallelExecutionStrategy.Parallel"> + <summary> + Enqueue for parallel execution + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Execution.ParallelExecutionStrategy.NonParallel"> + <summary> + Enqueue for non-parallel execution + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Execution.ParallelWorkItemDispatcher"> + <summary> + ParallelWorkItemDispatcher handles execution of work items by + queuing them for worker threads to process. + </summary> + </member> + <member name="E:NUnit.Framework.Internal.Execution.ParallelWorkItemDispatcher.ShiftStarting"> + <summary> + Event raised whenever a shift is starting. + </summary> + </member> + <member name="E:NUnit.Framework.Internal.Execution.ParallelWorkItemDispatcher.ShiftFinished"> + <summary> + Event raised whenever a shift has ended. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.ParallelWorkItemDispatcher.#ctor(System.Int32)"> + <summary> + Construct a ParallelWorkItemDispatcher + </summary> + <param name="levelOfParallelism">Number of workers to use</param> + </member> + <member name="P:NUnit.Framework.Internal.Execution.ParallelWorkItemDispatcher.LevelOfParallelism"> + <summary> + Number of parallel worker threads + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.ParallelWorkItemDispatcher.Shifts"> + <summary> + Enumerates all the shifts supported by the dispatcher + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.ParallelWorkItemDispatcher.Queues"> + <summary> + Enumerates all the Queues supported by the dispatcher + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.ParallelWorkItemDispatcher.Start(NUnit.Framework.Internal.Execution.WorkItem)"> + <summary> + Start execution, setting the top level work, + enqueuing it and starting a shift to execute it. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.ParallelWorkItemDispatcher.Dispatch(NUnit.Framework.Internal.Execution.WorkItem)"> + <summary> + 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. + </summary> + <param name="work">The item to dispatch</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.ParallelWorkItemDispatcher.CancelRun(System.Boolean)"> + <summary> + Cancel the ongoing run completely. + If no run is in process, the call has no effect. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.ParallelWorkItemDispatcher.IsolateQueues(NUnit.Framework.Internal.Execution.WorkItem)"> + <summary> + Save the state of the queues and create a new isolated set + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.ParallelWorkItemDispatcher.TryRestoreQueues"> + <summary> + Try to remove isolated queues and restore old ones + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Execution.QueuingEventListener"> + <summary> + QueuingEventListener uses an EventQueue to store any + events received on its EventListener interface. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.QueuingEventListener.Events"> + <summary> + The EventQueue created and filled by this listener + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.QueuingEventListener.#ctor"> + <summary> + Construct a QueuingEventListener + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.QueuingEventListener.TestStarted(NUnit.Framework.Interfaces.ITest)"> + <summary> + A test has started + </summary> + <param name="test">The test that is starting</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.QueuingEventListener.TestFinished(NUnit.Framework.Interfaces.ITestResult)"> + <summary> + A test case finished + </summary> + <param name="result">Result of the test case</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.QueuingEventListener.TestOutput(NUnit.Framework.Interfaces.TestOutput)"> + <summary> + Called when a test produces output for immediate display + </summary> + <param name="output">A TestOutput object containing the text to display</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.QueuingEventListener.SendMessage(NUnit.Framework.Interfaces.TestMessage)"> + <summary> + Called when a test produces a message to be sent to listeners + </summary> + <param name="message">A <see cref="T:NUnit.Framework.Interfaces.TestMessage"/> object containing the text to send</param> + </member> + <member name="T:NUnit.Framework.Internal.Execution.SimpleWorkItem"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.SimpleWorkItem.#ctor(NUnit.Framework.Internal.TestMethod,NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Construct a simple work item for a test. + </summary> + <param name="test">The test to be executed</param> + <param name="filter">The filter used to select this test</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.SimpleWorkItem.#ctor(NUnit.Framework.Internal.TestMethod,NUnit.Framework.Interfaces.ITestFilter,NUnit.Framework.Internal.Abstractions.IDebugger)"> + <summary> + Construct a simple work item for a test. + </summary> + <param name="test">The test to be executed</param> + <param name="filter">The filter used to select this test</param> + <param name="debugger">An <see cref="T:NUnit.Framework.Internal.Abstractions.IDebugger"/> instance</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.SimpleWorkItem.PerformWork"> + <summary> + Method that performs actually performs the work. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.SimpleWorkItem.MakeTestCommand"> + <summary> + Creates a test command for use in running this test. + </summary> + <returns>A TestCommand</returns> + </member> + <member name="T:NUnit.Framework.Internal.Execution.SimpleWorkItemDispatcher"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.SimpleWorkItemDispatcher.LevelOfParallelism"> + <summary> + The level of parallelism supported + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.SimpleWorkItemDispatcher.Start(NUnit.Framework.Internal.Execution.WorkItem)"> + <summary> + Start execution, creating the execution thread, + setting the top level work and dispatching it. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.SimpleWorkItemDispatcher.Dispatch(NUnit.Framework.Internal.Execution.WorkItem)"> + <summary> + Dispatch a single work item for execution by + executing it directly. + </summary> + <param name="work">The item to dispatch</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.SimpleWorkItemDispatcher.CancelRun(System.Boolean)"> + <summary> + Cancel (abort or stop) the ongoing run. + If no run is in process, the call has no effect. + </summary> + <param name="force">true if the run should be aborted, false if it should allow its currently running test to complete</param> + </member> + <member name="T:NUnit.Framework.Internal.Execution.StaticMethodValidator"> + <summary> + Checks whether the method to execute is static. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.StaticMethodValidator.#ctor(System.String)"> + <summary> + Construct a StaticMethodValidator. + </summary> + <param name="failMessage">The error message to output in case the validation fails.</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.StaticMethodValidator.Validate(System.Reflection.MethodInfo)"> + <summary> + Determines whether a method to execute is static and throws an InvalidOperationException otherwise. + </summary> + <param name="method">The method to validate.</param> + </member> + <member name="T:NUnit.Framework.Internal.Execution.TestWorker"> + <summary> + A TestWorker pulls work items from a queue + and executes them. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Execution.TestWorker.TestWorkerEventHandler"> + <summary> + Event handler for TestWorker events + </summary> + <param name="worker">The TestWorker sending the event</param> + <param name="work">The WorkItem that caused the event</param> + </member> + <member name="E:NUnit.Framework.Internal.Execution.TestWorker.Busy"> + <summary> + Event signaled immediately before executing a WorkItem + </summary> + </member> + <member name="E:NUnit.Framework.Internal.Execution.TestWorker.Idle"> + <summary> + Event signaled immediately after executing a WorkItem + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.TestWorker.#ctor(NUnit.Framework.Internal.Execution.WorkItemQueue,System.String)"> + <summary> + Construct a new TestWorker. + </summary> + <param name="queue">The queue from which to pull work items</param> + <param name="name">The name of this worker</param> + </member> + <member name="P:NUnit.Framework.Internal.Execution.TestWorker.WorkQueue"> + <summary> + The WorkItemQueue from which this worker pulls WorkItems + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.TestWorker.Name"> + <summary> + The name of this worker - also used for the thread + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.TestWorker.IsAlive"> + <summary> + Indicates whether the worker thread is running + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Execution.TestWorker._currentWorkItem"> + <summary> + Our ThreadProc, which pulls and runs tests in a loop + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.TestWorker.Start"> + <summary> + Create thread and start processing work items. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.TestWorker.Cancel(System.Boolean)"> + <summary> + Stop the thread, either immediately or after finishing the current WorkItem + </summary> + <param name="force">true if the thread should be aborted, false if it should allow the currently running test to complete</param> + </member> + <member name="T:NUnit.Framework.Internal.Execution.TextCapture"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.TextCapture.#ctor(System.IO.TextWriter)"> + <summary> + Construct a TextCapture object + </summary> + <param name="defaultWriter">The default destination for non-intercepted output</param> + </member> + <member name="P:NUnit.Framework.Internal.Execution.TextCapture.Encoding"> + <summary> + Gets the Encoding in use by this TextWriter + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.TextCapture.Write(System.Char)"> + <summary> + Writes a single character + </summary> + <param name="value">The char to write</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.TextCapture.Write(System.String)"> + <summary> + Writes a string + </summary> + <param name="value">The string to write</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.TextCapture.WriteLine(System.String)"> + <summary> + Writes a string followed by a line terminator + </summary> + <param name="value">The string to write</param> + </member> + <member name="T:NUnit.Framework.Internal.Execution.WorkItem"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItem.#ctor(NUnit.Framework.Internal.Test,NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Construct a WorkItem for a particular test. + </summary> + <param name="test">The test that the WorkItem will run</param> + <param name="filter">Filter used to include or exclude child items</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItem.#ctor(NUnit.Framework.Internal.Execution.WorkItem)"> + <summary> + 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. + </summary> + <param name="wrappedItem">The WorkItem being wrapped</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItem.InitializeContext(NUnit.Framework.Internal.TestExecutionContext)"> + <summary> + Initialize the TestExecutionContext. This must be done + before executing the WorkItem. + </summary> + <remarks> + 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. + </remarks> + <param name="context">The TestExecutionContext to use</param> + </member> + <member name="E:NUnit.Framework.Internal.Execution.WorkItem.Completed"> + <summary> + Event triggered when the item is complete + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkItem.State"> + <summary> + Gets the current state of the WorkItem + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkItem.Test"> + <summary> + The test being executed by the work item + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkItem.Name"> + <summary> + The name of the work item - defaults to the Test name. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkItem.Filter"> + <summary> + Filter used to include or exclude child tests + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkItem.Context"> + <summary> + The execution context + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkItem.TestWorker"> + <summary> + The worker executing this item. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkItem.ExecutionStrategy"> + <summary> + The ParallelExecutionStrategy to use for this work item + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkItem.IsolateChildTests"> + <summary> + Indicates whether this work item should use a separate dispatcher. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkItem.Result"> + <summary> + The test result + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkItem.ParallelScope"> + <summary> + Gets the ParallelScope associated with the test, if any, + otherwise returning ParallelScope.Default; + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItem.Execute"> + <summary> + Execute the current work item, including any + child work items. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItem.WaitForCompletion"> + <summary> + Wait until the execution of this item is complete + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItem.MarkNotRunnable(System.String)"> + <summary> + Marks the WorkItem as NotRunnable. + </summary> + <param name="reason">Reason for test being NotRunnable.</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItem.Cancel(System.Boolean)"> + <summary> + Cancel (abort or stop) a WorkItem + </summary> + <param name="force">true if the WorkItem should be aborted, false if it should run to completion</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItem.Dispose"> + <summary> + Standard Dispose + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItem.PerformWork"> + <summary> + Method that performs actually performs the work. It should + set the State to WorkItemState.Complete when done. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItem.WorkItemComplete"> + <summary> + Method called by the derived class when all work is complete + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItem.BuildSetUpTearDownList(NUnit.Framework.Interfaces.IMethodInfo[],NUnit.Framework.Interfaces.IMethodInfo[],NUnit.Framework.Internal.Execution.IMethodValidator)"> + <summary> + Builds the set up tear down list. + </summary> + <param name="setUpMethods">Unsorted array of setup MethodInfos.</param> + <param name="tearDownMethods">Unsorted array of teardown MethodInfos.</param> + <param name="methodValidator">Method validator used before each method execution.</param> + <returns>A list of SetUpTearDownItems</returns> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItem.ChangeResult(NUnit.Framework.Interfaces.ResultState,System.String)"> + <summary> + Changes the result of the test, logging the old and new states + </summary> + <param name="resultState">The new ResultState</param> + <param name="message">The new message</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItem.GetTargetApartment(NUnit.Framework.Interfaces.ITest)"> + <summary> + Recursively walks up the test hierarchy to see if the + <see cref="T:System.Threading.ApartmentState"/> has been set on any of the parent tests. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Execution.WorkItemBuilder"> + <summary> + WorkItemBuilder class knows how to build a tree of work items from a tree of tests + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItemBuilder.CreateWorkItem(NUnit.Framework.Interfaces.ITest,NUnit.Framework.Interfaces.ITestFilter,System.Boolean)"> + <summary> + Creates a work item. + </summary> + <param name="test">The test for which this WorkItem is being created.</param> + <param name="filter">The filter to be used in selecting any child Tests.</param> + <param name="recursive">True if child work items should be created and added.</param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItemBuilder.CreateWorkItem(NUnit.Framework.Interfaces.ITest,NUnit.Framework.Interfaces.ITestFilter,NUnit.Framework.Internal.Abstractions.IDebugger,System.Boolean,System.Boolean)"> + <summary> + Creates a work item. + </summary> + <param name="test">The test for which this WorkItem is being created.</param> + <param name="filter">The filter to be used in selecting any child Tests.</param> + <param name="debugger">An <see cref="T:NUnit.Framework.Internal.Abstractions.IDebugger" /> instance.</param> + <param name="recursive">True if child work items should be created and added.</param> + <param name="root"><see langword="true"/> if work item needs to be created unconditionally, if <see langword="false"/> <see langword="null"/> will be returned for tests that don't match the filter.</param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItemBuilder.WorkItemOrderComparer.Compare(NUnit.Framework.Internal.Execution.WorkItem,NUnit.Framework.Internal.Execution.WorkItem)"> + <summary> + Compares two objects and returns a value indicating whether one is less than, equal to, or greater than the other. + </summary> + <returns> + A signed integer that indicates the relative values of <paramref name="x"/> and <paramref name="y"/>, as shown in the following table.Value Meaning Less than zero<paramref name="x"/> is less than <paramref name="y"/>.Zero<paramref name="x"/> equals <paramref name="y"/>.Greater than zero<paramref name="x"/> is greater than <paramref name="y"/>. + </returns> + <param name="x">The first object to compare.</param><param name="y">The second object to compare.</param> + </member> + <member name="T:NUnit.Framework.Internal.Execution.WorkItemQueueState"> + <summary> + WorkItemQueueState indicates the current state of a WorkItemQueue + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Execution.WorkItemQueueState.Paused"> + <summary> + The queue is paused + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Execution.WorkItemQueueState.Running"> + <summary> + The queue is running + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Execution.WorkItemQueueState.Stopped"> + <summary> + The queue is stopped + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Execution.WorkItemQueue"> + <summary> + A WorkItemQueue holds work items that are ready to + be run, either initially or after some dependency + has been satisfied. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItemQueue.#ctor(System.String,System.Boolean,System.Threading.ApartmentState)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.Execution.WorkItemQueue"/> class. + </summary> + <param name="name">The name of the queue.</param> + <param name="isParallel">Flag indicating whether this is a parallel queue</param> + <param name="apartment">ApartmentState to use for items on this queue</param> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkItemQueue.Name"> + <summary> + Gets the name of the work item queue. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkItemQueue.IsParallelQueue"> + <summary> + Gets a flag indicating whether this queue is used for parallel execution + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkItemQueue.TargetApartment"> + <summary> + Gets the target ApartmentState for work items on this queue + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkItemQueue.ItemsProcessed"> + <summary> + Gets the total number of items processed so far + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkItemQueue.State"> + <summary> + Gets the current state of the queue + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkItemQueue.IsEmpty"> + <summary> + Get a bool indicating whether the queue is empty. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItemQueue.Enqueue(NUnit.Framework.Internal.Execution.WorkItem)"> + <summary> + Enqueue a WorkItem to be processed + </summary> + <param name="work">The WorkItem to process</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItemQueue.Enqueue(NUnit.Framework.Internal.Execution.WorkItem,System.Int32)"> + <summary> + Enqueue a WorkItem to be processed - internal for testing + </summary> + <param name="work">The WorkItem to process</param> + <param name="priority">The priority at which to process the item</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItemQueue.Dequeue"> + <summary> + Dequeue a WorkItem for processing + </summary> + <returns>A WorkItem or null if the queue has stopped</returns> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItemQueue.Start"> + <summary> + Start or restart processing of items from the queue + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItemQueue.Stop"> + <summary> + Signal the queue to stop + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItemQueue.Pause"> + <summary> + Pause the queue for restarting later + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItemQueue.Save"> + <summary> + Save the current inner queue and create new ones for use by + a non-parallel fixture with parallel children. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItemQueue.Restore"> + <summary> + Restore the inner queue that was previously saved + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Execution.WorkItemState"> + <summary> + The current state of a work item + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Execution.WorkItemState.Ready"> + <summary> + Ready to run or continue + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Execution.WorkItemState.Running"> + <summary> + Work Item is executing + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Execution.WorkItemState.Complete"> + <summary> + Complete + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Execution.ShiftChangeEventHandler"> + <summary> + Handler for ShiftChange events. + </summary> + <param name="shift">The shift that is starting or ending.</param> + </member> + <member name="T:NUnit.Framework.Internal.Execution.WorkShift"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkShift.#ctor(System.String)"> + <summary> + Construct a WorkShift + </summary> + </member> + <member name="E:NUnit.Framework.Internal.Execution.WorkShift.EndOfShift"> + <summary> + Event that fires when the shift has ended + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkShift.Name"> + <summary> + The Name of this shift + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkShift.IsActive"> + <summary> + Gets a flag indicating whether the shift is currently active + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkShift.HasWork"> + <summary> + Gets a bool indicating whether this shift has any work to do + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkShift.Queues"> + <summary> + Gets a list of the queues associated with this shift. + </summary> + <remarks>Internal for testing - immutable once initialized</remarks> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkShift.Workers"> + <summary> + Gets the list of workers associated with this shift. + </summary> + <remarks>Internal for testing - immutable once initialized</remarks> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkShift.AddQueue(NUnit.Framework.Internal.Execution.WorkItemQueue)"> + <summary> + Add a WorkItemQueue to the shift, starting it if the + shift is currently active. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkShift.Assign(NUnit.Framework.Internal.Execution.TestWorker)"> + <summary> + Assign a worker to the shift. + </summary> + <param name="worker"></param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkShift.Start"> + <summary> + Start or restart processing for the shift + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkShift.EndShift"> + <summary> + End the shift, pausing all queues and raising + the EndOfShift event. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkShift.ShutDown"> + <summary> + Shut down the shift. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkShift.Cancel(System.Boolean)"> + <summary> + Cancel (abort or stop) the shift without completing all work + </summary> + <param name="force">true if the WorkShift should be aborted, false if it should allow its currently running tests to complete</param> + </member> + <member name="T:NUnit.Framework.Internal.TextMessageWriter"> + <summary> + 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. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TextMessageWriter.Pfx_Expected"> + <summary> + Prefix used for the expected value line of a message + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TextMessageWriter.Pfx_Actual"> + <summary> + Prefix used for the actual value line of a message + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TextMessageWriter.Pfx_Difference"> + <summary> + Prefix used for the actual difference between actual and expected values if compared with a tolerance + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TextMessageWriter.PrefixLength"> + <summary> + Length of a message prefix + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TextMessageWriter.#ctor"> + <summary> + Construct a TextMessageWriter + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TextMessageWriter.#ctor(System.String,System.Object[])"> + <summary> + Construct a TextMessageWriter, specifying a user message + and optional formatting arguments. + </summary> + <param name="userMessage"></param> + <param name="args"></param> + </member> + <member name="P:NUnit.Framework.Internal.TextMessageWriter.MaxLineLength"> + <summary> + Gets or sets the maximum line length for this writer + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TextMessageWriter.WriteMessageLine(System.Int32,System.String,System.Object[])"> + <summary> + Method to write single line message with optional args, usually + written to precede the general failure message, at a given + indentation level. + </summary> + <param name="level">The indentation level of the message</param> + <param name="message">The message to be written</param> + <param name="args">Any arguments used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Internal.TextMessageWriter.DisplayDifferences(NUnit.Framework.Constraints.ConstraintResult)"> + <summary> + 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. + </summary> + <param name="result">The result of the constraint that failed</param> + </member> + <member name="M:NUnit.Framework.Internal.TextMessageWriter.ResolveTypeNameDifference(System.Object,System.Object,System.String@,System.String@)"> + <summary> + Gets the unique type name between expected and actual. + </summary> + <param name="expected">The expected value</param> + <param name="actual">The actual value causing the failure</param> + <param name="expectedType">Output of the unique type name for expected</param> + <param name="actualType">Output of the unique type name for actual</param> + </member> + <member name="M:NUnit.Framework.Internal.TextMessageWriter.DisplayDifferences(System.Object,System.Object)"> + <summary> + 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. + </summary> + <param name="expected">The expected value</param> + <param name="actual">The actual value causing the failure</param> + </member> + <member name="M:NUnit.Framework.Internal.TextMessageWriter.DisplayDifferences(System.Object,System.Object,NUnit.Framework.Constraints.Tolerance)"> + <summary> + Display Expected and Actual lines for given values, including + a tolerance value on the expected line. + </summary> + <param name="expected">The expected value</param> + <param name="actual">The actual value causing the failure</param> + <param name="tolerance">The tolerance within which the test was made</param> + </member> + <member name="M:NUnit.Framework.Internal.TextMessageWriter.DisplayStringDifferences(System.String,System.String,System.Int32,System.Boolean,System.Boolean)"> + <summary> + 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. + </summary> + <param name="expected">The expected string value</param> + <param name="actual">The actual string value</param> + <param name="mismatch">The point at which the strings don't match or -1</param> + <param name="ignoreCase">If true, case is ignored in string comparisons</param> + <param name="clipping">If true, clip the strings to fit the max line length</param> + </member> + <member name="M:NUnit.Framework.Internal.TextMessageWriter.WriteActualValue(System.Object)"> + <summary> + Writes the text for an actual value. + </summary> + <param name="actual">The actual value.</param> + </member> + <member name="M:NUnit.Framework.Internal.TextMessageWriter.WriteValue(System.Object)"> + <summary> + Writes the text for a generalized value. + </summary> + <param name="val">The value.</param> + </member> + <member name="M:NUnit.Framework.Internal.TextMessageWriter.WriteCollectionElements(System.Collections.IEnumerable,System.Int64,System.Int32)"> + <summary> + Writes the text for a collection value, + starting at a particular point, to a max length + </summary> + <param name="collection">The collection containing elements to write.</param> + <param name="start">The starting point of the elements to write</param> + <param name="max">The maximum number of elements to write</param> + </member> + <member name="M:NUnit.Framework.Internal.TextMessageWriter.WriteExpectedLine(NUnit.Framework.Constraints.ConstraintResult)"> + <summary> + Write the generic 'Expected' line for a constraint + </summary> + <param name="result">The constraint that failed</param> + </member> + <member name="M:NUnit.Framework.Internal.TextMessageWriter.WriteExpectedLine(System.Object,NUnit.Framework.Constraints.Tolerance)"> + <summary> + Write the generic 'Expected' line for a given value + and tolerance. + </summary> + <param name="expected">The expected value</param> + <param name="tolerance">The tolerance within which the test was made</param> + </member> + <member name="M:NUnit.Framework.Internal.TextMessageWriter.WriteActualLine(NUnit.Framework.Constraints.ConstraintResult)"> + <summary> + Write the generic 'Actual' line for a constraint + </summary> + <param name="result">The ConstraintResult for which the actual value is to be written</param> + </member> + <member name="M:NUnit.Framework.Internal.TextMessageWriter.WriteActualLine(System.Object)"> + <summary> + Write the generic 'Actual' line for a given value + </summary> + <param name="actual">The actual value causing a failure</param> + </member> + <member name="T:NUnit.Framework.Internal.Extensions.IPropertyBagDataExtensions"> + <summary> + Extensions to <see cref="T:NUnit.Framework.Interfaces.IPropertyBag"/>. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Extensions.IPropertyBagDataExtensions.AddIgnoreUntilReason(NUnit.Framework.Interfaces.IPropertyBag,System.DateTimeOffset,System.String)"> + <summary> + Adds the skip reason to tests that are ignored until a specific date. + </summary> + <param name="properties">The test properties to add the skip reason to</param> + <param name="untilDate">The date that the test is being ignored until</param> + <param name="reason">The reason the test is being ignored until that date</param> + </member> + <member name="T:NUnit.Framework.Internal.Filters.AndFilter"> + <summary> + Combines multiple filters so that a test must pass all + of them in order to pass this filter. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Filters.AndFilter.#ctor"> + <summary> + Constructs an empty AndFilter + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Filters.AndFilter.#ctor(NUnit.Framework.Internal.TestFilter[])"> + <summary> + Constructs an AndFilter from an array of filters + </summary> + <param name="filters"></param> + </member> + <member name="M:NUnit.Framework.Internal.Filters.AndFilter.Pass(NUnit.Framework.Interfaces.ITest,System.Boolean)"> + <summary> + Checks whether the AndFilter is matched by a test + </summary> + <param name="test">The test to be matched</param> + <param name="negated">If set to <see langword="true"/> we are carrying a negation through</param> + <returns>True if all the component filters pass, otherwise false</returns> + </member> + <member name="M:NUnit.Framework.Internal.Filters.AndFilter.Match(NUnit.Framework.Interfaces.ITest)"> + <summary> + Checks whether the AndFilter is matched by a test + </summary> + <param name="test">The test to be matched</param> + <returns>True if all the component filters match, otherwise false</returns> + </member> + <member name="M:NUnit.Framework.Internal.Filters.AndFilter.IsExplicitMatch(NUnit.Framework.Interfaces.ITest)"> + <summary> + Checks whether the AndFilter is explicit matched by a test. + </summary> + <param name="test">The test to be matched</param> + <returns>True if all the component filters explicit match, otherwise false</returns> + </member> + <member name="P:NUnit.Framework.Internal.Filters.AndFilter.ElementName"> + <summary> + Gets the element name + </summary> + <value>Element name</value> + </member> + <member name="T:NUnit.Framework.Internal.Filters.CategoryFilter"> + <summary> + CategoryFilter is able to select or exclude tests + based on their categories. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Filters.CategoryFilter.#ctor(System.String)"> + <summary> + Construct a CategoryFilter using a single category name + </summary> + <param name="name">A category name</param> + </member> + <member name="M:NUnit.Framework.Internal.Filters.CategoryFilter.Match(NUnit.Framework.Interfaces.ITest)"> + <summary> + Check whether the filter matches a test + </summary> + <param name="test">The test to be matched</param> + <returns></returns> + </member> + <member name="P:NUnit.Framework.Internal.Filters.CategoryFilter.ElementName"> + <summary> + Gets the element name + </summary> + <value>Element name</value> + </member> + <member name="T:NUnit.Framework.Internal.Filters.ClassNameFilter"> + <summary> + ClassName filter selects tests based on the class FullName + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Filters.ClassNameFilter.#ctor(System.String)"> + <summary> + Construct a FullNameFilter for a single name + </summary> + <param name="expectedValue">The name the filter will recognize.</param> + </member> + <member name="M:NUnit.Framework.Internal.Filters.ClassNameFilter.Match(NUnit.Framework.Interfaces.ITest)"> + <summary> + Match a test against a single value. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Filters.ClassNameFilter.ElementName"> + <summary> + Gets the element name + </summary> + <value>Element name</value> + </member> + <member name="T:NUnit.Framework.Internal.Filters.CompositeFilter"> + <summary> + A base class for multi-part filters + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Filters.CompositeFilter.#ctor"> + <summary> + Constructs an empty CompositeFilter + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Filters.CompositeFilter.#ctor(NUnit.Framework.Internal.TestFilter[])"> + <summary> + Constructs a CompositeFilter from an array of filters + </summary> + <param name="filters"></param> + </member> + <member name="P:NUnit.Framework.Internal.Filters.CompositeFilter.Filters"> + <summary> + Return a list of the composing filters. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Filters.CompositeFilter.Pass(NUnit.Framework.Interfaces.ITest,System.Boolean)"> + <summary> + Checks whether the CompositeFilter is matched by a test. + </summary> + <param name="test">The test to be matched</param> + <param name="negated">If set to <see langword="true"/> we are carrying a negation through</param> + </member> + <member name="M:NUnit.Framework.Internal.Filters.CompositeFilter.Match(NUnit.Framework.Interfaces.ITest)"> + <summary> + Checks whether the CompositeFilter is matched by a test. + </summary> + <param name="test">The test to be matched</param> + </member> + <member name="M:NUnit.Framework.Internal.Filters.CompositeFilter.IsExplicitMatch(NUnit.Framework.Interfaces.ITest)"> + <summary> + Checks whether the CompositeFilter is explicit matched by a test. + </summary> + <param name="test">The test to be matched</param> + </member> + <member name="M:NUnit.Framework.Internal.Filters.CompositeFilter.AddToXml(NUnit.Framework.Interfaces.TNode,System.Boolean)"> + <summary> + Adds an XML node + </summary> + <param name="parentNode">Parent node</param> + <param name="recursive">True if recursive</param> + <returns>The added XML node</returns> + </member> + <member name="P:NUnit.Framework.Internal.Filters.CompositeFilter.ElementName"> + <summary> + Gets the element name + </summary> + <value>Element name</value> + </member> + <member name="T:NUnit.Framework.Internal.Filters.FullNameFilter"> + <summary> + FullName filter selects tests based on their FullName + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Filters.FullNameFilter.#ctor(System.String)"> + <summary> + Construct a FullNameFilter for a single name + </summary> + <param name="expectedValue">The name the filter will recognize.</param> + </member> + <member name="M:NUnit.Framework.Internal.Filters.FullNameFilter.Match(NUnit.Framework.Interfaces.ITest)"> + <summary> + Match a test against a single value. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Filters.FullNameFilter.ElementName"> + <summary> + Gets the element name + </summary> + <value>Element name</value> + </member> + <member name="T:NUnit.Framework.Internal.Filters.IdFilter"> + <summary> + IdFilter selects tests based on their id + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Filters.IdFilter.#ctor(System.String)"> + <summary> + Construct an IdFilter for a single value + </summary> + <param name="id">The id the filter will recognize.</param> + </member> + <member name="M:NUnit.Framework.Internal.Filters.IdFilter.Match(NUnit.Framework.Interfaces.ITest)"> + <summary> + Match a test against a single value. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Filters.IdFilter.ElementName"> + <summary> + Gets the element name + </summary> + <value>Element name</value> + </member> + <member name="T:NUnit.Framework.Internal.Filters.InFilter"> + <summary> + Optimized filter to check in condition using HashSet. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Filters.InFilter.#ctor(System.Func{NUnit.Framework.Interfaces.ITest,System.String},System.Collections.Generic.IEnumerable{System.String},System.String)"> + <summary> + Constructs new InFilter. + </summary> + <param name="selector">Selector to get value to check.</param> + <param name="values">Valid values for the filter.</param> + <param name="xmlElementName">The XML element name the original filter used.</param> + </member> + <member name="M:NUnit.Framework.Internal.Filters.InFilter.TryOptimize(NUnit.Framework.Internal.Filters.OrFilter,NUnit.Framework.Internal.Filters.InFilter@)"> + <summary> + Tries to optimize OrFilter into InFilter if contained filters are all same and non-regex. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Filters.MethodNameFilter"> + <summary> + FullName filter selects tests based on their FullName + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Filters.MethodNameFilter.#ctor(System.String)"> + <summary> + Construct a MethodNameFilter for a single name + </summary> + <param name="expectedValue">The name the filter will recognize.</param> + </member> + <member name="M:NUnit.Framework.Internal.Filters.MethodNameFilter.Match(NUnit.Framework.Interfaces.ITest)"> + <summary> + Match a test against a single value. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Filters.MethodNameFilter.ElementName"> + <summary> + Gets the element name + </summary> + <value>Element name</value> + </member> + <member name="T:NUnit.Framework.Internal.Filters.NamespaceFilter"> + <summary> + ClassName filter selects tests based on the class FullName + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Filters.NamespaceFilter.#ctor(System.String)"> + <summary> + Construct a NamespaceFilter for a single namespace + </summary> + <param name="expectedValue">The namespace the filter will recognize.</param> + </member> + <member name="M:NUnit.Framework.Internal.Filters.NamespaceFilter.Match(NUnit.Framework.Interfaces.ITest)"> + <summary> + Match a test against a single value. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Filters.NamespaceFilter.ElementName"> + <summary> + Gets the element name + </summary> + <value>Element name</value> + </member> + <member name="T:NUnit.Framework.Internal.Filters.NotFilter"> + <summary> + NotFilter negates the operation of another filter + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Filters.NotFilter.#ctor(NUnit.Framework.Internal.TestFilter)"> + <summary> + Construct a not filter on another filter + </summary> + <param name="baseFilter">The filter to be negated</param> + </member> + <member name="P:NUnit.Framework.Internal.Filters.NotFilter.BaseFilter"> + <summary> + Gets the base filter + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Filters.NotFilter.Pass(NUnit.Framework.Interfaces.ITest,System.Boolean)"> + <summary> + Determine if a particular test passes the filter criteria. + </summary> + <param name="test">The test to which the filter is applied</param> + <param name="negated">If set to <see langword="true"/> we are carrying a negation through</param> + <returns>True if the test passes the filter, otherwise false</returns> + </member> + <member name="M:NUnit.Framework.Internal.Filters.NotFilter.Match(NUnit.Framework.Interfaces.ITest)"> + <summary> + Check whether the filter matches a test + </summary> + <param name="test">The test to be matched</param> + <returns>True if it matches, otherwise false</returns> + </member> + <member name="M:NUnit.Framework.Internal.Filters.NotFilter.IsExplicitMatch(NUnit.Framework.Interfaces.ITest)"> + <summary> + 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. + </summary> + <param name="test">The test to which the filter is applied</param> + <returns>True if the test matches the filter explicitly, otherwise false</returns> + </member> + <member name="M:NUnit.Framework.Internal.Filters.NotFilter.AddToXml(NUnit.Framework.Interfaces.TNode,System.Boolean)"> + <summary> + Adds an XML node + </summary> + <param name="parentNode">Parent node</param> + <param name="recursive">True if recursive</param> + <returns>The added XML node</returns> + </member> + <member name="T:NUnit.Framework.Internal.Filters.OrFilter"> + <summary> + Combines multiple filters so that a test must pass one + of them in order to pass this filter. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Filters.OrFilter.#ctor"> + <summary> + Constructs an empty OrFilter + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Filters.OrFilter.#ctor(NUnit.Framework.Internal.TestFilter[])"> + <summary> + Constructs an OrFilter from an array of filters + </summary> + <param name="filters"></param> + </member> + <member name="M:NUnit.Framework.Internal.Filters.OrFilter.Pass(NUnit.Framework.Interfaces.ITest,System.Boolean)"> + <summary> + Checks whether the OrFilter is matched by a test + </summary> + <param name="test">The test to be matched</param> + <param name="negated">If set to <see langword="true"/> we are carrying a negation through</param> + <returns>True if any of the component filters pass, otherwise false</returns> + </member> + <member name="M:NUnit.Framework.Internal.Filters.OrFilter.Match(NUnit.Framework.Interfaces.ITest)"> + <summary> + Checks whether the OrFilter is matched by a test + </summary> + <param name="test">The test to be matched</param> + <returns>True if any of the component filters match, otherwise false</returns> + </member> + <member name="M:NUnit.Framework.Internal.Filters.OrFilter.IsExplicitMatch(NUnit.Framework.Interfaces.ITest)"> + <summary> + Checks whether the OrFilter is explicit matched by a test + </summary> + <param name="test">The test to be matched</param> + <returns>True if any of the component filters explicit match, otherwise false</returns> + </member> + <member name="P:NUnit.Framework.Internal.Filters.OrFilter.ElementName"> + <summary> + Gets the element name + </summary> + <value>Element name</value> + </member> + <member name="T:NUnit.Framework.Internal.Filters.PropertyFilter"> + <summary> + PropertyFilter is able to select or exclude tests + based on their properties. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Filters.PropertyFilter.#ctor(System.String,System.String)"> + <summary> + Construct a PropertyFilter using a property name and expected value + </summary> + <param name="propertyName">A property name</param> + <param name="expectedValue">The expected value of the property</param> + </member> + <member name="M:NUnit.Framework.Internal.Filters.PropertyFilter.Match(NUnit.Framework.Interfaces.ITest)"> + <summary> + Check whether the filter matches a test + </summary> + <param name="test">The test to be matched</param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Internal.Filters.PropertyFilter.AddToXml(NUnit.Framework.Interfaces.TNode,System.Boolean)"> + <summary> + Adds an XML node + </summary> + <param name="parentNode">Parent node</param> + <param name="recursive">True if recursive</param> + <returns>The added XML node</returns> + </member> + <member name="P:NUnit.Framework.Internal.Filters.PropertyFilter.ElementName"> + <summary> + Gets the element name + </summary> + <value>Element name</value> + </member> + <member name="T:NUnit.Framework.Internal.Filters.TestNameFilter"> + <summary> + TestName filter selects tests based on their Name + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Filters.TestNameFilter.#ctor(System.String)"> + <summary> + Construct a TestNameFilter for a single name + </summary> + <param name="expectedValue">The name the filter will recognize.</param> + </member> + <member name="M:NUnit.Framework.Internal.Filters.TestNameFilter.Match(NUnit.Framework.Interfaces.ITest)"> + <summary> + Match a test against a single value. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Filters.TestNameFilter.ElementName"> + <summary> + Gets the element name + </summary> + <value>Element name</value> + </member> + <member name="T:NUnit.Framework.Internal.Filters.ValueMatchFilter"> + <summary> + ValueMatchFilter selects tests based on some value, which + is expected to be contained in the test. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Filters.ValueMatchFilter.ExpectedValue"> + <summary> + Returns the value matched by the filter - used for testing + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Filters.ValueMatchFilter.IsRegex"> + <summary> + Indicates whether the value is a regular expression + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Filters.ValueMatchFilter.#ctor(System.String)"> + <summary> + Construct a ValueMatchFilter for a single value. + </summary> + <param name="expectedValue">The value to be included.</param> + </member> + <member name="M:NUnit.Framework.Internal.Filters.ValueMatchFilter.Match(System.String)"> + <summary> + Match the input provided by the derived class + </summary> + <param name="input">The value to be matched</param> + <returns>True for a match, false otherwise.</returns> + </member> + <member name="M:NUnit.Framework.Internal.Filters.ValueMatchFilter.AddToXml(NUnit.Framework.Interfaces.TNode,System.Boolean)"> + <summary> + Adds an XML node + </summary> + <param name="parentNode">Parent node</param> + <param name="recursive">True if recursive</param> + <returns>The added XML node</returns> + </member> + <member name="P:NUnit.Framework.Internal.Filters.ValueMatchFilter.ElementName"> + <summary> + Gets the element name + </summary> + <value>Element name</value> + </member> + <member name="T:NUnit.Framework.Internal.GenericMethodHelper"> + <summary> + GenericMethodHelper is able to deduce the Type arguments for + a generic method from the actual arguments provided. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.GenericMethodHelper.ConflictingTypesMarker"> + <summary> + A special value, which is used to indicate that BestCommonType() method + was unable to find a common type for the specified arguments. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.GenericMethodHelper.#ctor(System.Reflection.MethodInfo)"> + <summary> + Construct a GenericMethodHelper for a method + </summary> + <param name="method">MethodInfo for the method to examine</param> + </member> + <member name="M:NUnit.Framework.Internal.GenericMethodHelper.TryGetTypeArguments(System.Object[],System.Type[]@)"> + <summary> + Return the type arguments for the method, deducing them + from the arguments actually provided. + </summary> + <param name="argList">The arguments to the method</param> + <param name="typeArguments">If successful, an array of type arguments.</param> + </member> + <member name="T:NUnit.Framework.Internal.ImmutableStack`1"> + <summary> + A minimalistic implementation of an immutable stack. Add members as needed. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.ImmutableStack`1.Empty"> + <summary> + Represents an empty stack. <see langword="default"/> may be used instead. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ImmutableStack`1.Push(`0)"> + <summary> + Returns a new immutable stack which begins with the specified value and continues with the values in the + current stack. + </summary> + <param name="value">The beginning value of the new stack.</param> + </member> + <member name="T:NUnit.Framework.Internal.InvalidDataSourceException"> + <summary> + InvalidTestFixtureException is thrown when an appropriate test + fixture constructor using the provided arguments cannot be found. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.InvalidDataSourceException.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.InvalidTestFixtureException"/> class. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.InvalidDataSourceException.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.InvalidTestFixtureException"/> class. + </summary> + <param name="message">The message.</param> + </member> + <member name="M:NUnit.Framework.Internal.InvalidDataSourceException.#ctor(System.String,System.Exception)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.InvalidTestFixtureException"/> class. + </summary> + <param name="message">The message.</param> + <param name="inner">The inner.</param> + </member> + <member name="M:NUnit.Framework.Internal.InvalidDataSourceException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)"> + <summary> + Serialization Constructor + </summary> + </member> + <member name="T:NUnit.Framework.Internal.InvalidPlatformException"> + <summary> + InvalidPlatformException is thrown when the platform name supplied + to a test is not recognized. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.InvalidPlatformException.#ctor"> + <summary> + Instantiates a new instance of the <see cref="T:NUnit.Framework.Internal.InvalidPlatformException"/> class. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.InvalidPlatformException.#ctor(System.String)"> + <summary> + Instantiates a new instance of the <see cref="T:NUnit.Framework.Internal.InvalidPlatformException"/> class + </summary> + <param name="message">The message.</param> + </member> + <member name="M:NUnit.Framework.Internal.InvalidPlatformException.#ctor(System.String,System.Exception)"> + <summary> + Instantiates a new instance of the <see cref="T:NUnit.Framework.Internal.InvalidPlatformException"/> class + </summary> + <param name="message">The message.</param> + <param name="inner">The inner.</param> + </member> + <member name="M:NUnit.Framework.Internal.InvalidPlatformException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)"> + <summary> + Serialization constructor for the <see cref="T:NUnit.Framework.Internal.InvalidPlatformException"/> class + </summary> + </member> + <member name="T:NUnit.Framework.Internal.InvalidTestFixtureException"> + <summary> + InvalidTestFixtureException is thrown when an appropriate test + fixture constructor using the provided arguments cannot be found. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.InvalidTestFixtureException.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.InvalidTestFixtureException"/> class. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.InvalidTestFixtureException.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.InvalidTestFixtureException"/> class. + </summary> + <param name="message">The message.</param> + </member> + <member name="M:NUnit.Framework.Internal.InvalidTestFixtureException.#ctor(System.String,System.Exception)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.InvalidTestFixtureException"/> class. + </summary> + <param name="message">The message.</param> + <param name="inner">The inner.</param> + </member> + <member name="M:NUnit.Framework.Internal.InvalidTestFixtureException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)"> + <summary> + Serialization Constructor + </summary> + </member> + <member name="T:NUnit.Framework.Internal.ILogger"> + <summary> + Interface for logging within the engine + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ILogger.Error(System.String)"> + <summary> + Logs the specified message at the error level. + </summary> + <param name="message">The message.</param> + </member> + <member name="M:NUnit.Framework.Internal.ILogger.Error(System.String,System.Object[])"> + <summary> + Logs the specified message at the error level. + </summary> + <param name="message">The message.</param> + <param name="args">The arguments.</param> + </member> + <member name="M:NUnit.Framework.Internal.ILogger.Warning(System.String)"> + <summary> + Logs the specified message at the warning level. + </summary> + <param name="message">The message.</param> + </member> + <member name="M:NUnit.Framework.Internal.ILogger.Warning(System.String,System.Object[])"> + <summary> + Logs the specified message at the warning level. + </summary> + <param name="message">The message.</param> + <param name="args">The arguments.</param> + </member> + <member name="M:NUnit.Framework.Internal.ILogger.Info(System.String)"> + <summary> + Logs the specified message at the info level. + </summary> + <param name="message">The message.</param> + </member> + <member name="M:NUnit.Framework.Internal.ILogger.Info(System.String,System.Object[])"> + <summary> + Logs the specified message at the info level. + </summary> + <param name="message">The message.</param> + <param name="args">The arguments.</param> + </member> + <member name="M:NUnit.Framework.Internal.ILogger.Debug(System.String)"> + <summary> + Logs the specified message at the debug level. + </summary> + <param name="message">The message.</param> + </member> + <member name="M:NUnit.Framework.Internal.ILogger.Debug(System.String,System.Object[])"> + <summary> + Logs the specified message at the debug level. + </summary> + <param name="message">The message.</param> + <param name="args">The arguments.</param> + </member> + <member name="T:NUnit.Framework.Internal.InternalTrace"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.InternalTrace.Initialized"> + <summary> + Gets a flag indicating whether the InternalTrace is initialized + </summary> + </member> + <member name="M:NUnit.Framework.Internal.InternalTrace.Initialize(System.String,NUnit.Framework.Internal.InternalTraceLevel)"> + <summary> + Initialize the internal trace facility using the name of the log + to be written to and the trace level. + </summary> + <param name="logName">The log name</param> + <param name="level">The trace level</param> + </member> + <member name="M:NUnit.Framework.Internal.InternalTrace.Initialize(System.IO.TextWriter,NUnit.Framework.Internal.InternalTraceLevel)"> + <summary> + Initialize the internal trace using a provided TextWriter and level + </summary> + <param name="writer">A TextWriter</param> + <param name="level">The InternalTraceLevel</param> + </member> + <member name="M:NUnit.Framework.Internal.InternalTrace.GetLogger(System.String)"> + <summary> + Get a named Logger + </summary> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Internal.InternalTrace.GetLogger(System.Type)"> + <summary> + Get a logger named for a particular Type. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.InternalTraceLevel"> + <summary> + InternalTraceLevel is an enumeration controlling the + level of detailed presented in the internal log. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.InternalTraceLevel.Default"> + <summary> + Use the default settings as specified by the user. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.InternalTraceLevel.Off"> + <summary> + Do not display any trace messages + </summary> + </member> + <member name="F:NUnit.Framework.Internal.InternalTraceLevel.Error"> + <summary> + Display Error messages only + </summary> + </member> + <member name="F:NUnit.Framework.Internal.InternalTraceLevel.Warning"> + <summary> + Display Warning level and higher messages + </summary> + </member> + <member name="F:NUnit.Framework.Internal.InternalTraceLevel.Info"> + <summary> + Display informational and higher messages + </summary> + </member> + <member name="F:NUnit.Framework.Internal.InternalTraceLevel.Debug"> + <summary> + Display debug messages and higher - i.e. all messages + </summary> + </member> + <member name="F:NUnit.Framework.Internal.InternalTraceLevel.Verbose"> + <summary> + Display debug messages and higher - i.e. all messages + </summary> + </member> + <member name="T:NUnit.Framework.Internal.InternalTraceWriter"> + <summary> + A trace listener that writes to a separate file per domain + and process using it. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.InternalTraceWriter.#ctor(System.String)"> + <summary> + Construct an InternalTraceWriter that writes to a file. + </summary> + <param name="logPath">Path to the file to use</param> + </member> + <member name="M:NUnit.Framework.Internal.InternalTraceWriter.#ctor(System.IO.TextWriter)"> + <summary> + Construct an InternalTraceWriter that writes to a + TextWriter provided by the caller. + </summary> + <param name="writer"></param> + </member> + <member name="P:NUnit.Framework.Internal.InternalTraceWriter.Encoding"> + <summary> + Returns the character encoding in which the output is written. + </summary> + <returns>The character encoding in which the output is written.</returns> + </member> + <member name="M:NUnit.Framework.Internal.InternalTraceWriter.Write(System.Char)"> + <summary> + Writes a character to the text string or stream. + </summary> + <param name="value">The character to write to the text stream.</param> + </member> + <member name="M:NUnit.Framework.Internal.InternalTraceWriter.Write(System.String)"> + <summary> + Writes a string to the text string or stream. + </summary> + <param name="value">The string to write.</param> + </member> + <member name="M:NUnit.Framework.Internal.InternalTraceWriter.WriteLine(System.String)"> + <summary> + Writes a string followed by a line terminator to the text string or stream. + </summary> + <param name="value">The string to write. If <paramref name="value" /> is null, only the line terminator is written.</param> + </member> + <member name="M:NUnit.Framework.Internal.InternalTraceWriter.Dispose(System.Boolean)"> + <summary> + Releases the unmanaged resources used by the <see cref="T:System.IO.TextWriter" /> and optionally releases the managed resources. + </summary> + <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param> + </member> + <member name="M:NUnit.Framework.Internal.InternalTraceWriter.Flush"> + <summary> + Clears all buffers for the current writer and causes any buffered data to be written to the underlying device. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Logger"> + <summary> + Provides internal logging to the NUnit framework + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Logger.#ctor(System.String,NUnit.Framework.Internal.InternalTraceLevel,System.IO.TextWriter)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.Logger"/> class. + </summary> + <param name="name">The name.</param> + <param name="level">The log level.</param> + <param name="writer">The writer where logs are sent.</param> + </member> + <member name="M:NUnit.Framework.Internal.Logger.Error(System.String)"> + <summary> + Logs the message at error level. + </summary> + <param name="message">The message.</param> + </member> + <member name="M:NUnit.Framework.Internal.Logger.Error(System.String,System.Object[])"> + <summary> + Logs the message at error level. + </summary> + <param name="message">The message.</param> + <param name="args">The message arguments.</param> + </member> + <member name="M:NUnit.Framework.Internal.Logger.Warning(System.String)"> + <summary> + Logs the message at warm level. + </summary> + <param name="message">The message.</param> + </member> + <member name="M:NUnit.Framework.Internal.Logger.Warning(System.String,System.Object[])"> + <summary> + Logs the message at warning level. + </summary> + <param name="message">The message.</param> + <param name="args">The message arguments.</param> + </member> + <member name="M:NUnit.Framework.Internal.Logger.Info(System.String)"> + <summary> + Logs the message at info level. + </summary> + <param name="message">The message.</param> + </member> + <member name="M:NUnit.Framework.Internal.Logger.Info(System.String,System.Object[])"> + <summary> + Logs the message at info level. + </summary> + <param name="message">The message.</param> + <param name="args">The message arguments.</param> + </member> + <member name="M:NUnit.Framework.Internal.Logger.Debug(System.String)"> + <summary> + Logs the message at debug level. + </summary> + <param name="message">The message.</param> + </member> + <member name="M:NUnit.Framework.Internal.Logger.Debug(System.String,System.Object[])"> + <summary> + Logs the message at debug level. + </summary> + <param name="message">The message.</param> + <param name="args">The message arguments.</param> + </member> + <member name="T:NUnit.Framework.Internal.MethodWrapper"> + <summary> + The MethodWrapper class wraps a MethodInfo so that it may + be used in a platform-independent manner. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.MethodWrapper.#ctor(System.Type,System.Reflection.MethodInfo)"> + <summary> + Construct a MethodWrapper for a Type and a MethodInfo. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.MethodWrapper.#ctor(System.Type,System.String)"> + <summary> + Construct a MethodInfo for a given Type and method name. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.MethodWrapper.TypeInfo"> + <summary> + Gets the Type from which this method was reflected. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.MethodWrapper.MethodInfo"> + <summary> + Gets the MethodInfo for this method. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.MethodWrapper.Name"> + <summary> + Gets the name of the method. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.MethodWrapper.IsAbstract"> + <summary> + Gets a value indicating whether the method is abstract. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.MethodWrapper.IsPublic"> + <summary> + Gets a value indicating whether the method is public. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.MethodWrapper.IsStatic"> + <summary> + Gets a value indicating whether the method is static. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.MethodWrapper.ContainsGenericParameters"> + <summary> + Gets a value indicating whether the method contains unassigned generic type parameters. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.MethodWrapper.IsGenericMethod"> + <summary> + Gets a value indicating whether the method is a generic method. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.MethodWrapper.IsGenericMethodDefinition"> + <summary> + Gets a value indicating whether the MethodInfo represents the definition of a generic method. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.MethodWrapper.ReturnType"> + <summary> + Gets the return Type of the method. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.MethodWrapper.GetParameters"> + <summary> + Gets the parameters of the method. + </summary> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Internal.MethodWrapper.GetGenericArguments"> + <summary> + Returns the Type arguments of a generic method or the Type parameters of a generic method definition. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.MethodWrapper.MakeGenericMethod(System.Type[])"> + <summary> + Replaces the type parameters of the method with the array of types provided and returns a new IMethodInfo. + </summary> + <param name="typeArguments">The type arguments to be used</param> + <returns>A new IMethodInfo with the type arguments replaced</returns> + </member> + <member name="M:NUnit.Framework.Internal.MethodWrapper.GetCustomAttributes``1(System.Boolean)"> + <summary> + Returns an array of custom attributes of the specified type applied to this method + </summary> + </member> + <member name="M:NUnit.Framework.Internal.MethodWrapper.IsDefined``1(System.Boolean)"> + <summary> + Gets a value indicating whether one or more attributes of the specified type are defined on the method. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.MethodWrapper.Invoke(System.Object,System.Object[])"> + <summary> + Invokes the method, converting any TargetInvocationException to an NUnitException. + </summary> + <param name="fixture">The object on which to invoke the method</param> + <param name="args">The argument list for the method</param> + <returns>The return value from the invoked method</returns> + </member> + <member name="M:NUnit.Framework.Internal.MethodWrapper.ToString"> + <summary> + Override ToString() so that error messages in NUnit's own tests make sense + </summary> + </member> + <member name="M:NUnit.Framework.Internal.MethodWrapper.Equals(NUnit.Framework.Internal.MethodWrapper)"> + <inheritdoc /> + </member> + <member name="M:NUnit.Framework.Internal.MethodWrapper.Equals(System.Object)"> + <inheritdoc /> + </member> + <member name="M:NUnit.Framework.Internal.MethodWrapper.GetHashCode"> + <inheritdoc /> + </member> + <member name="T:NUnit.Framework.Internal.NUnitCallContext"> + <summary> + This class ensures the <see cref="T:System.Runtime.Remoting.Messaging.CallContext"/> 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 + </summary> + </member> + <member name="T:NUnit.Framework.Internal.NUnitException"> + <summary> + Thrown when an assertion failed. Here to preserve the inner + exception and hence its stack trace. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.NUnitException.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.NUnitException"/> class. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.NUnitException.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.NUnitException"/> class. + </summary> + <param name="message">The error message that explains + the reason for the exception</param> + </member> + <member name="M:NUnit.Framework.Internal.NUnitException.#ctor(System.String,System.Exception)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.NUnitException"/> class. + </summary> + <param name="message">The error message that explains + the reason for the exception</param> + <param name="inner">The exception that caused the + current exception</param> + </member> + <member name="M:NUnit.Framework.Internal.NUnitException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)"> + <summary> + Serialization Constructor + </summary> + </member> + <member name="T:NUnit.Framework.Internal.On"> + <summary> + Enables the <see cref="M:NUnit.Framework.Internal.On.Dispose(System.Action)"/> syntax. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.On.Dispose(System.Action)"> + <summary> + 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. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.OSPlatform"> + <summary> + OSPlatform represents a particular operating system platform + </summary> + </member> + <member name="F:NUnit.Framework.Internal.OSPlatform.UnixPlatformID_Microsoft"> + <summary> + Platform ID for Unix as defined by .NET + </summary> + </member> + <member name="F:NUnit.Framework.Internal.OSPlatform.UnixPlatformID_Mono"> + <summary> + Platform ID for Unix as defined by Mono + </summary> + </member> + <member name="F:NUnit.Framework.Internal.OSPlatform.XBoxPlatformID"> + <summary> + Platform ID for XBox as defined by .NET and Mono + </summary> + </member> + <member name="F:NUnit.Framework.Internal.OSPlatform.MacOSXPlatformID"> + <summary> + Platform ID for MacOSX as defined by .NET and Mono + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.CurrentPlatform"> + <summary> + Get the OSPlatform under which we are currently running + </summary> + </member> + <member name="M:NUnit.Framework.Internal.OSPlatform.GetWindows81PlusVersion(System.Version)"> + <summary> + Gets the actual OS Version, not the incorrect value that might be + returned for Win 8.1 and Win 10 + </summary> + <remarks> + 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. + </remarks> + <param name="version">The original version</param> + <returns>The correct OS version</returns> + </member> + <member name="T:NUnit.Framework.Internal.OSPlatform.ProductType"> + <summary> + Product Type Enumeration used for Windows + </summary> + </member> + <member name="F:NUnit.Framework.Internal.OSPlatform.ProductType.Unknown"> + <summary> + Product type is unknown or unspecified + </summary> + </member> + <member name="F:NUnit.Framework.Internal.OSPlatform.ProductType.WorkStation"> + <summary> + Product type is Workstation + </summary> + </member> + <member name="F:NUnit.Framework.Internal.OSPlatform.ProductType.DomainController"> + <summary> + Product type is Domain Controller + </summary> + </member> + <member name="F:NUnit.Framework.Internal.OSPlatform.ProductType.Server"> + <summary> + Product type is Server + </summary> + </member> + <member name="M:NUnit.Framework.Internal.OSPlatform.#ctor(System.PlatformID,System.Version)"> + <summary> + Construct from a platform ID and version + </summary> + </member> + <member name="M:NUnit.Framework.Internal.OSPlatform.#ctor(System.PlatformID,System.Version,NUnit.Framework.Internal.OSPlatform.ProductType)"> + <summary> + Construct from a platform ID, version and product type + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.Platform"> + <summary> + Get the platform ID of this instance + </summary> + </member> + <member name="M:NUnit.Framework.Internal.OSPlatform.ToString"> + <summary> + Implemented to use in place of Environment.OSVersion.ToString() + </summary> + <returns>A representation of the platform ID and version in an approximation of the format used by Environment.OSVersion.ToString()</returns> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.Version"> + <summary> + Get the Version of this instance + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.Product"> + <summary> + Get the Product Type of this instance + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWindows"> + <summary> + Return true if this is a windows platform + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsUnix"> + <summary> + Return true if this is a Unix or Linux platform + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWin32S"> + <summary> + Return true if the platform is Win32S + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWin32Windows"> + <summary> + Return true if the platform is Win32Windows + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWin32NT"> + <summary> + Return true if the platform is Win32NT + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWinCE"> + <summary> + Return true if the platform is Windows CE + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsXbox"> + <summary> + Return true if the platform is Xbox + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsMacOSX"> + <summary> + Return true if the platform is MacOSX + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWin95"> + <summary> + Return true if the platform is Windows 95 + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWin98"> + <summary> + Return true if the platform is Windows 98 + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWinME"> + <summary> + Return true if the platform is Windows ME + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsNT3"> + <summary> + Return true if the platform is NT 3 + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsNT4"> + <summary> + Return true if the platform is NT 4 + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsNT5"> + <summary> + Return true if the platform is NT 5 + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWin2K"> + <summary> + Return true if the platform is Windows 2000 + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWinXP"> + <summary> + Return true if the platform is Windows XP + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWin2003Server"> + <summary> + Return true if the platform is Windows 2003 Server + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsNT6"> + <summary> + Return true if the platform is NT 6 + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsNT60"> + <summary> + Return true if the platform is NT 6.0 + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsNT61"> + <summary> + Return true if the platform is NT 6.1 + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsNT62"> + <summary> + Return true if the platform is NT 6.2 + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsNT63"> + <summary> + Return true if the platform is NT 6.3 + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsVista"> + <summary> + Return true if the platform is Vista + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWin2008Server"> + <summary> + Return true if the platform is Windows 2008 Server (original or R2) + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWin2008ServerR1"> + <summary> + Return true if the platform is Windows 2008 Server (original) + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWin2008ServerR2"> + <summary> + Return true if the platform is Windows 2008 Server R2 + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWin2012Server"> + <summary> + Return true if the platform is Windows 2012 Server (original or R2) + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWin2012ServerR1"> + <summary> + Return true if the platform is Windows 2012 Server (original) + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWin2012ServerR2"> + <summary> + Return true if the platform is Windows 2012 Server R2 + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWindows7"> + <summary> + Return true if the platform is Windows 7 + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWindows8"> + <summary> + Return true if the platform is Windows 8 + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWindows81"> + <summary> + Return true if the platform is Windows 8.1 + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWindows10"> + <summary> + Return true if the platform is Windows 10 + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWindowsServer10"> + <summary> + Return true if the platform is Windows Server. This is named Windows + Server 10 to distinguish it from previous versions of Windows Server. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.ParamAttributeTypeConversions"> + <summary> + <para> + 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. + </para> + <para> + For example, since you can’t apply attributes using <see cref="T:System.Decimal"/> arguments, we allow the C# syntax + <c>10</c> (<see cref="T:System.Int32"/> value) or <c>0.1</c> (<see cref="T:System.Double"/> value) to be specified. + NUnit then converts it to match the method’s <see cref="T:System.Decimal"/> parameters, just as if you were actually + using the syntax <c>TestMethod(10)</c> or <c>TestMethod(0.1)</c>. + </para> + <para> + For another example, you might have written the syntax <c>10</c> and picked up the <see cref="T:System.Int32"/> attribute + constructor overload; however, the test method for which this value is intended only has a <see cref="T:System.Byte"/> + signature. Again, NUnit simulates what would have happened if the inferred C# syntax was transplanted + and you were actually using the syntax <c>TestMethod(10)</c>. + </para> + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ParamAttributeTypeConversions.ConvertData(System.Object[],System.Type)"> + <summary> + Converts an array of objects to the <paramref name="targetType"/>, if it is supported. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ParamAttributeTypeConversions.Convert(System.Object,System.Type)"> + <summary> + Converts a single value to the <paramref name="targetType"/>, if it is supported. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ParamAttributeTypeConversions.TryConvert(System.Object,System.Type,System.Object@)"> + <summary> + 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. + </summary> + <param name="value">The value to be converted</param> + <param name="targetType">The target <see cref="T:System.Type"/> in which the <paramref name="value"/> should be converted</param> + <param name="convertedValue">If conversion was successfully applied, the <paramref name="value"/> converted into <paramref name="targetType"/></param> + <returns> + <see langword="true"/> if <paramref name="value"/> was converted and <paramref name="convertedValue"/> should be used; + <see langword="false"/> is no conversion was applied and <paramref name="convertedValue"/> should be ignored + </returns> + </member> + <member name="T:NUnit.Framework.Internal.ParameterWrapper"> + <summary> + The ParameterWrapper class wraps a ParameterInfo so that it may + be used in a platform-independent manner. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ParameterWrapper.#ctor(NUnit.Framework.Interfaces.IMethodInfo,System.Reflection.ParameterInfo)"> + <summary> + Construct a ParameterWrapper for a given method and parameter + </summary> + <param name="method"></param> + <param name="parameterInfo"></param> + </member> + <member name="P:NUnit.Framework.Internal.ParameterWrapper.IsOptional"> + <summary> + Gets a value indicating whether the parameter is optional + </summary> + </member> + <member name="P:NUnit.Framework.Internal.ParameterWrapper.Method"> + <summary> + Gets an IMethodInfo representing the method for which this is a parameter. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.ParameterWrapper.ParameterInfo"> + <summary> + Gets the underlying ParameterInfo + </summary> + </member> + <member name="P:NUnit.Framework.Internal.ParameterWrapper.ParameterType"> + <summary> + Gets the Type of the parameter + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ParameterWrapper.GetCustomAttributes``1(System.Boolean)"> + <summary> + Returns an array of custom attributes of the specified type applied to this method + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ParameterWrapper.IsDefined``1(System.Boolean)"> + <summary> + Gets a value indicating whether one or more attributes of the specified type are defined on the parameter. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.PlatformHelper"> + <summary> + PlatformHelper class is used by the PlatformAttribute class to + determine whether a platform is supported. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PlatformHelper.OSPlatforms"> + <summary> + Comma-delimited list of all supported OS platform constants + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PlatformHelper.RuntimePlatforms"> + <summary> + Comma-delimited list of all supported Runtime platform constants + </summary> + </member> + <member name="M:NUnit.Framework.Internal.PlatformHelper.#ctor"> + <summary> + Default constructor uses the operating system and + common language runtime of the system. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.PlatformHelper.#ctor(NUnit.Framework.Internal.OSPlatform,NUnit.Framework.Internal.RuntimeFramework)"> + <summary> + Construct a PlatformHelper for a particular operating + system and common language runtime. Used in testing. + </summary> + <param name="rt">RuntimeFramework to be used</param> + <param name="os">OperatingSystem to be used</param> + </member> + <member name="M:NUnit.Framework.Internal.PlatformHelper.IsPlatformSupported(System.String[])"> + <summary> + Test to determine if one of a collection of platforms + is being used currently. + </summary> + <param name="platforms"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Internal.PlatformHelper.IsPlatformSupported(NUnit.Framework.PlatformAttribute)"> + <summary> + Tests to determine if the current platform is supported + based on a platform attribute. + </summary> + <param name="platformAttribute">The attribute to examine</param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Internal.PlatformHelper.IsPlatformSupported(NUnit.Framework.TestCaseAttribute)"> + <summary> + Tests to determine if the current platform is supported + based on a platform attribute. + </summary> + <param name="testCaseAttribute">The attribute to examine</param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Internal.PlatformHelper.IsPlatformSupported(System.String)"> + <summary> + Test to determine if a particular platform or comma-delimited set of platforms is in use. + </summary> + <param name="platform">Name of the platform or comma-separated list of platform ids</param> + <returns>True if the platform is in use on the system</returns> + </member> + <member name="P:NUnit.Framework.Internal.PlatformHelper.Reason"> + <summary> + Return the last failure reason. Results are not + defined if called before IsSupported( Attribute ) + is called. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.PreFilter"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.PreFilter.Empty"> + <summary> + Return a new PreFilter, without elements, which is considered + empty and always matches. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.PreFilter.IsEmpty"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.PreFilter.Add(System.String)"> + <summary> + Add a new filter element to the filter + </summary> + <param name="filterText"></param> + </member> + <member name="M:NUnit.Framework.Internal.PreFilter.IsMatch(System.Type)"> + <summary> + Use the filter on a Type, returning true if the type matches the filter + and should therefore be included in the discovery process. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.PreFilter.IsMatch(System.Type,System.Reflection.MethodInfo)"> + <summary> + Use the filter on a Type, returning true if the type matches the filter + and should therefore be included in the discovery process. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.PropertyBag"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.PropertyBag.Add(System.String,System.Object)"> + <summary> + Adds a key/value pair to the property set + </summary> + <param name="key">The key</param> + <param name="value">The value</param> + </member> + <member name="M:NUnit.Framework.Internal.PropertyBag.Set(System.String,System.Object)"> + <summary> + Sets the value for a key, removing any other + values that are already in the property set. + </summary> + <param name="key"></param> + <param name="value"></param> + </member> + <member name="M:NUnit.Framework.Internal.PropertyBag.Get(System.String)"> + <summary> + 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. + </summary> + <param name="key"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Internal.PropertyBag.ContainsKey(System.String)"> + <summary> + Gets a flag indicating whether the specified key has + any entries in the property set. + </summary> + <param name="key">The key to be checked</param> + <returns> + True if their are values present, otherwise false + </returns> + </member> + <member name="P:NUnit.Framework.Internal.PropertyBag.Keys"> + <summary> + Gets a collection containing all the keys in the property set + </summary> + <value></value> + </member> + <member name="P:NUnit.Framework.Internal.PropertyBag.Item(System.String)"> + <summary> + Gets or sets the list of values for a particular key + </summary> + </member> + <member name="M:NUnit.Framework.Internal.PropertyBag.ToXml(System.Boolean)"> + <summary> + Returns an XmlNode representing the current PropertyBag. + </summary> + <param name="recursive">Not used</param> + <returns>An XmlNode representing the PropertyBag</returns> + </member> + <member name="M:NUnit.Framework.Internal.PropertyBag.AddToXml(NUnit.Framework.Interfaces.TNode,System.Boolean)"> + <summary> + Returns an XmlNode representing the PropertyBag after + adding it as a child of the supplied parent node. + </summary> + <param name="parentNode">The parent node.</param> + <param name="recursive">Not used</param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Internal.PropertyNames"> + <summary> + The PropertyNames class provides static constants for the + standard property ids that NUnit uses on tests. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PropertyNames.AppDomain"> + <summary> + The FriendlyName of the AppDomain in which the assembly is running + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PropertyNames.JoinType"> + <summary> + The selected strategy for joining parameter data into test cases + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PropertyNames.ProcessId"> + <summary> + The process ID of the executing assembly + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PropertyNames.ProviderStackTrace"> + <summary> + The stack trace from any data provider that threw + an exception. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PropertyNames.SkipReason"> + <summary> + The reason a test was not run + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PropertyNames.Author"> + <summary> + The author of the tests + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PropertyNames.ApartmentState"> + <summary> + The ApartmentState required for running the test + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PropertyNames.Category"> + <summary> + The categories applying to a test + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PropertyNames.Description"> + <summary> + The Description of a test + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PropertyNames.LevelOfParallelism"> + <summary> + The number of threads to be used in running tests + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PropertyNames.MaxTime"> + <summary> + The maximum time in ms, above which the test is considered to have failed + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PropertyNames.ParallelScope"> + <summary> + The ParallelScope associated with a test + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PropertyNames.RepeatCount"> + <summary> + The number of times the test should be repeated + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PropertyNames.RequiresThread"> + <summary> + Indicates that the test should be run on a separate thread + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PropertyNames.SetCulture"> + <summary> + The culture to be set for a test + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PropertyNames.SetUICulture"> + <summary> + The UI culture to be set for a test + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PropertyNames.TestOf"> + <summary> + The type that is under test + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PropertyNames.Timeout"> + <summary> + The timeout value for the test + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PropertyNames.IgnoreUntilDate"> + <summary> + The test will be ignored until the given date + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PropertyNames.Order"> + <summary> + The optional Order the test will run in + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Randomizer"> + <summary> + 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. + </summary> + <remarks> + 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. + </remarks> + </member> + <member name="P:NUnit.Framework.Internal.Randomizer.InitialSeed"> + <summary> + Initial seed used to create randomizers for this run + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.GetRandomizer(System.Reflection.MemberInfo)"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.GetRandomizer(System.Reflection.ParameterInfo)"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.CreateRandomizer"> + <summary> + Create a new Randomizer using the next seed + available to ensure that each randomizer gives + a unique sequence of values. + </summary> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.#ctor"> + <summary> + Default constructor + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.#ctor(System.Int32)"> + <summary> + Construct based on seed value + </summary> + <param name="seed"></param> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextUInt"> + <summary> + Returns a random unsigned int. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextUInt(System.UInt32)"> + <summary> + Returns a random unsigned int less than the specified maximum. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextUInt(System.UInt32,System.UInt32)"> + <summary> + Returns a random unsigned int within a specified range. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextShort"> + <summary> + Returns a non-negative random short. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextShort(System.Int16)"> + <summary> + Returns a non-negative random short less than the specified maximum. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextShort(System.Int16,System.Int16)"> + <summary> + Returns a non-negative random short within a specified range. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextUShort"> + <summary> + Returns a random unsigned short. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextUShort(System.UInt16)"> + <summary> + Returns a random unsigned short less than the specified maximum. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextUShort(System.UInt16,System.UInt16)"> + <summary> + Returns a random unsigned short within a specified range. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextLong"> + <summary> + Returns a random long. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextLong(System.Int64)"> + <summary> + Returns a random long less than the specified maximum. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextLong(System.Int64,System.Int64)"> + <summary> + Returns a non-negative random long within a specified range. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextULong"> + <summary> + Returns a random ulong. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextULong(System.UInt64)"> + <summary> + Returns a random ulong less than the specified maximum. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextULong(System.UInt64,System.UInt64)"> + <summary> + Returns a non-negative random long within a specified range. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextByte"> + <summary> + Returns a random Byte + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextByte(System.Byte)"> + <summary> + Returns a random Byte less than the specified maximum. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextByte(System.Byte,System.Byte)"> + <summary> + Returns a random Byte within a specified range + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextSByte"> + <summary> + Returns a random SByte + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextSByte(System.SByte)"> + <summary> + Returns a random sbyte less than the specified maximum. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextSByte(System.SByte,System.SByte)"> + <summary> + Returns a random sbyte within a specified range + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextBool"> + <summary> + Returns a random bool + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextBool(System.Double)"> + <summary> + Returns a random bool based on the probability a true result + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextDouble(System.Double)"> + <summary> + Returns a random double between 0.0 and the specified maximum. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextDouble(System.Double,System.Double)"> + <summary> + Returns a random double within a specified range. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextFloat"> + <summary> + Returns a random float. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextFloat(System.Single)"> + <summary> + Returns a random float between 0.0 and the specified maximum. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextFloat(System.Single,System.Single)"> + <summary> + Returns a random float within a specified range. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextEnum(System.Type)"> + <summary> + Returns a random enum value of the specified Type as an object. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextEnum``1"> + <summary> + Returns a random enum value of the specified Type. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Randomizer.DefaultStringChars"> + <summary> + Default characters for random functions. + </summary> + <remarks>Default characters are the English alphabet (uppercase & lowercase), Arabic numerals, and underscore</remarks> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.GetString(System.Int32,System.String)"> + <summary> + Generate a random string based on the characters from the input string. + </summary> + <param name="outputLength">desired length of output string.</param> + <param name="allowedChars">string representing the set of characters from which to construct the resulting string</param> + <returns>A random string of arbitrary length</returns> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.GetString(System.Int32)"> + <summary> + Generate a random string based on the characters from the input string. + </summary> + <param name="outputLength">desired length of output string.</param> + <returns>A random string of arbitrary length</returns> + <remarks>Uses <see cref="F:NUnit.Framework.Internal.Randomizer.DefaultStringChars">DefaultStringChars</see> as the input character set </remarks> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.GetString"> + <summary> + Generate a random string based on the characters from the input string. + </summary> + <returns>A random string of the default length</returns> + <remarks>Uses <see cref="F:NUnit.Framework.Internal.Randomizer.DefaultStringChars">DefaultStringChars</see> as the input character set </remarks> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextDecimal"> + <summary> + Returns a random decimal. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextDecimal(System.Decimal)"> + <summary> + Returns a random decimal between positive zero and the specified maximum. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextDecimal(System.Decimal,System.Decimal)"> + <summary> + Returns a random decimal within a specified range, which is not + permitted to exceed decimal.MaxVal in the current implementation. + </summary> + <remarks> + A limitation of this implementation is that the range from min + to max must not exceed decimal.MaxVal. + </remarks> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextGuid"> + <summary> + Generates a valid version 4 <see cref="T:System.Guid"/>. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Reflect"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Reflect.HasMethodWithAttribute(System.Type,System.Type)"> + <summary> + Examine a fixture type and return true if it has a method with + a particular attribute. + </summary> + <param name="fixtureType">The type to examine</param> + <param name="attributeType">The attribute Type to look for</param> + <returns>True if found, otherwise false</returns> + </member> + <member name="M:NUnit.Framework.Internal.Reflect.Construct(System.Type)"> + <summary> + Invoke the default constructor on a Type + </summary> + <param name="type">The Type to be constructed</param> + <returns>An instance of the Type</returns> + </member> + <member name="M:NUnit.Framework.Internal.Reflect.Construct(System.Type,System.Object[])"> + <summary> + Invoke a constructor on a Type with arguments + </summary> + <param name="type">The Type to be constructed</param> + <param name="arguments">Arguments to the constructor</param> + <returns>An instance of the Type</returns> + </member> + <member name="M:NUnit.Framework.Internal.Reflect.GetTypeArray(System.Object[])"> + <summary> + Returns an array of types from an array of objects. + Differs from <see cref="M:System.Type.GetTypeArray(System.Object[])"/> by returning <see langword="null"/> + for null elements rather than throwing <see cref="T:System.ArgumentNullException"/>. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Reflect.GetConstructors(System.Type,System.Type[])"> + <summary> + Gets the constructors to which the specified argument types can be coerced. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Reflect.ParametersMatch(System.Reflection.ParameterInfo[],System.Type[])"> + <summary> + Determines if the given types can be coerced to match the given parameters. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Reflect.CanImplicitlyConvertTo(System.Type,System.Type)"> + <summary> + Determines whether the current type can be implicitly converted to the specified type. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Reflect.InvokeMethod(System.Reflection.MethodInfo,System.Object)"> + <summary> + Invoke a parameterless method returning void on an object. + </summary> + <param name="method">A MethodInfo for the method to be invoked</param> + <param name="fixture">The object on which to invoke the method</param> + </member> + <member name="M:NUnit.Framework.Internal.Reflect.InvokeMethod(System.Reflection.MethodInfo,System.Object,System.Object[])"> + <summary> + Invoke a method, converting any TargetInvocationException to an NUnitException. + </summary> + <param name="method">A MethodInfo for the method to be invoked</param> + <param name="fixture">The object on which to invoke the method</param> + <param name="args">The argument list for the method</param> + <returns>The return value from the invoked method</returns> + </member> + <member name="M:NUnit.Framework.Internal.Reflect.GetUltimateShadowingProperty(System.Type,System.String,System.Reflection.BindingFlags)"> + <summary> + <para> + Selects the ultimate shadowing property just like <c>dynamic</c> would, + rather than throwing <see cref="T:System.Reflection.AmbiguousMatchException"/> + for properties that shadow properties of a different property type + which is what <see cref="M:System.Type.GetProperty(System.String,System.Reflection.BindingFlags)"/> does. + </para> + <para> + 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. + </para> + </summary> + <param name="type">See <see cref="M:System.Type.GetProperty(System.String,System.Reflection.BindingFlags)"/>.</param> + <param name="name">See <see cref="M:System.Type.GetProperty(System.String,System.Reflection.BindingFlags)"/>.</param> + <param name="bindingFlags">See <see cref="M:System.Type.GetProperty(System.String,System.Reflection.BindingFlags)"/>.</param> + </member> + <member name="M:NUnit.Framework.Internal.Reflect.GetNonGenericPublicInstanceMethod(System.Type,System.String,System.Type[])"> + <summary> + Same as <c>GetMethod(<paramref name="name"/>, <see cref="F:System.Reflection.BindingFlags.Public"/> | + <see cref="F:System.Reflection.BindingFlags.Instance"/>, <see langword="null"/>, <paramref name="parameterTypes"/>, + <see langword="null"/>)</c> except that it also chooses only non-generic methods. + Useful for avoiding the <see cref="T:System.Reflection.AmbiguousMatchException"/> you can have with <c>GetMethod</c>. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Reflect.GetDefaultIndexer(System.Type,System.Type[])"> + <summary> + Returns the get accessor for the indexer. + </summary> + <param name="type">Type to reflect on for the indexer.</param> + <param name="indexerTypes">List of indexer types that matches the indexer type order.</param> + <returns>The Get accessor</returns> + </member> + <member name="M:NUnit.Framework.Internal.Reflect.GetMemberIncludingFromBase(System.Type,System.String,System.Reflection.BindingFlags)"> + <summary> + Searches for the specified members, using the specified binding constraints. + </summary> + <remarks> + Similar to <see cref="M:System.Type.GetMember(System.String,System.Reflection.BindingFlags)"/> but also finds private static members from the base class. + </remarks> + <param name="type">The type to find the members from.</param> + <param name="name">The string containing the name of the members to get.</param> + <param name="flags">A bitwise combination of the enumeration values that specify how the search is conducted.</param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Internal.TestCaseResult"> + <summary> + Represents the result of running a single test case. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestCaseResult.#ctor(NUnit.Framework.Internal.TestMethod)"> + <summary> + Construct a TestCaseResult based on a TestMethod + </summary> + <param name="test">A TestMethod to which the result applies.</param> + </member> + <member name="P:NUnit.Framework.Internal.TestCaseResult.FailCount"> + <summary> + Gets the number of test cases that failed + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestCaseResult.TotalCount"> + <summary> + Gets the number of test cases that executed + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestCaseResult.WarningCount"> + <summary> + Gets the number of test cases that had warnings + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestCaseResult.PassCount"> + <summary> + Gets the number of test cases that passed + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestCaseResult.SkipCount"> + <summary> + Gets the number of test cases that were skipped + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestCaseResult.InconclusiveCount"> + <summary> + Gets the number of test cases that were inconclusive + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestCaseResult.HasChildren"> + <summary> + Indicates whether this result has any child results. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestCaseResult.Children"> + <summary> + Gets the collection of child results. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.TestResult"> + <summary> + The TestResult class represents the result of a test. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TestResult.CHILD_ERRORS_MESSAGE"> + <summary> + Error message for when child tests have errors + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TestResult.CHILD_WARNINGS_MESSAGE"> + <summary> + Error message for when child tests have warnings + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TestResult.CHILD_IGNORE_MESSAGE"> + <summary> + Error message for when child tests are ignored + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TestResult.USER_CANCELLED_MESSAGE"> + <summary> + Error message for when user has cancelled the test run + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TestResult.MIN_DURATION"> + <summary> + The minimum duration for tests + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TestResult.InternalAssertCount"> + <summary> + Aggregate assertion count + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TestResult.RwLock"> + <summary> + ReaderWriterLock + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestResult.#ctor(NUnit.Framework.Interfaces.ITest)"> + <summary> + Construct a test result given a Test + </summary> + <param name="test">The test to be used</param> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.Test"> + <summary> + Gets the test with which this result is associated. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.ResultState"> + <summary> + Gets the ResultState of the test result, which + indicates the success or failure of the test. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.Name"> + <summary> + Gets the name of the test result + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.FullName"> + <summary> + Gets the full name of the test result + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.Duration"> + <summary> + Gets or sets the elapsed time for running the test in seconds + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.StartTime"> + <summary> + Gets or sets the time the test started running. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.EndTime"> + <summary> + Gets or sets the time the test finished running. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestResult.AddTestAttachment(NUnit.Framework.Interfaces.TestAttachment)"> + <summary> + Adds a test attachment to the test result + </summary> + <param name="attachment">The TestAttachment object to attach</param> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.TestAttachments"> + <summary> + Gets the collection of files attached to the test + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.Message"> + <summary> + Gets the message associated with a test + failure or with not running the test + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.StackTrace"> + <summary> + Gets any stack trace associated with an + error or failure. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.AssertCount"> + <summary> + Gets or sets the count of asserts executed + when running the test. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.TotalCount"> + <summary> + Gets the number of test cases executed + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.FailCount"> + <summary> + Gets the number of test cases that failed + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.WarningCount"> + <summary> + Gets the number of test cases that had warnings + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.PassCount"> + <summary> + Gets the number of test cases that passed + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.SkipCount"> + <summary> + Gets the number of test cases that were skipped + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.InconclusiveCount"> + <summary> + Gets the number of test cases that were inconclusive + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.HasChildren"> + <summary> + Indicates whether this result has any child results. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.Children"> + <summary> + Gets the collection of child results. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.OutWriter"> + <summary> + Gets a TextWriter, which will write output to be included in the result. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.Output"> + <summary> + Gets any text output written to this result. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.AssertionResults"> + <summary> + Gets a list of assertion results associated with the test. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestResult.ToXml(System.Boolean)"> + <summary> + Returns the XML representation of the result. + </summary> + <param name="recursive">If true, descendant results are included</param> + <returns>An XmlNode representing the result</returns> + </member> + <member name="M:NUnit.Framework.Internal.TestResult.AddToXml(NUnit.Framework.Interfaces.TNode,System.Boolean)"> + <summary> + Adds the XML representation of the result as a child of the + supplied parent node.. + </summary> + <param name="parentNode">The parent node.</param> + <param name="recursive">If true, descendant results are included</param> + <returns></returns> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.PendingFailures"> + <summary> + Gets a count of pending failures (from Multiple Assert) + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.WorstAssertionStatus"> + <summary> + Gets the worst assertion status (highest enum) in all the assertion results + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestResult.SetResult(NUnit.Framework.Interfaces.ResultState)"> + <summary> + Set the result of the test + </summary> + <param name="resultState">The ResultState to use in the result</param> + </member> + <member name="M:NUnit.Framework.Internal.TestResult.SetResult(NUnit.Framework.Interfaces.ResultState,System.String)"> + <summary> + Set the result of the test + </summary> + <param name="resultState">The ResultState to use in the result</param> + <param name="message">A message associated with the result state</param> + </member> + <member name="M:NUnit.Framework.Internal.TestResult.SetResult(NUnit.Framework.Interfaces.ResultState,System.String,System.String)"> + <summary> + Set the result of the test + </summary> + <param name="resultState">The ResultState to use in the result</param> + <param name="message">A message associated with the result state</param> + <param name="stackTrace">Stack trace giving the location of the command</param> + </member> + <member name="M:NUnit.Framework.Internal.TestResult.RecordException(System.Exception)"> + <summary> + Set the test result based on the type of exception thrown + </summary> + <param name="ex">The exception that was thrown</param> + </member> + <member name="M:NUnit.Framework.Internal.TestResult.RecordException(System.Exception,NUnit.Framework.Interfaces.FailureSite)"> + <summary> + Set the test result based on the type of exception thrown + </summary> + <param name="ex">The exception that was thrown</param> + <param name="site">The FailureSite to use in the result</param> + </member> + <member name="M:NUnit.Framework.Internal.TestResult.RecordTearDownException(System.Exception)"> + <summary> + 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. + </summary> + <param name="ex">The Exception to be recorded</param> + </member> + <member name="M:NUnit.Framework.Internal.TestResult.RecordTestCompletion"> + <summary> + Update overall test result, including legacy Message, based + on AssertionResults that have been saved to this point. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestResult.RecordAssertion(NUnit.Framework.Interfaces.AssertionResult)"> + <summary> + Record an assertion result + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestResult.RecordAssertion(NUnit.Framework.Interfaces.AssertionStatus,System.String,System.String)"> + <summary> + Record an assertion result + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestResult.RecordAssertion(NUnit.Framework.Interfaces.AssertionStatus,System.String)"> + <summary> + Record an assertion result + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestResult.CreateLegacyFailureMessage"> + <summary> + Creates a failure message incorporating failures + from a Multiple Assert block for use by runners + that don't know about AssertionResults. + </summary> + <returns>Message as a string</returns> + </member> + <member name="M:NUnit.Framework.Internal.TestResult.AddFailureElement(NUnit.Framework.Interfaces.TNode)"> + <summary> + Adds a failure element to a node and returns it. + </summary> + <param name="targetNode">The target node.</param> + <returns>The new failure element.</returns> + </member> + <member name="M:NUnit.Framework.Internal.TestResult.AddAttachmentsElement(NUnit.Framework.Interfaces.TNode)"> + <summary> + Adds an attachments element to a node and returns it. + </summary> + <param name="targetNode">The target node.</param> + <returns>The new attachments element.</returns> + </member> + <member name="T:NUnit.Framework.Internal.TestSuiteResult"> + <summary> + Represents the result of running a test suite + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestSuiteResult.#ctor(NUnit.Framework.Internal.TestSuite)"> + <summary> + Construct a TestSuiteResult base on a TestSuite + </summary> + <param name="suite">The TestSuite to which the result applies</param> + </member> + <member name="P:NUnit.Framework.Internal.TestSuiteResult.TotalCount"> + <summary> + Gets the number of test cases that executed + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestSuiteResult.FailCount"> + <summary> + Gets the number of test cases that failed + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestSuiteResult.PassCount"> + <summary> + Gets the number of test cases that passed + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestSuiteResult.WarningCount"> + <summary> + Gets the number of test cases that passed + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestSuiteResult.SkipCount"> + <summary> + Gets the number of test cases that were skipped + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestSuiteResult.InconclusiveCount"> + <summary> + Gets the number of test cases that were inconclusive + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestSuiteResult.HasChildren"> + <summary> + Indicates whether this result has any child results. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestSuiteResult.Children"> + <summary> + Gets the collection of child results. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestSuiteResult.AddResult(NUnit.Framework.Interfaces.ITestResult)"> + <summary> + Adds a child result to this result, setting this result's + ResultState to Failure if the child result failed. + </summary> + <param name="result">The result to be added</param> + </member> + <member name="T:NUnit.Framework.Internal.RuntimeFramework"> + <summary> + RuntimeFramework represents a particular version + of a common language runtime implementation. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.RuntimeFramework.DefaultVersion"> + <summary> + DefaultVersion is an empty Version, used to indicate that + NUnit should select the CLR version to use for the test. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.RuntimeFramework.#ctor(NUnit.Framework.Internal.RuntimeType,System.Version)"> + <summary> + 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. + </summary> + <param name="runtime">The runtime type of the framework</param> + <param name="version">The version of the framework</param> + </member> + <member name="P:NUnit.Framework.Internal.RuntimeFramework.CurrentFramework"> + <summary> + Static method to return a RuntimeFramework object + for the framework that is currently in use. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.RuntimeFramework.Runtime"> + <summary> + The type of this runtime framework + </summary> + </member> + <member name="P:NUnit.Framework.Internal.RuntimeFramework.FrameworkVersion"> + <summary> + The framework version for this runtime framework + </summary> + </member> + <member name="P:NUnit.Framework.Internal.RuntimeFramework.ClrVersion"> + <summary> + The CLR version for this runtime framework + </summary> + </member> + <member name="P:NUnit.Framework.Internal.RuntimeFramework.AllowAnyVersion"> + <summary> + Return true if any CLR version may be used in + matching this RuntimeFramework object. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.RuntimeFramework.DisplayName"> + <summary> + Returns the Display name for this framework + </summary> + </member> + <member name="M:NUnit.Framework.Internal.RuntimeFramework.Parse(System.String)"> + <summary> + 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'. + </summary> + <param name="s"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Internal.RuntimeFramework.ToString"> + <summary> + Overridden to return the short name of the framework + </summary> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Internal.RuntimeFramework.Supports(NUnit.Framework.Internal.RuntimeFramework)"> + <summary> + 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. + </summary> + <param name="target">The RuntimeFramework to be matched.</param> + <returns>True on match, otherwise false</returns> + </member> + <member name="T:NUnit.Framework.Internal.RuntimeType"> + <summary> + Enumeration identifying a common language + runtime implementation. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.RuntimeType.Any"> + <summary>Any supported runtime framework</summary> + </member> + <member name="F:NUnit.Framework.Internal.RuntimeType.NetFramework"> + <summary>Microsoft .NET Framework</summary> + </member> + <member name="F:NUnit.Framework.Internal.RuntimeType.Net"> + <summary>Microsoft .NET Framework</summary> + </member> + <member name="F:NUnit.Framework.Internal.RuntimeType.SSCLI"> + <summary>Microsoft Shared Source CLI</summary> + </member> + <member name="F:NUnit.Framework.Internal.RuntimeType.Mono"> + <summary>Mono</summary> + </member> + <member name="F:NUnit.Framework.Internal.RuntimeType.MonoTouch"> + <summary>MonoTouch</summary> + </member> + <member name="F:NUnit.Framework.Internal.RuntimeType.NetCore"> + <summary>Microsoft .NET Core, including .NET 5+</summary> + </member> + <member name="T:NUnit.Framework.Internal.SandboxedThreadState"> + <summary> + Holds thread state which is captured and restored in order to sandbox user code. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.SandboxedThreadState.Principal"> + <summary> + Thread principal. + This will be null on platforms that don't support <see cref="P:System.Threading.Thread.CurrentPrincipal"/>. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.SandboxedThreadState.Capture"> + <summary> + Captures a snapshot of the tracked state of the current thread to be restored later. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.SandboxedThreadState.Restore"> + <summary> + Restores the tracked state of the current thread to the previously captured state. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.SandboxedThreadState.WithCulture(System.Globalization.CultureInfo)"> + <summary> + Returns a copy with the specified culture. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.SandboxedThreadState.WithUICulture(System.Globalization.CultureInfo)"> + <summary> + Returns a copy with the specified UI culture. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.SandboxedThreadState.WithPrincipal(System.Security.Principal.IPrincipal)"> + <summary> + Returns a copy with the specified principal. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.SingleThreadedTestSynchronizationContext.Post(System.Threading.SendOrPostCallback,System.Object)"> + <summary> + May be called from any thread. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.SingleThreadedTestSynchronizationContext.Send(System.Threading.SendOrPostCallback,System.Object)"> + <summary> + May be called from any thread. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.SingleThreadedTestSynchronizationContext.ShutDown"> + <summary> + May be called from any thread. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.SingleThreadedTestSynchronizationContext.Run"> + <summary> + May be called from any thread, but may only be called once. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.StackFilter"> + <summary> + StackFilter class is used to remove internal NUnit + entries from a stack trace so that the resulting + trace provides better information about the test. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.StackFilter.DefaultFilter"> + <summary> + Single instance of our default filter + </summary> + </member> + <member name="M:NUnit.Framework.Internal.StackFilter.#ctor(System.String,System.String)"> + <summary> + Construct a stack filter instance + </summary> + <param name="topOfStackPattern">Regex pattern used to delete lines from the top of the stack</param> + <param name="bottomOfStackPattern">Regex pattern used to delete lines from the bottom of the stack</param> + </member> + <member name="M:NUnit.Framework.Internal.StackFilter.#ctor(System.String)"> + <summary> + Construct a stack filter instance + </summary> + <param name="topOfStackPattern">Regex pattern used to delete lines from the top of the stack</param> + </member> + <member name="M:NUnit.Framework.Internal.StackFilter.#ctor"> + <summary> + Construct a stack filter instance + </summary> + </member> + <member name="M:NUnit.Framework.Internal.StackFilter.Filter(System.String)"> + <summary> + Filters a raw stack trace and returns the result. + </summary> + <param name="rawTrace">The original stack trace</param> + <returns>A filtered stack trace</returns> + </member> + <member name="T:NUnit.Framework.Internal.StringUtil"> + <summary> + Provides methods to support legacy string comparison methods. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.StringUtil.Compare(System.String,System.String,System.Boolean)"> + <summary> + Compares two strings for equality, ignoring case if requested. + </summary> + <param name="strA">The first string.</param> + <param name="strB">The second string..</param> + <param name="ignoreCase">if set to <see langword="true"/>, the case of the letters in the strings is ignored.</param> + <returns>Zero if the strings are equivalent, a negative number if strA is sorted first, a positive number if + strB is sorted first</returns> + </member> + <member name="M:NUnit.Framework.Internal.StringUtil.StringsEqual(System.String,System.String,System.Boolean)"> + <summary> + Compares two strings for equality, ignoring case if requested. + </summary> + <param name="strA">The first string.</param> + <param name="strB">The second string..</param> + <param name="ignoreCase">if set to <see langword="true"/>, the case of the letters in the strings is ignored.</param> + <returns>True if the strings are equivalent, false if not.</returns> + </member> + <member name="T:NUnit.Framework.Internal.TestCaseParameters"> + <summary> + The TestCaseParameters class encapsulates method arguments and + other selected parameters needed for constructing + a parameterized test case. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TestCaseParameters._expectedResult"> + <summary> + The expected result to be returned + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestCaseParameters.#ctor"> + <summary> + Default Constructor creates an empty parameter set + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestCaseParameters.#ctor(System.Exception)"> + <summary> + Construct a non-runnable ParameterSet, specifying + the provider exception that made it invalid. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestCaseParameters.#ctor(System.Object[])"> + <summary> + Construct a parameter set with a list of arguments + </summary> + <param name="args"></param> + </member> + <member name="M:NUnit.Framework.Internal.TestCaseParameters.#ctor(NUnit.Framework.Interfaces.ITestCaseData)"> + <summary> + Construct a ParameterSet from an object implementing ITestCaseData + </summary> + <param name="data"></param> + </member> + <member name="P:NUnit.Framework.Internal.TestCaseParameters.ExpectedResult"> + <summary> + The expected result of the test, which + must match the method return type. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestCaseParameters.HasExpectedResult"> + <summary> + Gets a value indicating whether an expected result was specified. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.TestCaseTimeoutException"> + <summary> + TestCaseTimeoutException is thrown when a test running directly + on a TestWorker thread is cancelled due to timeout. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestCaseTimeoutException.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.TestCaseTimeoutException"/> class. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestCaseTimeoutException.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.TestCaseTimeoutException"/> class. + </summary> + <param name="message">The message.</param> + </member> + <member name="M:NUnit.Framework.Internal.TestCaseTimeoutException.#ctor(System.String,System.Exception)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.TestCaseTimeoutException"/> class. + </summary> + <param name="message">The message.</param> + <param name="inner">The inner.</param> + </member> + <member name="M:NUnit.Framework.Internal.TestCaseTimeoutException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)"> + <summary> + Serialization Constructor + </summary> + </member> + <member name="T:NUnit.Framework.Internal.TestExecutionContext"> + <summary> + 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. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TestExecutionContext._priorContext"> + <summary> + Link to a prior saved context + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TestExecutionContext._executionStatus"> + <summary> + Indicates that a stop has been requested + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TestExecutionContext._listener"> + <summary> + The event listener currently receiving notifications + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TestExecutionContext._assertCount"> + <summary> + The number of assertions for the current test + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TestExecutionContext._currentResult"> + <summary> + The current test result + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestExecutionContext.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.TestExecutionContext"/> class. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestExecutionContext.#ctor(NUnit.Framework.Internal.TestExecutionContext)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.TestExecutionContext"/> class. + </summary> + <param name="other">An existing instance of TestExecutionContext.</param> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.CurrentContext"> + <summary> + Gets and sets the current context. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.CurrentTest"> + <summary> + Gets or sets the current test + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.StartTime"> + <summary> + The time the current test started execution + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.StartTicks"> + <summary> + The time the current test started in Ticks + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.Duration"> + <summary> + Gets the elapsed time for running the test in seconds + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.CurrentResult"> + <summary> + Gets or sets the current test result + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.OutWriter"> + <summary> + Gets a TextWriter that will send output to the current test result. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.TestObject"> + <summary> + The current test object - that is the user fixture + object on which tests are being executed. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.StopOnError"> + <summary> + Get or set indicator that run should stop on the first error + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.ExecutionStatus"> + <summary> + Gets an enum indicating whether a stop has been requested. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.Listener"> + <summary> + The current test event listener + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.Dispatcher"> + <summary> + The current WorkItemDispatcher. Made public for + use by nunitlite.tests + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.ParallelScope"> + <summary> + The ParallelScope to be used by tests running in this context. + For builds with out the parallel feature, it has no effect. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.DefaultFloatingPointTolerance"> + <summary> + Default tolerance value used for floating point equality + when no other tolerance is specified. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.TestWorker"> + <summary> + The worker that spawned the context. + For builds without the parallel feature, it is null. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.RandomGenerator"> + <summary> + Gets the RandomGenerator specific to this Test + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.AssertCount"> + <summary> + Gets the assert count. + </summary> + <value>The assert count.</value> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.MultipleAssertLevel"> + <summary> + The current nesting level of multiple assert blocks + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.TestCaseTimeout"> + <summary> + Gets or sets the test case timeout value + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.UpstreamActions"> + <summary> + Gets a list of ITestActions set by upstream tests + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.CurrentCulture"> + <summary> + Saves or restores the CurrentCulture + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.CurrentUICulture"> + <summary> + Saves or restores the CurrentUICulture + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.CurrentPrincipal"> + <summary> + Gets or sets the current <see cref="T:System.Security.Principal.IPrincipal"/> for the Thread. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.CurrentValueFormatter"> + <summary> + The current head of the ValueFormatter chain, copied from MsgUtils.ValueFormatter + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.IsSingleThreaded"> + <summary> + If true, all tests must run on the same thread. No new thread may be spawned. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.CurrentRepeatCount"> + <summary> + The number of times the current test has been scheduled for execution. + Currently only being executed in a test using the <see cref="T:NUnit.Framework.RetryAttribute"/> + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestExecutionContext.UpdateContextFromEnvironment"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestExecutionContext.EstablishExecutionEnvironment"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestExecutionContext.IncrementAssertCount"> + <summary> + Increments the assert count by one. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestExecutionContext.IncrementAssertCount(System.Int32)"> + <summary> + Increments the assert count by a specified amount. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestExecutionContext.AddFormatter(NUnit.Framework.Constraints.ValueFormatterFactory)"> + <summary> + Adds a new ValueFormatterFactory to the chain of formatters + </summary> + <param name="formatterFactory">The new factory</param> + </member> + <member name="M:NUnit.Framework.Internal.TestExecutionContext.SendMessage(System.String,System.String)"> + <summary> + Sends a message from test to listeners. This message is not kind of test output and doesn't go to test result. + </summary> + <param name="destination">A name recognized by the intended listeners.</param> + <param name="message">A message to be sent</param> + </member> + <member name="M:NUnit.Framework.Internal.TestExecutionContext.InitializeLifetimeService"> + <summary> + Obtain lifetime service object + </summary> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Internal.TestExecutionContext.IsolatedContext"> + <summary> + 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. + </summary> + <example> + using (new TestExecutionContext.IsolatedContext()) + { + // Code that should not impact the result + } + </example> + </member> + <member name="M:NUnit.Framework.Internal.TestExecutionContext.IsolatedContext.#ctor"> + <summary> + Save the original current TestExecutionContext and + make a new isolated context current. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestExecutionContext.IsolatedContext.Dispose"> + <summary> + Restore the original TestExecutionContext. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.TestExecutionContext.AdhocContext"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestExecutionContext.AdhocContext.#ctor"> + <summary> + Construct an AdhocTestExecutionContext, which is used + whenever the current TestExecutionContext is found to be null. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.TestExecutionStatus"> + <summary> + Enumeration indicating whether the tests are + running normally or being cancelled. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TestExecutionStatus.Running"> + <summary> + Running normally with no stop requested + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TestExecutionStatus.StopRequested"> + <summary> + A graceful stop has been requested + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TestExecutionStatus.AbortRequested"> + <summary> + A forced stop has been requested + </summary> + </member> + <member name="T:NUnit.Framework.Internal.TestFilter"> + <summary> + 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. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TestFilter.Empty"> + <summary> + Unique Empty filter. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestFilter.IsEmpty"> + <summary> + Indicates whether this is the EmptyFilter + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestFilter.TopLevel"> + <summary> + Indicates whether this is a top-level filter, + not contained in any other filter. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestFilter.Pass(NUnit.Framework.Interfaces.ITest)"> + <summary> + 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. + </summary> + <param name="test">The test to which the filter is applied</param> + <returns>True if the test passes the filter, otherwise false</returns> + </member> + <member name="M:NUnit.Framework.Internal.TestFilter.Pass(NUnit.Framework.Interfaces.ITest,System.Boolean)"> + <summary> + 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. + </summary> + <param name="test">The test to which the filter is applied</param> + <param name="negated">If set to <see langword="true"/> we are carrying a negation through</param> + <returns>True if the test passes the filter, otherwise false</returns> + </member> + <member name="M:NUnit.Framework.Internal.TestFilter.IsExplicitMatch(NUnit.Framework.Interfaces.ITest)"> + <summary> + 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. + </summary> + <param name="test">The test to which the filter is applied</param> + <returns>True if the test matches the filter explicitly, otherwise false</returns> + </member> + <member name="M:NUnit.Framework.Internal.TestFilter.Match(NUnit.Framework.Interfaces.ITest)"> + <summary> + 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. + </summary> + <param name="test">The test to which the filter is applied</param> + <returns>True if the filter matches the any parent of the test</returns> + </member> + <member name="M:NUnit.Framework.Internal.TestFilter.MatchParent(NUnit.Framework.Interfaces.ITest)"> + <summary> + Determine whether any ancestor of the test matches the filter criteria + </summary> + <param name="test">The test to which the filter is applied</param> + <returns>True if the filter matches the an ancestor of the test</returns> + </member> + <member name="M:NUnit.Framework.Internal.TestFilter.MatchDescendant(NUnit.Framework.Interfaces.ITest)"> + <summary> + Determine whether any descendant of the test matches the filter criteria. + </summary> + <param name="test">The test to be matched</param> + <returns>True if at least one descendant matches the filter criteria</returns> + </member> + <member name="M:NUnit.Framework.Internal.TestFilter.FromXml(System.String)"> + <summary> + Create a TestFilter instance from an XML representation. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestFilter.FromXml(NUnit.Framework.Interfaces.TNode)"> + <summary> + Create a TestFilter from its TNode representation + </summary> + </member> + <member name="T:NUnit.Framework.Internal.TestFilter.EmptyFilter"> + <summary> + Nested class provides an empty filter - one that always + returns true when called. It never matches explicitly. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestFilter.ToXml(System.Boolean)"> + <summary> + Adds an XML node + </summary> + <param name="recursive">True if recursive</param> + <returns>The added XML node</returns> + </member> + <member name="M:NUnit.Framework.Internal.TestFilter.AddToXml(NUnit.Framework.Interfaces.TNode,System.Boolean)"> + <summary> + Adds an XML node + </summary> + <param name="parentNode">Parent node</param> + <param name="recursive">True if recursive</param> + <returns>The added XML node</returns> + </member> + <member name="T:NUnit.Framework.Internal.TestFixtureParameters"> + <summary> + The TestCaseParameters class encapsulates method arguments and + other selected parameters needed for constructing + a parameterized test case. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestFixtureParameters.#ctor"> + <summary> + Default Constructor creates an empty parameter set + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestFixtureParameters.#ctor(System.Exception)"> + <summary> + Construct a non-runnable ParameterSet, specifying + the provider exception that made it invalid. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestFixtureParameters.#ctor(System.Object[])"> + <summary> + Construct a parameter set with a list of arguments + </summary> + <param name="args"></param> + </member> + <member name="M:NUnit.Framework.Internal.TestFixtureParameters.#ctor(NUnit.Framework.Interfaces.ITestFixtureData)"> + <summary> + Construct a ParameterSet from an object implementing ITestCaseData + </summary> + <param name="data"></param> + </member> + <member name="P:NUnit.Framework.Internal.TestFixtureParameters.TypeArgs"> + <summary> + Type arguments used to create a generic fixture instance + </summary> + </member> + <member name="T:NUnit.Framework.Internal.TestListener"> + <summary> + TestListener provides an implementation of ITestListener that + does nothing. It is used only through its NULL property. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestListener.TestStarted(NUnit.Framework.Interfaces.ITest)"> + <summary> + Called when a test has just started + </summary> + <param name="test">The test that is starting</param> + </member> + <member name="M:NUnit.Framework.Internal.TestListener.TestFinished(NUnit.Framework.Interfaces.ITestResult)"> + <summary> + Called when a test case has finished + </summary> + <param name="result">The result of the test</param> + </member> + <member name="M:NUnit.Framework.Internal.TestListener.TestOutput(NUnit.Framework.Interfaces.TestOutput)"> + <summary> + Called when a test produces output for immediate display + </summary> + <param name="output">A TestOutput object containing the text to display</param> + </member> + <member name="M:NUnit.Framework.Internal.TestListener.SendMessage(NUnit.Framework.Interfaces.TestMessage)"> + <summary> + Called when a test produces a message to be sent to listeners + </summary> + <param name="message">A <see cref="T:NUnit.Framework.Interfaces.TestMessage"/> object containing the message to send</param> + </member> + <member name="M:NUnit.Framework.Internal.TestListener.#ctor"> + <summary> + Construct a new TestListener - private so it may not be used. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestListener.NULL"> + <summary> + Get a listener that does nothing + </summary> + </member> + <member name="T:NUnit.Framework.Internal.TestNameGenerator"> + <summary> + TestNameGenerator is able to create test names according to + a coded pattern. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TestNameGenerator.DefaultTestNamePattern"> + <summary> + Default pattern used to generate names + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestNameGenerator.#ctor"> + <summary> + Construct a TestNameGenerator + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestNameGenerator.#ctor(System.String)"> + <summary> + Construct a TestNameGenerator + </summary> + <param name="pattern">The pattern used by this generator.</param> + </member> + <member name="M:NUnit.Framework.Internal.TestNameGenerator.GetDisplayName(NUnit.Framework.Internal.TestMethod)"> + <summary> + Get the display name for a TestMethod and its arguments + </summary> + <param name="testMethod">A TestMethod</param> + <returns>The display name</returns> + </member> + <member name="M:NUnit.Framework.Internal.TestNameGenerator.GetDisplayName(NUnit.Framework.Internal.TestMethod,System.Object[])"> + <summary> + Get the display name for a TestMethod and its arguments + </summary> + <param name="testMethod">A TestMethod</param> + <param name="args">Arguments to be used</param> + <returns>The display name</returns> + </member> + <member name="M:NUnit.Framework.Internal.TestNameGenerator.NameFragment.MayNeedEscape(System.String)"> + <summary> + Checks if string contains any character that might need escaping. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestNameGenerator.NameFragment.MayNeedEscape(System.Char)"> + <summary> + Checks whether given char *might* need escaping. + </summary> + <returns>False when absolutely no escaping is needed, otherwise true.</returns> + </member> + <member name="T:NUnit.Framework.Internal.TestParameters"> + <summary> + TestParameters is the abstract base class for all classes + that know how to provide data for constructing a test. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestParameters.#ctor"> + <summary> + Default Constructor creates an empty parameter set + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestParameters.#ctor(System.Object[])"> + <summary> + Construct a parameter set with a list of arguments + </summary> + <param name="args"></param> + </member> + <member name="M:NUnit.Framework.Internal.TestParameters.#ctor(System.Exception)"> + <summary> + Construct a non-runnable ParameterSet, specifying + the provider exception that made it invalid. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestParameters.#ctor(NUnit.Framework.Interfaces.ITestData)"> + <summary> + Construct a ParameterSet from an object implementing ITestData + </summary> + <param name="data"></param> + </member> + <member name="P:NUnit.Framework.Internal.TestParameters.RunState"> + <summary> + The RunState for this set of parameters. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestParameters.Arguments"> + <summary> + The arguments to be used in running the test, + which must match the method signature. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestParameters.TestName"> + <summary> + A name to be used for this test case in lieu + of the standard generated name containing + the argument list. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestParameters.Properties"> + <summary> + Gets the property dictionary for this test + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestParameters.ApplyToTest(NUnit.Framework.Internal.Test)"> + <summary> + Applies ParameterSet values to the test itself. + </summary> + <param name="test">A test.</param> + </member> + <member name="P:NUnit.Framework.Internal.TestParameters.OriginalArguments"> + <summary> + The original arguments provided by the user, + used for display purposes. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestParameters.ArgDisplayNames"> + <summary> + The list of display names to use as the parameters in the test name. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.TestProgressReporter"> + <summary> + TestProgressReporter translates ITestListener events into + the async callbacks that are used to inform the client + software about the progress of a test run. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestProgressReporter.#ctor(System.Web.UI.ICallbackEventHandler)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.TestProgressReporter"/> class. + </summary> + <param name="handler">The callback handler to be used for reporting progress.</param> + </member> + <member name="M:NUnit.Framework.Internal.TestProgressReporter.TestStarted(NUnit.Framework.Interfaces.ITest)"> + <summary> + Called when a test has just started + </summary> + <param name="test">The test that is starting</param> + </member> + <member name="M:NUnit.Framework.Internal.TestProgressReporter.TestFinished(NUnit.Framework.Interfaces.ITestResult)"> + <summary> + Called when a test has finished. Sends a result summary to the callback. + to + </summary> + <param name="result">The result of the test</param> + </member> + <member name="M:NUnit.Framework.Internal.TestProgressReporter.TestOutput(NUnit.Framework.Interfaces.TestOutput)"> + <summary> + Called when a test produces output for immediate display + </summary> + <param name="output">A TestOutput object containing the text to display</param> + </member> + <member name="M:NUnit.Framework.Internal.TestProgressReporter.SendMessage(NUnit.Framework.Interfaces.TestMessage)"> + <summary> + Called when a test produces a message to be sent to listeners + </summary> + <param name="message">A <see cref="T:NUnit.Framework.Interfaces.TestMessage"/> object containing the text to send</param> + </member> + <member name="M:NUnit.Framework.Internal.TestProgressReporter.GetParent(NUnit.Framework.Interfaces.ITest)"> + <summary> + Returns the parent test item for the target test item if it exists + </summary> + <param name="test"></param> + <returns>parent test item</returns> + </member> + <member name="M:NUnit.Framework.Internal.TestProgressReporter.FormatAttributeValue(System.String)"> + <summary> + Makes a string safe for use as an attribute, replacing + characters that can't be used with their + corresponding XML representations. + </summary> + <param name="original">The string to be used</param> + <returns>A new string with the values replaced</returns> + </member> + <member name="T:NUnit.Framework.Internal.ParameterizedFixtureSuite"> + <summary> + ParameterizedFixtureSuite serves as a container for the set of test + fixtures created from a given Type using various parameters. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ParameterizedFixtureSuite.#ctor(NUnit.Framework.Interfaces.ITypeInfo)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.ParameterizedFixtureSuite"/> class. + </summary> + <param name="typeInfo">The ITypeInfo for the type that represents the suite.</param> + </member> + <member name="M:NUnit.Framework.Internal.ParameterizedFixtureSuite.#ctor(NUnit.Framework.Internal.ParameterizedFixtureSuite,NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Creates a copy of the given suite with only the descendants that pass the specified filter. + </summary> + <param name="suite">The <see cref="T:NUnit.Framework.Internal.ParameterizedFixtureSuite"/> to copy.</param> + <param name="filter">Determines which descendants are copied.</param> + </member> + <member name="P:NUnit.Framework.Internal.ParameterizedFixtureSuite.TestType"> + <summary> + Gets a string representing the type of test + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ParameterizedFixtureSuite.Copy(NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Creates a filtered copy of the test suite. + </summary> + <param name="filter">Determines which descendants are copied.</param> + </member> + <member name="T:NUnit.Framework.Internal.ParameterizedMethodSuite"> + <summary> + ParameterizedMethodSuite holds a collection of individual + TestMethods with their arguments applied. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ParameterizedMethodSuite.#ctor(NUnit.Framework.Interfaces.IMethodInfo)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.ParameterizedMethodSuite"/> class. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ParameterizedMethodSuite.#ctor(NUnit.Framework.Internal.ParameterizedMethodSuite,NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Creates a copy of the given suite with only the descendants that pass the specified filter. + </summary> + <param name="suite">The <see cref="T:NUnit.Framework.Internal.ParameterizedMethodSuite"/> to copy.</param> + <param name="filter">Determines which descendants are copied.</param> + </member> + <member name="P:NUnit.Framework.Internal.ParameterizedMethodSuite.Method"> + <summary> + Gets a MethodInfo for the method implementing this test. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.ParameterizedMethodSuite.TestType"> + <summary> + Gets a string representing the type of test + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ParameterizedMethodSuite.Copy(NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Creates a filtered copy of the test suite. + </summary> + <param name="filter">Determines which descendants are copied.</param> + </member> + <member name="T:NUnit.Framework.Internal.SetUpFixture"> + <summary> + SetUpFixture extends TestSuite and supports + Setup and TearDown methods. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.SetUpFixture.#ctor(NUnit.Framework.Interfaces.ITypeInfo)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.SetUpFixture"/> class. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.SetUpFixture.#ctor(NUnit.Framework.Internal.SetUpFixture,NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Creates a copy of the given suite with only the descendants that pass the specified filter. + </summary> + <param name="setUpFixture">The <see cref="T:NUnit.Framework.Internal.SetUpFixture"/> to copy.</param> + <param name="filter">Determines which descendants are copied.</param> + </member> + <member name="P:NUnit.Framework.Internal.SetUpFixture.TypeInfo"> + <summary> + Gets the TypeInfo of the fixture used in running this test. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.SetUpFixture.Copy(NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Creates a filtered copy of the test suite. + </summary> + <param name="filter">Determines which descendants are copied.</param> + </member> + <member name="T:NUnit.Framework.Internal.Test"> + <summary> + The Test abstract class represents a test within the framework. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Test._nextID"> + <summary> + Static value to seed ids. It's started at 1000 so any + uninitialized ids will stand out. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Test._declaringTypeInfo"> + <summary> + Used to cache the declaring type for this MethodInfo + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Test._method"> + <summary> + Method property backing field + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Test.#ctor(System.String)"> + <summary> + Constructs a test given its name + </summary> + <param name="name">The name of the test</param> + </member> + <member name="M:NUnit.Framework.Internal.Test.#ctor(System.String,System.String)"> + <summary> + Constructs a test given the path through the + test hierarchy to its parent and a name. + </summary> + <param name="pathName">The parent tests full name</param> + <param name="name">The name of the test</param> + </member> + <member name="M:NUnit.Framework.Internal.Test.#ctor(NUnit.Framework.Interfaces.ITypeInfo)"> + <summary> + Constructs a test for a specific type. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Test.#ctor(NUnit.Framework.Interfaces.IMethodInfo)"> + <summary> + Constructs a test for a specific method. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Test.Id"> + <summary> + Gets or sets the id of the test + </summary> + <value></value> + </member> + <member name="P:NUnit.Framework.Internal.Test.Name"> + <summary> + Gets or sets the name of the test + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Test.FullName"> + <summary> + Gets or sets the fully qualified name of the test + </summary> + <value></value> + </member> + <member name="P:NUnit.Framework.Internal.Test.ClassName"> + <summary> + Gets the name of the class where this test was declared. + Returns null if the test is not associated with a class. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Test.MethodName"> + <summary> + Gets the name of the method implementing this test. + Returns null if the test is not implemented as a method. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Test.Arguments"> + <summary> + The arguments to use in creating the test or empty array if none required. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Test.TypeInfo"> + <summary> + Gets the TypeInfo of the fixture used in running this test + or null if no fixture type is associated with it. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Test.Method"> + <summary> + Gets a MethodInfo for the method implementing this test. + Returns null if the test is not implemented as a method. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Test.RunState"> + <summary> + Whether or not the test should be run + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Test.XmlElementName"> + <summary> + Gets the name used for the top-level element in the + XML representation of this test + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Test.TestType"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Test.TestCaseCount"> + <summary> + Gets a count of test cases represented by + or contained under this test. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Test.Properties"> + <summary> + Gets the properties for this test + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Test.IsSuite"> + <summary> + Returns true if this is a TestSuite + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Test.HasChildren"> + <summary> + Gets a bool indicating whether the current test + has any descendant tests. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Test.Parent"> + <summary> + Gets the parent as a Test object. + Used by the core to set the parent. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Test.Tests"> + <summary> + Gets this test's child tests + </summary> + <value>A list of child tests</value> + </member> + <member name="P:NUnit.Framework.Internal.Test.Fixture"> + <summary> + Gets or sets a fixture object for running this test. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Test.IdPrefix"> + <summary> + Static prefix used for ids in this AppDomain. + Set by FrameworkController. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Test.Seed"> + <summary> + Gets or Sets the Int value representing the seed for the RandomGenerator + </summary> + <value></value> + </member> + <member name="P:NUnit.Framework.Internal.Test.SetUpMethods"> + <summary> + The SetUp methods. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Test.TearDownMethods"> + <summary> + The teardown methods + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Test.MakeTestResult"> + <summary> + Creates a TestResult for this test. + </summary> + <returns>A TestResult suitable for this type of test.</returns> + </member> + <member name="M:NUnit.Framework.Internal.Test.ApplyAttributesToTest(System.Reflection.ICustomAttributeProvider)"> + <summary> + Modify a newly constructed test by applying any of NUnit's common + attributes, based on a supplied <see cref="T:System.Reflection.ICustomAttributeProvider"/>, 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Test.MakeInvalid(System.String)"> + <summary> + Mark the test as Invalid (not runnable) specifying a reason + </summary> + <param name="reason">The reason the test is not runnable</param> + </member> + <member name="M:NUnit.Framework.Internal.Test.GetCustomAttributes``1(System.Boolean)"> + <summary> + Get custom attributes applied to a test + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Test.PopulateTestNode(NUnit.Framework.Interfaces.TNode,System.Boolean)"> + <summary> + Add standard attributes and members to a test node. + </summary> + <param name="thisNode"></param> + <param name="recursive"></param> + </member> + <member name="M:NUnit.Framework.Internal.Test.ToXml(System.Boolean)"> + <summary> + Returns the XML representation of the test + </summary> + <param name="recursive">If true, include child tests recursively</param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Internal.Test.AddToXml(NUnit.Framework.Interfaces.TNode,System.Boolean)"> + <summary> + Returns an XmlNode representing the current result after + adding it as a child of the supplied parent node. + </summary> + <param name="parentNode">The parent node.</param> + <param name="recursive">If true, descendant results are included</param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Internal.Test.CompareTo(System.Object)"> + <summary>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.</summary> + <param name="obj">An object to compare with this instance. </param> + </member> + <member name="M:NUnit.Framework.Internal.Test.CompareTo(NUnit.Framework.Internal.Test)"> + <summary>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. </summary> + <param name="other">An object to compare with this instance.</param> + </member> + <member name="T:NUnit.Framework.Internal.TestAssembly"> + <summary> + TestAssembly is a TestSuite that represents the execution + of tests in a managed assembly. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestAssembly.#ctor(System.Reflection.Assembly,System.String)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.TestAssembly"/> class + specifying the Assembly and the suite name. + </summary> + <param name="assembly">The assembly this test represents.</param> + <param name="assemblyNameOrPath"> + This becomes the full name of the suite and the filename part is used as the suite name. + </param> + </member> + <member name="M:NUnit.Framework.Internal.TestAssembly.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.TestAssembly"/> class + specifying the suite name for an assembly that could not be loaded. + </summary> + <param name="assemblyNameOrPath"> + This becomes the full name of the suite and the filename part is used as the suite name. + </param> + </member> + <member name="M:NUnit.Framework.Internal.TestAssembly.#ctor(NUnit.Framework.Internal.TestAssembly,NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Creates a copy of the given assembly with only the descendants that pass the specified filter. + </summary> + <param name="assembly">The <see cref="T:NUnit.Framework.Internal.TestAssembly"/> to copy.</param> + <param name="filter">Determines which descendants are copied.</param> + </member> + <member name="P:NUnit.Framework.Internal.TestAssembly.Assembly"> + <summary> + Gets the Assembly represented by this instance. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestAssembly.TestType"> + <summary> + Gets the name used for the top-level element in the + XML representation of this test + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestAssembly.GetCustomAttributes``1(System.Boolean)"> + <summary> + Get custom attributes specified on the assembly + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestAssembly.Copy(NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Creates a filtered copy of the test suite. + </summary> + <param name="filter">Determines which descendants are copied.</param> + </member> + <member name="T:NUnit.Framework.Internal.TestFixture"> + <summary> + TestFixture is a surrogate for a user test fixture class, + containing one or more tests. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestFixture.LifeCycle"> + <summary> + The life cycle specified for the current test fixture. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestFixture.#ctor(NUnit.Framework.Interfaces.ITypeInfo,System.Object[])"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.TestFixture"/> class. + </summary> + <param name="fixtureType">Type of the fixture.</param> + <param name="arguments">Arguments used to instantiate the test fixture, or null if none used</param> + </member> + <member name="M:NUnit.Framework.Internal.TestFixture.#ctor(NUnit.Framework.Internal.TestFixture,NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Creates a copy of the given suite with only the descendants that pass the specified filter. + </summary> + <param name="fixture">The <see cref="T:NUnit.Framework.Internal.TestFixture"/> to copy.</param> + <param name="filter">Determines which descendants are copied.</param> + </member> + <member name="P:NUnit.Framework.Internal.TestFixture.TypeInfo"> + <summary> + Gets the TypeInfo of the fixture used in running this test. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestFixture.Copy(NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Creates a filtered copy of the test suite. + </summary> + <param name="filter">Determines which descendants are copied.</param> + </member> + <member name="T:NUnit.Framework.Internal.TestMethod"> + <summary> + The TestMethod class represents a Test implemented as a method. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TestMethod.parms"> + <summary> + The ParameterSet used to create this test method + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestMethod.#ctor(NUnit.Framework.Interfaces.IMethodInfo)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.TestMethod"/> class. + </summary> + <param name="method">The method to be used as a test.</param> + </member> + <member name="M:NUnit.Framework.Internal.TestMethod.#ctor(NUnit.Framework.Interfaces.IMethodInfo,NUnit.Framework.Internal.Test)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.TestMethod"/> class. + </summary> + <param name="method">The method to be used as a test.</param> + <param name="parentSuite">The suite or fixture to which the new test will be added</param> + </member> + <member name="P:NUnit.Framework.Internal.TestMethod.Method"> + <summary> + Gets a MethodInfo for the method implementing this test. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestMethod.Arguments"> + <summary> + The arguments to use in executing the test method, or empty array if none are provided. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestMethod.MakeTestResult"> + <summary> + Overridden to return a TestCaseResult. + </summary> + <returns>A TestResult for this test.</returns> + </member> + <member name="P:NUnit.Framework.Internal.TestMethod.HasChildren"> + <summary> + Gets a bool indicating whether the current test + has any descendant tests. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestMethod.AddToXml(NUnit.Framework.Interfaces.TNode,System.Boolean)"> + <summary> + Returns a TNode representing the current result after + adding it as a child of the supplied parent node. + </summary> + <param name="parentNode">The parent node.</param> + <param name="recursive">If true, descendant results are included</param> + <returns></returns> + </member> + <member name="P:NUnit.Framework.Internal.TestMethod.Tests"> + <summary> + Gets this test's child tests + </summary> + <value>A list of child tests</value> + </member> + <member name="P:NUnit.Framework.Internal.TestMethod.XmlElementName"> + <summary> + Gets the name used for the top-level element in the + XML representation of this test + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestMethod.MethodName"> + <summary> + Returns the name of the method + </summary> + </member> + <member name="T:NUnit.Framework.Internal.TestSuite"> + <summary> + TestSuite represents a composite test, which contains other tests. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TestSuite.tests"> + <summary> + Our collection of child tests + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestSuite.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.TestSuite"/> class. + </summary> + <param name="name">The name of the suite.</param> + </member> + <member name="M:NUnit.Framework.Internal.TestSuite.#ctor(System.String,System.String)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.TestSuite"/> class. + </summary> + <param name="parentSuiteName">Name of the parent suite.</param> + <param name="name">The name of the suite.</param> + </member> + <member name="M:NUnit.Framework.Internal.TestSuite.#ctor(NUnit.Framework.Interfaces.ITypeInfo,System.Object[])"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.TestSuite"/> class. + </summary> + <param name="fixtureType">Type of the fixture.</param> + <param name="arguments">Arguments used to instantiate the test fixture, or null if none used.</param> + </member> + <member name="M:NUnit.Framework.Internal.TestSuite.#ctor(System.Type)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.TestSuite"/> class. + </summary> + <param name="fixtureType">Type of the fixture.</param> + </member> + <member name="M:NUnit.Framework.Internal.TestSuite.#ctor(NUnit.Framework.Internal.TestSuite,NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Creates a copy of the given suite with only the descendants that pass the specified filter. + </summary> + <param name="suite">The <see cref="T:NUnit.Framework.Internal.TestSuite"/> to copy.</param> + <param name="filter">Determines which descendants are copied.</param> + </member> + <member name="M:NUnit.Framework.Internal.TestSuite.Sort"> + <summary> + Sorts tests under this suite. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestSuite.Add(NUnit.Framework.Internal.Test)"> + <summary> + Adds a test to the suite. + </summary> + <param name="test">The test.</param> + </member> + <member name="M:NUnit.Framework.Internal.TestSuite.Copy(NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Creates a filtered copy of the test suite. + </summary> + <param name="filter">Determines which descendants are copied.</param> + </member> + <member name="P:NUnit.Framework.Internal.TestSuite.Tests"> + <summary> + Gets this test's child tests + </summary> + <value>The list of child tests</value> + </member> + <member name="P:NUnit.Framework.Internal.TestSuite.TestCaseCount"> + <summary> + Gets a count of test cases represented by + or contained under this test. + </summary> + <value></value> + </member> + <member name="P:NUnit.Framework.Internal.TestSuite.Arguments"> + <summary> + The arguments to use in creating the fixture, or empty array if none are provided. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestSuite.MaintainTestOrder"> + <summary> + Set to true to suppress sorting this suite's contents + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestSuite.OneTimeSetUpMethods"> + <summary> + OneTimeSetUp methods for this suite + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestSuite.OneTimeTearDownMethods"> + <summary> + OneTimeTearDown methods for this suite + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestSuite.MakeTestResult"> + <summary> + Overridden to return a TestSuiteResult. + </summary> + <returns>A TestResult for this test.</returns> + </member> + <member name="P:NUnit.Framework.Internal.TestSuite.HasChildren"> + <summary> + Gets a bool indicating whether the current test + has any descendant tests. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestSuite.XmlElementName"> + <summary> + Gets the name used for the top-level element in the + XML representation of this test + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestSuite.AddToXml(NUnit.Framework.Interfaces.TNode,System.Boolean)"> + <summary> + Returns an XmlNode representing the current result after + adding it as a child of the supplied parent node. + </summary> + <param name="parentNode">The parent node.</param> + <param name="recursive">If true, descendant results are included</param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Internal.TestSuite.CheckSetUpTearDownMethods(NUnit.Framework.Interfaces.IMethodInfo[])"> + <summary> + Check that setup and teardown methods marked by certain attributes + meet NUnit's requirements and mark the tests not runnable otherwise. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.ThreadUtility"> + <summary> + ThreadUtility provides a set of static methods convenient + for working with threads. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ThreadUtility.Delay(System.Int32,System.Threading.WaitCallback,System.Object)"> + <summary> + Pre-Task compatibility + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ThreadUtility.Abort(System.Threading.Thread,System.Int32)"> + <summary> + Abort a thread, helping to dislodging it if it is blocked in native code + </summary> + <param name="thread">The thread to abort</param> + <param name="nativeId">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 <see cref="M:NUnit.Framework.Internal.ThreadUtility.GetCurrentThreadNativeId"/> from the running thread itself.</param> + </member> + <member name="M:NUnit.Framework.Internal.ThreadUtility.Kill(System.Threading.Thread,System.Int32)"> + <summary> + Do our best to kill a thread + </summary> + <param name="thread">The thread to kill</param> + <param name="nativeId">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 <see cref="M:NUnit.Framework.Internal.ThreadUtility.GetCurrentThreadNativeId"/> from the running thread itself.</param> + </member> + <member name="M:NUnit.Framework.Internal.ThreadUtility.Kill(System.Threading.Thread,System.Object,System.Int32)"> + <summary> + Do our best to kill a thread, passing state info + </summary> + <param name="thread">The thread to kill</param> + <param name="stateInfo">Info for the ThreadAbortException handler</param> + <param name="nativeId">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 <see cref="M:NUnit.Framework.Internal.ThreadUtility.GetCurrentThreadNativeId"/> from the running thread itself.</param> + </member> + <member name="M:NUnit.Framework.Internal.ThreadUtility.DislodgeThreadInNativeMessageWait(System.Threading.Thread,System.Int32)"> + <summary> + Schedule a thread pool thread to check on the aborting thread in case it's in a message pump native blocking wait + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ThreadUtility.GetCurrentThreadNativeId"> + <summary> + Captures the current thread's native id. If provided to <see cref="M:NUnit.Framework.Internal.ThreadUtility.Kill(System.Threading.Thread,System.Int32)"/> later, allows the thread to be killed if it's in a message pump native blocking wait. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ThreadUtility.PostThreadCloseMessage(System.Int32)"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ThreadUtility.GetCurrentThreadPrincipal"> + <summary>Gets <see cref="P:System.Threading.Thread.CurrentPrincipal"/> or <see langword="null" /> if the current platform does not support it.</summary> + </member> + <member name="M:NUnit.Framework.Internal.ThreadUtility.SetCurrentThreadPrincipal(System.Security.Principal.IPrincipal)"> + <summary>Sets <see cref="P:System.Threading.Thread.CurrentPrincipal"/> if current platform supports it.</summary> + <param name="principal">Value to set. If the current platform does not support <see cref="P:System.Threading.Thread.CurrentPrincipal"/> then the only allowed value is <see langword="null"/>.</param> + </member> + <member name="T:NUnit.Framework.Internal.TypeHelper"> + <summary> + TypeHelper provides static methods that operate on Types. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TypeHelper.GetDisplayName(System.Type)"> + <summary> + Gets the display name for a Type as used by NUnit. + </summary> + <param name="type">The Type for which a display name is needed.</param> + <returns>The display name for the Type</returns> + </member> + <member name="M:NUnit.Framework.Internal.TypeHelper.GetDisplayName(System.Type,System.Object[])"> + <summary> + Gets the display name for a Type as used by NUnit. + </summary> + <param name="type">The Type for which a display name is needed.</param> + <param name="arglist">The arglist provided.</param> + <returns>The display name for the Type</returns> + </member> + <member name="M:NUnit.Framework.Internal.TypeHelper.TryGetBestCommonType(System.Type,System.Type,System.Type@)"> + <summary> + Returns the best fit for a common type to be used in + matching actual arguments to a methods Type parameters. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TypeHelper.IsNumeric(System.Type)"> + <summary> + Determines whether the specified type is numeric. + </summary> + <param name="type">The type to be examined.</param> + <returns> + <see langword="true"/> if the specified type is numeric; otherwise, <see langword="false"/>. + </returns> + </member> + <member name="M:NUnit.Framework.Internal.TypeHelper.ConvertArgumentList(System.Object[],NUnit.Framework.Interfaces.IParameterInfo[])"> + <summary> + Convert an argument list to the required parameter types. + Currently, only widening numeric conversions are performed. + </summary> + <param name="arglist">An array of args to be converted</param> + <param name="parameters">A ParameterInfo[] whose types will be used as targets</param> + </member> + <member name="M:NUnit.Framework.Internal.TypeHelper.CanDeduceTypeArgsFromArgs(System.Type,System.Object[],System.Type[]@)"> + <summary> + Determines whether this instance can deduce type args for a generic type from the supplied arguments. + </summary> + <param name="type">The type to be examined.</param> + <param name="arglist">The arglist.</param> + <param name="typeArgsOut">The type args to be used.</param> + <returns> + <see langword="true"/> if this the provided args give sufficient information to determine the type args to be used; otherwise, <see langword="false"/>. + </returns> + </member> + <member name="M:NUnit.Framework.Internal.TypeHelper.GetDeclaredInterfaces(System.Type)"> + <summary> + Return the interfaces implemented by a Type. + </summary> + <param name="type">The Type to be examined.</param> + <returns>An array of Types for the interfaces.</returns> + </member> + <member name="M:NUnit.Framework.Internal.TypeHelper.IsValueTuple(System.Type)"> + <summary> + Return whether or not the given type is a ValueTuple. + </summary> + <param name="type">Type.</param> + <returns>Whether or not the given type is a ValueTuple.</returns> + </member> + <member name="M:NUnit.Framework.Internal.TypeHelper.IsTuple(System.Type)"> + <summary> + Return whether or not the given type is a Tuple. + </summary> + <param name="type">Type.</param> + <returns>Whether or not the given type is a Tuple.</returns> + </member> + <member name="M:NUnit.Framework.Internal.TypeHelper.CanCast``1(System.Object)"> + <summary> + Determines whether the cast to the given type would succeed. + If <paramref name="obj"/> is <see langword="null"/> and <typeparamref name="T"/> + can be <see langword="null"/>, the cast succeeds just like the C# language feature. + </summary> + <param name="obj">The object to cast.</param> + </member> + <member name="M:NUnit.Framework.Internal.TypeHelper.TryCast``1(System.Object,``0@)"> + <summary> + Casts to a value of the given type if possible. + If <paramref name="obj"/> is <see langword="null"/> and <typeparamref name="T"/> + can be <see langword="null"/>, the cast succeeds just like the C# language feature. + </summary> + <param name="obj">The object to cast.</param> + <param name="value">The value of the object, if the cast succeeded.</param> + </member> + <member name="T:NUnit.Framework.Internal.TypeNameDifferenceResolver"> + <summary> + Used for resolving the type difference between objects. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TypeNameDifferenceResolver.ResolveTypeNameDifference(System.Object,System.Object,System.String@,System.String@)"> + <summary> + Gets the shortened type name difference between <paramref name="expected"/> and <paramref name="actual"/>. + </summary> + <param name="expected">The expected object.</param> + <param name="actual">The actual object.</param> + <param name="expectedTypeShortened">Output of the unique type name for the expected object.</param> + <param name="actualTypeShortened">Output of the unique type name for actual object.</param> + </member> + <member name="M:NUnit.Framework.Internal.TypeNameDifferenceResolver.ResolveTypeNameDifference(System.Type,System.Type,System.String@,System.String@)"> + <summary> + Gets the shortened type name difference between <paramref name="expected"/> and <paramref name="actual"/>. + </summary> + <param name="expected">The expected object <see cref="T:System.Type"/>.</param> + <param name="actual">The actual object <see cref="T:System.Type"/>.</param> + <param name="expectedTypeShortened">Output of the unique type name for the expected object.</param> + <param name="actualTypeShortened">Output of the unique type name for actual object.</param> + </member> + <member name="M:NUnit.Framework.Internal.TypeNameDifferenceResolver.GetShortenedGenericParams(System.Type,System.Type,System.Collections.Generic.List{System.String}@,System.Collections.Generic.List{System.String}@)"> + <summary> + Obtain the shortened generic template parameters of the given <paramref name="expectedFullType"/> and <paramref name="actualFullType"/>, + if they are generic. + </summary> + <param name="expectedFullType">The expected <see cref="T:System.Type"/>.</param> + <param name="actualFullType">The actual <see cref="T:System.Type"/>.</param> + <param name="shortenedParamsExpected">Shortened generic parameters of the expected <see cref="T:System.Type"/>.</param> + <param name="shortenedParamsActual">Shortened generic parameters of the actual <see cref="T:System.Type"/>.</param> + </member> + <member name="M:NUnit.Framework.Internal.TypeNameDifferenceResolver.FullyShortenTypeName(System.Type)"> + <summary> + Obtain a shortened name of the given <see cref="T:System.Type"/>. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TypeNameDifferenceResolver.ShortenTypeNames(System.Type,System.Type,System.String@,System.String@)"> + <summary> + Shorten the given <see cref="T:System.Type"/> names by only including the relevant differing namespaces/types, if they differ. + </summary> + <param name="expectedType">The expected <see cref="T:System.Type"/>.</param> + <param name="actualType">The actual <see cref="T:System.Type"/>.</param> + <param name="expectedTypeShortened">The shortened expected <see cref="T:System.Type"/> name.</param> + <param name="actualTypeShortened">The shortened actual <see cref="T:System.Type"/> name.</param> + </member> + <member name="M:NUnit.Framework.Internal.TypeNameDifferenceResolver.IsTypeGeneric(System.Type)"> + <summary> + Returns whether or not the <see cref="T:System.Type"/> is generic. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TypeNameDifferenceResolver.GetGenericTypeName(System.Type)"> + <summary> + Returns the fully qualified generic <see cref="T:System.Type"/> name of a given <see cref="T:System.Type"/>. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TypeNameDifferenceResolver.ReconstructGenericTypeName(System.String,System.Collections.Generic.List{System.String})"> + <summary> + Reconstruct a generic type name using the provided generic type name, and a + <see cref="T:NUnit.Framework.List"/> of the template parameters. + </summary> + <param name="genericTypeName">The name of the generic type, including the number of template parameters expected.</param> + <param name="templateParamNames">A <see cref="T:NUnit.Framework.List"/> of names of the template parameters of the provided generic type.</param> + </member> + <member name="M:NUnit.Framework.Internal.TypeNameDifferenceResolver.GetShortenedGenericTypes(System.Type,System.Type,System.String@,System.String@)"> + <summary> + Obtain the shortened generic <see cref="T:System.Type"/> names of the given expected and actual <see cref="T:System.Type"/>s. + </summary> + <param name="expected">The expected <see cref="T:System.Type"/>.</param> + <param name="actual">The actual <see cref="T:System.Type"/>.</param> + <param name="shortenedGenericNameExpected">The shortened expected generic name.</param> + <param name="shortenedGenericNameActual">The shortened actual generic name.</param> + </member> + <member name="T:NUnit.Framework.Internal.TypeWrapper"> + <summary> + The TypeWrapper class wraps a Type so it may be used in + a platform-independent manner. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TypeWrapper.#ctor(System.Type)"> + <summary> + Construct a TypeWrapper for a specified Type. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TypeWrapper.Type"> + <summary> + Gets the underlying Type on which this TypeWrapper is based. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TypeWrapper.BaseType"> + <summary> + Gets the base type of this type as an ITypeInfo + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TypeWrapper.Name"> + <summary> + Gets the Name of the Type + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TypeWrapper.FullName"> + <summary> + Gets the FullName of the Type + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TypeWrapper.Assembly"> + <summary> + Gets the assembly in which the type is declared + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TypeWrapper.Namespace"> + <summary> + Gets the namespace of the Type + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TypeWrapper.IsAbstract"> + <summary> + Gets a value indicating whether the type is abstract. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TypeWrapper.IsGenericType"> + <summary> + Gets a value indicating whether the Type is a generic Type + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TypeWrapper.IsType(System.Type)"> + <summary> + Returns true if the Type wrapped is T + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TypeWrapper.ContainsGenericParameters"> + <summary> + Gets a value indicating whether the Type has generic parameters that have not been replaced by specific Types. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TypeWrapper.IsGenericTypeDefinition"> + <summary> + Gets a value indicating whether the Type is a generic Type definition + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TypeWrapper.IsSealed"> + <summary> + Gets a value indicating whether the type is sealed. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TypeWrapper.IsStaticClass"> + <summary> + Gets a value indicating whether this type represents a static class. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TypeWrapper.GetDisplayName"> + <summary> + Get the display name for this type + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TypeWrapper.GetDisplayName(System.Object[])"> + <summary> + Get the display name for an object of this type, constructed with the specified args. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TypeWrapper.MakeGenericType(System.Type[])"> + <summary> + Returns a new ITypeInfo representing an instance of this generic Type using the supplied Type arguments + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TypeWrapper.GetGenericTypeDefinition"> + <summary> + Returns a Type representing a generic type definition from which this Type can be constructed. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TypeWrapper.GetCustomAttributes``1(System.Boolean)"> + <summary> + Returns an array of custom attributes of the specified type applied to this type + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TypeWrapper.IsDefined``1(System.Boolean)"> + <summary> + Returns a value indicating whether the type has an attribute of the specified type. + </summary> + <typeparam name="T"></typeparam> + <param name="inherit"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Internal.TypeWrapper.HasMethodWithAttribute(System.Type)"> + <summary> + Returns a flag indicating whether this type has a method with an attribute of the specified type. + </summary> + <param name="attributeType"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Internal.TypeWrapper.GetMethods(System.Reflection.BindingFlags)"> + <summary> + Returns an array of IMethodInfos for methods of this Type + that match the specified flags. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TypeWrapper.GetConstructor(System.Type[])"> + <summary> + Gets the public constructor taking the specified argument Types + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TypeWrapper.HasConstructor(System.Type[])"> + <summary> + Returns a value indicating whether this Type has a public constructor taking the specified argument Types. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TypeWrapper.Construct(System.Object[])"> + <summary> + Construct an object of this Type, using the specified arguments. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TypeWrapper.ToString"> + <summary> + Override ToString() so that error messages in NUnit's own tests make sense + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TypeWrapper.GetMethodsWithAttribute``1(System.Boolean)"> + <summary> + 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. + </summary> + <param name="inherit">Specifies whether to search the fixture type inheritance chain.</param> + </member> + <member name="T:NUnit.Framework.Internal.ValueGenerator.Step"> + <summary> + Encapsulates the ability to increment a value by an amount which may be of a different type. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ValueGenerator.CreateStep(System.Object)"> + <summary> + Creates a <see cref="T:NUnit.Framework.Internal.ValueGenerator.Step"/> 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, + <see cref="T:System.NotSupportedException"/> is thrown. + </summary> + <exception cref="T:System.NotSupportedException"/> + </member> + <member name="M:NUnit.Framework.Internal.ValueGenerator.TryCreateStep(System.Object,NUnit.Framework.Internal.ValueGenerator.Step@)"> + <summary> + Creates a <see cref="T:NUnit.Framework.Internal.ValueGenerator.Step"/> 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. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.ValueGenerator`1.ComparableStep`1"> + <summary> + Provides a convenient shorthand when <typeparamref name="TStep"/> is <see cref="T:System.IComparable`1"/> + and the default value of <typeparamref name="TStep"/> represents zero. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ValueGenerator`1.ComparableStep`1.#ctor(`1,System.Func{`0,`1,`0})"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.ValueGenerator`1.ComparableStep`1"/> class. + </summary> + <param name="value">The amount by which to increment each time this step is applied.</param> + <param name="apply"> + Must increment the given value and return the result. + If the result is outside the range representable by <typeparamref name="T"/>, + must throw <see cref="T:System.OverflowException"/>. If the result does not change due to lack + of precision representable by <typeparamref name="T"/>, must throw <see cref="T:System.ArithmeticException"/>. + </param> + </member> + <member name="M:NUnit.Framework.Internal.ValueGenerator`1.ComparableStep`1.Apply(`0)"> + <summary> + Increments the given value and returns the result. + If the result is outside the range representable by <typeparamref name="T"/>, + throws <see cref="T:System.OverflowException"/>. If the result does not change due to lack + of precision representable by <typeparamref name="T"/>, throws <see cref="T:System.ArithmeticException"/>. + </summary> + <exception cref="T:System.OverflowException"/> + <exception cref="T:System.ArithmeticException"/> + </member> + <member name="T:NUnit.Framework.Internal.ValueGenerator`1.Step"> + <summary> + Encapsulates the ability to increment a <typeparamref name="T"/> value by an amount + which may be of a different type. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ValueGenerator`1.Step.Apply(`0)"> + <summary> + Increments the given value and returns the result. + If the result is outside the range representable by <typeparamref name="T"/>, + throws <see cref="T:System.OverflowException"/>. If the result does not change due to lack + of precision representable by <typeparamref name="T"/>, throws <see cref="T:System.ArithmeticException"/>. + </summary> + <exception cref="T:System.OverflowException"/> + <exception cref="T:System.ArithmeticException"/> + </member> + <member name="M:NUnit.Framework.Internal.ValueGenerator`1.CreateStep(System.Object)"> + <summary> + Creates a <see cref="T:NUnit.Framework.Internal.ValueGenerator`1.Step"/> from the specified value if the current instance is able to + use it to increment values of type <typeparamref name="T"/>. If the creation fails, + <see cref="T:System.NotSupportedException"/> is thrown. + </summary> + <exception cref="T:System.NotSupportedException"/> + </member> + <member name="M:NUnit.Framework.Internal.ValueGenerator`1.TryCreateStep(System.Object,NUnit.Framework.Internal.ValueGenerator.Step@)"> + <summary> + Creates a <see cref="T:NUnit.Framework.Internal.ValueGenerator`1.Step"/> from the specified value if the current instance is able to + use it to increment values of type <typeparamref name="T"/>. A return value indicates + whether the creation succeeded. + </summary> + </member> + <member name="T:NUnit.Framework.IgnoredTestCaseData"> + <summary> + The IgnoredTestCaseData class represents a ignored TestCaseData. It adds + the ability to set a date until which the test will be ignored. + </summary> + </member> + <member name="F:NUnit.Framework.IgnoredTestCaseData._prevRunState"> + <summary> + The previous RunState + </summary> + </member> + <member name="M:NUnit.Framework.IgnoredTestCaseData.Until(System.DateTimeOffset)"> + <summary> + Set the date that the test is being ignored until + </summary> + <param name="datetime">The date that the test is being ignored until</param> + <returns>A modified TestCaseData.</returns> + </member> + <member name="T:NUnit.Framework.Is"> + <summary> + Helper class with properties and methods that supply + a number of constraints used in Asserts. + </summary> + </member> + <member name="P:NUnit.Framework.Is.Not"> + <summary> + Returns a ConstraintExpression that negates any + following constraint. + </summary> + </member> + <member name="P:NUnit.Framework.Is.All"> + <summary> + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + </summary> + </member> + <member name="P:NUnit.Framework.Is.Null"> + <summary> + Returns a constraint that tests for null + </summary> + </member> + <member name="P:NUnit.Framework.Is.True"> + <summary> + Returns a constraint that tests for True + </summary> + </member> + <member name="P:NUnit.Framework.Is.False"> + <summary> + Returns a constraint that tests for False + </summary> + </member> + <member name="P:NUnit.Framework.Is.Positive"> + <summary> + Returns a constraint that tests for a positive value + </summary> + </member> + <member name="P:NUnit.Framework.Is.Negative"> + <summary> + Returns a constraint that tests for a negative value + </summary> + </member> + <member name="P:NUnit.Framework.Is.Zero"> + <summary> + Returns a constraint that tests for equality with zero + </summary> + </member> + <member name="P:NUnit.Framework.Is.NaN"> + <summary> + Returns a constraint that tests for NaN + </summary> + </member> + <member name="P:NUnit.Framework.Is.Empty"> + <summary> + Returns a constraint that tests for empty + </summary> + </member> + <member name="P:NUnit.Framework.Is.Unique"> + <summary> + Returns a constraint that tests whether a collection + contains all unique items. + </summary> + </member> + <member name="P:NUnit.Framework.Is.BinarySerializable"> + <summary> + Returns a constraint that tests whether an object graph is serializable in binary format. + </summary> + </member> + <member name="P:NUnit.Framework.Is.XmlSerializable"> + <summary> + Returns a constraint that tests whether an object graph is serializable in XML format. + </summary> + </member> + <member name="M:NUnit.Framework.Is.EqualTo(System.Object)"> + <summary> + Returns a constraint that tests two items for equality + </summary> + </member> + <member name="M:NUnit.Framework.Is.SameAs(System.Object)"> + <summary> + Returns a constraint that tests that two references are the same object + </summary> + </member> + <member name="M:NUnit.Framework.Is.GreaterThan(System.Object)"> + <summary> + Returns a constraint that tests whether the + actual value is greater than the supplied argument + </summary> + </member> + <member name="M:NUnit.Framework.Is.GreaterThanOrEqualTo(System.Object)"> + <summary> + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + </summary> + </member> + <member name="M:NUnit.Framework.Is.AtLeast(System.Object)"> + <summary> + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + </summary> + </member> + <member name="M:NUnit.Framework.Is.LessThan(System.Object)"> + <summary> + Returns a constraint that tests whether the + actual value is less than the supplied argument + </summary> + </member> + <member name="M:NUnit.Framework.Is.LessThanOrEqualTo(System.Object)"> + <summary> + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + </summary> + </member> + <member name="M:NUnit.Framework.Is.AtMost(System.Object)"> + <summary> + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + </summary> + </member> + <member name="M:NUnit.Framework.Is.TypeOf(System.Type)"> + <summary> + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Is.TypeOf``1"> + <summary> + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Is.InstanceOf(System.Type)"> + <summary> + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + </summary> + </member> + <member name="M:NUnit.Framework.Is.InstanceOf``1"> + <summary> + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + </summary> + </member> + <member name="M:NUnit.Framework.Is.AssignableFrom(System.Type)"> + <summary> + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Is.AssignableFrom``1"> + <summary> + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Is.AssignableTo(System.Type)"> + <summary> + Returns a constraint that tests whether the actual value + is assignable to the type supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Is.AssignableTo``1"> + <summary> + Returns a constraint that tests whether the actual value + is assignable to the type supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Is.EquivalentTo(System.Collections.IEnumerable)"> + <summary> + Returns a constraint that tests whether the actual value + is a collection containing the same elements as the + collection supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Is.SubsetOf(System.Collections.IEnumerable)"> + <summary> + Returns a constraint that tests whether the actual value + is a subset of the collection supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Is.SupersetOf(System.Collections.IEnumerable)"> + <summary> + Returns a constraint that tests whether the actual value + is a superset of the collection supplied as an argument. + </summary> + </member> + <member name="P:NUnit.Framework.Is.Ordered"> + <summary> + Returns a constraint that tests whether a collection is ordered + </summary> + </member> + <member name="M:NUnit.Framework.Is.SamePath(System.String)"> + <summary> + Returns a constraint that tests whether the path provided + is the same as an expected path after canonicalization. + </summary> + </member> + <member name="M:NUnit.Framework.Is.SubPathOf(System.String)"> + <summary> + Returns a constraint that tests whether the path provided + is a subpath of the expected path after canonicalization. + </summary> + </member> + <member name="M:NUnit.Framework.Is.SamePathOrUnder(System.String)"> + <summary> + Returns a constraint that tests whether the path provided + is the same path or under an expected path after canonicalization. + </summary> + </member> + <member name="M:NUnit.Framework.Is.InRange(System.Object,System.Object)"> + <summary> + Returns a constraint that tests whether the actual value falls + inclusively within a specified range. + </summary> + <param name="from">Inclusive beginning of the range.</param> + <param name="to">Inclusive end of the range.</param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Is.AnyOf(System.Object[])"> + <summary> + Returns a constraint that tests if an item is equal to any of parameters + </summary> + <param name="expected">Expected values</param> + </member> + <member name="T:NUnit.Framework.ITestAction"> + <summary> + When implemented by an attribute, this interface implemented to provide actions to execute before and after tests. + </summary> + </member> + <member name="M:NUnit.Framework.ITestAction.BeforeTest(NUnit.Framework.Interfaces.ITest)"> + <summary> + Executed before each test is run + </summary> + <param name="test">The test that is going to be run.</param> + </member> + <member name="M:NUnit.Framework.ITestAction.AfterTest(NUnit.Framework.Interfaces.ITest)"> + <summary> + Executed after each test is run + </summary> + <param name="test">The test that has just been run.</param> + </member> + <member name="P:NUnit.Framework.ITestAction.Targets"> + <summary> + Provides the target for the action attribute + </summary> + <returns>The target for the action attribute</returns> + </member> + <member name="T:NUnit.Framework.Iz"> + <summary> + The Iz class is a synonym for Is intended for use in VB, + which regards Is as a keyword. + </summary> + </member> + <member name="T:NUnit.Framework.List"> + <summary> + The List class is a helper class with properties and methods + that supply a number of constraints used with lists and collections. + </summary> + </member> + <member name="M:NUnit.Framework.List.Map(System.Collections.ICollection)"> + <summary> + List.Map returns a ListMapper, which can be used to map + the original collection to another collection. + </summary> + <param name="actual"></param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.ListMapper"> + <summary> + ListMapper is used to transform a collection used as an actual argument + producing another collection to be used in the assertion. + </summary> + </member> + <member name="M:NUnit.Framework.ListMapper.#ctor(System.Collections.ICollection)"> + <summary> + Construct a ListMapper based on a collection + </summary> + <param name="original">The collection to be transformed</param> + </member> + <member name="M:NUnit.Framework.ListMapper.Property(System.String)"> + <summary> + Produces a collection containing all the values of a property + </summary> + <param name="name">The collection of property values</param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.StringAssert"> + <summary> + Basic Asserts on strings. + </summary> + </member> + <member name="M:NUnit.Framework.StringAssert.Equals(System.Object,System.Object)"> + <summary> + 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. + </summary> + <param name="a"></param> + <param name="b"></param> + </member> + <member name="M:NUnit.Framework.StringAssert.ReferenceEquals(System.Object,System.Object)"> + <summary> + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + </summary> + <param name="a"></param> + <param name="b"></param> + </member> + <member name="M:NUnit.Framework.StringAssert.Contains(System.String,System.String,System.String,System.Object[])"> + <summary> + Asserts that a string is found within another string. + </summary> + <param name="expected">The expected string</param> + <param name="actual">The string to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Arguments used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.StringAssert.Contains(System.String,System.String)"> + <summary> + Asserts that a string is found within another string. + </summary> + <param name="expected">The expected string</param> + <param name="actual">The string to be examined</param> + </member> + <member name="M:NUnit.Framework.StringAssert.DoesNotContain(System.String,System.String,System.String,System.Object[])"> + <summary> + Asserts that a string is not found within another string. + </summary> + <param name="expected">The expected string</param> + <param name="actual">The string to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Arguments used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.StringAssert.DoesNotContain(System.String,System.String)"> + <summary> + Asserts that a string is found within another string. + </summary> + <param name="expected">The expected string</param> + <param name="actual">The string to be examined</param> + </member> + <member name="M:NUnit.Framework.StringAssert.StartsWith(System.String,System.String,System.String,System.Object[])"> + <summary> + Asserts that a string starts with another string. + </summary> + <param name="expected">The expected string</param> + <param name="actual">The string to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Arguments used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.StringAssert.StartsWith(System.String,System.String)"> + <summary> + Asserts that a string starts with another string. + </summary> + <param name="expected">The expected string</param> + <param name="actual">The string to be examined</param> + </member> + <member name="M:NUnit.Framework.StringAssert.DoesNotStartWith(System.String,System.String,System.String,System.Object[])"> + <summary> + Asserts that a string does not start with another string. + </summary> + <param name="expected">The expected string</param> + <param name="actual">The string to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Arguments used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.StringAssert.DoesNotStartWith(System.String,System.String)"> + <summary> + Asserts that a string does not start with another string. + </summary> + <param name="expected">The expected string</param> + <param name="actual">The string to be examined</param> + </member> + <member name="M:NUnit.Framework.StringAssert.EndsWith(System.String,System.String,System.String,System.Object[])"> + <summary> + Asserts that a string ends with another string. + </summary> + <param name="expected">The expected string</param> + <param name="actual">The string to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Arguments used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.StringAssert.EndsWith(System.String,System.String)"> + <summary> + Asserts that a string ends with another string. + </summary> + <param name="expected">The expected string</param> + <param name="actual">The string to be examined</param> + </member> + <member name="M:NUnit.Framework.StringAssert.DoesNotEndWith(System.String,System.String,System.String,System.Object[])"> + <summary> + Asserts that a string does not end with another string. + </summary> + <param name="expected">The expected string</param> + <param name="actual">The string to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Arguments used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.StringAssert.DoesNotEndWith(System.String,System.String)"> + <summary> + Asserts that a string does not end with another string. + </summary> + <param name="expected">The expected string</param> + <param name="actual">The string to be examined</param> + </member> + <member name="M:NUnit.Framework.StringAssert.AreEqualIgnoringCase(System.String,System.String,System.String,System.Object[])"> + <summary> + Asserts that two strings are equal, without regard to case. + </summary> + <param name="expected">The expected string</param> + <param name="actual">The actual string</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Arguments used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.StringAssert.AreEqualIgnoringCase(System.String,System.String)"> + <summary> + Asserts that two strings are equal, without regard to case. + </summary> + <param name="expected">The expected string</param> + <param name="actual">The actual string</param> + </member> + <member name="M:NUnit.Framework.StringAssert.AreNotEqualIgnoringCase(System.String,System.String,System.String,System.Object[])"> + <summary> + Asserts that two strings are not equal, without regard to case. + </summary> + <param name="expected">The expected string</param> + <param name="actual">The actual string</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Arguments used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.StringAssert.AreNotEqualIgnoringCase(System.String,System.String)"> + <summary> + Asserts that two strings are not equal, without regard to case. + </summary> + <param name="expected">The expected string</param> + <param name="actual">The actual string</param> + </member> + <member name="M:NUnit.Framework.StringAssert.IsMatch(System.String,System.String,System.String,System.Object[])"> + <summary> + Asserts that a string matches an expected regular expression pattern. + </summary> + <param name="pattern">The regex pattern to be matched</param> + <param name="actual">The actual string</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Arguments used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.StringAssert.IsMatch(System.String,System.String)"> + <summary> + Asserts that a string matches an expected regular expression pattern. + </summary> + <param name="pattern">The regex pattern to be matched</param> + <param name="actual">The actual string</param> + </member> + <member name="M:NUnit.Framework.StringAssert.DoesNotMatch(System.String,System.String,System.String,System.Object[])"> + <summary> + Asserts that a string does not match an expected regular expression pattern. + </summary> + <param name="pattern">The regex pattern to be used</param> + <param name="actual">The actual string</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Arguments used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.StringAssert.DoesNotMatch(System.String,System.String)"> + <summary> + Asserts that a string does not match an expected regular expression pattern. + </summary> + <param name="pattern">The regex pattern to be used</param> + <param name="actual">The actual string</param> + </member> + <member name="T:NUnit.Framework.TestCaseData"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.TestCaseData.#ctor(System.Object[])"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.TestCaseData"/> class. + </summary> + <param name="args">The arguments.</param> + </member> + <member name="M:NUnit.Framework.TestCaseData.#ctor(System.Object)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.TestCaseData"/> class. + </summary> + <param name="arg">The argument.</param> + </member> + <member name="M:NUnit.Framework.TestCaseData.#ctor(System.Object,System.Object)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.TestCaseData"/> class. + </summary> + <param name="arg1">The first argument.</param> + <param name="arg2">The second argument.</param> + </member> + <member name="M:NUnit.Framework.TestCaseData.#ctor(System.Object,System.Object,System.Object)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.TestCaseData"/> class. + </summary> + <param name="arg1">The first argument.</param> + <param name="arg2">The second argument.</param> + <param name="arg3">The third argument.</param> + </member> + <member name="M:NUnit.Framework.TestCaseData.Returns(System.Object)"> + <summary> + Sets the expected result for the test + </summary> + <param name="result">The expected result</param> + <returns>A modified TestCaseData</returns> + </member> + <member name="M:NUnit.Framework.TestCaseData.SetName(System.String)"> + <summary> + Sets the name of the test case + </summary> + <returns>The modified TestCaseData instance</returns> + </member> + <member name="M:NUnit.Framework.TestCaseData.SetArgDisplayNames(System.String[])"> + <summary> + Sets the list of display names to use as the parameters in the test name. + </summary> + </member> + <member name="M:NUnit.Framework.TestCaseData.SetDescription(System.String)"> + <summary> + Sets the description for the test case + being constructed. + </summary> + <param name="description">The description.</param> + <returns>The modified TestCaseData instance.</returns> + </member> + <member name="M:NUnit.Framework.TestCaseData.SetCategory(System.String)"> + <summary> + Applies a category to the test + </summary> + <param name="category"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.TestCaseData.SetProperty(System.String,System.String)"> + <summary> + Applies a named property to the test + </summary> + <param name="propName"></param> + <param name="propValue"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.TestCaseData.SetProperty(System.String,System.Int32)"> + <summary> + Applies a named property to the test + </summary> + <param name="propName"></param> + <param name="propValue"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.TestCaseData.SetProperty(System.String,System.Double)"> + <summary> + Applies a named property to the test + </summary> + <param name="propName"></param> + <param name="propValue"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.TestCaseData.Explicit"> + <summary> + Marks the test case as explicit. + </summary> + </member> + <member name="M:NUnit.Framework.TestCaseData.Explicit(System.String)"> + <summary> + Marks the test case as explicit, specifying the reason. + </summary> + </member> + <member name="M:NUnit.Framework.TestCaseData.Ignore(System.String)"> + <summary> + Ignores this TestCase, specifying the reason. + </summary> + <param name="reason">The reason.</param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.TestContext"> + <summary> + Provide the context information of the current test. + This is an adapter for the internal ExecutionContext + class, hiding the internals from the user test. + </summary> + </member> + <member name="M:NUnit.Framework.TestContext.#ctor(NUnit.Framework.Internal.TestExecutionContext)"> + <summary> + Construct a TestContext for an ExecutionContext + </summary> + <param name="testExecutionContext">The ExecutionContext to adapt</param> + </member> + <member name="P:NUnit.Framework.TestContext.CurrentContext"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.Out"> + <summary> + Gets a TextWriter that will send output to the current test result. + </summary> + </member> + <member name="F:NUnit.Framework.TestContext.Error"> + <summary> + Gets a TextWriter that will send output directly to Console.Error + </summary> + </member> + <member name="F:NUnit.Framework.TestContext.Progress"> + <summary> + Gets a TextWriter for use in displaying immediate progress messages + </summary> + </member> + <member name="F:NUnit.Framework.TestContext.Parameters"> + <summary> + TestParameters object holds parameters for the test run, if any are specified + </summary> + </member> + <member name="F:NUnit.Framework.TestContext.DefaultWorkDirectory"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.Test"> + <summary> + Get a representation of the current test. + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.Result"> + <summary> + Gets a Representation of the TestResult for the current test. + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.WorkerId"> + <summary> + Gets the unique name of the Worker that is executing this test. + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.TestDirectory"> + <summary> + Gets the directory containing the current test assembly. + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.WorkDirectory"> + <summary> + Gets the directory to be used for outputting files created + by this test run. + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.Random"> + <summary> + Gets the random generator. + </summary> + <value> + The random generator. + </value> + </member> + <member name="P:NUnit.Framework.TestContext.AssertCount"> + <summary> + Gets the number of assertions executed + up to this point in the test. + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.CurrentRepeatCount"> + <summary> + Get the number of times the current Test has been repeated + when using the <see cref="T:NUnit.Framework.RetryAttribute"/> or <see cref="T:NUnit.Framework.RepeatAttribute"/>. + </summary> + </member> + <member name="M:NUnit.Framework.TestContext.Write(System.Boolean)"> + <summary>Write the string representation of a boolean value to the current result</summary> + </member> + <member name="M:NUnit.Framework.TestContext.Write(System.Char)"> + <summary>Write a char to the current result</summary> + </member> + <member name="M:NUnit.Framework.TestContext.Write(System.Char[])"> + <summary>Write a char array to the current result</summary> + </member> + <member name="M:NUnit.Framework.TestContext.Write(System.Double)"> + <summary>Write the string representation of a double to the current result</summary> + </member> + <member name="M:NUnit.Framework.TestContext.Write(System.Int32)"> + <summary>Write the string representation of an Int32 value to the current result</summary> + </member> + <member name="M:NUnit.Framework.TestContext.Write(System.Int64)"> + <summary>Write the string representation of an Int64 value to the current result</summary> + </member> + <member name="M:NUnit.Framework.TestContext.Write(System.Decimal)"> + <summary>Write the string representation of a decimal value to the current result</summary> + </member> + <member name="M:NUnit.Framework.TestContext.Write(System.Object)"> + <summary>Write the string representation of an object to the current result</summary> + </member> + <member name="M:NUnit.Framework.TestContext.Write(System.Single)"> + <summary>Write the string representation of a Single value to the current result</summary> + </member> + <member name="M:NUnit.Framework.TestContext.Write(System.String)"> + <summary>Write a string to the current result</summary> + </member> + <member name="M:NUnit.Framework.TestContext.Write(System.UInt32)"> + <summary>Write the string representation of a UInt32 value to the current result</summary> + </member> + <member name="M:NUnit.Framework.TestContext.Write(System.UInt64)"> + <summary>Write the string representation of a UInt64 value to the current result</summary> + </member> + <member name="M:NUnit.Framework.TestContext.Write(System.String,System.Object)"> + <summary>Write a formatted string to the current result</summary> + </member> + <member name="M:NUnit.Framework.TestContext.Write(System.String,System.Object,System.Object)"> + <summary>Write a formatted string to the current result</summary> + </member> + <member name="M:NUnit.Framework.TestContext.Write(System.String,System.Object,System.Object,System.Object)"> + <summary>Write a formatted string to the current result</summary> + </member> + <member name="M:NUnit.Framework.TestContext.Write(System.String,System.Object[])"> + <summary>Write a formatted string to the current result</summary> + </member> + <member name="M:NUnit.Framework.TestContext.WriteLine"> + <summary>Write a line terminator to the current result</summary> + </member> + <member name="M:NUnit.Framework.TestContext.WriteLine(System.Boolean)"> + <summary>Write the string representation of a boolean value to the current result followed by a line terminator</summary> + </member> + <member name="M:NUnit.Framework.TestContext.WriteLine(System.Char)"> + <summary>Write a char to the current result followed by a line terminator</summary> + </member> + <member name="M:NUnit.Framework.TestContext.WriteLine(System.Char[])"> + <summary>Write a char array to the current result followed by a line terminator</summary> + </member> + <member name="M:NUnit.Framework.TestContext.WriteLine(System.Double)"> + <summary>Write the string representation of a double to the current result followed by a line terminator</summary> + </member> + <member name="M:NUnit.Framework.TestContext.WriteLine(System.Int32)"> + <summary>Write the string representation of an Int32 value to the current result followed by a line terminator</summary> + </member> + <member name="M:NUnit.Framework.TestContext.WriteLine(System.Int64)"> + <summary>Write the string representation of an Int64 value to the current result followed by a line terminator</summary> + </member> + <member name="M:NUnit.Framework.TestContext.WriteLine(System.Decimal)"> + <summary>Write the string representation of a decimal value to the current result followed by a line terminator</summary> + </member> + <member name="M:NUnit.Framework.TestContext.WriteLine(System.Object)"> + <summary>Write the string representation of an object to the current result followed by a line terminator</summary> + </member> + <member name="M:NUnit.Framework.TestContext.WriteLine(System.Single)"> + <summary>Write the string representation of a Single value to the current result followed by a line terminator</summary> + </member> + <member name="M:NUnit.Framework.TestContext.WriteLine(System.String)"> + <summary>Write a string to the current result followed by a line terminator</summary> + </member> + <member name="M:NUnit.Framework.TestContext.WriteLine(System.UInt32)"> + <summary>Write the string representation of a UInt32 value to the current result followed by a line terminator</summary> + </member> + <member name="M:NUnit.Framework.TestContext.WriteLine(System.UInt64)"> + <summary>Write the string representation of a UInt64 value to the current result followed by a line terminator</summary> + </member> + <member name="M:NUnit.Framework.TestContext.WriteLine(System.String,System.Object)"> + <summary>Write a formatted string to the current result followed by a line terminator</summary> + </member> + <member name="M:NUnit.Framework.TestContext.WriteLine(System.String,System.Object,System.Object)"> + <summary>Write a formatted string to the current result followed by a line terminator</summary> + </member> + <member name="M:NUnit.Framework.TestContext.WriteLine(System.String,System.Object,System.Object,System.Object)"> + <summary>Write a formatted string to the current result followed by a line terminator</summary> + </member> + <member name="M:NUnit.Framework.TestContext.WriteLine(System.String,System.Object[])"> + <summary>Write a formatted string to the current result followed by a line terminator</summary> + </member> + <member name="M:NUnit.Framework.TestContext.AddFormatter(NUnit.Framework.Constraints.ValueFormatterFactory)"> + <summary> + 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. + </summary> + <param name="formatterFactory">The factory delegate</param> + </member> + <member name="M:NUnit.Framework.TestContext.AddTestAttachment(System.String,System.String)"> + <summary> + Attach a file to the current test result + </summary> + <param name="filePath">Relative or absolute file path to attachment</param> + <param name="description">Optional description of attachment</param> + </member> + <member name="M:NUnit.Framework.TestContext.AddFormatter``1(NUnit.Framework.Constraints.ValueFormatter)"> + <summary> + 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. + </summary> + <typeparam name="TSupported">The type supported by this formatter</typeparam> + <param name="formatter">The ValueFormatter delegate</param> + </member> + <member name="T:NUnit.Framework.TestContext.TestAdapter"> + <summary> + TestAdapter adapts a Test for consumption by + the user test code. + </summary> + </member> + <member name="M:NUnit.Framework.TestContext.TestAdapter.#ctor(NUnit.Framework.Internal.Test)"> + <summary> + Construct a TestAdapter for a Test + </summary> + <param name="test">The Test to be adapted</param> + </member> + <member name="P:NUnit.Framework.TestContext.TestAdapter.ID"> + <summary> + Gets the unique Id of a test + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.TestAdapter.Name"> + <summary> + The name of the test, which may or may not be + the same as the method name. + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.TestAdapter.MethodName"> + <summary> + The name of the method representing the test. + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.TestAdapter.FullName"> + <summary> + The FullName of the test + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.TestAdapter.ClassName"> + <summary> + The ClassName of the test + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.TestAdapter.Properties"> + <summary> + A shallow copy of the properties of the test. + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.TestAdapter.Arguments"> + <summary> + The arguments to use in creating the test or empty array if none are required. + </summary> + </member> + <member name="T:NUnit.Framework.TestContext.ResultAdapter"> + <summary> + ResultAdapter adapts a TestResult for consumption by + the user test code. + </summary> + </member> + <member name="M:NUnit.Framework.TestContext.ResultAdapter.#ctor(NUnit.Framework.Internal.TestResult)"> + <summary> + Construct a ResultAdapter for a TestResult + </summary> + <param name="result">The TestResult to be adapted</param> + </member> + <member name="P:NUnit.Framework.TestContext.ResultAdapter.Outcome"> + <summary> + Gets a ResultState representing the outcome of the test + up to this point in its execution. + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.ResultAdapter.Assertions"> + <summary> + Gets a list of the assertion results generated + up to this point in the test. + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.ResultAdapter.Message"> + <summary> + Gets the message associated with a test + failure or with not running the test + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.ResultAdapter.StackTrace"> + <summary> + Gets any stack trace associated with an + error or failure. + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.ResultAdapter.FailCount"> + <summary> + Gets the number of test cases that failed + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.ResultAdapter.WarningCount"> + <summary> + Gets the number of test cases that had warnings + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.ResultAdapter.PassCount"> + <summary> + Gets the number of test cases that passed + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.ResultAdapter.SkipCount"> + <summary> + Gets the number of test cases that were skipped + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.ResultAdapter.InconclusiveCount"> + <summary> + Gets the number of test cases that were inconclusive + when running the test and all its children. + </summary> + </member> + <member name="T:NUnit.Framework.TestContext.PropertyBagAdapter"> + <summary> + <see cref="T:NUnit.Framework.TestContext.PropertyBagAdapter"/> adapts an <see cref="T:NUnit.Framework.Interfaces.IPropertyBag"/> + for consumption by the user. + </summary> + </member> + <member name="M:NUnit.Framework.TestContext.PropertyBagAdapter.#ctor(NUnit.Framework.Interfaces.IPropertyBag)"> + <summary> + Construct a <see cref="T:NUnit.Framework.TestContext.PropertyBagAdapter"/> from a source + <see cref="T:NUnit.Framework.Interfaces.IPropertyBag"/>. + </summary> + </member> + <member name="M:NUnit.Framework.TestContext.PropertyBagAdapter.Get(System.String)"> + <summary> + Get the first property with the given <paramref name="key"/>, if it can be found, otherwise + returns null. + </summary> + </member> + <member name="M:NUnit.Framework.TestContext.PropertyBagAdapter.ContainsKey(System.String)"> + <summary> + Indicates whether <paramref name="key"/> is found in this + <see cref="T:NUnit.Framework.TestContext.PropertyBagAdapter"/>. + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.PropertyBagAdapter.Item(System.String)"> + <summary> + Returns a collection of properties + with the given <paramref name="key"/>. + </summary> + </member> + <member name="M:NUnit.Framework.TestContext.PropertyBagAdapter.Count(System.String)"> + <summary> + Returns the count of elements with the given <paramref name="key"/>. + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.PropertyBagAdapter.Keys"> + <summary> + Returns a collection of the property keys. + </summary> + </member> + <member name="T:NUnit.Framework.TestFixtureData"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.TestFixtureData.#ctor(System.Object[])"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.TestFixtureData"/> class. + </summary> + <param name="args">The arguments.</param> + </member> + <member name="M:NUnit.Framework.TestFixtureData.#ctor(System.Object)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.TestFixtureData"/> class. + </summary> + <param name="arg">The argument.</param> + </member> + <member name="M:NUnit.Framework.TestFixtureData.#ctor(System.Object,System.Object)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.TestFixtureData"/> class. + </summary> + <param name="arg1">The first argument.</param> + <param name="arg2">The second argument.</param> + </member> + <member name="M:NUnit.Framework.TestFixtureData.#ctor(System.Object,System.Object,System.Object)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.TestFixtureData"/> class. + </summary> + <param name="arg1">The first argument.</param> + <param name="arg2">The second argument.</param> + <param name="arg3">The third argument.</param> + </member> + <member name="M:NUnit.Framework.TestFixtureData.SetName(System.String)"> + <summary> + Sets the name of the test fixture + </summary> + <returns>The modified TestFixtureData instance</returns> + </member> + <member name="M:NUnit.Framework.TestFixtureData.SetArgDisplayNames(System.String[])"> + <summary> + Sets the list of display names to use as the parameters in the test name. + </summary> + </member> + <member name="M:NUnit.Framework.TestFixtureData.Explicit"> + <summary> + Marks the test fixture as explicit. + </summary> + </member> + <member name="M:NUnit.Framework.TestFixtureData.Explicit(System.String)"> + <summary> + Marks the test fixture as explicit, specifying the reason. + </summary> + </member> + <member name="M:NUnit.Framework.TestFixtureData.Ignore(System.String)"> + <summary> + Ignores this TestFixture, specifying the reason. + </summary> + <param name="reason">The reason.</param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.TestParameters"> + <summary> + TestParameters class holds any named parameters supplied to the test run + </summary> + </member> + <member name="P:NUnit.Framework.TestParameters.Count"> + <summary> + Gets the number of test parameters + </summary> + </member> + <member name="P:NUnit.Framework.TestParameters.Names"> + <summary> + Gets a collection of the test parameter names + </summary> + </member> + <member name="M:NUnit.Framework.TestParameters.Exists(System.String)"> + <summary> + Gets a flag indicating whether a parameter with the specified name exists. + </summary> + <param name="name">Name of the parameter</param> + <returns>True if it exists, otherwise false</returns> + </member> + <member name="P:NUnit.Framework.TestParameters.Item(System.String)"> + <summary> + Indexer provides access to the internal dictionary + </summary> + <param name="name">Name of the parameter</param> + <returns>Value of the parameter or null if not present</returns> + </member> + <member name="M:NUnit.Framework.TestParameters.Get(System.String)"> + <summary> + Get method is a simple alternative to the indexer + </summary> + <param name="name">Name of the parameter</param> + <returns>Value of the parameter or null if not present</returns> + </member> + <member name="M:NUnit.Framework.TestParameters.Get(System.String,System.String)"> + <summary> + Get the value of a parameter or a default string + </summary> + <param name="name">Name of the parameter</param> + <param name="defaultValue">Default value of the parameter</param> + <returns>Value of the parameter or default value if not present</returns> + </member> + <member name="M:NUnit.Framework.TestParameters.Get``1(System.String,``0)"> + <summary> + Get the value of a parameter or return a default + </summary> + <typeparam name="T">The return Type</typeparam> + <param name="name">Name of the parameter</param> + <param name="defaultValue">Default value of the parameter</param> + <returns>Value of the parameter or default value if not present</returns> + </member> + <member name="M:NUnit.Framework.TestParameters.Add(System.String,System.String)"> + <summary> + Adds a parameter to the list + </summary> + <param name="name">Name of the parameter</param> + <param name="value">Value of the parameter</param> + </member> + <member name="T:NUnit.Framework.Throws"> + <summary> + Helper class with properties and methods that supply + constraints that operate on exceptions. + </summary> + </member> + <member name="P:NUnit.Framework.Throws.Exception"> + <summary> + Creates a constraint specifying an expected exception + </summary> + </member> + <member name="P:NUnit.Framework.Throws.InnerException"> + <summary> + Creates a constraint specifying an exception with a given InnerException + </summary> + </member> + <member name="P:NUnit.Framework.Throws.TargetInvocationException"> + <summary> + Creates a constraint specifying an expected TargetInvocationException + </summary> + </member> + <member name="P:NUnit.Framework.Throws.ArgumentException"> + <summary> + Creates a constraint specifying an expected ArgumentException + </summary> + </member> + <member name="P:NUnit.Framework.Throws.ArgumentNullException"> + <summary> + Creates a constraint specifying an expected ArgumentNullException + </summary> + </member> + <member name="P:NUnit.Framework.Throws.InvalidOperationException"> + <summary> + Creates a constraint specifying an expected InvalidOperationException + </summary> + </member> + <member name="P:NUnit.Framework.Throws.Nothing"> + <summary> + Creates a constraint specifying that no exception is thrown + </summary> + </member> + <member name="M:NUnit.Framework.Throws.TypeOf(System.Type)"> + <summary> + Creates a constraint specifying the exact type of exception expected + </summary> + </member> + <member name="M:NUnit.Framework.Throws.TypeOf``1"> + <summary> + Creates a constraint specifying the exact type of exception expected + </summary> + </member> + <member name="M:NUnit.Framework.Throws.InstanceOf(System.Type)"> + <summary> + Creates a constraint specifying the type of exception expected + </summary> + </member> + <member name="M:NUnit.Framework.Throws.InstanceOf``1"> + <summary> + Creates a constraint specifying the type of exception expected + </summary> + </member> + <member name="T:NUnit.Framework.Warn"> + <summary> + Provides static methods to express conditions + that must be met for the test to succeed. If + any test fails, a warning is issued. + </summary> + </member> + <member name="M:NUnit.Framework.Warn.Equals(System.Object,System.Object)"> + <summary> + DO NOT USE! + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + </summary> + <param name="a">The left object.</param> + <param name="b">The right object.</param> + <returns>Not applicable</returns> + </member> + <member name="M:NUnit.Framework.Warn.ReferenceEquals(System.Object,System.Object)"> + <summary> + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + </summary> + <param name="a">The left object.</param> + <param name="b">The right object.</param> + </member> + <member name="M:NUnit.Framework.Warn.Unless``1(NUnit.Framework.Constraints.ActualValueDelegate{``0},NUnit.Framework.Constraints.IResolveConstraint)"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="del">An ActualValueDelegate returning the value to be tested</param> + <param name="expr">A Constraint expression to be applied</param> + </member> + <member name="M:NUnit.Framework.Warn.Unless``1(NUnit.Framework.Constraints.ActualValueDelegate{``0},NUnit.Framework.Constraints.IResolveConstraint,System.String,System.Object[])"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="del">An ActualValueDelegate returning the value to be tested</param> + <param name="expr">A Constraint expression to be applied</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Warn.Unless``1(NUnit.Framework.Constraints.ActualValueDelegate{``0},NUnit.Framework.Constraints.IResolveConstraint,System.Func{System.String})"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="del">An ActualValueDelegate returning the value to be tested</param> + <param name="expr">A Constraint expression to be applied</param> + <param name="getExceptionMessage">A function to build the message included with the Exception</param> + </member> + <member name="M:NUnit.Framework.Warn.Unless(System.Boolean,System.String,System.Object[])"> + <summary> + Asserts that a condition is true. If the condition is false, a warning is issued. + </summary> + <param name="condition">The evaluated condition</param> + <param name="message">The message to display if the condition is false</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Warn.Unless(System.Boolean)"> + <summary> + Asserts that a condition is true. If the condition is false, a warning is issued. + </summary> + <param name="condition">The evaluated condition</param> + </member> + <member name="M:NUnit.Framework.Warn.Unless(System.Boolean,System.Func{System.String})"> + <summary> + Asserts that a condition is true. If the condition is false, a warning is issued. + </summary> + <param name="condition">The evaluated condition</param> + <param name="getExceptionMessage">A function to build the message included with the Exception</param> + </member> + <member name="M:NUnit.Framework.Warn.Unless(System.Func{System.Boolean},System.String,System.Object[])"> + <summary> + Asserts that a condition is true. If the condition is false, a warning is issued. + </summary> + <param name="condition">A lambda that returns a Boolean</param> + <param name="message">The message to display if the condition is false</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Warn.Unless(System.Func{System.Boolean})"> + <summary> + Asserts that a condition is true. If the condition is false, a warning is issued. + </summary> + <param name="condition">A lambda that returns a Boolean</param> + </member> + <member name="M:NUnit.Framework.Warn.Unless(System.Func{System.Boolean},System.Func{System.String})"> + <summary> + Asserts that a condition is true. If the condition is false, a warning is issued. + </summary> + <param name="condition">A lambda that returns a Boolean</param> + <param name="getExceptionMessage">A function to build the message included with the Exception</param> + </member> + <member name="M:NUnit.Framework.Warn.Unless(NUnit.Framework.TestDelegate,NUnit.Framework.Constraints.IResolveConstraint)"> + <summary> + Asserts that the code represented by a delegate throws an exception + that satisfies the constraint provided. + </summary> + <param name="code">A TestDelegate to be executed</param> + <param name="constraint">A Constraint expression to be applied</param> + </member> + <member name="M:NUnit.Framework.Warn.Unless``1(``0,NUnit.Framework.Constraints.IResolveConstraint)"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="actual">The actual value to test</param> + <param name="expression">A Constraint expression to be applied</param> + </member> + <member name="M:NUnit.Framework.Warn.Unless``1(``0,NUnit.Framework.Constraints.IResolveConstraint,System.String,System.Object[])"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="actual">The actual value to test</param> + <param name="expression">A Constraint expression to be applied</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Warn.Unless``1(``0,NUnit.Framework.Constraints.IResolveConstraint,System.Func{System.String})"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="actual">The actual value to test</param> + <param name="expression">A Constraint expression to be applied</param> + <param name="getExceptionMessage">A function to build the message included with the Exception</param> + </member> + <member name="M:NUnit.Framework.Warn.If``1(NUnit.Framework.Constraints.ActualValueDelegate{``0},NUnit.Framework.Constraints.IResolveConstraint)"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + fails and issuing a warning on success. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="del">An ActualValueDelegate returning the value to be tested</param> + <param name="expr">A Constraint expression to be applied</param> + </member> + <member name="M:NUnit.Framework.Warn.If``1(NUnit.Framework.Constraints.ActualValueDelegate{``0},NUnit.Framework.Constraints.IResolveConstraint,System.String,System.Object[])"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + fails and issuing a warning on success. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="del">An ActualValueDelegate returning the value to be tested</param> + <param name="expr">A Constraint expression to be applied</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Warn.If``1(NUnit.Framework.Constraints.ActualValueDelegate{``0},NUnit.Framework.Constraints.IResolveConstraint,System.Func{System.String})"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + fails and issuing a warning on failure. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="del">An ActualValueDelegate returning the value to be tested</param> + <param name="expr">A Constraint expression to be applied</param> + <param name="getExceptionMessage">A function to build the message included with the Exception</param> + </member> + <member name="M:NUnit.Framework.Warn.If(System.Boolean,System.String,System.Object[])"> + <summary> + Asserts that a condition is true. If the condition is false, a warning is issued. + </summary> + <param name="condition">The evaluated condition</param> + <param name="message">The message to display if the condition is false</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Warn.If(System.Boolean)"> + <summary> + Asserts that a condition is true. If the condition is false, a warning is issued. + </summary> + <param name="condition">The evaluated condition</param> + </member> + <member name="M:NUnit.Framework.Warn.If(System.Boolean,System.Func{System.String})"> + <summary> + Asserts that a condition is true. If the condition is false, a warning is issued. + </summary> + <param name="condition">The evaluated condition</param> + <param name="getExceptionMessage">A function to build the message included with the Exception</param> + </member> + <member name="M:NUnit.Framework.Warn.If(System.Func{System.Boolean},System.String,System.Object[])"> + <summary> + Asserts that a condition is false. If the condition is true a warning is issued. + </summary> + <param name="condition">A lambda that returns a Boolean</param> + <param name="message">The message to display if the condition is true</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Warn.If(System.Func{System.Boolean})"> + <summary> + Asserts that a condition is false. If the condition is true a warning is issued. + </summary> + <param name="condition">A lambda that returns a Boolean</param> + </member> + <member name="M:NUnit.Framework.Warn.If(System.Func{System.Boolean},System.Func{System.String})"> + <summary> + Asserts that a condition is false. If the condition is true a warning is issued. + </summary> + <param name="condition">A lambda that returns a Boolean</param> + <param name="getExceptionMessage">A function to build the message included with the Exception</param> + </member> + <member name="M:NUnit.Framework.Warn.If``1(``0,NUnit.Framework.Constraints.IResolveConstraint)"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + fails and issuing a warning if it succeeds. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="actual">The actual value to test</param> + <param name="expression">A Constraint expression to be applied</param> + </member> + <member name="M:NUnit.Framework.Warn.If``1(``0,NUnit.Framework.Constraints.IResolveConstraint,System.String,System.Object[])"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + fails and issuing a warning if it succeeds. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="actual">The actual value to test</param> + <param name="expression">A Constraint expression to be applied</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Warn.If``1(``0,NUnit.Framework.Constraints.IResolveConstraint,System.Func{System.String})"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="actual">The actual value to test</param> + <param name="expression">A Constraint expression to be applied</param> + <param name="getExceptionMessage">A function to build the message included with the Exception</param> + </member> + <member name="T:NUnit.FrameworkPackageSettings"> + <summary> + 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. + </summary> + </member> + <member name="F:NUnit.FrameworkPackageSettings.DebugTests"> + <summary> + Flag (bool) indicating whether tests are being debugged. + </summary> + </member> + <member name="F:NUnit.FrameworkPackageSettings.PauseBeforeRun"> + <summary> + Flag (bool) indicating whether to pause execution of tests to allow + the user to attach a debugger. + </summary> + </member> + <member name="F:NUnit.FrameworkPackageSettings.InternalTraceLevel"> + <summary> + The InternalTraceLevel for this run. Values are: "Default", + "Off", "Error", "Warning", "Info", "Debug", "Verbose". + Default is "Off". "Debug" and "Verbose" are synonyms. + </summary> + </member> + <member name="F:NUnit.FrameworkPackageSettings.WorkDirectory"> + <summary> + Full path of the directory to be used for work and result files. + This path is provided to tests by the framework TestContext. + </summary> + </member> + <member name="F:NUnit.FrameworkPackageSettings.DefaultTimeout"> + <summary> + 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. + </summary> + </member> + <member name="F:NUnit.FrameworkPackageSettings.DefaultCulture"> + <summary> + 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. + </summary> + </member> + <member name="F:NUnit.FrameworkPackageSettings.DefaultUICulture"> + <summary> + 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. + </summary> + </member> + <member name="F:NUnit.FrameworkPackageSettings.InternalTraceWriter"> + <summary> + A TextWriter to which the internal trace will be sent. + </summary> + </member> + <member name="F:NUnit.FrameworkPackageSettings.LOAD"> + <summary> + A list of tests to be loaded. + </summary> + </member> + <member name="F:NUnit.FrameworkPackageSettings.NumberOfTestWorkers"> + <summary> + 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. + </summary> + </member> + <member name="F:NUnit.FrameworkPackageSettings.RandomSeed"> + <summary> + 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. + </summary> + </member> + <member name="F:NUnit.FrameworkPackageSettings.StopOnError"> + <summary> + If true, execution stops after the first error or failure. + </summary> + </member> + <member name="F:NUnit.FrameworkPackageSettings.SynchronousEvents"> + <summary> + If true, use of the event queue is suppressed and test events are synchronous. + </summary> + </member> + <member name="F:NUnit.FrameworkPackageSettings.DefaultTestNamePattern"> + <summary> + The default naming pattern used in generating test names + </summary> + </member> + <member name="F:NUnit.FrameworkPackageSettings.TestParameters"> + <summary> + Parameters to be passed on to the tests, serialized to a single string which needs parsing. Obsoleted by <see cref="F:NUnit.FrameworkPackageSettings.TestParametersDictionary"/>; kept for backward compatibility. + </summary> + </member> + <member name="F:NUnit.FrameworkPackageSettings.TestParametersDictionary"> + <summary> + Parameters to be passed on to the tests, already parsed into an IDictionary<string, string>. Replaces <see cref="F:NUnit.FrameworkPackageSettings.TestParameters"/>. + </summary> + </member> + <member name="F:NUnit.FrameworkPackageSettings.RunOnMainThread"> + <summary> + If true, the tests will run on the same thread as the NUnit runner itself + </summary> + </member> + <member name="T:NUnit.Compatibility.AttributeHelper"> + <summary> + Provides a platform-independent methods for getting attributes + for use by AttributeConstraint and AttributeExistsConstraint. + </summary> + </member> + <member name="M:NUnit.Compatibility.AttributeHelper.GetCustomAttributes(System.Object,System.Type,System.Boolean)"> + <summary> + Gets the custom attributes from the given object. + </summary> + <param name="actual">The actual.</param> + <param name="attributeType">Type of the attribute.</param> + <param name="inherit">if set to <see langword="true"/> [inherit].</param> + <returns>A list of the given attribute on the given object.</returns> + </member> + <member name="T:NUnit.Compatibility.LongLivedMarshalByRefObject"> + <summary> + A MarshalByRefObject that lives forever + </summary> + </member> + <member name="M:NUnit.Compatibility.LongLivedMarshalByRefObject.InitializeLifetimeService"> + <summary> + Obtains a lifetime service object to control the lifetime policy for this instance. + </summary> + </member> + <member name="T:NUnit.Compatibility.TypeExtensions"> + <summary> + Provides NUnit specific extensions to aid in Reflection + across multiple frameworks + </summary> + <remarks> + This version of the class supplies GetTypeInfo() on platforms + that don't support it. + </remarks> + </member> + <member name="M:NUnit.Compatibility.TypeExtensions.GetTypeInfo(System.Type)"> + <summary> + 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. + </summary> + <param name="type"></param> + <returns></returns> + </member> + <member name="M:NUnit.Compatibility.TypeExtensions.GetMethodInfo(System.Delegate)"> + <summary> + See <see cref="M:System.Delegate.CreateDelegate(System.Type,System.Reflection.MethodInfo)"/>. + </summary> + </member> + <member name="T:NUnit.Compatibility.AssemblyExtensions"> + <summary> + Extensions for Assembly that are not available in pre-4.5 .NET releases + </summary> + </member> + <member name="M:NUnit.Compatibility.AssemblyExtensions.GetCustomAttribute``1(System.Reflection.Assembly)"> + <summary> + An easy way to get a single custom attribute from an assembly + </summary> + <typeparam name="T">The attribute Type</typeparam> + <param name="assembly">The assembly</param> + <returns>An attribute of Type T</returns> + </member> + <member name="T:NUnit.Compatibility.MethodInfoExtensions"> + <summary> + Extensions for MethodInfo that are not available in pre-4.5 .NET releases + </summary> + </member> + <member name="M:NUnit.Compatibility.MethodInfoExtensions.CreateDelegate(System.Reflection.MethodInfo,System.Type)"> + <summary> + See <see cref="M:System.Delegate.CreateDelegate(System.Type,System.Reflection.MethodInfo)"/>. + </summary> + </member> + <member name="M:NUnit.Compatibility.MethodInfoExtensions.CreateDelegate(System.Reflection.MethodInfo,System.Type,System.Object)"> + <summary> + See <see cref="M:System.Delegate.CreateDelegate(System.Type,System.Object,System.Reflection.MethodInfo)"/>. + </summary> + </member> + <member name="T:System.Collections.Concurrent.ConcurrentQueue`1"> + <summary> + Represents a thread-safe first-in, first-out collection of objects. + </summary> + <typeparam name="T">Specifies the type of elements in the queue.</typeparam> + <remarks> + All public and protected members of <see cref="T:System.Collections.Concurrent.ConcurrentQueue`1"/> are thread-safe and may be used + concurrently from multiple threads. + </remarks> + </member> + <member name="M:System.Collections.Concurrent.ConcurrentQueue`1.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:System.Collections.Concurrent.ConcurrentQueue`1"/> class. + </summary> + </member> + <member name="M:System.Collections.Concurrent.ConcurrentQueue`1.InitializeFromCollection(System.Collections.Generic.IEnumerable{`0})"> + <summary> + Initializes the contents of the queue from an existing collection. + </summary> + <param name="collection">A collection from which to copy elements.</param> + </member> + <member name="M:System.Collections.Concurrent.ConcurrentQueue`1.#ctor(System.Collections.Generic.IEnumerable{`0})"> + <summary> + Initializes a new instance of the <see cref="T:System.Collections.Concurrent.ConcurrentQueue`1"/> + class that contains elements copied from the specified collection + </summary> + <param name="collection">The collection whose elements are copied to the new <see + cref="T:System.Collections.Concurrent.ConcurrentQueue`1"/>.</param> + <exception cref="T:System.ArgumentNullException">The <paramref name="collection"/> argument is + null.</exception> + </member> + <member name="M:System.Collections.Concurrent.ConcurrentQueue`1.OnSerializing(System.Runtime.Serialization.StreamingContext)"> + <summary> + Get the data array to be serialized + </summary> + </member> + <member name="M:System.Collections.Concurrent.ConcurrentQueue`1.OnDeserialized(System.Runtime.Serialization.StreamingContext)"> + <summary> + Construct the queue from a previously serialized one. + </summary> + </member> + <member name="M:System.Collections.Concurrent.ConcurrentQueue`1.System#Collections#ICollection#CopyTo(System.Array,System.Int32)"> + <summary> + Copies the elements of the <see cref="T:System.Collections.ICollection"/> to an <see + cref="T:System.Array"/>, starting at a particular + <see cref="T:System.Array"/> index. + </summary> + <param name="array">The one-dimensional <see cref="T:System.Array">Array</see> that is the + destination of the elements copied from the + <see cref="T:System.Collections.Concurrent.ConcurrentBag"/>. The <see + cref="T:System.Array">Array</see> must have zero-based indexing.</param> + <param name="index">The zero-based index in <paramref name="array"/> at which copying + begins.</param> + <exception cref="T:System.ArgumentNullException"><paramref name="array"/> is a null reference (Nothing in + Visual Basic).</exception> + <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="index"/> is less than + zero.</exception> + <exception cref="T:System.ArgumentException"> + <paramref name="array"/> is multidimensional. -or- + <paramref name="array"/> does not have zero-based indexing. -or- + <paramref name="index"/> is equal to or greater than the length of the <paramref name="array"/> + -or- The number of elements in the source <see cref="T:System.Collections.ICollection"/> is + greater than the available space from <paramref name="index"/> to the end of the destination + <paramref name="array"/>. -or- The type of the source <see + cref="T:System.Collections.ICollection"/> cannot be cast automatically to the type of the + destination <paramref name="array"/>. + </exception> + </member> + <member name="P:System.Collections.Concurrent.ConcurrentQueue`1.System#Collections#ICollection#IsSynchronized"> + <summary> + Gets a value indicating whether access to the <see cref="T:System.Collections.ICollection"/> is + synchronized with the SyncRoot. + </summary> + <value>true if access to the <see cref="T:System.Collections.ICollection"/> is synchronized + with the SyncRoot; otherwise, false. For <see cref="T:System.Collections.Concurrent.ConcurrentQueue`1"/>, this property always + returns false.</value> + </member> + <member name="P:System.Collections.Concurrent.ConcurrentQueue`1.System#Collections#ICollection#SyncRoot"> + <summary> + Gets an object that can be used to synchronize access to the <see + cref="T:System.Collections.ICollection"/>. This property is not supported. + </summary> + <exception cref="T:System.NotSupportedException">The SyncRoot property is not supported.</exception> + </member> + <member name="M:System.Collections.Concurrent.ConcurrentQueue`1.System#Collections#IEnumerable#GetEnumerator"> + <summary> + Returns an enumerator that iterates through a collection. + </summary> + <returns>An <see cref="T:System.Collections.IEnumerator"/> that can be used to iterate through the collection.</returns> + </member> + <member name="M:System.Collections.Concurrent.ConcurrentQueue`1.System#Collections#Concurrent#IProducerConsumerCollection{T}#TryAdd(`0)"> + <summary> + Attempts to add an object to the <see + cref="T:System.Collections.Concurrent.IProducerConsumerCollection{T}"/>. + </summary> + <param name="item">The object to add to the <see + cref="T:System.Collections.Concurrent.IProducerConsumerCollection{T}"/>. The value can be a null + reference (Nothing in Visual Basic) for reference types. + </param> + <returns>true if the object was added successfully; otherwise, false.</returns> + <remarks>For <see cref="T:System.Collections.Concurrent.ConcurrentQueue`1"/>, this operation will always add the object to the + end of the <see cref="T:System.Collections.Concurrent.ConcurrentQueue`1"/> + and return true.</remarks> + </member> + <member name="M:System.Collections.Concurrent.ConcurrentQueue`1.System#Collections#Concurrent#IProducerConsumerCollection{T}#TryTake(`0@)"> + <summary> + Attempts to remove and return an object from the <see + cref="T:System.Collections.Concurrent.IProducerConsumerCollection{T}"/>. + </summary> + <param name="item"> + When this method returns, if the operation was successful, <paramref name="item"/> contains the + object removed. If no object was available to be removed, the value is unspecified. + </param> + <returns>true if an element was removed and returned successfully; otherwise, false.</returns> + <remarks>For <see cref="T:System.Collections.Concurrent.ConcurrentQueue`1"/>, this operation will attempt to remove the object + from the beginning of the <see cref="T:System.Collections.Concurrent.ConcurrentQueue`1"/>. + </remarks> + </member> + <member name="P:System.Collections.Concurrent.ConcurrentQueue`1.IsEmpty"> + <summary> + Gets a value that indicates whether the <see cref="T:System.Collections.Concurrent.ConcurrentQueue`1"/> is empty. + </summary> + <value>true if the <see cref="T:System.Collections.Concurrent.ConcurrentQueue`1"/> is empty; otherwise, false.</value> + <remarks> + For determining whether the collection contains any items, use of this property is recommended + rather than retrieving the number of items from the <see cref="P:System.Collections.Concurrent.ConcurrentQueue`1.Count"/> 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 <see cref="P:System.Collections.Concurrent.ConcurrentQueue`1.IsEmpty"/> returns, thus invalidating + the result. + </remarks> + </member> + <member name="M:System.Collections.Concurrent.ConcurrentQueue`1.ToArray"> + <summary> + Copies the elements stored in the <see cref="T:System.Collections.Concurrent.ConcurrentQueue`1"/> to a new array. + </summary> + <returns>A new array containing a snapshot of elements copied from the <see + cref="T:System.Collections.Concurrent.ConcurrentQueue`1"/>.</returns> + </member> + <member name="M:System.Collections.Concurrent.ConcurrentQueue`1.ToList"> + <summary> + Copies the <see cref="T:System.Collections.Concurrent.ConcurrentQueue`1"/> elements to a new <see + cref="T:System.Collections.Generic.List{T}"/>. + </summary> + <returns>A new <see cref="T:System.Collections.Generic.List{T}"/> containing a snapshot of + elements copied from the <see cref="T:System.Collections.Concurrent.ConcurrentQueue`1"/>.</returns> + </member> + <member name="M:System.Collections.Concurrent.ConcurrentQueue`1.GetHeadTailPositions(System.Collections.Concurrent.ConcurrentQueue{`0}.Segment@,System.Collections.Concurrent.ConcurrentQueue{`0}.Segment@,System.Int32@,System.Int32@)"> + <summary> + Store the position of the current head and tail positions. + </summary> + <param name="head">return the head segment</param> + <param name="tail">return the tail segment</param> + <param name="headLow">return the head offset, value range [0, SEGMENT_SIZE]</param> + <param name="tailHigh">return the tail offset, value range [-1, SEGMENT_SIZE-1]</param> + </member> + <member name="P:System.Collections.Concurrent.ConcurrentQueue`1.Count"> + <summary> + Gets the number of elements contained in the <see cref="T:System.Collections.Concurrent.ConcurrentQueue`1"/>. + </summary> + <value>The number of elements contained in the <see cref="T:System.Collections.Concurrent.ConcurrentQueue`1"/>.</value> + <remarks> + For determining whether the collection contains any items, use of the <see cref="P:System.Collections.Concurrent.ConcurrentQueue`1.IsEmpty"/> + property is recommended rather than retrieving the number of items from the <see cref="P:System.Collections.Concurrent.ConcurrentQueue`1.Count"/> + property and comparing it to 0. + </remarks> + </member> + <member name="M:System.Collections.Concurrent.ConcurrentQueue`1.CopyTo(`0[],System.Int32)"> + <summary> + Copies the <see cref="T:System.Collections.Concurrent.ConcurrentQueue`1"/> elements to an existing one-dimensional <see + cref="T:System.Array">Array</see>, starting at the specified array index. + </summary> + <param name="array">The one-dimensional <see cref="T:System.Array">Array</see> that is the + destination of the elements copied from the + <see cref="T:System.Collections.Concurrent.ConcurrentQueue`1"/>. The <see cref="T:System.Array">Array</see> must have zero-based + indexing.</param> + <param name="index">The zero-based index in <paramref name="array"/> at which copying + begins.</param> + <exception cref="T:System.ArgumentNullException"><paramref name="array"/> is a null reference (Nothing in + Visual Basic).</exception> + <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="index"/> is less than + zero.</exception> + <exception cref="T:System.ArgumentException"><paramref name="index"/> is equal to or greater than the + length of the <paramref name="array"/> + -or- The number of elements in the source <see cref="T:System.Collections.Concurrent.ConcurrentQueue`1"/> is greater than the + available space from <paramref name="index"/> to the end of the destination <paramref + name="array"/>. + </exception> + </member> + <member name="M:System.Collections.Concurrent.ConcurrentQueue`1.GetEnumerator"> + <summary> + Returns an enumerator that iterates through the <see + cref="T:System.Collections.Concurrent.ConcurrentQueue`1"/>. + </summary> + <returns>An enumerator for the contents of the <see + cref="T:System.Collections.Concurrent.ConcurrentQueue`1"/>.</returns> + <remarks> + 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. + </remarks> + </member> + <member name="M:System.Collections.Concurrent.ConcurrentQueue`1.GetEnumerator(System.Collections.Concurrent.ConcurrentQueue{`0}.Segment,System.Collections.Concurrent.ConcurrentQueue{`0}.Segment,System.Int32,System.Int32)"> + <summary> + Helper method of GetEnumerator to separate out yield return statement, and prevent lazy evaluation. + </summary> + </member> + <member name="M:System.Collections.Concurrent.ConcurrentQueue`1.Enqueue(`0)"> + <summary> + Adds an object to the end of the <see cref="T:System.Collections.Concurrent.ConcurrentQueue`1"/>. + </summary> + <param name="item">The object to add to the end of the <see + cref="T:System.Collections.Concurrent.ConcurrentQueue`1"/>. The value can be a null reference + (Nothing in Visual Basic) for reference types. + </param> + </member> + <member name="M:System.Collections.Concurrent.ConcurrentQueue`1.TryDequeue(`0@)"> + <summary> + Attempts to remove and return the object at the beginning of the <see + cref="T:System.Collections.Concurrent.ConcurrentQueue`1"/>. + </summary> + <param name="result"> + When this method returns, if the operation was successful, <paramref name="result"/> contains the + object removed. If no object was available to be removed, the value is unspecified. + </param> + <returns>true if an element was removed and returned from the beginning of the <see + cref="T:System.Collections.Concurrent.ConcurrentQueue`1"/> + successfully; otherwise, false.</returns> + </member> + <member name="M:System.Collections.Concurrent.ConcurrentQueue`1.TryPeek(`0@)"> + <summary> + Attempts to return an object from the beginning of the <see cref="T:System.Collections.Concurrent.ConcurrentQueue`1"/> + without removing it. + </summary> + <param name="result">When this method returns, <paramref name="result"/> contains an object from + the beginning of the <see cref="T:System.Collections.Concurrent.ConccurrentQueue{T}"/> or an + unspecified value if the operation failed.</param> + <returns>true if and object was returned successfully; otherwise, false.</returns> + </member> + <member name="T:System.Collections.Concurrent.ConcurrentQueue`1.Segment"> + <summary> + 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. + </summary> + </member> + <member name="M:System.Collections.Concurrent.ConcurrentQueue`1.Segment.#ctor(System.Int64,System.Collections.Concurrent.ConcurrentQueue{`0})"> + <summary> + Create and initialize a segment with the specified index. + </summary> + </member> + <member name="P:System.Collections.Concurrent.ConcurrentQueue`1.Segment.Next"> + <summary> + return the next segment + </summary> + </member> + <member name="P:System.Collections.Concurrent.ConcurrentQueue`1.Segment.IsEmpty"> + <summary> + return true if the current segment is empty (doesn't have any element available to dequeue, + false otherwise + </summary> + </member> + <member name="M:System.Collections.Concurrent.ConcurrentQueue`1.Segment.UnsafeAdd(`0)"> + <summary> + 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. + </summary> + <param name="value"></param> + </member> + <member name="M:System.Collections.Concurrent.ConcurrentQueue`1.Segment.UnsafeGrow"> + <summary> + 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 + </summary> + <returns>the reference to the new Segment</returns> + </member> + <member name="M:System.Collections.Concurrent.ConcurrentQueue`1.Segment.Grow"> + <summary> + Create a new segment and append to the current one + Update the m_tail pointer + This method is called when there is no contention + </summary> + </member> + <member name="M:System.Collections.Concurrent.ConcurrentQueue`1.Segment.TryAppend(`0)"> + <summary> + Try to append an element at the end of this segment. + </summary> + <param name="value">the element to append</param> + <returns>true if the element is appended, false if the current segment is full</returns> + <remarks>if appending the specified element succeeds, and after which the segment is full, + then grow the segment</remarks> + </member> + <member name="M:System.Collections.Concurrent.ConcurrentQueue`1.Segment.TryRemove(`0@)"> + <summary> + try to remove an element from the head of current segment + </summary> + <param name="result">The result.</param> + <returns>return false only if the current segment is empty</returns> + </member> + <member name="M:System.Collections.Concurrent.ConcurrentQueue`1.Segment.TryPeek(`0@)"> + <summary> + try to peek the current segment + </summary> + <param name="result">holds the return value of the element at the head position, + value set to default(T) if there is no such an element</param> + <returns>true if there are elements in the current segment, false otherwise</returns> + </member> + <member name="M:System.Collections.Concurrent.ConcurrentQueue`1.Segment.AddToList(System.Collections.Generic.List{`0},System.Int32,System.Int32)"> + <summary> + Adds part or all of the current segment into a List. + </summary> + <param name="list">the list to which to add</param> + <param name="start">the start position</param> + <param name="end">the end position</param> + </member> + <member name="P:System.Collections.Concurrent.ConcurrentQueue`1.Segment.Low"> + <summary> + 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 + </summary> + </member> + <member name="P:System.Collections.Concurrent.ConcurrentQueue`1.Segment.High"> + <summary> + 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 + </summary> + </member> + <member name="T:System.Collections.Concurrent.VolatileBool"> + <summary> + A wrapper struct for volatile bool. Please note that a copy of the struct itself will not be volatile, e.g. + <c>volatileBool1 = volatileBool2</c>. + </summary> + </member> + <member name="T:System.Collections.Concurrent.IProducerConsumerCollection`1"> + <summary> + Defines methods to manipulate thread-safe collections intended for producer/consumer usage. + </summary> + <typeparam name="T">Specifies the type of elements in the collection.</typeparam> + <remarks> + All implementations of this interface must enable all members of this interface + to be used concurrently from multiple threads. + </remarks> + </member> + <member name="M:System.Collections.Concurrent.IProducerConsumerCollection`1.CopyTo(`0[],System.Int32)"> + <summary> + Copies the elements of the <see cref="T:System.Collections.Concurrent.IProducerConsumerCollection`1"/> to + an + <see cref="T:System.Array"/>, starting at a specified index. + </summary> + <param name="array">The one-dimensional <see cref="T:System.Array"/> that is the destination of + the elements copied from the <see cref="T:System.Collections.Concurrent.IProducerConsumerCollection`1"/>. + The array must have zero-based indexing.</param> + <param name="index">The zero-based index in <paramref name="array"/> at which copying + begins.</param> + <exception cref="T:System.ArgumentNullException"><paramref name="array"/> is a null reference (Nothing in + Visual Basic).</exception> + <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="index"/> is less than + zero.</exception> + <exception cref="T:System.ArgumentException"><paramref name="index"/> is equal to or greater than the + length of the <paramref name="array"/> + -or- The number of elements in the source <see cref="T:System.Collections.Concurrent.ConcurrentQueue`1"/> is greater than the + available space from <paramref name="index"/> to the end of the destination <paramref + name="array"/>. + </exception> + </member> + <member name="M:System.Collections.Concurrent.IProducerConsumerCollection`1.TryAdd(`0)"> + <summary> + Attempts to add an object to the <see + cref="T:System.Collections.Concurrent.IProducerConsumerCollection`1"/>. + </summary> + <param name="item">The object to add to the <see + cref="T:System.Collections.Concurrent.IProducerConsumerCollection`1"/>.</param> + <returns>true if the object was added successfully; otherwise, false.</returns> + <exception cref="T:System.ArgumentException">The <paramref name="item"/> was invalid for this collection.</exception> + </member> + <member name="M:System.Collections.Concurrent.IProducerConsumerCollection`1.TryTake(`0@)"> + <summary> + Attempts to remove and return an object from the <see cref="T:System.Collections.Concurrent.IProducerConsumerCollection`1"/>. + </summary> + <param name="item"> + When this method returns, if the object was removed and returned successfully, <paramref + name="item"/> contains the removed object. If no object was available to be removed, the value is + unspecified. + </param> + <returns>true if an object was removed and returned successfully; otherwise, false.</returns> + </member> + <member name="M:System.Collections.Concurrent.IProducerConsumerCollection`1.ToArray"> + <summary> + Copies the elements contained in the <see cref="T:System.Collections.Concurrent.IProducerConsumerCollection`1"/> to a new array. + </summary> + <returns>A new array containing the elements copied from the <see cref="T:System.Collections.Concurrent.IProducerConsumerCollection`1"/>.</returns> + </member> + <member name="T:System.Collections.Concurrent.SystemCollectionsConcurrent_ProducerConsumerCollectionDebugView`1"> + <summary> + A debugger view of the IProducerConsumerCollection that makes it simple to browse the + collection's contents at a point in time. + </summary> + <typeparam name="T">The type of elements stored within.</typeparam> + </member> + <member name="M:System.Collections.Concurrent.SystemCollectionsConcurrent_ProducerConsumerCollectionDebugView`1.#ctor(System.Collections.Concurrent.IProducerConsumerCollection{`0})"> + <summary> + Constructs a new debugger view object for the provided collection object. + </summary> + <param name="collection">A collection to browse in the debugger.</param> + </member> + <member name="P:System.Collections.Concurrent.SystemCollectionsConcurrent_ProducerConsumerCollectionDebugView`1.Items"> + <summary> + Returns a snapshot of the underlying collection's elements. + </summary> + </member> + <member name="T:System.Diagnostics.CodeAnalysis.AllowNullAttribute"> + <summary>Specifies that null is allowed as an input even if the corresponding type disallows it.</summary> + </member> + <member name="T:System.Diagnostics.CodeAnalysis.DisallowNullAttribute"> + <summary>Specifies that null is disallowed as an input even if the corresponding type allows it.</summary> + </member> + <member name="T:System.Diagnostics.CodeAnalysis.MaybeNullAttribute"> + <summary>Specifies that an output may be null even if the corresponding type disallows it.</summary> + </member> + <member name="T:System.Diagnostics.CodeAnalysis.NotNullAttribute"> + <summary>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.</summary> + </member> + <member name="T:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute"> + <summary>Specifies that when a method returns <see cref="P:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute.ReturnValue"/>, the parameter may be null even if the corresponding type disallows it.</summary> + </member> + <member name="M:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute.#ctor(System.Boolean)"> + <summary>Initializes the attribute with the specified return value condition.</summary> + <param name="returnValue"> + The return value condition. If the method returns this value, the associated parameter may be null. + </param> + </member> + <member name="P:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute.ReturnValue"> + <summary>Gets the return value condition.</summary> + </member> + <member name="T:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute"> + <summary>Specifies that when a method returns <see cref="P:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute.ReturnValue"/>, the parameter will not be null even if the corresponding type allows it.</summary> + </member> + <member name="M:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute.#ctor(System.Boolean)"> + <summary>Initializes the attribute with the specified return value condition.</summary> + <param name="returnValue"> + The return value condition. If the method returns this value, the associated parameter will not be null. + </param> + </member> + <member name="P:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute.ReturnValue"> + <summary>Gets the return value condition.</summary> + </member> + <member name="T:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute"> + <summary>Specifies that the output will be non-null if the named parameter is non-null.</summary> + </member> + <member name="M:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute.#ctor(System.String)"> + <summary>Initializes the attribute with the associated parameter name.</summary> + <param name="parameterName"> + The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null. + </param> + </member> + <member name="P:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute.ParameterName"> + <summary>Gets the associated parameter name.</summary> + </member> + <member name="T:System.Diagnostics.CodeAnalysis.DoesNotReturnAttribute"> + <summary>Applied to a method that will never return under any circumstance.</summary> + </member> + <member name="T:System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute"> + <summary>Specifies that the method will not return if the associated Boolean parameter is passed the specified value.</summary> + </member> + <member name="M:System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute.#ctor(System.Boolean)"> + <summary>Initializes the attribute with the specified parameter value.</summary> + <param name="parameterValue"> + The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to + the associated parameter matches this value. + </param> + </member> + <member name="P:System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute.ParameterValue"> + <summary>Gets the condition parameter value.</summary> + </member> + <member name="T:System.Threading.LazyThreadSafetyMode"> + <summary> + + </summary> + </member> + <member name="F:System.Threading.LazyThreadSafetyMode.None"> + <summary> + + </summary> + </member> + <member name="F:System.Threading.LazyThreadSafetyMode.PublicationOnly"> + <summary> + + </summary> + </member> + <member name="F:System.Threading.LazyThreadSafetyMode.ExecutionAndPublication"> + <summary> + + </summary> + </member> + <member name="T:System.Threading.ManualResetEventSlim"> + <summary> + Compatibility polyfill based on <see cref="T:System.Threading.ManualResetEvent"/>. + </summary> + </member> + <member name="T:System.Threading.SpinWait"> + <summary> + Provides support for spin-based waiting. + </summary> + <remarks> + <para> + <see cref="T:System.Threading.SpinWait"/> 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. + </para> + <para> + <see cref="T:System.Threading.SpinWait"/> 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 + <see cref="T:System.Threading.Monitor"/>. For most purposes where spin waiting is required, however, + the <see cref="T:System.Threading.SpinWait"/> type should be preferred over the <see + cref="M:System.Threading.Thread.SpinWait(System.Int32)"/> method. + </para> + <para> + 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. + </para> + </remarks> + </member> + <member name="P:System.Threading.SpinWait.Count"> + <summary> + Gets the number of times <see cref="M:System.Threading.SpinWait.SpinOnce"/> has been called on this instance. + </summary> + </member> + <member name="P:System.Threading.SpinWait.NextSpinWillYield"> + <summary> + Gets whether the next call to <see cref="M:System.Threading.SpinWait.SpinOnce"/> will yield the processor, triggering a + forced context switch. + </summary> + <value>Whether the next call to <see cref="M:System.Threading.SpinWait.SpinOnce"/> will yield the processor, triggering a + forced context switch.</value> + <remarks> + On a single-CPU machine, <see cref="M:System.Threading.SpinWait.SpinOnce"/> always yields the processor. On machines with + multiple CPUs, <see cref="M:System.Threading.SpinWait.SpinOnce"/> may yield after an unspecified number of calls. + </remarks> + </member> + <member name="M:System.Threading.SpinWait.SpinOnce"> + <summary> + Performs a single spin. + </summary> + <remarks> + This is typically called in a loop, and may change in behavior based on the number of times a + <see cref="M:System.Threading.SpinWait.SpinOnce"/> has been called thus far on this instance. + </remarks> + </member> + <member name="M:System.Threading.SpinWait.Reset"> + <summary> + Resets the spin counter. + </summary> + <remarks> + This makes <see cref="M:System.Threading.SpinWait.SpinOnce"/> and <see cref="P:System.Threading.SpinWait.NextSpinWillYield"/> behave as though no calls + to <see cref="M:System.Threading.SpinWait.SpinOnce"/> had been issued on this instance. If a <see cref="T:System.Threading.SpinWait"/> instance + is reused many times, it may be useful to reset it to avoid yielding too soon. + </remarks> + </member> + <member name="M:System.Threading.SpinWait.SpinUntil(System.Func{System.Boolean})"> + <summary> + Spins until the specified condition is satisfied. + </summary> + <param name="condition">A delegate to be executed over and over until it returns true.</param> + <exception cref="T:System.ArgumentNullException">The <paramref name="condition"/> argument is null.</exception> + </member> + <member name="M:System.Threading.SpinWait.SpinUntil(System.Func{System.Boolean},System.TimeSpan)"> + <summary> + Spins until the specified condition is satisfied or until the specified timeout is expired. + </summary> + <param name="condition">A delegate to be executed over and over until it returns true.</param> + <param name="timeout"> + A <see cref="T:System.TimeSpan"/> that represents the number of milliseconds to wait, + or a TimeSpan that represents -1 milliseconds to wait indefinitely.</param> + <returns>True if the condition is satisfied within the timeout; otherwise, false</returns> + <exception cref="T:System.ArgumentNullException">The <paramref name="condition"/> argument is null.</exception> + <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="timeout"/> is a negative number + other than -1 milliseconds, which represents an infinite time-out -or- timeout is greater than + <see cref="F:System.Int32.MaxValue"/>.</exception> + </member> + <member name="M:System.Threading.SpinWait.SpinUntil(System.Func{System.Boolean},System.Int32)"> + <summary> + Spins until the specified condition is satisfied or until the specified timeout is expired. + </summary> + <param name="condition">A delegate to be executed over and over until it returns true.</param> + <param name="millisecondsTimeout">The number of milliseconds to wait, or <see + cref="F:System.Threading.Timeout.Infinite"/> (-1) to wait indefinitely.</param> + <returns>True if the condition is satisfied within the timeout; otherwise, false</returns> + <exception cref="T:System.ArgumentNullException">The <paramref name="condition"/> argument is null.</exception> + <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="millisecondsTimeout"/> is a + negative number other than -1, which represents an infinite time-out.</exception> + </member> + <member name="T:System.Threading.PlatformHelper"> + <summary> + A helper class to get the number of processors, it updates the numbers of processors every sampling interval. + </summary> + </member> + <member name="P:System.Threading.PlatformHelper.ProcessorCount"> + <summary> + Gets the number of available processors + </summary> + </member> + <member name="P:System.Threading.PlatformHelper.IsSingleProcessor"> + <summary> + Gets whether the current machine has only a single processor. + </summary> + </member> + <member name="T:System.Threading.TimeoutHelper"> + <summary> + 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 + </summary> + </member> + <member name="M:System.Threading.TimeoutHelper.GetTime"> + <summary> + 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 + </summary> + <returns></returns> + </member> + <member name="M:System.Threading.TimeoutHelper.UpdateTimeOut(System.UInt32,System.Int32)"> + <summary> + Helper function to measure and update the elapsed time + </summary> + <param name="startTime"> The first time (in milliseconds) observed when the wait started</param> + <param name="originalWaitMillisecondsTimeout">The original wait timeout in milliseconds</param> + <returns>The new wait time in milliseconds, -1 if the time expired</returns> + </member> + <member name="T:System.Lazy`1"> + <summary> + + </summary> + <typeparam name="T"></typeparam> + </member> + <member name="M:System.Lazy`1.#ctor"> + <summary> + + </summary> + </member> + <member name="M:System.Lazy`1.#ctor(System.Func{`0})"> + <summary> + + </summary> + <param name="valueFactory"></param> + </member> + <member name="M:System.Lazy`1.#ctor(System.Boolean)"> + <summary> + + </summary> + <param name="isThreadSafe"></param> + </member> + <member name="M:System.Lazy`1.#ctor(System.Func{`0},System.Boolean)"> + <summary> + + </summary> + <param name="valueFactory"></param> + <param name="isThreadSafe"></param> + </member> + <member name="M:System.Lazy`1.#ctor(System.Threading.LazyThreadSafetyMode)"> + <summary> + + </summary> + <param name="mode"></param> + </member> + <member name="M:System.Lazy`1.#ctor(System.Func{`0},System.Threading.LazyThreadSafetyMode)"> + <summary> + + </summary> + <param name="valueFactory"></param> + <param name="mode"></param> + </member> + <member name="P:System.Lazy`1.Value"> + <summary> + + </summary> + </member> + <member name="P:System.Lazy`1.IsValueCreated"> + <summary> + + </summary> + </member> + <member name="M:System.Lazy`1.ToString"> + <summary> + + </summary> + <returns></returns> + </member> + </members> +</doc> diff --git a/Aufgabe3/ConsoleApplication1/obj/Debug/ConsoleApplication1.csproj.CopyComplete b/Aufgabe3/ConsoleApplication1/obj/Debug/ConsoleApplication1.csproj.CopyComplete new file mode 100644 index 0000000..e69de29 diff --git a/Aufgabe3/ConsoleApplication1/packages.config b/Aufgabe3/ConsoleApplication1/packages.config new file mode 100644 index 0000000..36cddda --- /dev/null +++ b/Aufgabe3/ConsoleApplication1/packages.config @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="utf-8"?> +<packages> + <package id="NUnit" version="3.13.3" targetFramework="net35" /> +</packages> \ No newline at end of file diff --git a/Aufgabe3/packages/NUnit.3.13.3/.signature.p7s b/Aufgabe3/packages/NUnit.3.13.3/.signature.p7s new file mode 100644 index 0000000000000000000000000000000000000000..856ae2090ee87e21a1f7c81e5273090a8f77313b GIT binary patch literal 9476 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 X2J|XXu0paUBq|!j?5wrULBISLN25qQ literal 0 HcmV?d00001 diff --git a/Aufgabe3/packages/NUnit.3.13.3/CHANGES.md b/Aufgabe3/packages/NUnit.3.13.3/CHANGES.md new file mode 100644 index 0000000..ae907d4 --- /dev/null +++ b/Aufgabe3/packages/NUnit.3.13.3/CHANGES.md @@ -0,0 +1,1892 @@ +# NUnit Release Notes + +## NUnit 3.13.3 - March 20, 2022 + +This release includes several performance enhancements. [@lahma](https://github.com/lahma) provided a massive speed improvement for large parametrized test suites. In addition, quivalency tests with large unsortable collections run faster by determining if the collections are sortable before attempting to sort them. + +We've added several fixes for .NET 6.0 and we've stopped testing NUnit against .NET Core 2.1 which is now out of support. + +There are also several fixes for the new `FixtureLifeCycle` feature and other smaller bug fixes and performance improvements. + +### Issues Resolved + +* 2963 Flakey tests in FrameworkControllerTests +* 3643 Assert.Pass(message) produces "reason" in XML-Result +* 3841 Breaking change: Is.SupersetOf with ValueTuple requires IComparable in NUnit 3.13.2 +* 3843 IDisposable & InstancePerTestCase: Object created for OneTimeSetUp is not disposed +* 3898 NUnit 3.13.2 : LessThanOrEqualTo fails on a case which should succeed +* 3903 Backport race condition fix (PR 3883) +* 3904 Backport fix for "IDisposable & InstancePerTestCase" (PR 3843) +* 3929 Fix high precision decimal calculations in v3.13 (#3898) +* 3959 Marked 'NUnitEqualityComparer.AreEqual(object, object, Tolerance, bool)' as obsolete +* 3962 Ensure that AfterTest always runs in AfterTestCommand +* 3971 Backport "Add missing `[DoesNotReturn]` annotations" from #3958 +* 3976 Equivalency fallback for non-IComparable types can leave CollectionTally in corrupt state +* 3998 Eagerly determine when a set is unsortable +* 3999 Numeric comparison fails when it should succeed. +* 4000 OverflowException comparing large double values +* 4007 Eagerly detect sortable types for equivalency tests in 3.13.x +* 4030 IsEmpty doesn't work with new .NET6 PriorityQueue +* 4032 Tests won't run with an abstract base class that has a TestCaseFixtureSource +* 4033 Recognized private members in base class for Source attributes +* 4034 Improve method discovery and filtering performance +* 4041 Minimze empty array allocations via centralized helper for pre-net46 +* 4043 Stop testing the framework against netcoreapp21 in v3.13 branch +* 4045 Drop netcore2.1 as a target (backport #3986) +* 4058 Remove TopLevel property from ValueMatchFilter + +## NUnit 3.13.2 - April 27, 2021 + +This release fixes a new issue with the `FixtureLifeCycle` attribute where `IDisposable` test fixtures were not being disposed properly. As always, [@gleb-osokin](https://github.com/gleb-osokin) has been a great help with this new feature. + +It also fixes a long-standing performance issue with `CollectionAssert.AreEquivalent` and the `CollectionEquivalentConstraint` when comparing large collections. The deep comparison that NUnit performs on the two collections will always have a worst case bound of O(n^2) but we have optimized it so that the majority of use cases will be closer to O(n). + +We've also made significant optimizations to the OR filters for selecting tests using their full name. This dramatically improves test performance for large code bases that use `dotnet test`. Thanks to [@pakrym](https://github.com/pakrym) for his help with this. + +### Issues Resolved + +* 2799 CollectionAssert.AreEquivalent is extremely slow +* 3589 File headers, copyrights, and licenses +* 3773 IDisposable not working with InstancePerTestCase +* 3779 Obsolete AreEqual methods with nullable numeric arguments for 3.13 +* 3784 Build the v3.13-dev branch +* 3786 NUnit with dotnet test results in O(n^2) filtering complexity +* 3810 Enable deterministic build +* 3818 AppVeyor failing to build v3.13-dev branch PRs +* 3832 Deploy v3.13-dev branch builds to MyGet + +## NUnit 3.13.1 - January 31, 2021 + +This release addresses several misses with the new `FixtureLifeCycle` attribute, switches to using [SourceLink](https://github.com/dotnet/sourcelink) and NuGet [snupkg](https://docs.microsoft.com/en-us/nuget/create-packages/symbol-packages-snupkg) packages for debugging into NUnit from your unit tests. It also addresses issues with the time format of ignored and explicit tests in the test results file. + +### Issues Resolved + +* 2339 Wrong date format in Ignored TestFixtures +* 3715 FixtureLifeCycle(LifeCycle.InstancePerTestCase) Not working with TestFixtureSource +* 3716 Assembly level FixtureLifeCycle(LifeCycle.InstancePerTestCase) doesn't work +* 3724 Test start and end time should end with Z +* 3726 Assert EqualTo().Within().Seconds does not work with DateTimes in NUnit 3.13 +* 3729 AppVeyor builds failing +* 3736 AreEqual.Within throws on failure with non-numeric types +* 3743 Parametrized tests do not respect FixtureLifeCycle.InstancePerTestCase +* 3745 After upgrading to NUnit 3.13.0 the debugger enters NUnit code despite having checked "Enable Just My Code" + +## NUnit 3.13 - January 7, 2021 + +The [`FixtureLifeCycle`](https://docs.nunit.org/articles/nunit/writing-tests/attributes/fixturelifecycle.html) attribute has been added to indicate that an instance for a test fixture or all test fixtures in an assembly should be constructed for each test within the fixture or assembly. + +This attribute may be applied to a test fixture (class) or to a test assembly. It is useful in combination with the [Parallelizable Attribute](https://docs.nunit.org/articles/nunit/writing-tests/attributes/parallelizable.html) so that a new instance of a test fixture is constructed for every test within the test fixture. This allows tests to run in isolation without sharing instance fields and properties during parallel test runs. This make running parallel tests easier because it is easier to make your tests thread safe. + +This release also fixes several issues running tests in .NET 5.0. If your tests target .NET 5.0, we recommend updating to this release. + +### Issues Resolved + +* 34 Async testing with F# +* 52 Self-contained item in array causes stack overflow +* 1394 Has.Property cannot see explicit interface implementation properties +* 1491 Add a CLA to the project +* 1546 NUnitEqualityComparer.GetEquatableGenericArguments should explicitly order arguments +* 1809 Assert.AreEqual fails for Complex on Linux +* 1897 EqualTo().Using() prevents caller from comparing strings to anything else +* 2211 Request: Add support of indexers to the PropertyConstraint +* 2477 Parameterized fixture with Explicit attribute can not be run when selected by name +* 2574 Instance-per-test-case feature +* 2680 Deprecate the DebugWriter class +* 3611 Properties are shown when --explore:nunit3 is run on entire project, but omitted when using the --where clause +* 3054 Don't enforce `[Timeout]` when debugger is attached +* 3075 Complete RunAsyncAction tests in FrameworkControllerTests +* 3228 Modulo bias is present in Randomizer.NextDecimal(decimal) +* 3240 Automate uploading of test results to Azure Pipelines +* 3243 Azure DevOps does not build release branch +* 3249 Pin GitLink version to speed up Cake script +* 3251 RawInt32() can't use Next since the maximum is always exclusive and it would never return int.MaxValue +* 3252 Timeout of 100 ms in TestTimeoutDoesNotStopCompletion occasionally fails the macOS build +* 3253 Chance of failure in random bias tests is not sufficiently low for CI +* 3256 Building under VS2019 +* 3257 Running under mono +* 3259 The type of an Array isn't inferred from properly +* 3264 Test that IRepeatTest only gets attributes via the IMethodInfo interface +* 3275 Enable setting IgnoreUntilDate in TestCaseData.Ignore +* 3279 Improve failure message from UniqueItemsConstraint +* 3282 TimeoutAttribute makes all Assertions count as failure +* 3283 ExecutionContext is flowed between unrelated tests +* 3286 Testing for equality using a predicate throws exception for collections +* 3290 'Good first issue' or 'help wanted' issue count badge +* 3296 ExceptionHelper.GetExceptionMessage(Exception ex) should tolerate exceptions from exceptions +* 3302 Incorrect formatting of failure message if test fails with Assert.Multiple +* 3303 Check type of actual argument using consistent helper method +* 3304 CheckString should not be a generic method +* 3305 Remove unused methods +* 3307 Sporadic GetResultIsNotCalledUntilContinued failure +* 3308 Fix disposal in EnumerablesComparer +* 3309 Simplify code in EventListenerTextWriter +* 3311 Minimal unit of DateTime in the report when Test was started/ended +* 3312 Simplify ProviderCache and make it instantiable since it is intentionally not thread safe +* 3315 Assert.DoesNotThrow() stopped working as it was previously +* 3318 Fix AwaitAdapter terminology +* 3321 Keep dependencies up to date +* 3322 Speed up build script by removing unnecessary builds +* 3324 Broken link in CHANGES.md +* 3328 Problems when using a mixture of Not and Or filters in NUnit framework 3.12.0 +* 3331 Contains.Key no longer working for IDictionary +* 3338 Azure Pipelines is failing on Linux for both netstandard 1.4 and 2.0 +* 3356 SetUpFixture not run +* 3368 Tests with warnings are not added to console TestResult.xml's total count +* 3383 Drop netstandard1.4 and stop testing on end-of-life versions of .NET Core +* 3389 Show names of parameters +* 3390 SetUpFixture not being triggered when running tests using --testlist +* 3392 Use of Thread.CurrentPrincipal in Blazor/WASM +* 3393 Nuget Package Not Signed +* 3395 Randomizer.NextString() can probably be sped up +* 3408 Save test results as build artifacts +* 3411 Update nuspec file to mention support for NET Standard 2.0+ +* 3414 Azure pipelines are failing on Linux +* 3415 Azure CI: Still publish test results on failure +* 3423 TestResult.cs casts ITestResult to TestResult +* 3447 Is.EqualTo(...).Using(StructuralComparisons.StructuralEqualityComparer or StructuralComparer) not working +* 3452 Assertions that use an existing Regex +* 3453 Visibility of SetUp/TearDown Methods +* 3454 Pre-Filtering in NUnitLite has problems +* 3464 Improve debugging experience +* 3470 Assertion for key-value-pair +* 3475 Our XML comments are using `<code>` (block element) instead of `<c>` (inline element) +* 3485 Should we make MultipleAssertException.TestResult maybe-null or obsolete two constructors? +* 3496 Adding data dictionary should not add a trailing newline +* 3497 Fix mixed line endings in Git +* 3503 Remove implicit cast from ITestResult to TestResult +* 3505 Better failure messages for Subset and Superset constraints +* 3506 ValueTuple tests now running if not targeting NET35 +* 3536 Reduce newly added API surface +* 3542 Update NuGet Package Icons +* 3547 DelayedConstraint constrains does not preserve original result additional information +* 3551 Add PrivateAssets="all" to analyzer dependency +* 3552 MessagePumpStrategy does not work for WPF on netcoreapp3.0 and upwards +* 3559 Disables the DOC100 suggestion and reverts the added paragraph elements +* 3563 `[Suggestion]` Improve TextMessageWriter output for numeric values +* 3565 .NET 5 issue with PlatformAttribute +* 3583 Avoid using a culture-sensitive EndsWith in common code +* 3592 Add classname and methodname to the start-test event +* 3594 Reduce memory overhead of TestNameGenerator +* 3596 AreAlmostEqualUlps throws OverflowException for -0 +* 3598 Fix typo +* 3608 `[Platform]` attribute fails with DllNotFoundException in WASM +* 3616 Extend Is.Empty to work for Guid.Empty +* 3618 NUnit has a P/Invoke whose native function doesn't exist on all platforms +* 3622 EmptyDirectoryConstraint doesn't need to enumerate entire directory contents +* 3632 Assert.Inconclusive() reports failed when timeout used +* 3636 NUnitLite filtering fails if space in test name before ( +* 3641 Type implementing `IComparable<float>` (or any `IComparable`) fails comparison. +* 3647 Fix exception under blazor 5 +* 3650 Build issue with the latest .NET SDK 5.0.100-rc.2 +* 3657 Add Framework Version to the XML +* 3662 TestContext.CurrentContext.CurrentRepeatCount only contains retry count not the repeat count +* 3667 Create FrameworkPackageSetting to set CurrentCulture and CurrentUICulture +* 3676 Parallelizeable tests sometimes shares memory +* 3679 Issue 3390: Do not prefilter relevant SetUpFixtures +* 3694 Async tests causes double failure messages +* 3699 Compilation of netcoreapp3.1 targets fails on CI (both AppVeyor and Azure Pipelines) + +## NUnit 3.12 - May 14, 2019 + +This release of NUnit finally drops support for .NET 2.0. If your application still +targets .NET 2.0, your tests will need to target at least .NET 3.5. Microsoft ended +support for .NET 2.0 on July 12, 2011. Microsoft recommends that everyone migrate +to at least .NET Framework 3.5 SP1 for security and performance fixes. + +This release dramatically improves NUnit support for async tests including returning +ValueTask and custom tasks from tests, improved handling of SynchronizationContexts +and better exception handling. + +The .NET Standard 2.0 version of NUnit continues to gain more functionality that +is found in the .NET 4.5 version of the framework like setting the ApartmentState +and enabling Timeout on tests. + +### Issues Resolved + + * 474 TypeHelperTests.cs is orphaned + * 999 Support multiple TestOf attributes per test + * 1638 TimeoutAttribute not available when targeting netcoreapp framework + * 2168 ThrowsAsync reports OperationCanceledException as TaskCanceledException + * 2194 How to use `Contains.Substring` with `And` + * 2286 Add support for custom Task (i.e. ValueTask) + * 2579 AppVeyor Test Failures under .NET 3.5 + * 2614 TestExecutionContext.CurrentContext is saved in Remoting CallContext between test runs + * 2696 Getting WorkerId fails in debug + * 2772 Random failing of parallel test run: Unhandled Exception: System.InvalidOperationException: Stack empty. + * 2975 ComparisonConstraints are allocating string on construction + * 3014 Timeout failures on MacOS + * 3023 NUnit runner fails when test method returns ValueTask<> + * 3035 Apartment state can't be used for .NET Standard 2.0 tests + * 3036 Apartment state can't be used for .NET Standard 2.0 tests + * 3038 TestName in TestCase attribute not validated to be not empty + * 3042 RequiresThreadAttribute allows ApartmentState.Unknown, unlike ApartmentAttribute + * 3048 Add .idea folder to .gitignore + * 3053 Conversion from TestCase string parameter to DateTimeOffset + * 3059 Constraint Throws.Exception does not work with async return value + * 3068 First Chance Exception in RuntimeFramework + * 3070 End support for .NET Framework 2.0 (released in 2005) + * 3073 CollectionAssert.AreEquivalent fails for ValueTuple Wrapped Dictionary + * 3079 Regression from 3.10 to 3.11: Range in bytes + * 3082 Is.Ordered.By + * 3085 XML Test-Suite Assembly does not contain DLL path anymore + * 3089 Remove outdated comment + * 3093 Tests having TaskLike objects as their return type throws Exception + * 3094 Bad error message if collections have different types + * 3104 Removed NET20 compile output + * 3105 Add tests for use of ApartmentState.Unknown in RequiresThreadAttribute + * 3107 Declare class in Program.cs provided with NUnitLite Nuget package static + * 3109 Azure DevOps build fails in Save package artifacts + * 3124 Switch copyright notice + * 3128 Correct documentation on ParallelScope + * 3137 Fix doc-comments in NUnitTestAssemblyRunner + * 3138 Assert.Ignore breaks when a Task is returned w/o using async/await + * 3139 Add Azure pipelines badge to frontpage + * 3144 Retry attribute should not derive from PropertyAttribute + * 3145 Capture additional exception details in the test output + * 3156 UnexpectedExceptionTests should tolerate Mono on Azure DevOps Ubuntu + * 3159 Make tests more tolerant + * 3161 https url repo + * 3166 Allow static SetUpFixture classes + * 3171 Incorrect type for Test Fixtures when using running explore with a filter + * 3175 Improve user-facing messages + * 3181 Template Based Test Naming - Incorrect truncation for individual arguments + * 3186 Fix licenseUrl element in nuspec, will be deprecated + * 3193 Cake Build Fails with Visual Studio 2019 + * 3195 Drop or at least make Travis not required? + * 3231 Breaking change in filter functionality between framework 2.7 and 3.11 + * 3209 Test fail when posting to SynchronizationContext.Current + * 3211 Fix logging + * 3218 Remove todos from the code base + * 3222 Our build script tests hang when run with Mono on Windows + * 3233 AndConstraint should write additional information from failed constraint + +## NUnit 3.11 - October 6, 2018 + + * More informative assertion messages + * PlatformAttribute is available on .NET Standard and now detects .NET Core + * ValuesAttribute now works with nullable types + * Async tests detecting and running Windows Forms or WPF message pumps rather than deadlocking + * Support for UWP 10.0 is back via .NET Standard 1.4 + +### Issues Resolved + + * 352 Test with infinite loop in TearDown cannot be aborted + * 452 Deprecate the existing Chocolatey framework package + * 660 Order dependence of And and Or constraints should be documented + * 1200 async test + Apartment(ApartmentState.STA) => await not returning on STA thread + * 2123 Task.Run inside a test will result in deadlock if a control was created previously + * 2146 Assert.That with a Throws constraint does not provide as much info as Assert.Throws + * 2427 PropertyConstraint throws away the more helpful message in the base constraint result + * 2432 Ability to exclude/include the platform .NET Core + * 2450 NullReferenceException in ExceptionHelper.BuildMessage on Mono + * 2536 SetArgDisplayNames for TestCaseData and TestFixtureData + * 2611 Enable .NET Standard 1.6 tests on non-Windows + * 2693 Ensure that resharper settings are consistent with the editorconfig configuration + * 2757 Broken `char` comparison in v3.7 and higher + * 2759 Test fails with "No arguments were provided" error when no values returned from IParameterDataSource + * 2761 Infinite loop in nunit 3.9 + * 2781 Fixed precompiler typo + * 2786 Timeout value not resetting on Retry of failed test + * 2790 Removing ITypeInfo abstraction + * 2798 [Request] Show actual count value when test fail on Has.Exactly(x).Items + * 2814 Remove public marker types + * 2819 Only run AppVeyor PR build against open PRs + * 2821 Save and restore the SynchronizationContext before and after each test case + * 2823 SetUp failed for test fixture - Array was not a one-dimensional array. Issue seems related to byte[,] method parameters + * 2829 Obsoletion warning for DataAttribute + * 2831 Regular "BusyExecIdle after 200 milliseconds delay" CI failures + * 2833 Use longer BusyExecIdle to avoid CI failures + * 2836 NUnit.Framework.Does cannot be extended + * 2837 DictionaryContainsKeyConstraint behaviour is inconstant with Dictionary.ContainsKey when the dictionary uses a custom Comparer + * 2842 Supporting inheritance of Assert and related classes + * 2854 Has.All.../Has.None... - show non-matching items in error message + * 2863 Make tests robust without depending on the order of attributes + * 2867 Skip executing TestCaseSources for tests which are not included in the filter + * 2876 Implement Discovery-time filtering for NUnitLite + * 2883 Our public ConcurrentQueue causes type conflicts + * 2885 Copy/paste error in Assert.That documentation + * 2887 NETStandard 1.3 support dropped in NUnit 3.10 + * 2896 Some tests are silently skipped on netstandard1.x since #2796 + * 2898 AssemblyPath contains invalid charaters + * 2901 Values attribute support for nullable bool and enum types + * 2923 Update outdated CategoryAttribute xmldoc + * 2928 Improve error message on EmptyConstraint + * 2929 Added NUnit XML schemas + * 2940 Increase StackTracesAreFiltered amount to 5 + * 2955 Potential threading issue in IsolatedContext + * 2965 NuGet Package : Add `repository` metadata. + * 2970 InvalidCastException @ NUnit.Framework.TestFixtureSourceAttribute.BuildFrom + * 2979 Warn.If in Assert.Multiple + * 2994 Error in .NET Standard 1.4 DictionaryContainsKeyConstraint MetadataToken compatibility methods + * 2996 Remove unused enum + * 3009 Fix failing CI Builds by upgrading to NUnit Console 3.9.0 + * 3020 Upgrade nunit-vs-adapter to 3.10 for nUnit 3.11 + * 3024 Unable to add `.IgnoreCase` modifier to an `AnyOf` constraint in collection constraints + * 3032 APIs to restore before 3.11 + +## NUnit 3.10.1 - March 12, 2018 + +Added a namespace to the props file included in the NuGet package to make it +compatible with versions of Visual Studio prior to VS 2017. + +## NUnit 3.10 - March 12, 2018 + +This release adds a .NET Standard 2.0 version of the framework which re-enables +most of the features that have been missing in our earlier .NET Standard builds +like parallelism, timeouts, directory and path based asserts, etc. It also contains +numerous bug fixes and smaller enhancements. We've improved our XML docs, +fixed performance issues and added more detail to Multiple Asserts. + +This release also contains source-indexed PDB files allowing developers to debug +into the NUnit Framework. This allows you to track down errors or see how the +framework works. + +In order to support the .NET Standard 2.0 version, the NUnit project switched to +the new CSPROJ format and now requires Visual Studio 2017 to compile. This only +effects people contributing to the project. NUnit still supports building and +compiling your tests in older .NET IDEs and NUnit still supports older versions +of the .NET Framework back to 2.0. For contributors, NUnit can now compile all +supported targets on Windows, Linux and Mac using the Cake command line build. + +### Issues Resolved + + * 1373 Setting with a null value + * 1382 Use array argument contents in name of parameterized tests rather than just array type. + * 1578 TestContext.CurrentTest exposes too much internal info + * 1678 Result Message: OneTimeSetUp: Category name must not contain ',', '!', '+' or '-' + * 1944 Removing Compact Framework workarounds + * 1958 System.Reflection.TargetInvocationException after run finished + * 2033 Nameof refactor + * 2202 Best practices for XML doc comments + * 2325 Retry attribute doesn't retry the test. + * 2331 Repo does not build in VS without running `build -t build` first + * 2405 Improve PropertyConstraint error output + * 2421 Publishing symbols with releases + * 2494 CollectionAssert.AllItemsAreUnique() very slow + * 2515 Retarget Solution to use the New CSPROJ Format + * 2518 Bug in CollectionAssert.AreEqual for ValueTuples. + * 2530 Running tests on main thread. Revisiting #2483 + * 2542 NUnit does not support parallelism on .NET Core 2.0 + * 2555 CI timeout: NUnit.Framework.Assertions.CollectionAssertTest.PerformanceTests + * 2564 Add minClientVersion to .nuspec files + * 2566 Refactor `SimpleEnumerableWithIEquatable` test object + * 2577 Warning in TearDown is inconsistent with Assertion failure + * 2580 Remove unused defines + * 2591 NUnitEqualityComparer.Default should be replaced with new NUnitEqualityComparer() + * 2592 Add .props with ProjectCapability to suppress test project service GUID item + * 2608 Culture differences on .NET Core on non-Windows causes test failures + * 2622 Fix flakey test + * 2624 Prevent emails for successful builds on Travis + * 2626 SetUp/TearDown methods are invoked multiple times before/after test in .NET Standard targeted projects + * 2627 Breaking change in CollectionAssert.AllItemsAreUnique with NUnit 3.9 + * 2628 Error during installing tools when running build script + * 2630 Framework throws NullReferenceException if test parameter is marked with [Values(null)] + * 2632 Parallel tests are loading 100% CPU when nested SetUpFixture exists + * 2639 ValuesAttribute causes ExpectedResult to have no effect + * 2647 Add Current Attempt indicator in TestContext for use with RetryAttribute + * 2654 Address feedback from @oznetmaster + * 2656 NuGet package links to outdated license + * 2659 Naming Errors + * 2662 NullReferenceException after parallel tests have finished executing + * 2663 Building NUnit .NET 4.5 in VS2017 fails + * 2669 Removed vestigial build script helper method + * 2670 Invalid assemblies no longer give an error message + * 2671 Ensure that FailureSite.Child is used where appropriate. + * 2685 Remove Rebracer file + * 2688 Assert.Throws swallows console output + * 2695 MultipleAssertException doesn't provide proper details on failures + * 2698 Syntax suggestions errors as warnings + * 2704 Add Constraint to test whether actual item is contained in expected collection + * 2711 NUnitLite: Add support for --nocolor option + * 2714 AnyOfConstraint enumerates multiple times + * 2725 Enable 'strict' compilation flag + * 2726 Replace the ConcurrentQueue and SpinWait compatibility classes + * 2727 Avoid treating warnings as errors inside the IDE + * 2734 TestCaseAttribute: ExpectedResult should support same value conversion as normal method arguments + * 2742 FailureSite not correctly set on containing suites when tests are ignored. + * 2749 Update Travis SDK versions + +## NUnit 3.9 - November 10, 2017 + +This release addresses numerous parallelization issues that were introduced in 3.8 +when method level parallelization was added. Most of the parallelization issues +resolved were tests never completing when using some combinations of parallel tests +and `ApartmentState` not being properly applied to tests in all cases. + +### Issues Resolved + + * 893 Inconsistent Tuple behavior. + * 1239 NUnit3 sometimes hangs if SetUpFixtures are run in parallel + * 1346 NullReferenceException when [TestFixtureSource] refers to data in a generic class. + * 1473 Allow Is.Ordered to Compare Null Values + * 1899 Constraint Throws.Exception does not catch exception with async lambdas + * 1905 SetupFixture without namespace will make assembly-level Parallelizable attribute useless + * 2091 When a native exception of corrupted state is thrown, nunit test thread crashes and the nunit-console process hangs + * 2102 NUnitLite incorrectly reports Win 10 OS name + * 2271 When CollectionAssert.AreEqual do compare each element, it will ignore the IEquatable of the element too + * 2289 ResolveTypeNameDifference does not handle generic types well + * 2311 Resolve test projects' namespace situation + * 2319 Add .editorconfig to set file encodings so that people don't have to think about it + * 2364 Parallelizable attribute not invalidating invalid parallel scope combinations + * 2372 Create testing for compounded ConstraintFilters + * 2388 Parallelization causes test cases to stop respecting fixture's apartment state + * 2395 NUnit 3.8+ does not finish running tests + * 2398 NUnit CI spurious failures, NUnit.Framework.Internal.ThreadUtilityTests.Kill + * 2402 --labels=All doesn't show anything in console output executing NUnitLite Console Runner + * 2406 Summary descriptions replaced by more detailed ones + * 2411 And constraint on Has.Member throws + * 2412 Using fluent syntax unintentionally removed in 3.8 + * 2418 Support equality comparison delegate + * 2422 Has.Property causes AmbiguousMatchException for shadowing properties + * 2425 XML doc typo fix + * 2426 Regression in 3.8.1: ApartmentAttribute no longer works when applied to an assembly + * 2428 Fix NullReferenceExceptions caused by WorkItemQueue not being thread-safe + * 2429 Stack trace shown for Assert.Warn + * 2438 [Parallelizable] hangs after a few tests + * 2441 Allows to override load-time/execution-time interfaces in built-in tests attributes + * 2446 CI failure in mono Warning tests + * 2448 Inherited Test SetUp, TearDown, etc. are not executed in .NET Core if they are not public + * 2451 Compile RegEx to improve performance + * 2454 SetUpFixture not respecting NonParallelizable tag on TestFixtures. + * 2459 [Parallelizable(ParallelScope.Children)] Unable to finish tests + * 2465 Possible wrong properties are returned by reflection in ReflectionExtensions.cs + * 2467 Test execution hangs when using [SetUpFixture] with NUnit 3.8.x + * 2469 Allow RangeAttribute to be specified multiple times for the same argument + * 2471 Parametrized testcases not running in parallel + * 2475 Framework incorrectly identifies Win 10 in xml results + * 2478 Attributes on SetUpFixture are not applied + * 2486 Message when asserting null with Is.EquivalentTo could be more helpful + * 2497 Use ConstraintUtils.RequireActual through out the codebase + * 2504 Support changing test display name on TestFixtureData + * 2508 Correct divergence from shadowed Is / Has members. + * 2516 When test writes something to the stdErr there is no guaranteed way to link a test-output event to a target test using ITestEventListener + * 2525 Remove unwanted space from comment + * 2526 SerializationException in low trust floating point equality test + * 2533 Matches<T>(Predicate<T>) throws ArgumentException or Fails when actual is null + * 2534 SetUpFixture causes NUnit to lock with Apartment( STA ) + * 2551 CollectionItemsEqualConstraint is missing Using(Func<T, T, bool>) + * 2554 Made TestFixtureData.SetName internal for 3.9 + +## NUnit 3.8.1 - August 28, 2017 + +This release fixes two critical regressions in the 3.8 release. The first caused the console +runner to crash if you are using test parameters. The second issue caused collection +constraints checking for multiple items in a collection to fail. + +### Issues Resolved + + * 2386 Contains.Item() fails for collections in NUnit 3.8 + * 2390 Missing value attribute in test parameters setting causes NullReferenceException in console + +## NUnit 3.8 - August 27, 2017 + +This release removes several methods and attributes that were marked obsolete in the +original 3.0 release. Support for iOS and Android has been improved. + +An issue that caused unit tests to run slower was addressed as was a bug that prevented +the use of Assert.Multiple in async code. + +The Order attribute can now also be applied to the class level to set the order +that test fixtures will be run. + +### Issues Resolved + + * 345 Order of Fixture Execution + * 1151 Include differences in output for Is.EquivalentTo + * 1324 Remove CollectionContainsConstraint + * 1670 Attaching files to the test result + * 1674 InRange-Constraint must work with object + * 1851 TestCaseSource unable to pass one element byte array + * 1996 Timeout does not work if native code is running at the time + * 2004 Has.One as synonym for Has.Exactly(1).Items + * 2062 TestCaseSource attribute causes test to pass when source is not defined + * 2144 Allow option on RandomAttribute to produce distinct values + * 2179 Some NUnit project's tests fail on systems with CultureInfo other than en + * 2195 Contains.Substring with custom StringComparison + * 2196 Expose ParallelizableAttribute (and other attribute) constructor arguments as properties + * 2201 Invalid platform name passed to PlatformAttribute should mark test NotRunnable + * 2208 StackFIlter trims leading spaces from each line + * 2213 SetCultureAttribute: CultureInfo ctor should use default culture settings + * 2217 Console runner performance varies wildly depending on environmental characteristics + * 2219 Remove Obsolete Attributes + * 2225 OneTimeTearDown and Dispose Ordering + * 2237 System.Runtime.Loader not available for iOS/Android + * 2242 Running tests directly should never surface a NullReferenceException + * 2244 Add KeyValuePair<TKey, TValue> to the default formatters + * 2251 Randomizer.NextGuid() + * 2253 Parallelizable(ParallelScope.Fixtures) doesn't work on a TestFixture + * 2254 EqualTo on ValueTuple with Nullable unexpected + * 2261 When an assembly is marked with ParallelScope.None and there are Parallelizable tests NUnit hangs + * 2269 Parallelizable and NonParallelizable attributes on setup and teardown silently ignored + * 2276 Intermittent test failures in Travic CI: TestContextTests + * 2281 Add type constraint for Throws and any method requiring Exception + * 2288 Killing thread cancels test run + * 2292 Is.Ordered.By() with a field throws NullReferenceException + * 2298 Write TestParametersDictionary to xml result file in readable format + * 2299 NUnitLite NuGet package no longer installs NUnit NuGet package + * 2304 Revert accidental doc removal + * 2305 Correct misprint ".con" -> ".com" + * 2312 Prevent crash on invalid --result parsing in NUnitLite + * 2313 Incorrect xmldoc on RetryAttribute + * 2332 Update build script to use NUnitConsoleRunner v3.7.0 + * 2335 Execute OneTimeTearDown as early as possible when running fixtures in parallel + * 2342 Remove deprecated Is.String* Constraints + * 2348 Can't use Assert.Multiple with async code + * 2353 Provide additional Result information through TestContext + * 2358 Get framework to build under Mono 5.0 + * 2360 Obsolete CollectionContainsConstraint Constructors + * 2361 NUnit Parallelizable and OneTimeSetUp with no namespace results in single-threaded test execution + * 2370 TestCaseAttribute can't convert int to nullable long + +## NUnit 3.7.1 - June 6, 2017 + +This is a hotfix release that addresses occasional hangs when using test parallelization +and fixes crashes in NCrunch prior to version 3.9. + +### Issues Resolved + + * 2205 Ncrunch: System.Xml.XmlException: Root element is missing, when adding NUnit 3.7.0 + * 2209 NUnit occasionally hangs when parallelizable TestFixture has OneTimeSetUp and OneTimeTearDown + +## NUnit 3.7 - May 29, 2017 + +This release of NUnit expands on parallel test execution to allow test methods to +be run in parallel. Please see the [Parallelizable Attribute](https://github.com/nunit/docs/wiki/Parallelizable-Attribute) +for more information. + +NUnit 3.7 also drops the Portable build of the framework and replaces it with a +.NET Standard 1.3 version to compliment the .NET Standard 1.6 version. This change +enables several constraints and other features in the .NET Standard builds that +weren't available in portable like Path and Directory based asserts. + +The AssertionHelper class has been deprecated because it is seldom used and has +not received any of the updates that Asserts and Constraints receive. If your code +is using the AssertionHelper class, we recommend that you migrate your asserts. + +### Issues Resolved + + * 164 Run test methods within a fixture in parallel + * 391 Multiple Assertions + * 652 Add ability to execute test actions before SetUp or OneTimeSetUp + * 1000 Support multiple Author attributes per test + * 1096 Treat OneTimeSetup and OneTimeTearDown as separate work items + * 1143 NUnitLite - Explore flag does not apply where filter to output + * 1238 Feature request: Print LoaderExceptions when fixture loading fails + * 1363 Make Timeouts work without running test on its own thread + * 1474 Several SetUpFixtures at the same level may be active at the same time + * 1819 TestContext.Progress.Write writes new line + * 1830 Add --labels switch changes to nunilite and nunitlite tests + * 1859 ConcurrentQueue is duplicate with System.Threading.dll package + * 1877 Resolve differences between NUnit Console and NUnitLite implementations of @filename + * 1885 Test parameter containing a semicolon + * 1896 Test has passed however Reason with an empty message is printed in the xml + * 1918 Changing DefaultFloatingPointTolerance breaks tests running in parallel + * 1932 NUnit Warn class should be removed from stack trace by filter + * 1934 NullReferenceException when null arguments are used in TestFixtureAttribute + * 1952 TestContext.Out null when used in task with .NET Core + * 1963 Investigate removing SpecialValue + * 1965 TestContext does not flow in async method + * 1971 Switch CHANGES.txt to Markdown + * 1973 Implemented TestExecutionContext to use AsyncLocal<> for NETSTANDARD1_6 + * 1975 TestFixtureSource doesn't work with a class that has no namespace + * 1983 Add missing ConstraintExpression.Contain overload + * 1990 Add namespace filter + * 1997 Remove unused --verbose and --full command line options + * 1999 Author Tests assume ICustomAttributeProvider.GetCustomAttributes return order is defined + * 2003 Better user info about ParallelizableAttribute and ParallelScope + * 2005 Exclude empty failure messages from results xml + * 2007 3.6 Multiple assertion backwards compatibility + * 2010 Add DelayedConstraint in NetStandard 1.6 build + * 2020 Better message when timeout fails + * 2023 Ability to abort threads running a message pump + * 2025 NullReferenceException using Is.EqualTo on two unequal strings + * 2030 Add method to mark tests as invalid with a reason + * 2031 Limit Language level to C#6 + * 2034 Remove silverlight project - no longer used + * 2035 NullReferenceException inside failing Assert.That call + * 2040 Cannot catch AssertionException + * 2045 NUnitlite-runner crashes if no file is provided + * 2050 Creation of TestExecutionContext should be explicit + * 2052 NullReferenceException with TestCaseSource if a property has no setter + * 2061 TestContext.WorkDirectory not initialized during build process + * 2079 Make TestMethod.Arguments public or otherwise accessible (e.g. TestContext) + * 2080 Allow comments in @FILE files + * 2087 Enhance error message: Test is not runnable in single-threaded context. Timeout + * 2092 Convert Portable library to .NET Standard 1.3 + * 2095 Extend use of tolerance to ComparisonConstraints + * 2099 Include type in start-suite/start-test report elements + * 2110 NullReferenceException when getting TestDirectory from TestContext + * 2115 Mark AssertionHelper as Obsolete + * 2121 Chained PropertyConstraint constraints report incorrect ActualValue + * 2131 Remove "Version 3" suffix from NUnitLite NuGet Package + * 2132 TestFixtureTests.CapturesArgumentsForConstructorWithMultipleArgsSupplied assumes order of custom attributes + * 2143 Non-parallel fixture with parallel children runs in parallel with other fixtures + * 2147 Test Assembly using NUnitLite & Nunit 3.6.1 hangs under .NET Core when `--timeout` is supplied on command line + * 2150 Add portable-slow-tests to Cake file + * 2152 Allow attaching files to TestResults + * 2154 Fix execution of non-parallel test fixtures + * 2157 Getting WorkerId inside Assert.Throws / DoesNotThrow returns null instead of previous non-null value + * 2158 Update SetupFixtureAttribute XML Docs + * 2159 Prevent crash in .NET standard with log file path + * 2165 Trying to install NUnit 3.6.1 on .NET Framework asks for download of 20 more packages + * 2169 Incorrect xmldocs for SetUpAttribute + * 2170 Cake build fails if only Visual Studio 2017 installed + * 2173 Remove PreTestAttribute and PostTestAttribute + * 2186 Replace special characters as part of converting branch names to package versions + * 2191 System.Reflection.TargetInvocationException with nunit3-console --debug on Mono + +## NUnit 3.6.1 - February 26, 2017 + +This is a hotfix release of the framework that addresses critical issues found in +the 3.6 release. + +### Issues Resolved + + * 1962 A Theory with no data passes + * 1986 NUnitLite ignores --workers option + * 1994 NUnitLite runner crashing when --trace is specified + * 2017 Two NUnit project's tests fail on systems with comma decimal mark settings + * 2043 Regression in 3.6.0 when catching AssertionException + +## NUnit 3.6 - January 9, 2017 + +This release of the framework no longer includes builds for Compact Framework or +for SilverLight, but adds a .NET Standard 1.6 build. If anyone still using +Compact Framework or SilverLight and would like to continue development on those +versions of the framework, please contact the NUnit team. + +### Framework + + * .NET Standard 1.6 is now supported + * Adds support for Multiple Assert blocks + * Added the --params option to NUnitLite + * Theories now support Nullable enums + * Improved assert error messages to help differentiate differences in values + * Added warnings with Warn.If(), Warn.Unless() and Assert.Warn() + * Enabled Path, File and Directory Asserts/Contraints for .NET Core testing + * Added NonTestAssemblyAttribute for use by third-party developers to indicate + that their assemblies reference the NUnit framework, but do not contain tests + +### Issues Resolved + + * 406 Warning-level Assertions + * 890 Allow file references anywhere in the command line. + * 1380 Appveyor Failures when branch name is too long + * 1589 Split the nunit repository into multiple repositories + * 1599 Move Compact Framework to separate project + * 1601 Move Silverlight to a separate project + * 1609 Upgrade Cake build to latest version + * 1661 Create .NET Standard Framework Build + * 1668 Need implementation-independent way to test number of items in a collection + * 1743 Provide multiple results for a test case in the XML output + * 1758 No direct inverse for Contains.Key + * 1765 TestCaseSourceAttribute constructor for method with parameters + * 1802 Design Multiple Assert syntax as seen by users + * 1808 Disambiguate error messages from EqualConstraint + * 1811 Build.ps1 fails if spaces in path + * 1823 Remove engine nuspecs and old global.json + * 1827 Remove unused repository paths from repositories.config + * 1828 Add Retry for failed tests only + * 1829 NUnitLite accepts --params option but does not make any use of it. + * 1836 Support nullable enums in Theories + * 1837 [Request] AfterContraint to support more readable usage + * 1840 Remove SL and CF #Defined source + * 1866 [Request] More readable way to set polling interval in After constraint + * 1870 EqualConstraint result failure message for DateTime doesn't show sufficient resolution + * 1872 Parameterized method being called with no parameter + * 1876 What should we do about Env.cs + * 1880 AttributeUsage for various Attributes + * 1889 Modify nunitlite to display multiple assert information + * 1891 TestContext.Progress and TestContext.Error silently drop text that is not properly XML encoded + * 1901 Make nunitlite-runner Prefer32Bit option consistent across Debug/Release + * 1904 Add .NET Standard 1.6 Dependencies to the Nuspec Files + * 1907 Handle early termination of multiple assert block + * 1911 Changing misleading comment that implies that every `ICollection<T>` is a list + * 1912 Add new warning status and result state + * 1913 Report Warnings in NUnitLite + * 1914 Extra AssertionResult entries in TestResults + * 1915 Enable Path, File and Directory Assert/Constraints in the .NET Standard Build + * 1917 Use of IsolatedContext breaks tests in user-created AppDomain + * 1924 Run tests using the NUnit Console Runner + * 1929 Rename zip and remove source zip + * 1933 Tests should pass if test case source provides 0 test cases + * 1941 Use dictionary-based property for test run parameters + * 1945 Use high-quality icon for nuspecs + * 1947 Add NonTestAssemblyAttribute + * 1954 Change Error Message for Assert.Equals + * 1960 Typo fixes + * 1966 Xamarin Runner cannot reference NUnit NuGet Package + +## NUnit 3.5 - October 3, 2016 + +This is the first version of NUnit where the framework will be released separately from the +console runner, engine and other extensions. From this point forward, the NUnit Framework will be +released on its own schedule that is not bound to that of any other NUnit project and version numbers +may diverge over time. + +This is also the first release where the NUnit Framework will not be included in the installer. Only +the console runner, engine and extensions will be available as an MSI installer. We recommend that you +use the NUnit NuGet packages for the framework, but a ZIP file with the binaries will also be available. + +### Framework + + * Added Assert.Zero and Assert.NotZero methods + * You can now pass a `Func<string>` to Asserts to lazily evaluate exception messages + * Added the ability to Assert on the order of multiple properties in a collection + * Tests with a Timeout will no longer timeout while you are debugging + +### Issues Resolved + + * 144 Pass a `Func<string>` to lazily evaluate an exception message + * 995 Enable Warning as Error + * 1106 Move various Assembly Info files under Properties for CF + * 1334 Add Assert.Zero and Assert.NotZero + * 1479 Don't enforce [Timeout] when debugger is attached + * 1540 Remove old .NET Core Projects + * 1553 Allow ordering tests to be done in multiple properties + * 1575 Escaping control chars in custom message + * 1596 Eliminate code sharing across projects to be split + * 1598 Split framework and console/engine into separate projects + * 1610 Refactor dependencies in build.cake + * 1615 Appveyor error in TestCF + * 1621 Remove console and command-line option files from common + * 1640 When submitting only part of optional parameters, all are overriden by defaults + * 1641 Create OSX CI Build on Travis + * 1663 Find way to hide NUnit.Compatability.Path from intellisense + * 1681 NUnitLite under .net core doesn't support TeamCity output + * 1683 Existence of SerializableAttribute in .NET Core + * 1693 2 unit tests fail due to localization + * 1716 Move installer to new repository + * 1717 Change suffix for master builds + * 1723 Remove Cake target TestAll + * 1739 Create separate copies of MockAssembly for framework, engine and extensions + * 1751 Serializable attribute exists in both System.Runtime.Serialization.Formatters and nunit.framework + * 1775 Support NUnit assertions in partial trust code. + * 1800 Remove Console/Engine projects from nunit.linux.sln + * 1805 Error message "arguments provided for method not taking any" seems incomplete / doesn't make much sense + * 1815 Prevent NullReferenceException in SubPathConstraint + +## NUnit 3.4.1 - June 30, 2016 + +### Console Runner + + * A new option, --list-extensions, will display all the engine extensions that + have been installed by the engine. + +### Issues Resolved + + * 1623 NUnit 3.4 is not integrated with TeamCity + * 1626 NUnit.ConsoleRunner is not picking up NUnit.Extension.NUnitV2ResultWriter + * 1628 Agent's process stays in memory when it was failed to unload AppDomain + * 1635 Console option to list loaded extensions + +## NUnit 3.4 - June 25, 2016 + +### Framework + + * Improvements in comparing equality using `IEquatable<T>` + * Test case names will only be truncated if the runner requests it or it is overridden on the command line + with the --test-name-format option + * The .NET 2.0 version of the framework now includes LINQ. If your tests target .NET 2.0, you can now use + LINQ queries in your tests + +### Engine + + * The TeamCity event listener has been separated out into an engine extension + * Fixed numerous issues around thread safety of parallel test runs + * Additional fixes to reduce memory usage + * Fixes for Mono 4.4 + +### Console Runner + + * There is a new --params command line option that allows you to pass parameters to your tests + which can be retrieved using TestContext.Parameters + * Another new command line option --loaduserprofile causes the User Profile to be loaded into the + NUnit Agent process. + +### Issues Resolved + + * 329 (CLI) Runner does not report AppDomain unloading timeout + * 720 Need a way to get test-specific command-line arguments at runtime + * 1010 Need to control engine use of extensions + * 1139 Nunit3 console doesn't show test output continously + * 1225 The --teamcity option should really be an extension + * 1241 Make TestDirectory accessible when TestCaseSource attributes are evaluated + * 1366 Classname for inherited test is not correct + * 1371 Support `dotnet test` in .NET CLI and .NET Core + * 1379 Console returns 0 for invalid fixtures + * 1422 Include TestListWithEmptyLine.tst in ZIP Package + * 1423 SingleThreaded attribute should raise an error if a thread is required + * 1425 Lazy initialization of OutWriter in TestResult is not thread safe + * 1427 Engine extensions load old packages + * 1430 TestObjects are retained for lifetime of test run, causing high memory usage + * 1432 NUnit hangs when reporting to TeamCity + * 1434 TestResult class needs to be thread-safe + * 1435 Parallel queue creation needs to be thread-safe + * 1436 CurrentFramework and Current Platform need to be more thread-safe + * 1439 EqualConstraint does Not use Equals Override on the Expected Object + * 1441 Add Linq for use internally in .NET 2.0 code + * 1446 TestOrderAttributeTests is not public + * 1450 Silverlight detection doesn't work when building on 32-bit OS + * 1457 Set the 2.0 build to ignore missing xml dcoumentation + * 1463 Should TestResult.AssertCount have a public setter? + * 1464 TNode.EscapeInvalidXmlCharacters recreates Regex continually + * 1470 Make EventQueue and associated classes lock-less and thread safe + * 1476 Examine need for "synchronous" events in event queue + * 1481 TestCase with generic return type causes NullReferenceException + * 1483 Remoting exceptions during test execution + * 1484 Comparing Equality using `IEquatable<T>` Should Use Most Specific Method + * 1493 NUnit 2 test results report ParameterizedMethod but should be ParameterizedTest + * 1507 NullReferenceException when null arguments are used in TestFixtureAttribute + * 1513 Add new teamcity extension to packages + * 1518 NUnit does not send the "testStarted" TeamCity service message when exception was thrown from SetUp/OneTimeSetUp + * 1520 Detect Portable, Silverlight and Compact and give error message + * 1528 Use of Sleep(0) in NUnit + * 1543 Blank name attribute in nunit2-formatted XML result file test-run element + * 1547 Create separate assembly for System.Linq compatibility classes + * 1548 Invalid Exception when engine is in a 32-bit process + * 1549 Changing default behavior for generating test case names + * 1551 Path in default .addins file for ConsoleRunner package may not exist + * 1555 EndsWith calls in Constraint constructor can cause major perf issues + * 1560 Engine writes setting file unnecessarily + * 1573 Move Nunit.Portable.Agent to new Repo + * 1579 NUnit v3 dangerously overrides COMPLUS_Version environment variable + * 1582 Mono 4.4.0 Causes Test Failures + * 1593 Nunit Console Runner 3.2.1 and Mono 4.4 throws RemotingException + * 1597 Move Portable agent to its own repository + * 1605 TeamCity package has no pre-release suffix + * 1607 nunit.nuget.addins discovery pattern is wrong then restored through project.json + * 1617 Load user profile on test runners + +## NUnit 3.2.1 - April 19, 2016 + +### Framework + + * The output and error files are now thread safe when running tests in parallel + * Added a .NET 3.5 build of the framework preventing conflicts with the compatiblity classes in the 2.0 framework + * Added a SingleThreadedAttribute to be added to a TestFixture to indicate all child tests should run on the same thread + +### Engine + + * Unless required, run all tests within a fixture on the same thread + * Added an EventListener extension point + * Reduced memory usage + +### Console Runner + + * No longer probes for newer versions of the engine, instead uses the engine that is included with the console + +### Issues Resolved + + * 332 Add CF to the Appveyor CI build + * 640 Keep CF Build (and other future builds) in Sync + * 773 Upgrade Travis CI from Legacy Infrastructure + * 1141 Explicit Tests get run when using --where with some filters + * 1161 NUnit3-Console should disallow the combination of --inprocess and --x86, giving an error message + * 1208 Apartment on assembly level broken + * 1231 Build may silently fail some tests + * 1247 Potential memory issue + * 1266 SetCultureAttribute does not work if set on assembly level + * 1302 Create EventListener ExtensionPoint for the Engine + * 1317 Getting CF framework unit tests running on CI build + * 1318 NUnit console runner fails with error code -100 + * 1327 TestCaseSource in NUnit 3 converts an argument declared as String[] to String + * 1329 Unable to build without Compact Framework + * 1333 Single Thread per Worker + * 1338 BUILDING.txt is outdated + * 1349 Collision on System.Func from nunit.framework with System.Core in .Net 3.5 (CS0433) + * 1352 Tests losing data setup on thread + * 1359 Compilation error in NUnitPortableDriverTests.cs + * 1383 Skip Silverlight build if SDK not installed + * 1386 Bug when using Assert.Equals() with types that explicitly implement `IEquatable<T>` + * 1390 --testlist with file with blank first line causes IndexOutOfRangeException + * 1399 Fixed NullReference issue introduced by the fix for #681 + * 1405 ITestRunner.StopRun throws exception of type 'System.MissingMethodException' + * 1406 TextCapture is not threadsafe but is used to intercept calls that are expected to be threadsafe + * 1410 Make OutFile and ErrFile streamwriters synchronized + * 1413 Switch console to use a local engine + +## NUnit 3.2 - March 5, 2016 + +### Framework + + * Added an Order attribute that defines the order in which tests are run + * Added Assert.ThrowsAsync for testing if async methods throw an exception + * You can now compare unlike collections using Is.EquivalentTo().Using(...) + * Added the ability to add custom message formatters to MsgUtils + * TestCaseSourceAttribute now optionally takes an array of parameters that can be passed to the source method + * Added Is.Zero and Is.Not.Zero to the fluent syntax as a shorter option for Is.EqualTo(0) and Is.Not.EqualTo(0) + +### Engine + + * Engine extensions can be installed via NuGet packages + +### Issues Resolved + + * 170 Test Order Attribute + * 300 Create an NUnit Visual Studio Template + * 464 Async delegate assertions + * 532 Batch runner for Silverlight tests + * 533 Separate NUnitLite runner and autorunner + * 681 NUnit agent cannot resolve test dependency assemblies when mixed mode initialization runs in the default AppDomain + * 793 Replace CoreEngine by use of Extensions + * 907 Console report tests are too fragile + * 922 Wrap Console in NUnitLite + * 930 Switch from MSBuild based build system to Cake + * 981 Define NUnit Versioning for post-3.0 Development + * 1004 Poor formatting of results for Assert.AreEqual(DateTimeOffset, DateTimeOffset) + * 1018 ArgumentException when 2.x version of NUnit Framework is in the bin directory + * 1022 Support Comparing Unlike Collections using Is.EquivalentTo().Using(...) + * 1044 Re-order Test Summary Errors/Failures + * 1066 ApartmentAttribute and TestCaseAttribute(s) do not work together + * 1103 Can't use TestCaseData from base class + * 1109 NullReferenceException when using inherited property for ValueSource + * 1113 Console runner and xml output consistency + * 1117 Fix misbehaviour of Throws.Exception with non-void returning functions + * 1120 NUnitProject should parse .nunit project files containing Xml Declarations + * 1121 Usage of field set to null as value source leads to somewhat cryptic error + * 1122 Region may be disposed before test delegate is executed + * 1133 Provide a way to install extensions as nuget packages + * 1136 Don't allow V2 framework to update in V2 driver tests + * 1171 A bug when using Assert.That() with Is.Not.Empty + * 1185 Engine finds .NET 4.0 Client Profile twice + * 1187 ITestAssemblyRunner.StopRun as implemented by NUnitTestAssemblyRunner + * 1195 name attribute in test-suite and test-results element of output xml is different to nunit 2.6.4 using nunit2-format + * 1196 Custom value formatter for v3 via MsgUtils + * 1210 Available runtimes issues + * 1230 Add ability for testcasedatasource to have parameters passed to methods + * 1233 Add TestAssemblyRunner tests to both portable and silverlight builds + * 1234 Have default NUnitLite Runner Program.cs return exit code + * 1236 Make Appveyor NuGet feed more useable + * 1246 Introduce Is.Zero syntax to test for zero + * 1252 Exception thrown when any assembly is not found + * 1261 TypeHelper.GetDisplayName generates the wrong name for generic types with nested classes + * 1278 Fix optional parameters in TestCaseAttribute + * 1282 TestCase using Params Behaves Oddly + * 1283 Engine should expose available frameworks. + * 1286 value of the time attribute in nunit2 outputs depends on the machine culture + * 1297 NUnit.Engine nuget package improvements + * 1301 Assert.AreNotSame evaluates ToString unnecessarily + +## NUnit 3.0.1 - December 1, 2015 + +### Console Runner + + * The Nunit.Runners NuGet package was updated to become a meta-package that pulls in the NUnit.Console package + * Reinstated the --pause command line option that will display a message box allowing you to attach a debugger if the --debug option does not work + +### Issues Resolved + + * 994 Add max number of Agents to the NUnit project file + * 1014 Ensure NUnit API assembly updates with MSI installs + * 1024 Added --pause flag to console runner + * 1030 Update Nunit.Runners package to 3.0 + * 1033 "No arguments were provided" with Theory and Values combination + * 1035 Check null arguments + * 1037 Async tests not working on Windows 10 Universal + * 1041 NUnit2XmlResult Writer is reporting Sucess when test fails + * 1042 NUnit2 reports on 3.0 is different than 2.6.4 + * 1046 FloatingPointNumerics.AreAlmostEqualUlps throws OverflowException + * 1049 Cannot select Generic tests from command line + * 1050 Do not expose System.Runtime.CompilerServices.ExtensionAttribute to public + * 1054 Create nuget feeds for CI builds on Appveyor + * 1055 nunit3 console runner --where option does not return error on invalid selection string + * 1060 Remove "Version 3" from NUnit Nuget Package + * 1061 Nunit30Settings.xml becomes corrupted + * 1062 Console.WriteLine statements in "OneTimeSetUp" and "OneTimeTearDown" annotated methods are not directed to the console when using nunit3-console.exe runner + * 1063 Error in Random Test + +## NUnit 3.0.0 Final Release - November 15, 2015 + +### Issues Resolved + + * 635 Mono 4.0 Support + +## NUnit 3.0.0 Release Candidate 3 - November 13, 2015 + +### Engine + + * The engine now only sets the config file for project.nunit to project.config if project.config exists. Otherwise, each assembly uses its own config, provided it is run in a separate AppDomain by itself. + + NOTE: It is not possible for multiple assemblies in the same AppDomain to use different configs. This is not an NUnit limitation, it's just how configs work! + +### Issues Resolved + + * 856 Extensions support for third party runners in NUnit 3.0 + * 1003 Delete TeamCityEventHandler as it is not used + * 1015 Specifying .nunit project and --framework on command line causes crash + * 1017 Remove Assert.Multiple from framework + +## NUnit 3.0.0 Release Candidate 2 - November 8, 2015 + +### Engine + + * The IDriverFactory extensibility interface has been modified. + +### Issues Resolved + + * 970 Define PARALLEL in CF build of nunitlite + * 978 It should be possible to determine version of NUnit using nunit console tool + * 983 Inconsistent return codes depending on ProcessModel + * 986 Update docs for parallel execution + * 988 Don't run portable tests from NUnit Console + * 990 V2 driver is passing invalid filter elements to NUnit + * 991 Mono.Options should not be exposed to public directly + * 993 Give error message when a regex filter is used with NUnit V2 + * 997 Add missing XML Documentation + * 1008 NUnitLite namespace not updated in the NuGet Packages + +## NUnit 3.0.0 Release Candidate - November 1, 2015 + +### Framework + + * The portable build now supports ASP.NET 5 and the new Core CLR. + + NOTE: The `nunit3-console` runner cannot run tests that reference the portable build. + You may run such tests using NUnitLite or a platform-specific runner. + + * `TestCaseAttribute` and `TestCaseData` now allow modifying the test name without replacing it entirely. + * The Silverlight packages are now separate downloads. + +## NUnitLite + + * The NUnitLite runner now produces the same output display and XML results as the console runner. + +### Engine + + * The format of the XML result file has been finalized and documented. + +### Console Runner + + * The console runner program is now called `nunit3-console`. + * Console runner output has been modified so that the summary comes at the end, to reduce the need for scrolling. + +### Issues Resolved + + * 59 Length of generated test names should be limited + * 68 Customization of test case name generation + * 404 Split tests between nunitlite.runner and nunit.framework + * 575 Add support for ASP.NET 5 and the new Core CLR + * 783 Package separately for Silverlight + * 833 Intermittent failure of WorkItemQueueTests.StopQueue_WithWorkers + * 859 NUnit-Console output - move Test Run Summary to end + * 867 Remove Warnings from Ignored tests + * 868 Review skipped tests + * 887 Move environment and settings elements to the assembly suite in the result file + * 899 Colors for ColorConsole on grey background are too light + * 904 InternalPreserveStackTrace is not supported on all Portable platforms + * 914 Unclear error message from console runner when assembly has no tests + * 916 Console runner dies when test agent dies + * 918 Console runner --where parameter is case sensitive + * 920 Remove addins\nunit.engine.api.dll from NuGet package + * 929 Rename nunit-console.exe + * 931 Remove beta warnings from NuGet packages + * 936 Explicit skipped tests not displayed + * 939 Installer complains about .NET even if already installed + * 940 Confirm or modify list of packages for release + * 947 Breaking API change in ValueSourceAttribute + * 949 Update copyright in NUnit Console + * 954 NUnitLite XML output is not consistent with the engine's + * 955 NUnitLite does not display the where clause + * 959 Restore filter options for NUnitLite portable build + * 960 Intermittent failure of CategoryFilterTests + * 967 Run Settings Report is not being displayed. + +## NUnit 3.0.0 Beta 5 - October 16, 2015 + +### Framework + + * Parameterized test cases now support nullable arguments. + * The NUnit framework may now be built for the .NET Core framework. Note that this is only available through building the source code. A binary will be available in the next release. + +### Engine + + * The engine now runs multiple test assemblies in parallel by default + * The output XML now includes more information about the test run, including the text of the command used, any engine settings and the filter used to select tests. + * Extensions may now specify data in an identifying attribute, for use by the engine in deciding whether to load that extension. + + +### Console Runner + + * The console now displays all settings used by the engine to run tests as well as the filter used to select tests. + * The console runner accepts a new option --maxagents. If multiple assemblies are run in separate processes, this value may be used to limit the number that are executed simultaneously in parallel. + * The console runner no longer accepts the --include and --exclude options. Instead, the new --where option provides a more general way to express which tests will be executed, such as --where "cat==Fast && Priority==High". See the docs for details of the syntax. + * The new --debug option causes NUnit to break in the debugger immediately before tests are run. This simplifies debugging, especially when the test is run in a separate process. + +### Issues Resolved + + * 41 Check for zeroes in Assert messages + * 254 Finalize XML format for test results + * 275 NUnitEqualityComparer fails to compare `IEquatable<T>` where second object is derived from T + * 304 Run test Assemblies in parallel + * 374 New syntax for selecting tests to be run + * 515 OSPlatform.IsMacOSX doesn't work + * 573 nunit-console hangs on Mac OS X after all tests have run + * 669 TeamCity service message should have assembly name as a part of test name. + * 689 The TeamCity service message "testFinished" should have an integer value in the "duration" attribute + * 713 Include command information in XML + * 719 We have no way to configure tests for several assemblies using NUnit project file and the common installation from msi file + * 735 Workers number in xml report file cannot be found + * 784 Build Portable Framework on Linux + * 790 Allow Extensions to provide data through an attribute + * 794 Make it easier to debug tests as well as NUnit itself + * 801 NUnit calls Dispose multiple times + * 814 Support nullable types with TestCase + * 818 Possible error in Merge Pull Request #797 + * 821 Wrapped method results in loss of result information + * 822 Test for Debugger in NUnitTestAssemblyRunner probably should not be in CF build + * 824 Remove unused System.Reflection using statements + * 826 Randomizer uniqueness tests fail randomly! + * 828 Merge pull request #827 (issue 826) + * 830 Add ability to report test results synchronously to test runners + * 837 Enumerators not disposed when comparing IEnumerables + * 840 Add missing copyright notices + * 844 Pull Request #835 (Issue #814) does not build in CF + * 847 Add new --process:inprocess and --inprocess options + * 850 Test runner fails if test name contains invalid xml characters + * 851 'Exclude' console option is not working in NUnit Lite + * 853 Cannot run NUnit Console from another directory + * 860 Use CDATA section for message, stack-trace and output elements of XML + * 863 Eliminate core engine + * 865 Intermittent failures of StopWatchTests + * 869 Tests that use directory separator char to determine platform misreport Linux on MaxOSX + * 870 NUnit Console Runtime Environment misreports on MacOSX + * 874 Add .NET Core Framework + * 878 Cannot exclude MacOSX or XBox platforms when running on CF + * 892 Fixed test runner returning early when executing more than one test run. + * 894 Give nunit.engine and nunit.engine.api assemblies strong names + * 896 NUnit 3.0 console runner not placing test result xml in --work directory + +## NUnit 3.0.0 Beta 4 - August 25, 2015 + +### Framework + + * A new RetryAttribute allows retrying of failing tests. + * New SupersetConstraint and Is.SupersetOf syntax complement SubsetConstraint. + * Tests skipped due to ExplicitAttribute are now reported as skipped. + +### Engine + + * We now use Cecil to examine assemblies prior to loading them. + * Extensions are no longer based on Mono.Addins but use our own extension framework. + +### Issues Resolved + + * 125 3rd-party dependencies should be downloaded on demand + * 283 What should we do when a user extension does something bad? + * 585 RetryAttribute + * 642 Restructure MSBuild script + * 649 Change how we zip packages + * 654 ReflectionOnlyLoad and ReflectionOnlyLoadFrom + * 664 Invalid "id" attribute in the report for case "test started" + * 685 In the some cases when tests cannot be started NUnit returns exit code "0" + * 728 Missing Assert.That overload + * 741 Explicit Tests get run when using --exclude + * 746 Framework should send events for all tests + * 747 NUnit should apply attributes even if test is non-runnable + * 749 Review Use of Mono.Addins for Engine Extensibility + * 750 Include Explicit Tests in Test Results + * 753 Feature request: Is.SupersetOf() assertion constraint + * 755 TimeOut attribute doesn't work with TestCaseSource Attribute + * 757 Implement some way to wait for execution to complete in ITestEngineRunner + * 760 Packaging targets do not run on Linux + * 766 Added overloads for True()/False() accepting booleans + * 778 Build and build.cmd scripts invoke nuget.exe improperly + * 780 Teamcity fix + * 782 No sources for 2.6.4 + +## NUnit 3.0.0 Beta 3 - July 15, 2015 + +### Framework + + * The RangeAttribute has been extended to support more data types including + uint, long and ulong + * Added platform support for Windows 10 and fixed issues with Windows 8 and + 8.1 support + * Added async support to the portable version of NUnit Framework + * The named members of the TestCaseSource and ValueSource attributes must now be + static. + * RandomAttribute has been extended to add support for new data types including + uint, long, ulong, short, ushort, float, byte and sbyte + * TestContext.Random has also been extended to add support for new data types including + uint, long, ulong, short, ushort, float, byte, sbyte and decimal + * Removed the dependency on Microsoft.Bcl.Async from the NUnit Framework assembly + targeting .NET 4.0. If you want to write async tests in .NET 4.0, you will need + to reference the NuGet package yourself. + * Added a new TestFixtureSource attribute which is the equivalent to TestCaseSource + but provides for instantiation of fixtures. + * Significant improvements have been made in how NUnit deduces the type arguments of + generic methods based on the arguments provided. + +### Engine + + * If the target framework is not specified, test assemblies that are compiled + to target .NET 4.5 will no longer run in .NET 4.0 compatibility mode + +### Console + + * If the console is run without arguments, it will now display help + +### Issues Resolved + + * 47 Extensions to RangeAttribute + * 237 System.Uri .ctor works not properly under Nunit + * 244 NUnit should properly distinguish between .NET 4.0 and 4.5 + * 310 Target framework not specified on the AppDomain when running against .Net 4.5 + * 321 Rationalize how we count tests + * 472 Overflow exception and DivideByZero exception from the RangeAttribute + * 524 int and char do not compare correctly? + * 539 Truncation of string arguments + * 544 AsyncTestMethodTests for 4.5 Framework fails frequently on Travis CI + * 656 Unused parameter in Console.WriteLine found + * 670 Failing Tests in TeamCity Build + * 673 Ensure proper disposal of engine objects + * 674 Engine does not release test assemblies + * 679 Windows 10 Support + * 682 Add Async Support to Portable Framework + * 683 Make FrameworkController available in portable build + * 687 TestAgency does not launch agent process correctly if runtime type is not specified (i.e. v4.0) + * 692 PlatformAttribute_OperatingSystemBitNess fails when running in 32-bit process + * 693 Generic `Test<T>` Method cannot determine type arguments for fixture when passed as `IEnumerable<T>` + * 698 Require TestCaseSource and ValueSource named members to be static + * 703 TeamCity non-equal flowid for 'testStarted' and 'testFinished' messages + * 712 Extensions to RandomAttribute + * 715 Provide a data source attribute at TestFixture Level + * 718 RangeConstraint gives error with from and two args of differing types + * 723 Does nunit.nuspec require dependency on Microsoft.Bcl.Async? + * 724 Adds support for `Nullable<bool>` to Assert.IsTrue and Assert.IsFalse + * 734 Console without parameters doesn't show help + +## NUnit 3.0.0 Beta 2 - May 12, 2015 + +### Framework + + * The Compact Framework version of the framework is now packaged separately + and will be distributed as a ZIP file and as a NuGet package. + * The NUnit 2.x RepeatAttribute was added back into the framework. + * Added Throws.ArgumentNullException + * Added GetString methods to NUnit.Framework.Internal.RandomGenerator to + create repeatable random strings for testing + * When checking the equality of DateTimeOffset, you can now use the + WithSameOffset modifier + * Some classes intended for internal usage that were public for testing + have now been made internal. Additional classes will be made internal + for the final 3.0 release. + +### Engine + + * Added a core engine which is a non-extensible, minimal engine for use by + devices and similar situations where reduced functionality is compensated + for by reduced size and simplicity of usage. + +### Issues Resolved + + * 22 Add OSArchitecture Attribute to Environment node in result xml + * 24 Assert on Dictionary Content + * 48 Explicit seems to conflict with Ignore + * 168 Create NUnit 3.0 documentation + * 196 Compare DateTimeOffsets including the offset in the comparison + * 217 New icon for the 3.0 release + * 316 NUnitLite TextUI Runner + * 320 No Tests found: Using parametrized Fixture and TestCaseSource + * 360 Better exception message when using non-BCL class in property + * 454 Rare registry configurations may cause NUnit to fail + * 478 RepeatAttribute + * 481 Testing multiple assemblies in nunitlite + * 538 Potential bug using TestContext in constructors + * 546 Enable Parallel in NUnitLite/CF (or more) builds + * 551 TextRunner not passing the NumWorkers option to the ITestAssemblyRunner + * 556 Executed tests should always return a non-zero duration + * 559 Fix text of NuGet packages + * 560 Fix PackageVersion property on wix install projects + * 562 Program.cs in NUnitLite NuGet package is incorrect + * 564 NUnitLite Nuget package is Beta 1a, Framework is Beta 1 + * 565 NUnitLite Nuget package adds Program.cs to a VB Project + * 568 Isolate packaging from building + * 570 ThrowsConstraint failure message should include stack trace of actual exception + * 576 Throws.ArgumentNullException would be nice + * 577 Documentation on some members of Throws falsely claims that they return `TargetInvocationException` constraints + * 579 No documentation for recommended usage of TestCaseSourceAttribute + * 580 TeamCity Service Message Uses Incorrect Test Name with NUnit2Driver + * 582 Test Ids Are Not Unique + * 583 TeamCity service messages to support parallel test execution + * 584 Non-runnable assembly has incorrect ResultState + * 609 Add support for integration with TeamCity + * 611 Remove unused --teamcity option from CF build of NUnitLite + * 612 MaxTime doesn't work when used for TestCase + * 621 Core Engine + * 622 nunit-console fails when use --output + * 628 Modify IService interface and simplify ServiceContext + * 631 Separate packaging for the compact framework + * 646 ConfigurationManager.AppSettings Params Return Null under Beta 1 + * 648 Passing 2 or more test assemblies targeting > .NET 2.0 to nunit-console fails + +## NUnit 3.0.0 Beta 1 - March 25, 2015 + +### General + + * There is now a master windows installer for the framework, engine and console runner. + +### Framework + + * We no longer create a separate framework build for .NET 3.5. The 2.0 and + 3.5 builds were essentially the same, so the former should now be used + under both runtimes. + * A new Constraint, DictionaryContainsKeyConstraint, may be used to test + that a specified key is present in a dictionary. + * LevelOfParallelizationAttribute has been renamed to LevelOfParallelismAttribute. + * The Silverlight runner now displays output in color and includes any + text output created by the tests. + * The class and method names of each test are included in the output xml + where applicable. + * String arguments used in test case names are now truncated to 40 rather + than 20 characters. + +### Engine + + * The engine API has now been finalized. It permits specifying a minimum + version of the engine that a runner is able to use. The best installed + version of the engine will be loaded. Third-party runners may override + the selection process by including a copy of the engine in their + installation directory and specifying that it must be used. + * The V2 framework driver now uses the event listener and test listener + passed to it by the runner. This corrects several outstanding issues + caused by events not being received and allows selecting V2 tests to + be run from the command-line, in the same way that V3 tests are selected. + +### Console + + * The console now defaults to not using shadowcopy. There is a new option --shadowcopy to turn it on if needed. + +### Issues Resolved + + * 224 Silverlight Support + * 318 TestActionAttribute: Retrieving the TestFixture + * 428 Add ExpectedExceptionAttribute to C# samples + * 440 Automatic selection of Test Engine to use + * 450 Create master install that includes the framework, engine and console installs + * 477 Assert does not work with ArraySegment + * 482 nunit-console has multiple errors related to -framework option + * 483 Adds constraint for asserting that a dictionary contains a particular key + * 484 Missing file in NUnit.Console nuget package + * 485 Can't run v2 tests with nunit-console 3.0 + * 487 NUnitLite can't load assemblies by their file name + * 488 Async setup and teardown still don't work + * 497 Framework installer shold register the portable framework + * 504 Option --workers:0 is ignored + * 508 Travis builds with failure in engine tests show as successful + * 509 Under linux, not all mono profiles are listed as available + * 512 Drop the .NET 3.5 build + * 517 V2 FrameworkDriver does not make use of passed in TestEventListener + * 523 Provide an option to disable shadowcopy in NUnit v3 + * 528 V2 FrameworkDriver does not make use of passed in TestFilter + * 530 Color display for Silverlight runner + * 531 Display text output from tests in Silverlight runner + * 534 Add classname and methodname to test result xml + * 541 Console help doesn't indicate defaults + +## NUnit 3.0.0 Alpha 5 - January 30, 2015 + +### General + + * A Windows installer is now included in the release packages. + +### Framework + + * TestCaseAttribute now allows arguments with default values to be omitted. Additionaly, it accepts a Platform property to specify the platforms on which the test case should be run. + * TestFixture and TestCase attributes now enforce the requirement that a reason needs to be provided when ignoring a test. + * SetUp, TearDown, OneTimeSetUp and OneTimeTearDown methods may now be async. + * String arguments over 20 characters in length are truncated when used as part of a test name. + +### Engine + + * The engine is now extensible using Mono.Addins. In this release, extension points are provided for FrameworkDrivers, ProjectLoaders and OutputWriters. The following addins are bundled as a part of NUnit: + * A FrameworkDriver that allows running NUnit V2 tests under NUnit 3.0. + * ProjectLoaders for NUnit and Visual Studio projects. + * An OutputWriter that creates XML output in NUnit V2 format. + * DomainUsage now defaults to Multiple if not specified by the runner + +### Console + + * New options supported: + * testlist provides a list of tests to run in a file + * stoponerror indicates that the run should terminate when any test fails. + +### Issues Resolved + + * 20 TestCaseAttribute needs Platform property. + * 60 NUnit should support async setup, teardown, fixture setup and fixture teardown. + * 257 TestCaseAttribute should not require parameters with default values to be specified. + * 266 Pluggable framework drivers. + * 368 Create addin model. + * 369 Project loader addins + * 370 OutputWriter addins + * 403 Move ConsoleOptions.cs and Options.cs to Common and share... + * 419 Create Windows Installer for NUnit. + * 427 [TestFixture(Ignore=true)] should not be allowed. + * 437 Errors in tests under Linux due to hard-coded paths. + * 441 NUnit-Console should support --testlist option + * 442 Add --stoponerror option back to nunit-console. + * 456 Fix memory leak in RuntimeFramework. + * 459 Remove the Mixed Platforms build configuration. + * 468 Change default domain usage to multiple. + * 469 Truncate string arguments in test names in order to limit the length. + +## NUnit 3.0.0 Alpha 4 - December 30, 2014 + +### Framework + + * ApartmentAttribute has been added, replacing STAAttribute and MTAAttribute. + * Unnecessary overloads of Assert.That and Assume.That have been removed. + * Multiple SetUpFixtures may be specified in a single namespace. + * Improvements to the Pairwise strategy test case generation algorithm. + * The new NUnitLite runner --testlist option, allows a list of tests to be kept in a file. + +### Engine + + * A driver is now included, which allows running NUnit 2.x tests under NUnit 3.0. + * The engine can now load and run tests specified in a number of project formats: + * NUnit (.nunit) + * Visual Studio C# projects (.csproj) + * Visual Studio F# projects (.vjsproj) + * Visual Studio Visual Basic projects (.vbproj) + * Visual Studio solutions (.sln) + * Legacy C++ and Visual JScript projects (.csproj and .vjsproj) are also supported + * Support for the current C++ format (.csxproj) is not yet available + * Creation of output files like TestResult.xml in various formats is now a + service of the engine, available to any runner. + +### Console + + * The command-line may now include any number of assemblies and/or supported projects. + +### Issues Resolved + + * 37 Multiple SetUpFixtures should be permitted on same namespace + * 210 TestContext.WriteLine in an AppDomain causes an error + * 227 Add support for VS projects and solutions + * 231 Update C# samples to use NUnit 3.0 + * 233 Update F# samples to use NUnit 3.0 + * 234 Update C++ samples to use NUnit 3.0 + * 265 Reorganize console reports for nunit-console and nunitlite + * 299 No full path to assembly in XML file under Compact Framework + * 301 Command-line length + * 363 Make Xml result output an engine service + * 377 CombiningStrategyAttributes don't work correctly on generic methods + * 388 Improvements to NUnitLite runner output + * 390 Specify exactly what happens when a test times out + * 396 ApartmentAttribute + * 397 CF nunitlite runner assembly has the wrong name + * 407 Assert.Pass() with ]]> in message crashes console runner + * 414 Simplify Assert overloads + * 416 NUnit 2.x Framework Driver + * 417 Complete work on NUnit projects + * 420 Create Settings file in proper location + +## NUnit 3.0.0 Alpha 3 - November 29, 2014 + +### Breaking Changes + + * NUnitLite tests must reference both the nunit.framework and nunitlite assemblies. + +### Framework + + * The NUnit and NUnitLite frameworks have now been merged. There is no longer any distinction + between them in terms of features, although some features are not available on all platforms. + * The release includes two new framework builds: compact framework 3.5 and portable. The portable + library is compatible with .NET 4.5, Silverlight 5.0, Windows 8, Windows Phone 8.1, + Windows Phone Silverlight 8, Mono for Android and MonoTouch. + * A number of previously unsupported features are available for the Compact Framework: + - Generic methods as tests + - RegexConstraint + - TimeoutAttribute + - FileAssert, DirectoryAssert and file-related constraints + +### Engine + + * The logic of runtime selection has now changed so that each assembly runs by default + in a separate process using the runtime for which it was built. + * On 64-bit systems, each test process is automatically created as 32-bit or 64-bit, + depending on the platform specified for the test assembly. + +### Console + + * The console runner now runs tests in a separate process per assembly by default. They may + still be run in process or in a single separate process by use of command-line options. + * The console runner now starts in the highest version of the .NET runtime available, making + it simpler to debug tests by specifying that they should run in-process on the command-line. + * The -x86 command-line option is provided to force execution in a 32-bit process on a 64-bit system. + * A writeability check is performed for each output result file before trying to run the tests. + * The -teamcity option is now supported. + +### Issues Resolved + + * 12 Compact framework should support generic methods + * 145 NUnit-console fails if test result message contains invalid xml characters + * 155 Create utility classes for platform-specific code + * 223 Common code for NUnitLite console runner and NUnit-Console + * 225 Compact Framework Support + * 238 Improvements to running 32 bit tests on a 64 bit system + * 261 Add portable nunitlite build + * 284 NUnitLite Unification + * 293 CF does not have a CurrentDirectory + * 306 Assure NUnit can write resultfile + * 308 Early disposal of runners + * 309 NUnit-Console should support incremental output under TeamCity + * 325 Add RegexConstraint to compact framework build + * 326 Add TimeoutAttribute to compact framework build + * 327 Allow generic test methods in the compact framework + * 328 Use .NET Stopwatch class for compact framework builds + * 331 Alpha 2 CF does not build + * 333 Add parallel execution to desktop builds of NUnitLite + * 334 Include File-related constraints and syntax in NUnitLite builds + * 335 Re-introduce 'Classic' NUnit syntax in NUnitLite + * 336 Document use of separate obj directories per build in our projects + * 337 Update Standard Defines page for .NET 3.0 + * 341 Move the NUnitLite runners to separate assemblies + * 367 Refactor XML Escaping Tests + * 372 CF Build TestAssemblyRunnerTests + * 373 Minor CF Test Fixes + * 378 Correct documentation for PairwiseAttribute + * 386 Console Output Improvements + +## NUnit 3.0.0 Alpha 2 - November 2, 2014 + +### Breaking Changes + + * The console runner no longer displays test results in the debugger. + * The NUnitLite compact framework 2.0 build has been removed. + * All addin support has been removed from the framework. Documentation of NUnit 3.0 extensibility features will be published in time for the beta release. In the interim, please ask for support on the nunit-discuss list. + +### General + + * A separate solution has been created for Linux + * We now have continuous integration builds under both Travis and Appveyor + * The compact framework 3.5 build is now working and will be supported in future releases. + +### New Features + + * The console runner now automatically detects 32- versus 64-bit test assemblies. + * The NUnitLite report output has been standardized to match that of nunit-console. + * The NUnitLite command-line has been standardized to match that of nunit-console where they share the same options. + * Both nunit-console and NUnitLite now display output in color. + * ActionAttributes now allow specification of multiple targets on the attribute as designed. This didn't work in the first alpha. + * OneTimeSetUp and OneTimeTearDown failures are now shown on the test report. Individual test failures after OneTimeSetUp failure are no longer shown. + * The console runner refuses to run tests build with older versions of NUnit. A plugin will be available to run older tests in the future. + +### Issues Resolved + + * 222 Color console for NUnitLite + * 229 Timing failures in tests + * 241 Remove reference to Microslft BCL packages + * 243 Create solution for Linux + * 245 Multiple targets on action attributes not implemented + * 246 C++ tests do not compile in VS2013 + * 247 Eliminate trace display when running tests in debug + * 255 Add new result states for more precision in where failures occur + * 256 ContainsConstraint break when used with AndConstraint + * 264 Stacktrace displays too many entries + * 269 Add manifest to nunit-console and nunit-agent + * 270 OneTimeSetUp failure results in too much output + * 271 Invalid tests should be treated as errors + * 274 Command line options should be case insensitive + * 276 NUnit-console should not reference nunit.framework + * 278 New result states (ChildFailure and SetupFailure) break NUnit2XmlOutputWriter + * 282 Get tests for NUnit2XmlOutputWriter working + * 288 Set up Appveyor CI build + * 290 Stack trace still displays too many items + * 315 NUnit 3.0 alpha: Cannot run in console on my assembly + * 319 CI builds are not treating test failures as failures of the build + * 322 Remove Stopwatch tests where they test the real .NET Stopwatch + +## NUnit 3.0.0 Alpha 1 - September 22, 2014 + +### Breaking Changes + + * Legacy suites are no longer supported + * Assert.NullOrEmpty is no longer supported (Use Is.Null.Or.Empty) + +### General + + * MsBuild is now used for the build rather than NAnt + * The framework test harness has been removed now that nunit-console is at a point where it can run the tests. + +### New Features + + * Action Attributes have been added with the same features as in NUnit 2.6.3. + * TestContext now has a method that allows writing to the XML output. + * TestContext.CurrentContext.Result now provides the error message and stack trace during teardown. + * Does prefix operator supplies several added constraints. + +### Issues Resolved + + * 6 Log4net not working with NUnit + * 13 Standardize commandline options for nunitlite runner + * 17 No allowance is currently made for nullable arguents in TestCase parameter conversions + * 33 TestCaseSource cannot refer to a parameterized test fixture + * 54 Store message and stack trace in TestContext for use in TearDown + * 111 Implement Changes to File, Directory and Path Assertions + * 112 Implement Action Attributes + * 156 Accessing multiple AppDomains within unit tests result in SerializationException + * 163 Add --trace option to NUnitLite + * 167 Create interim documentation for the alpha release + * 169 Design and implement distribution of NUnit packages + * 171 Assert.That should work with any lambda returning bool + * 175 Test Harness should return an error if any tests fail + * 180 Errors in Linux CI build + * 181 Replace NAnt with MsBuild / XBuild + * 183 Standardize commandline options for test harness + * 188 No output from NUnitLite when selected test is not found + * 189 Add string operators to Does prefix + * 193 TestWorkerTests.BusyExecutedIdleEventsCalledInSequence fails occasionally + * 197 Deprecate or remove Assert.NullOrEmpty + * 202 Eliminate legacy suites + * 203 Combine framework, engine and console runner in a single solution and repository + * 209 Make Ignore attribute's reason mandatory + * 215 Running 32-bit tests on a 64-bit OS + * 219 Teardown failures are not reported + +### Console Issues Resolved (Old nunit-console project, now combined with nunit) + + * 2 Failure in TestFixtureSetUp is not reported correctly + * 5 CI Server for nunit-console + * 6 System.NullReferenceException on start nunit-console-x86 + * 21 NUnitFrameworkDriverTests fail if not run from same directory + * 24 'Debug' value for /trace option is deprecated in 2.6.3 + * 38 Confusing Excluded categories output + +## NUnit 2.9.7 - August 8, 2014 + +### Breaking Changes + + * NUnit no longer supports void async test methods. You should use a Task return Type instead. + * The ExpectedExceptionAttribute is no longer supported. Use Assert.Throws() or Assert.That(..., Throws) instead for a more precise specification of where the exception is expected to be thrown. + +### New Features + + * Parallel test execution is supported down to the Fixture level. Use ParallelizableAttribute to indicate types that may be run in parallel. + * Async tests are supported for .NET 4.0 if the user has installed support for them. + * A new FileExistsConstraint has been added along with FileAssert.Exists and FileAssert.DoesNotExist + * ExpectedResult is now supported on simple (non-TestCase) tests. + * The Ignore attribute now takes a named parameter Until, which allows specifying a date after which the test is no longer ignored. + * The following new values are now recognized by PlatformAttribute: Win7, Win8, Win8.1, Win2012Server, Win2012ServerR2, NT6.1, NT6.2, 32-bit, 64-bit + * TimeoutAttribute is now supported under Silverlight + * ValuesAttribute may be used without any values on an enum or boolean argument. All possible values are used. + * You may now specify a tolerance using Within when testing equality of DateTimeOffset values. + * The XML output now includes a start and end time for each test. + +### Issues Resolved + + * 8 [SetUpFixture] is not working as expected + * 14 CI Server for NUnit Framework + * 21 Is.InRange Constraint Ambiguity + * 27 Values attribute support for enum types + * 29 Specifying a tolerance with "Within" doesn't work for DateTimeOffset data types + * 31 Report start and end time of test execution + * 36 Make RequiresThread, RequiresSTA, RequiresMTA inheritable + * 45 Need of Enddate together with Ignore + * 55 Incorrect XML comments for CollectionAssert.IsSubsetOf + * 62 Matches(Constraint) does not work as expected + * 63 Async support should handle Task return type without state machine + * 64 AsyncStateMachineAttribute should only be checked by name + * 65 Update NUnit Wiki to show the new location of samples + * 66 Parallel Test Execution within test assemblies + * 67 Allow Expected Result on simple tests + * 70 EquivalentTo isn't compatible with IgnoreCase for dictioneries + * 75 Async tests should be supported for projects that target .NET 4.0 + * 82 nunit-framework tests are timing out on Linux + * 83 Path-related tests fail on Linux + * 85 Culture-dependent NUnit tests fail on non-English machine + * 88 TestCaseSourceAttribute documentation + * 90 EquivalentTo isn't compatible with IgnoreCase for char + * 100 Changes to Tolerance definitions + * 110 Add new platforms to PlatformAttribute + * 113 Remove ExpectedException + * 118 Workarounds for missing InternalPreserveStackTrace in mono + * 121 Test harness does not honor the --worker option when set to zero + * 129 Standardize Timeout in the Silverlight build + * 130 Add FileAssert.Exists and FileAssert.DoesNotExist + * 132 Drop support for void async methods + * 153 Surprising behavior of DelayedConstraint pollingInterval + * 161 Update API to support stopping an ongoing test run + +NOTE: Bug Fixes below this point refer to the number of the bug in Launchpad. + +## NUnit 2.9.6 - October 4, 2013 + +### Main Features + + * Separate projects for nunit-console and nunit.engine + * New builds for .NET 4.5 and Silverlight + * TestContext is now supported + * External API is now stable; internal interfaces are separate from API + * Tests may be run in parallel on separate threads + * Solutions and projects now use VS2012 (except for Compact framework) + +### Bug Fixes + + * 463470 We should encapsulate references to pre-2.0 collections + * 498690 Assert.That() doesn't like properties with scoped setters + * 501784 Theory tests do not work correctly when using null parameters + * 531873 Feature: Extraction of unit tests from NUnit test assembly and calling appropriate one + * 611325 Allow Teardown to detect if last test failed + * 611938 Generic Test Instances disappear + * 655882 Make CategoryAttribute inherited + * 664081 Add Server2008 R2 and Windows 7 to PlatformAttribute + * 671432 Upgrade NAnt to Latest Release + * 676560 Assert.AreEqual does not support `IEquatable<T>` + * 691129 Add Category parameter to TestFixture + * 697069 Feature request: dynamic location for TestResult.xml + * 708173 NUnit's logic for comparing arrays - use `Comparer<T[]>` if it is provided + * 709062 "System.ArgumentException : Cannot compare" when the element is a list + * 712156 Tests cannot use AppDomain.SetPrincipalPolicy + * 719184 Platformdependency in src/ClientUtilities/util/Services/DomainManager.cs:40 + * 719187 Using Path.GetTempPath() causes conflicts in shared temporary folders + * 735851 Add detection of 3.0, 3.5 and 4.0 frameworks to PlatformAttribute + * 736062 Deadlock when EventListener performs a Trace call + EventPump synchronisation + * 756843 Failing assertion does not show non-linear tolerance mode + * 766749 net-2.0\nunit-console-x86.exe.config should have a `<startup/>` element and also enable loadFromRemoteSources + * 770471 Assert.IsEmpty does not support IEnumerable + * 785460 Add Category parameter to TestCaseSourceAttribute + * 787106 EqualConstraint provides inadequate failure information for IEnumerables + * 792466 TestContext MethodName + * 794115 HashSet incorrectly reported + * 800089 Assert.Throws() hides details of inner AssertionException + * 848713 Feature request: Add switch for console to break on any test case error + * 878376 Add 'Exactly(n)' to the NUnit constraint syntax + * 882137 When no tests are run, higher level suites display as Inconclusive + * 882517 NUnit 2.5.10 doesn't recognize TestFixture if there are only TestCaseSource inside + * 885173 Tests are still executed after cancellation by user + * 885277 Exception when project calls for a runtime using only 2 digits + * 885604 Feature request: Explicit named parameter to TestCaseAttribute + * 890129 DelayedConstraint doesn't appear to poll properties of objects + * 892844 Not using Mono 4.0 profile under Windows + * 893919 DelayedConstraint fails polling properties on references which are initially null + * 896973 Console output lines are run together under Linux + * 897289 Is.Empty constraint has unclear failure message + * 898192 Feature Request: Is.Negative, Is.Positive + * 898256 `IEnumerable<T>` for Datapoints doesn't work + * 899178 Wrong failure message for parameterized tests that expect exceptions + * 904841 After exiting for timeout the teardown method is not executed + * 908829 TestCase attribute does not play well with variadic test functions + * 910218 NUnit should add a trailing separator to the ApplicationBase + * 920472 CollectionAssert.IsNotEmpty must dispose Enumerator + * 922455 Add Support for Windows 8 and Windows 2012 Server to PlatformAttribute + * 928246 Use assembly.Location instead of assembly.CodeBase + * 958766 For development work under TeamCity, we need to support nunit2 formatted output under direct-runner + * 1000181 Parameterized TestFixture with System.Type as constructor arguments fails + * 1000213 Inconclusive message Not in report output + * 1023084 Add Enum support to RandomAttribute + * 1028188 Add Support for Silverlight + * 1029785 Test loaded from remote folder failed to run with exception System.IODirectory + * 1037144 Add MonoTouch support to PlatformAttribute + * 1041365 Add MaxOsX and Xbox support to platform attribute + * 1057981 C#5 async tests are not supported + * 1060631 Add .NET 4.5 build + * 1064014 Simple async tests should not return `Task<T>` + * 1071164 Support async methods in usage scenarios of Throws constraints + * 1071343 Runner.Load fails on CF if the test assembly contains a generic method + * 1071861 Error in Path Constraints + * 1072379 Report test execution time at a higher resolution + * 1074568 Assert/Assume should support an async method for the ActualValueDelegate + * 1082330 Better Exception if SetCulture attribute is applied multiple times + * 1111834 Expose Random Object as part of the test context + * 1111838 Include Random Seed in Test Report + * 1172979 Add Category Support to nunitlite Runner + * 1203361 Randomizer uniqueness tests sometimes fail + * 1221712 When non-existing test method is specified in -test, result is still "Tests run: 1, Passed: 1" + * 1223294 System.NullReferenceException thrown when ExpectedExceptionAttribute is used in a static class + * 1225542 Standardize commandline options for test harness + +### Bug Fixes in 2.9.6 But Not Listed Here in the Release + + * 541699 Silverlight Support + * 1222148 /framework switch does not recognize net-4.5 + * 1228979 Theories with all test cases inconclusive are not reported as failures + + +## NUnit 2.9.5 - July 30, 2010 + +### Bug Fixes + + * 483836 Allow non-public test fixtures consistently + * 487878 Tests in generic class without proper TestFixture attribute should be invalid + * 498656 TestCase should show array values in GUI + * 513989 Is.Empty should work for directories + * 519912 Thread.CurrentPrincipal Set In TestFixtureSetUp Not Maintained Between Tests + * 532488 constraints from ConstraintExpression/ConstraintBuilder are not reusable + * 590717 categorie contains dash or trail spaces is not selectable + * 590970 static TestFixtureSetUp/TestFixtureTearDown methods in base classes are not run + * 595683 NUnit console runner fails to load assemblies + * 600627 Assertion message formatted poorly by PropertyConstraint + * 601108 Duplicate test using abstract test fixtures + * 601645 Parametered test should try to convert data type from source to parameter + * 605432 ToString not working properly for some properties + * 606548 Deprecate Directory Assert in 2.5 and remove it in 3.0 + * 608875 NUnit Equality Comparer incorrectly defines equality for Dictionary objects + +## NUnit 2.9.4 - May 4, 2010 + +### Bug Fixes + + * 419411 Fixture With No Tests Shows as Non-Runnable + * 459219 Changes to thread princpal cause failures under .NET 4.0 + * 459224 Culture test failure under .NET 4.0 + * 462019 Line endings needs to be better controlled in source + * 462418 Assume.That() fails if I specify a message + * 483845 TestCase expected return value cannot be null + * 488002 Should not report tests in abstract class as invalid + * 490679 Category in TestCaseData clashes with Category on ParameterizedMethodSuite + * 501352 VS2010 projects have not been updated for new directory structure + * 504018 Automatic Values For Theory Test Parameters Not Provided For bool And enum + * 505899 'Description' parameter in both TestAttribute and TestCaseAttribute is not allowed + * 523335 TestFixtureTearDown in static class not executed + * 556971 Datapoint(s)Attribute should work on `IEnumerable<T>` as well as on Arrays + * 561436 SetCulture broken with 2.5.4 + * 563532 DatapointsAttribute should be allowed on properties and methods + +## NUnit 2.9.3 - October 26, 2009 + +### Main Features + + * Created new API for controlling framework + * New builds for .Net 3.5 and 4.0, compact framework 3.5 + * Support for old style tests has been removed + * New adhoc runner for testing the framework + +### Bug Fixes + + * 432805 Some Framework Tests don't run on Linux + * 440109 Full Framework does not support "Contains" + +## NUnit 2.9.2 - September 19, 2009 + +### Main Features + + * NUnitLite code is now merged with NUnit + * Added NUnitLite runner to the framework code + * Added Compact framework builds + +### Bug Fixes + + * 430100 `Assert.Catch<T>` should return T + * 432566 NUnitLite shows empty string as argument + * 432573 Mono test should be at runtime + +## NUnit 2.9.1 - August 27, 2009 + +### General + + * Created a separate project for the framework and framework tests + * Changed license to MIT / X11 + * Created Windows installer for the framework + +### Bug Fixes + + * 400502 NUnitEqualityComparer.StreamsEÂqual fails for same stream + * 400508 TestCaseSource attirbute is not working when Type is given + * 400510 TestCaseData variable length ctor drops values + * 417557 Add SetUICultureAttribute from NUnit 2.5.2 + * 417559 Add Ignore to TestFixture, TestCase and TestCaseData + * 417560 Merge Assert.Throws and Assert.Catch changes from NUnit 2.5.2 + * 417564 TimeoutAttribute on Assembly diff --git a/Aufgabe3/packages/NUnit.3.13.3/LICENSE.txt b/Aufgabe3/packages/NUnit.3.13.3/LICENSE.txt new file mode 100644 index 0000000..ab7da19 --- /dev/null +++ b/Aufgabe3/packages/NUnit.3.13.3/LICENSE.txt @@ -0,0 +1,20 @@ +Copyright (c) 2022 Charlie Poole, Rob Prouse + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + diff --git a/Aufgabe3/packages/NUnit.3.13.3/NOTICES.txt b/Aufgabe3/packages/NUnit.3.13.3/NOTICES.txt new file mode 100644 index 0000000..02f3f84 --- /dev/null +++ b/Aufgabe3/packages/NUnit.3.13.3/NOTICES.txt @@ -0,0 +1,5 @@ +NUnit 3.0 is based on earlier versions of NUnit, with Portions + +Copyright (c) 2002-2014 Charlie Poole or +Copyright (c) 2002-2004 James W. Newkirk, Michael C. Two, Alexei A. Vorontsov or +Copyright (c) 2000-2002 Philip A. Craig diff --git a/Aufgabe3/packages/NUnit.3.13.3/NUnit.3.13.3.nupkg b/Aufgabe3/packages/NUnit.3.13.3/NUnit.3.13.3.nupkg new file mode 100644 index 0000000000000000000000000000000000000000..47a4b00ae3d6337e5c67ef7073ebfe275077360d GIT binary patch literal 1307336 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%0AN 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%0DA@Zh!<<^bx)(Y&P^I64BPCEK%+@(ZmQE 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�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%0A5|Pes`4y{t}g`sC2$rLAtO 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�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%0A@1AuW)>C#6i2q6A;FlH0o;- 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	wvfB0y4vF0XX5KFlVvF{ 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�*|#%MGSwjR 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�rWS>&SqX4GcEunuwa~=`lQPF1 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	V3Hn*SuM1Hy&$9Wc?u3eERTGWyF&-Us4!5J> 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 literal 0 HcmV?d00001 diff --git a/Aufgabe3/packages/NUnit.3.13.3/build/NUnit.props b/Aufgabe3/packages/NUnit.3.13.3/build/NUnit.props new file mode 100644 index 0000000..79c80b8 --- /dev/null +++ b/Aufgabe3/packages/NUnit.3.13.3/build/NUnit.props @@ -0,0 +1,7 @@ +<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + + <ItemGroup> + <ProjectCapability Include="TestContainer" /> + </ItemGroup> + +</Project> diff --git a/Aufgabe3/packages/NUnit.3.13.3/icon.png b/Aufgabe3/packages/NUnit.3.13.3/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..ad14c1603eab311ff5326908fa6e839f1299083b GIT binary patch literal 16371 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 QLJyJ<l@%!$`r-Hg058YPg8%>k literal 0 HcmV?d00001 diff --git a/Aufgabe3/packages/NUnit.3.13.3/lib/net35/nunit.framework.dll b/Aufgabe3/packages/NUnit.3.13.3/lib/net35/nunit.framework.dll new file mode 100644 index 0000000000000000000000000000000000000000..71db84fb09de4d248c289993539cb49101642095 GIT binary patch literal 496128 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%0A%yeQiFY^yq2 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
Tfafb3vz{*7nK-)y7jOgI;KxzELu9<&TxL0@ z+PLS!eT(WbA5pkRUU!)X<uFee;?CPpVK(0FQUaV~Lb=rR77<*OcF99K;!eF2_kQX# zf9V>-VlcIi#RalMuU;#W3*w?yxT;kRZ7|wPUFI9Z$CCK?$25|{B{ztVQgbkx=8O(n zq;z2wC80h>4TX;<IiW&Mq)^HRE6Ypo@NzE4%0~0t%63sZbQ#B8oQDH$1g;De7g0Lp zj9l9z<T2k-(B*PVA9Jq$1bmz~-WeAr45>(zD4}u8^WzP7oPX^&b6ZWRxmkylKnj4r zu=)Jkny@;1<m@_xalcunwT_QVW_(=mqQyQd`J#Ck__)34gkes~Wim1;;d+#m8{`sv zTyy04l6iV!FOl*tkMMgSAl+%OT`;6C#7k~nzRj@YoWY!>FQ(lpT%vE?m<}Vi**Lt! zZj;!VT)nOXCn5_K0=Xz(mXXJK4VNw6W4_#%M5EcACMlh!lJtJ@P&2KD<?ZN*g9zd~ zT9LLwCGJFle;7SZ7AB2k_z=%f@CMNqrn}7i#=gA`dUh9BsTakPu^igp6?oV`CVD~M zG`}$hRp=Z#&4xRsSVfacgJx4FC_575Ry(=lV=$fY*avI1IfMee6Jqf7QRXyq86zc7 z0EVo`M?Y+jQLd+<3g_D_MIK4Qi5IFbm)Fc`+@}}!0@|2r|LntdgqV#HB)o{Y(a=$e z>R{5NQ5mBln3HkIIU2B(%eFwvF*;ztRv>09MMM)~J#5;NNpTaETJG_oe6w-Dh<-;& zCPLQn35l3>67IwWLx<KSI~1MhxKk-R6uAo}Ub2)5yCfgsxm*4CaVwJ|B9yO~O0QRD z*I_a_U0>2#X1LjfM<lXzPe>jkOjzptG%bjCd`Zx$t)9sQhoQC*7oJ?}`mqWgghm>n zA)6&kHb9$p0D^t$vKx*F#W5KvNK8!nzBl0nEGZ#rMf3;YZlJ-;m&<)!dQ3~yTTC}n z$KU&HzmyiPJDasgxR78bFVF1Oefq)-0sQ6#^XO>oQ%T1ceo<lruFX#zhn~2n#W*6_ zhLNor4Zf}iqEhBD0=*6km5Fp|>N4y|g1OZ3cP*Yyeb_LWtAV$i1_4^!``UK^BJO^2 zaqh!k47gP6=1b6RUI_C9u|V0rH_M&a=matuZh|?G+f@3n33F0!Ry~Fb*SV=Kg1E;$ zyqiUaxFPAA;|TZ|>0pq)CkNLP_ayba;agCduOHTIYM3b7R2Ops-irJmG@;Q{j0D$O zBiz`|xS@R31aerSFN%tA@(D81qL~z7aMgBL@X(6OD;P0czj#k5A>eP8U`a0zr@bII z+LxV@0h4vxQ>hw7!&C!S7#TbfWC2RYPZ&!3iKAfyr!#=hl-$A<5cvVQI8Esz?bGAx zYIFI!G>$3zA1-dr^E%lQ?c2_ju$_0UP_?vVXHYqwpuX(ZoK}p*PzN+F5w@lo&KU9` z{}Snk=6vrxTPj@Aek8dvwg$i0SaKy5*-PDkIL~mRN5TE*j&#)}5p~ycJQ3o@6-0_f zqBhYy%+@kzdAwDiMh=E<;ZbOc-ccY(f%YwjPi)VWJ3AC%Ie`&3g5w)^L^z`W_E>b- zIVQe<9@C>#T(!8V+uoQ&QsJ~g&CYqQJl%~>S9(!uF*c6bj_c))P3U_prQ%B>{^3MS zN8kDCI8HF%I55GngaVD@XLZ+0v2z9tJ}Mi>Wg+~Ucm0scdI#_N*eC7z_+xwNsF(}4 zh}c(!nwIUbJgS`77c`u{HIEX<`C}~L2$K~k;F;JSfd*_T4@%H)p0CWcs68J$qB@1# z%!_1;(ZupXD!8M<$$Dh1@nA>-B*#-yuqB9<vaO7vxbI3|&4f{?{cGrtnTsbAWc9|F zfbr0sYb4iZF|6WyV`2~_1tD&1bgTmmxMNnD1GH}R_$>M0Ck!nQ3$v|3^mfn?E=%1} zQNdo<uu+ajiiW;@@R19$X!f~-gX8Nwk(QhbvIuUx`f^!26u0tT7&#k;!)Nc%2+${y zR`YO0IHJt~jL{?tm)x9r0%JIne%6+cLsY!VIU9#F>t-XtnHBgXx}8n=pT|m}Hw;SW zTu3Q;A-;0rhs;DMUGgRTtsOjh&Shs%J|&fjz7stg2!+R4E#r!RgbZt@G2exeEfp?y zST;7~N3%2tJKB{X;M**J2!o!l{3)zyZWU@vU5~IC6WXN+R|J3?`4M-}B|-rw!FSjA zT46Q}9i?IzV%72n%?6ed*ijg0m1Ar}Vvk{j`%DzH8t(_tKpzt-A9=w04%bE)Sj|Cf z00~kO3ip{$WqWKje71cp560ncI6XdYbI86Lw-qhOytZB4mYGWCl9^B8LYPIkg7$Pd zMX~?fArFt<q`sVAkRdL4#v~r`mYD;0X0Z2YDHW&WxhH|3MDsy)PSZ%L*w%zeOSs3^ z!5Qh{rdA06fk$#;J)~dWmyKFCe?FcsNx5ead}#oSd!PhUgnt@)Hx9NN^B=IkN8^~X zc+J9a0dYL#oRb}MK1A8t7kmc|Bd<~wh$HC=H$tD8$z8XII*>5Fzvt{dw1xn(6azgV zvj{an^G-ow2nYRu(Q6}ZE#)p#zt}X$;;5?EsicSEFAs(Nd1%`EnI9Yr`PM_NzEz#K z^Xo5E7jeVFgnIE<XcGu~^AIpySw+<fhnplHfPpVb)njun<AMzV8y-&KY%cR*A<3#- z3{DqT+0<;%E{&BUjvytDn2UshfbuZnxY7`Sg^Ly+UDy?S%d+qV9gp6t^vIAqCKt5r zt@*a|+w_{_+UMRH7_?m~zM?_=PlnS)<65l*xBKlmM!jsams~6linOjuMG^02T-;>h z@k2~BkI|uAqiS_Qks8Tzv4&XL!o1E1s4j~fc6>#FSOiIUtaTd{YCUhRBUotPjSIvJ zCX_$r4fD9iBx?jC5Ha_lN<p<YPnT{QH?MH;$^l#*-)Hht&?*9%fK6Os2)oAAZj8jk zYc90GcUnK4%ar;f<);C5MwSNNF^Cvvq4wSP*G0Y=>;v>gYrH;<j)25G7$A(rIkazF zqz2#^5s0~t7<@{%YC(Xa__crW9|Gj|7;FbR0|YH;UVFd`d-L<2MP;P)6jAQRM5;(< z)=}P!lsp9C@qACzhR)lMDW!@u#t;9*5bOC*O+oaU-z(s18(vN0*J-FIPsb_Ac#qK; z^-@S2xn$RFF+xGtW%o4D&sieoPf`nl!+1c}vNapRZEdAF+72f2Y1E@FWEFVjJ{s$- zElMhA=Z0@>c7qy|xwTw#FWIyCBJN_(gv-yP-!HL)DN5yNP$9)(q!@BW-bQKA9<JzE zXJ;#WA^?4m*FJ3KL3?L)OgZ8=7?Hl;C)zowo2CGTx!sH}Z}Y?#mP36kpOGEFZlMP6 z(IeH6MY>q!s~+vhYNN`<GuBdZnzvD#i6EL1?U9DhmG{S)c889kWqp(OEu>1xQHY|< zZcEEfC_9<mcBd9oaW?2glC_0xLJ?u#7^wGsmcD&{OaSJ!q`Tc7DvAyuH37<<SkMkg z?Q|5=5M9ZKq}9`KlsNik=V+uS^pVo*V#td219Zt6om9daGy;|!A>GK0se2!KK9g{0 z=;Kv80@QlduCmEgOS+?xt+3g>W^r3FZgE_kVVr&#E29Wqwvx9hj(dY~LK^Zd48$DU z{k9@LZ7|s5w&=oulLYca)^sJ7ikubtP=QDty@2y5udDez@{AnUKEz0Y4s6pN^XriF za#1Q>FVl`84s;_QQb8huHD(}Pqh(eL+P`!~2wys%9`o&=cMpB{saKzo&~;q<=tAj! z1)LSE(WY=H49Wu^`vqSpjaeEm^+$SQV}Fx@aBxgx(x;<j;bT$9V1SDRM#{Le0o_zH zrgA9aHr>_X?CboJhDt8B*Nf>dhO5HGXa#125Kl_a=_^H?<=(DD;sz&M+zIQYLFI6L z%F<EW<Sj?H44{lW?}qEz@pEh=a#N&&3|C!tgP?D2Epk^3a%rY6PxVJi1?_5v9&{!_ zpU}tX(89XEj90P1lpk5>e4PE{j7z0(`3=HHT5_>+f=DOVGw-Py2pf<l&2tw8ax6#N z@CrwlIDNQ9<ROPJ5~(Je8pUuBZ#%{6D@Yn;v<AZ(UVHJ`_SRDgWU}KTq!2TP9odw( zWUJCW*kz{g#8yG*@|W?!y?9B`b4rmw5tq~n_z{jr8Aboamm@s<E!lZnYnwZadL3F{ znm><r*0#qmiZC+*ajvT<q-YGqhgDcvl;RZ*upNEBpv6rO^5p$jsLR)fsC8WTp>l&} zIM-LngN9+nB5faW&Etw47Xx|ed<?!EbAISbO4m^)r+g4ODCHcaQ!{)q<UgVDu;UFY z3<<?6OKD0&hUheQq%kmM%4(@1pV}y|;5qysxtO^i@Ev7*8fFJJ<Xyxnw3812$~@55 z8(O65ZD;Qx4FaE|?LWOo6bTK$ZD*rX4;Xq}D{FZ``EKlZ3yg>Hw#s=Q10!_)qf8jd z;s(wnb<)NwS)?VM6mv1x?Hah0o?OmGOglHlF$W#>6KTbvBgN;@DO-JLKQMNS!-Z60 zQwU*fm&uY}ed#{tupEe*#}@7yQ+c0XbiDI?yYZ%cpNF`)_pk(A<6CZ^I^UU<%Fu>v zT++0t^7u`HkNI?qqS-4;&1uJ!Tk&b^6wYr>gD)OR=$@H}8)GzU!bYum9B-ya3|~K9 zIHd^W2>1bmE-#||aqM9y1uavue~Jj{xXK}~(G<)+EmD`aV!~xnXY$E0Y!cvdzIF-Y zZG<)G&1?zm%~(>iyTWHQYMmq6=Wnl6UkkKZIqv$<A&8~pJoszal6%_L=O%x6EH5Kd z%x9wq@y(vtUhF;Mxf!-~!o0)B%YRuPP;z3eLjm=U8%Fjg7FTTDDCzR%Hod*OjcSRV zVb7w)!u9V51Fn@FN8zI8KGN3TU#qU${S$RTr=0o$^GIR1A08s2j4t&JCUHKZmD*1B zvylQCxZif`>dl1uNSrj>U;;4Cz}e2z>5C!;HcNxqFb;(7u7iU?+HJ<h9zMuUd}IKI z0kV91V+=c_>W?<s2X-Tg++vgECI`&vY=ipSsJd}v*|8v~5Wz0yqQdmm-PCw=Bq;!} z)<taA7>6(rSzyci^c{Pck#4AD&4yG6hrTh@!?@Ds`&CTmriQtN`Q?8-CvT{EZdjYP z6$Lb|0fsEh;49T(WU-cSP!C}VIQ3n@qqsI!x?OKp`pAUFn2w8{7$G9o9cl1@=@i9o z#G9{N$C{J{YjKN9JHm9~B}T3-fEI`V1p72)3Cp8h5sVZOF-91tG&cA_Kw&e1K+%a^ z4Bvg>e81;6e6P9K@FBWXw?ufu*4FVa4#&C2AI4hSgQ(H+d6thBTJv=JR@3~9ppjzV z&i+~95p!+(z_qFTTMQF0PPCq#gu<iet~J#{C#~(YgDu;aK{yg6rb}+8w&<gWOX$Zj z<^GOCn2QEn+*}6P3~R)e!xH3m=2@=<WS^ze8{a~Ub@2XL`%<dj<MA~Uv)ZrTVl6St z*mdbq2hksNp$*d#{k8)f`fk;T_>85tMQDp4RtC^A3g*sU{=c|Y&^49NdvLL)TSn)s zu_KD)JmqBtbhENSu|!=LZQH!6DKuV9cz><>JiE{i=K-19+rWb2a;&zhhg_=?^NyKY z6HJY3ET|`r(e|8Ml#^E{jWX9kz0Ebxquxb}uc3yk7teEeJhI?MKoSKSzeSY6M$&XS zEb@?Bp5Q&DJy(KAlV%G%eC0y56!{`b`#39E&(|&OhFsM<n5le-7ITw5Y)54<gUqXY zc5WJk<;+Sp$9S*7pWaLIHg1Qwc{v<~q2X4((@EISE_G47kNDe~QH^r$aApfxU;0Um z!gVJk5%{}7KEq~R*$y_U7tx!KFT7Rsl>RN;_`&Kup_34v&^NUBY9knwAu)7AxL7^L zdAXRhH5e?ITaJS$eHyWr6&zxCF!#p!I-=oSW_)y+fl_h{odeIHNvz?pJX*2vhhv_X zinbfZ<wccl(`I2ELZ;WBt`r_Z*KInM$e$GDQ0^yr?z&H}*mKpZQ@ZZ5>w|VxDW%A> z(^bBJu4+|R9V1b>Pco8Genv+i`McIzRCkN|M-C(P!@(Vb^pK4^M!Lvx?cs8xb$evG z7U_ozW7R{iL;>08#65DSm9N4Wt83X~GT>V%4P!IXaeT1_+3C7GM$&|#o|qeMe1ASP z5*gzY8r?06so4`|&e%}yn<UXO$n&f*h)L<32Jhm>w!-I{Y_Smq9YB&sO7Q0;U-xej zRA^E>Qd-UG7<Rh&Yj3IHjH{7tCykanRPA$bP;a7i#Sgs{9(UvcA}81vyfy8TK_yop z>*EOV+u#pq+GF&zg5{f}>cu|Up=+|RxB7cw?CkmAo_E*x81B*W&FeH_gyX}2qpbzB zB#y|(6SwVR4G^2o>WZYqP-`SJY}%%=v2~aE@aSf2H%f`~km74^FzDO2<Gl;ZiqAJg zkhN{1oKi_`>cbs%PGNyIjeM_9=1&soj%K>f(wiS(6M5C`mBnM4;aIeR(p8xJ{KXBC zE-BuR#&Bwnc3;}6Xy_9Y!g<sr9*N6G4Ki`QO8)d@S)3!pMQFWU&2UAU>#Ly7an2EK z=yixlC!CkDhkGWHH2?5?j2L5$B0EE6x8>u$!y%H&wNv@Uf#z+6jy{kXeSH@P?L)Lt zNqM-OclKbz>=(jPVyB&Sku4%Un(b2lm*<h~W<$Fr(6GXT@C?h*o0uDVV>dfp48A!4 z8txqv0-HrCDk6)jh(L%UeQ(*7GK>o{+2F=_z?2=dadk9n--k=Ff6~ayaqWhq;~tW6 z!!bPr>}(2(nebVNm`%wMl?dSk_13E55OZlXso9Z;LN`@=Zp6FVff#-KsoHHQ#m|H3 zysB%jlHBnHr|F`u)ayOX;={2{cq1=*q6%~&!kl}QEmg5uMOIM2mE9Y{hZcI9m#7g- zyjcSzDlw6NO&CGnya>t0!P`_8BgPf_#w6f+w`RnRFIXLi<pCK{;jRzXX8V|)ZPr{d zE(#=`btF0TD1p8Q48lj@;xEd;y)&6Dpain)mXRPs-;dp4KHHU$*x%s%6+=5dZ&Ce3 zo`@#E*-O*Qlq5x?^!0ZNx7kgjQO&uk;jN=X_8t$S(bJ;Zyun7DnsPvzcbO*D7kI$v zgeqM0f-}ziOW)dQbt}VFu`YE`c+~frM+8r6z&|K9?7g+C5jt*^;d7^!4#!m6k8h$) zMwBW;kG005b5bLhei?@^ZsxY(Tz_lA#pyy6G7U4vTXR`W_ynaM`xK3DZda2aMYjEX z6cqyvUXIX2(@RqPdJOt(Ub~jSJ6sIsy7H5<?cpFLPH_m!cM3b(^p}&0IdhoL(1*3- z!jWU1McjQdBAE}&;5+r7ML4~$eA(iq?ooNyH&TRGFJ6u}t8mcb8&(_DE{6_;6>vG5 z`7p^27$pEvxa8bN8x?d=0(ztQ$fLq?wgR@K>WCjV{#~|dQ;`nVdR!VOtb+di?RX>( zlFn(e(BqmzV_OmLaA`3boMQ@0+^O&lqni0477Uxx);K)Sy7vOcJxs}*6-vi-UhSs@ z&v9L^k%^I)|DpiBn~i&eC2`o6$R~9N)y6lONLM+XqX{QP%@KN{EfAJ(7sLchfPF%x z(2rqPYzIni)>F(7(!(_=eLLo$GBi6>7JJH4XG*!Ez<WMu5AGfS0~F@&r|V%(XAc)O zzp)8U!HBRh@j?4Uhp}OxO@DTB2@YaBc98KOQ6MCqUZ8&UrgeNBAca7mEXpe<kPm@4 z<M8FcZA$UIr-+rfV{M~E@Oaz2)~O<v#`J;&gcSpDPmt-u>vTg124IK`gEU_yr3|YU z59=?bg<hF8>_&hrn%M?Z?_6h@Wc$e@liDr4nN{x$c9U`=nfVll5zv}O{U!w$3WEud zplHgyS*dKKPtKvbIA0fxHkFX!3vLdHtqy29;}NG}jrUIKW?_v{fRm__!`f6p5`l|~ z$xRtwDVK<;{UsR;Euz6KUYc=>0-9ygSSK7;L!+{Q85-JwU*Bv)gDfn^iNr1?IOr3J zmDY?_LQ-*p-33Ledmu2%H|$$v0zKcNtGhJODcz{@yoaBba_d0kao5d)3ps~hvQ@Sj z&_Ya*U4%cj7Ey*}?_?Og2ylW;s1}Dt_0KmTI3Z}O<<<Ggi##=Eqrf&}6C7L1oNFOn zeYG(bb3=`fQGrJPRQ;Ht4bJmbItGU*2efE(HM?u5B~U;~gll|9CGKf)I&{#RjTu(% zvWFQts0dBk^243+Fn#snunA^9p#^H0tc_CCN7Mow3!O6UQ$~-jNKjX;V+zYLo{uVr zct%4#@BXl`U^1}gfa7wa5u+k5KpJ=oE8rJQ`WV-8;tn#WkF-l4a!9wU4fb)txj~D) z9}Z{mxJy^?h*@(^xG&iuxN+~;_qE6v%$bI$IT4Xh@xZp2{fv=$n$$f9S%*#e5oG0t ziveaH)?=2D7_{LS#GQoEh0C#gE9?<-1<r?XIDZw@h=T%^_^Zc0-q=<sB@(n}lNcE~ z2nWx<&3u1pZ?uqAgl9XAIMlw*;9Zd*>0l7h^{^VrsxgQs8<vhT0DBh8kkgD{!3zPD zq|I$-M?<>_!!N;e2Y#5(q>XJ<1+il`jkntPAPiXpO=O&hoCSwenM9&!*T?%qx6TT= zkm&xf014H#Z(UfBCX5Z*pY<_mnCAt^^CwY(xB~UR)0i4#2PQIRS+!Y|hg#t40q7VQ zi`fl3V-D=<UjcD*jdMAOTw!RmXG(M$A~Sx|Z@pUdUeJx+R=6impNPlibDv!`VDCpg zxLNn82*T_9j_C@=rOM8a<vc1~@3f5IInnUod1Yje$cN)mBPP8~S9zfin<6>MZ#hPw zzm|z2BMPuZ-+alZZc`a7AMl2qJT4sKyJBGz1#B+AMP(c>i<DoJZy&?#xV{2{h_~2M zOFn&N@`utTtp>~+vT5gpI9K|d@Q!5LZh^Kbw+YsZvFOq-d~B53KX-{Hd|ZV8gzwa* zb}p}}-UzCA(V9)UO?7SQ8XjmFZziW{Bp2Z|!(VM`<?@>9jc~>XYOrn1rrf5wYtS)g zsoj#_RR1Ej(xc1T!JN%&swb$jxlPz>%5AEvrC%NGt1CzTV&o7v1cuP(Tf@<zL|94V zG`wb?p7v6|V2`j)8^j{whG38T9~EXWjxj{+69HpLaZ=o0$+zvA9l05gz^9*hTqQC} zQucke;MDIUOj^*XYgxna{36Hc7UiviDcxj^gu|G-Mf77^k@US?<RQ!D?nFmvk0Xs= z<`FCmE|2$Nyiw9)C(I+-fjCWCgQ%XprZwgk0=UOI@YNB_MV|1UuqVK;V-DUUy5*iD zvNMbWvDd^ei@iInlh${1inFo#6c*xd220C<pv_B^K0Z?EF@_|<ZS3gWs#N9%z2Z@s z2d&&LnXQZjdh}6Hiq}x$CW*M!H{@RLK@)hK-Cq4^c{Qjx-wo&Jtl>$<B|5Md^zBCs z>&5cj|73%BvYq2HN~ZIf-?Wz5sCGGH-=eaN4qG6uXQWGq$-%?5|2eXX$7G19#7Rh3 zLP3?A#SuN}9+EF9FFNLt5xp(cALNy`lMThi7JZE$R`sy4Gj3XkzVVAvG`Y`<IDo*M z1QDrWVv|Zi(*8ceuADdB?yW&ub+O@$fWe&iii6hVTheO(G9nF$<5kmz;Pmu7k3eJ* z;56q^jQ_~Us?9_KVGx){{!YC!5~@71QVfK^V3EzJ198PcAguiT8s>y@pH*&L!uf>V z`=Y^(cAxAOuKk1mFhG1p)5?lP1SCF3VEkDm6v8LB{Qk|`KJnU3uWfw$^7_jE@#B0p zw9q+PD3rT&sVwJqkW0~?H`{fWT_5XKa<z7<G+NZp%VpIp>i=-pXsFh{)4ja<NMR_b zWN|2{WO3<GC@rtnzN<ujU)OJ^0!!o-Dz(2=d8G~W^WDO*_R1t>l<@Rqq3l0B{?qF} zeg4z!KPCSe@SlGF>GGe>vb9pF{Yp3LraJvDH{Xpnq`VhXxT%x1Eh$_(m1NaUb!n`F zMLkYeRNx)8KGRv~(zAZlx(22jjmdriMUTLzABLbGVAoHl{{W_*fL%WfPd|NXX8v8r zllmDdByh~Uk-*_M0($1Hn8MBUT}pXXH$XqTC*Igle^jW>b*kO^uHxXJeiwe{U`{_- z7*wyrda_9!?b8UCSNH0<GTODY5LSoIUN1@-;~!qxSt=Hbz)VuHd$^;!GTL40&_oxD z-NlaXq0rG?-9J)V>LqBZGFmKF_ZNp%W>}T0`#VB_GCD({Ff6JW><R*Gu%lEc(mEtp zEbFP<UFs~Bi$%(nyGk9sMQCiGd$gl4I6OE|>g}nlQ+xKOi|&f5P%f)(2-NQ>mAZQL zSQNBh6tv7j?RjoW#gU<)e?o>OsM#{4tfaC~cb|Y8DlGBh%PY07+w(_MtMQQD4O$zG zjGpwaBxF8)yZTc@59p_>drj@DW%X%^z3Q*mGy2F#l9!b<6e}P=j8lYJre}yvWR1E7 zwQc+)juX_K-MTpA{D_`P;>zzVEyccsB2cB|WY844ywsyMxJz1%{g#W#oqjF9D-_C0 z%PU4Z3z}7ft?{e$e$7Wxu&imap1OONH#%=LtEpJk7+oV(Rgnj)Mmv+cB&Sh;LENbl z5FKbVc>r3A-Q|H&XJuVdvRLddsSSfq16JvMNiBp?PpP9?`*CrkI$j<vjton76+84` zq$jZ@)`kFw4RfdLdd7s=8C4uvEml|^imO98AoVKKe@&W|`dMEnR%<^~YPEKzKd2M# z)&7}|-a=Xbd-T6o|NFXn5fi!_(EoltRcpU4_ZCDizbzD%#Q))#K$$@+^NJ`R67L@D zhD}C>E%jR^jc59`GILseN}N)xPS4xJ^t|R^(3ot{MsTXzx)=}}6$koCoz?x-`AJ>& zi@9}CeJ;l9s|`(a?^frI7LB6@X}<nLu5<hB`g`l}8+N_au0OT(x9$3KOEJvMy=M0- zE#1po?%b7@{!6>QWVwFdY4<<0>)+VbW@B#D?r*T`op#-3*W0;1WxdQDxBEBk`aR2i z)$U)g>$mOthFv}VYa*4Zj}z>Lj={m<VdRcbRvauNJq9<H`i!ir)9;Q{XI~QO)LtnI z&Fibv-&O`%;$0)z>g-$k2fIqrHnfYUNKntdC8;)8><Xb;UyexAA9YpkkoFrH9O)1V zYF^8wu93m=pyrvW{AE$3RH?5Ttk&<Z%=DCP2K8LF>bg;Dy7s85e#i)gN_|8(YI)FR zZFZ&PAARYMRjW>4X#_I+>Jqq6TsJr<DKT7q5<&M}(*-1cq_h<7$o<jKmzK)I!_}Ek zoqtWDTnUm2gCm1WOI_9JpK5&8hE(ZLsYjTy`uvu;H<E>`Dz$kSar)aD<GWHD3|Rx# zAVwh1K^yf*)2K&2RT@<lCZSxG2GOq?^*&^Lj0~%fmyz@0YhCyw@}B;-_4?P$>aY-{ zGJs=RtlS$quv@I&$Z&6|yNpCo+c%U}RiA#rr&7~edqwqxBAa0o8!w9v1P8qpfxh}= zb-xe2K?1XHNo4I+`>&|);qpkSUu}<6>ubSUQNPvt<<<HIi3qhpkzr8+Pu-)%;o%WI z1(p7$w3G&+D%DbNwSHAm$S#*P)bFTI7X^d8s2HQf_x>Il7XqC9NecB(1ab?QKS?Nc z_9q`L^(_XLb^eB0Vs`X1C|VM>5S*_FYL|oH6M+a~UC0>qGT~y)+AA>G(;C4kT39JG zWQXnzsV&M*uje`^(WUEiOkDkXyZ<S+g{0YlewJ72f3A$N>VD)}eawoDQEc{Ip{}4} zJ^HEEH&tpskUCed1_`2?7RMP>{Vx5p`ge5;_WE5WW$T+w2Ec~mPto5`jKM~n!NgZ1 zhKIS8rq+aJ;X!0k-%!;2*S-Y<DNVgAX|PiN%aXymI`rvtLqIKiBJ?)yWrTTRkLJ(s zfPW|q_M0V@q)Cp;@L+uPpY)YFDzkr6t-q#!mSR%3zJnn>{hI#S&G)KLe-Fh_`-KFV z<W21tl$|~)A}e%YM2vKBJHVyajqhJ^kLWA(bLrvIXZlcdh@mxHlHS*k9);qOVN*Qw zSY<)7OLA<agJD#kenUD0UCnQ2clD|MvZ(s0e*H7ix5L1Gr)(tqd|^<>YshS!GSf<+ z3~Bf%uGPX*hXjonyna768K#&`oDA6enYbCFjHmt_LGsins)}BJs9vQh2W37=F1g;C zvU#2o#Dk)RU)X$44I0V*qFSHgx%LZDb{EWy+1XLnWf1pAe4|$DX0<LY6kWQl7Q{-D zCD1Ra_hhyHdvWNU!=@>Rm87ZobNzq2`XnQsUZw6U^@@#tuR5#L76$aA>D)`(SmDA` z?Z;)wL9xA1t8dH8E*&1ib`n8xUmljBqtssUlKK;Y{a!S>It&VoQs|W3JUG}_!eaZW zFyJ%5T`ywxg=+nT15-a?B2SO?W5Y(v_1`bUT#{1&uAhEK{{;Ix(s_*}SxTCor9%aw zXi%z2dZc5d+*6re3Z!LOGd;q?r2^{GV*k=Y$Lg@uEhQ|AOVtZP4W_7_ai*x&pOm#x zDRo!tbFlM*p5z$}YMzxcC=wHL=I~LFWa8#vg)r2;@Di{v*Qg1*YHI6W9fU6v@gP8} z_2(<~uUDUx-gJ?n87(d~bErONMDcuiw8Od_zNnPQ!~NCzDGB%eWkHkxprT6X6w&Qx z#^)zdEcy$a8j~^C?{GSV8*o%C4#-w7ijMkJ9J%-OyVB^iQadFDT7CLGsZN_lM3dST zRnpd}!5-0^+LY{&RW2d}b<0F~(3~WEN_wW%&ZxLbn1a=upe>3+rCw=AdbMP3ij`82 z<iFk8wTy>VE{>E2c+|f}Q7dD$izbz(*NOauQ~NcO`!|+QeVX5XV@wep54{o@$*pGY zY3N!Nyr!YZEVcT}0|=7J%%;lBcx7g@#;wU7H>vQ7%?XySEFh&|+K7JZd*Lqx&iqo> z6SF^;y}@u@33Kh1QzPJMXZ8j0{xAYSwsVlQk^w1Vc+!A)K(Gx<7(Vb()aego<(W~H zT%n@x7sZbC9~cq-0C6yk$z2>=%4lSyml23k!Kk(RT&4cH{ta5`xnbE_D@6o|kx*D! z)@5)daI93XG6kj|(1Zy|IL+c2vtndHl{$ut!<AAWc(2y~%o@-I3040yrKxeUdPh5C zdF_(<IIQMG93V+1Yq7V4#VG5sN0Zhq13|aC6Xw2OoqkRvDH-rwqG1muWIn&HYP=%e z)9w5^b*F#MQuFJ&B#A>=9IAF>8iiCx#j+`;>SdNdt_m#3LJ`KwX0q3>g7@oJ2`d8S zDsGvAxz3ehfjRf{65DgGQ*v~!Gm$#752jD5lBWHn{ux!QEtk4`dNjbIjPh=Amu5hB zCH?PJR$pIVv6rmA<e`s;F8%M+{{i7?pg5qreiKJ8OMP{Ybd;qYF-Ct?9_?aAi(MZn z4Hoq*(WXb;s5|v3f<VY&Wh+m`5#rn+LG>fw&!2S_WA$Khk91Y)e<3s$M!H0OBV9eB zp`MYhvOV<ap-&HzCL-E1vgTw1GEMa}GE&9Ub>nGOmpbr5A`ImrUrh*@EHHEC%#u>K zu`f!3n*kwx{u&b(s^eDVnM9hXja8B+4Ox;CDH2^q1xWMxPeX;WC0z@+AoM7hM6zg6 zWo7vMOhR%6go_CT@oo^KCBLJkQgwd4YRdUh693LLWSUBySw(>>y|`ysbzOu4arcH) z3M$P8yFnPITM>sy4cmFesF>A^t?JBUY6}dERA!DD>D}vA-MuoK)ZSW&!1`JRT=+o~ zeH4Y6A7C74!=#>lhmL38iPkbPHMG*~Z;)J-nG^g-4j8lUsLB*m08i>|_BSpM>whgy zGGKPNovs8$=B_9$6TMgFpsCsSB<Kc;Wj&Fgba3y8n|()pD+TLe=6WeeF--k_V0fNp zxFOPK;NfJxlT7sNp5l-u+Vk^TV|EWjKl_LxR`p+Zs1g6SqDjmAT6&zng1s{T1rx{f zUyzF=E8C0!lc@?Bz=&$eMm2;={}q8FCf!<=e02~FR!hZ(VT`&+>*|^*t|x(Jd1mWA zq9^sZLJg~&Y5&>Z2)TNqej>1De<OkT0K*?FMKpp#6kk;Wy)ykZ{S%;Kaj7igQxe9{ zC92>#I9tW^Ps&pTb%PA00hKDt5Uolz7lr-eU}d@s=Upf;c2N;C?7m-;DI`DolucA! zDqD_<YizKu7^~T(YBbRV&lw0WIQ1+CgMVA7%qyg!J}<49NoEO^`8)LwBSChfi=YMF zEiHA#Dqg~%_&W<5dP|<HCS_O2H1$M=Bz;tr{L|20tM1pBP{wmhgs5rJ@vj(}{xIv) zU1g2EJjj@tMNxhIG_rj9H7aZBdj}L_?NwP7ws^~|95s-3lF`+d+x53Ym{vw0Z=hqU zvu~hjoPvpGd)A;$ak)Bung&jPwp0Ou>T~*Z{H@MhS)Cb`rK{*FMx(Tb{wY8A<c(X! zggjJ8BCTO-&hM$t?=iYmp?T4zRiEFpwzS-PQd-$GYFXN~$9#O_M=Or%k%J&4%HeTJ zA5{3GJKmZ{_@qK<BjWci4OWztxT@dB8W%9LZ^(88PqS~RHI2t;;XRXZVovEL50(6e zl-lo10KEXG4I-Lnf3Eq_9a2J)?6g(0>+B)PehmRGJEVUg8R=j*mM9%llppMoAbFC6 zM<q!H#a}-3`f0NhrI92_>!;D>E<>-eZoa^{OrMMQG!zq)K7R(KEl&tdvu~^^DXJ|< zVsI(p-8YoQ{Az{8nfVP(O@#Rkt*0m}ky<Lr0D$`q8T^fV6)G=xV#!sU>s&@4WA+76 z*bCK#2OwkpfpexWmN2Q#O9))7f5K!@5}<>L?Oth&^ILbwe!IH#5g7$C3QeOzG9EV( z!X-Oko$}za(o)IbIi(C6t5`2<N+b5W*ri(PcdJ~8P0EaxmYTAXk}jLV$DCCz9oe5x zM3<y?$|ooNwMlXenre-fn`}k7LIO*2MAJ;vM88#0=O7CdKPn{G;wO@*zdDR<t6HYT z%&n6KAwC%v-|!Yx4-UeS!!X6D)xAO&rCtRywLXTd6`FBP30OgRRtIkoV*p=XH?u#7 z_G`bu=yBz}%*+|tKU#d#FlS%jzX_5vRm9@_OA@7x3`tW<kjXy%dmdg?E(>gl?}W>u zG+SfD<{%g`y-hcmn&w{V@uPApgax@*8b;P6T3smjQcGn9WO#{ll6;7LdK*i3Nh2DN zjUd;uLW$P$^i{>xsnuq6q*-IzwNtdCGKQEl6?N2r!hjhV^#lX_6gC-vGj9Z+x2;(W zdT+(MIi-S2!~>XMd$mR=Yl0|^-7YKjYxr7q6kZ#DlxZp8^t5vH%R*%63i8Nt&1b%@ zr=B2;*qszfneZ0n-%}2VR|9@yOPR|?rLqJvrC4mTMAV5Q$@-7^JO4LDb0joAsR2Xs zX|cYlNeWD#CNT<!>C=fom_Du0jky;JiAuD{+cyJj`m~gxL{uUpRD1SqJ%Z}%3xi)M zEl+SLo<QkTXO>oHR#s=^VO?6CSy!FG0CrSMgkviSDBY<j|DyskFc5&#r=#Wdh6Tg1 zR;F*1_`^)G2!@_m1GH59HVsunb~|QRZdGoS*#}s~R2`uMV;)^?qLMBV8nUUTf2l+w zwC?Lu*1(iJo_TdyN$aMP_z3-CVrdpHmJdAhqWVH)gHL{!A^0VcgzJVXon5x3)K{Hd zDV|Q`wuG#)=RV!+BPX^J1$)^P!oC%Pxuu>`B%tIwEGubcHfeI^Re@QQkCU`8^Xj0C z9Mck>CFQ5tQ4z&Bx`#74GDeVi@}kR<?ZdLjkU!F})#*(h?YST7qEwI8cw|5;fGNw1 zyONxFd4gDkm6`iWvUhO(%q*LEnV-sx0@&TvnLWU(e<JV)gwQ?9N&}U33dAd;Xcy3h znwj~b|BEYvKhs(uxS08&a5O#6WF*L%*@nS9^O8^Y%v)70<_{L}-xi>Garewy_T*xx zI%8{BGjAEJ^B)n}&uoKinBZ-dnR)#a{!D9#U#z`GwgBA*b#x3Ty}hC4#9PA&-Ocb! zXEWPki_7TXEryj;0YEcNVMlLXKZ*uc7l@V#Gm<A-ctkkP|NYV>Vwjau#3IZn$GvG$ zPFWgu_M}MTWP{qWgjF>=WVWUP$5qgXOmOISR!OsJ*QQ2MRc77LzR+K_fAqc}H@{Pa zV8IDZJJT|~+5Z`Io6TmOnHQ-kq9eSCwiKgP7mA{q1-pvi3|eIj6M0y_7bW3X5k8z1 zhXNlImt&3__ryh`7nHu*7TDk^QZZzd`a-PvLSz}c!A`RqD<(gyXtQZT0?3FUOH<Cg zdT~ke=RKQEn1M#9f??&%!TM1_vX}*VTr=$nkrZ~)TUe&0@)4)tS2YU>F|!(4nL%JS z@{%&e;$@{uWt}o1^;bn6@Sk=-7!yFqFav4bVmh%75zmEXR<?MBmJsC`M;M)pB>;D5 zhL-7HK7&x4jb-LlmzO&X?xZ+*(0Q~lXI^S31|wY;RnNx~+`J@ekEEMWchbR2%A`R! z%x;9inU@;Ivo)BhOmXZ*Nfu4P0<sRnN9*pes%T^0(noP@7cRxT^@MfgPtWTg;@RwW zME=5+nk#SW8msteyWU{eF94UIpM9YLj!}&QduACbFs<IDaAseywr;`F9Yp%iyL6A8 z->yDI!g@5Y?xdWB<rXGCR_b?b&b}p!^E+iN=S_bbObH*eZ<)Wd5^?{6Ya8ZU5fiC| zwIW9g&8$`QWOHe)wPK4j<}P><Eo(v|3e&{pO?QdRkkWFQe!nv^>>+Bw=P9pLP~vF? z>9-g=N7uo$v(H{xTH<g|zb8rXEdM19o~_P4r({i`*h1ce{)<+%^7~7pFA)u^(L&IB znNoVXtW>3iB9iD?(`AhoZN%QV%aHmP9fUUx5OZ~>-?<{%(9`b<xenRvn^8f&S)F|| z>G0jEO5nA)h<Gyw<GyK)*1s7ohc^YVdqr;=z(2{?m%AxYzo(WOOE%`{Fthrf1WzrA z7Kz4Azt^B5bFBbDlkBj7v3H~xDJDtTIVjhMfQj%25+w_D9h8c4FeG0byB=1tLAwK_ z;ayd_Sg>hf-j?C9PV7-h&_eEyIXQ0pXo~1f!2V9=|J$Z@Yd`*!+7d<na!_qx!VuVm zDD|s`<Xq^FZ8S)|OPX2EjsuBTE+UH;l=hBOPQBB-WoxZZ=Czah>aZch2R1juBNFYe zh$O2Ehm0wNh$kIovu~{~l_mBhgob@0eeL&2WT7QWu*&Dre|xUZeggsJ)A<cOA)t~c zBcc~qCGMSqwzDq^;1``u1c1+;#y;H4sUShT3LYX@iog&$E>~tBF`HXEINU17(pCgn znm_`;qGGe}m5H)w(ISaEvT#<F1*#nvx~c!FI(=_-`hFHOqz+!kfSJBuAx$NlB-^F3 z1mmaon@LIlAl{UTAXKLJ63vJPo!P9?Fk0Q!;v|cB%4Z#y^(0DS8>*1dJ^dI9==zn3 z<$cV2pPpv^JKXn~AFV5?T@@}@7fv#EL!`BzxmDG&oOAchZL^e$f+~$ii3-<forGt_ z1QbibRwQy$62>*{2&TEC)hDqP^lSeHgsrFEHu_Tn@_7#7k9?jx-Q6qK+O|q*0~vK$ z?i^QjJ$iKn@3cY)dcug%GM84-i@m*-nLiUq5|HC`Q2UlkL3u7x7b3s8qXdosNYu9y z%VJ@cuJExHmBme~&V5=$k|eVURvBQ{Vw9|*EBF%20;lR=4$n=R&%ySSxuXuh7S*L# z<gi;1YVH<_J@vL}r@6_5loy`GT&m99u1KDgv>|`t+3LcxLS_1VNol#Ugc37Fv}M3h z&O}t796-v?Nm^M|B)o$7(ig)%M;m+{?eak%^*35Zy^T?O@<$Wti#;1RVmzr{stYfQ zszte9)jgB@E#2}6Mzv*zaDDAt7_Ihfllnzb>B6f*l1DPkVj}6aH0c=J1OYf1+~*j% zkAR#-i3Sy89WH1)D%15npQEF+!99#Q$EHOk=$B=AszF$?H$`v1vwwSxn{>a&Ji|wX z@_m*h{qkmVGdCM=-lcEi()fIe8CIXVT?EIE>b+~Q?ooeF)zU#cFAxy)gt#>A)u&FY zsJ!pFqswh7vP+@jwxjAnD_aX9L|fuo&^m?wCHFPr&@r98F+-)k-ri!b>QRYSi*oS# zdwYkqG^Z32EHNpVOA{J|thYfNtDANw9IKkI(Jk0ky+^8Z&#H}Qt5Q>1Gh-J}!Y9P} zG_OuLKW!nLc?idoX$UV`)oW)~wpk66hSZiFF_46j6|^9bEni7sExaQ=qPhz|S0<dR z4We=ohGAuaQ-9vrHhIc1@w+WhJqJ{ttc43}5Ah@<C5}n`FQA0_^(5I!-pr3t9y32C z{%@{J{V%l6s9Y^ks;~k$`eEf!r25p`jqvO<lTNR%;mSg<m8X7Elxj!d5RLPnmlcL2 zINGa?(7ob)%*<ydjhmjCY#7+jOlnfAzH1JBXCiilEi=BZGDjq2;Wsu|g|1v`xo}eY z?^9|dUZ|;lCMbzt0#GXzk*K{Qo$+<4S)W^p4My*2*dostZ24k8sV0|>Dlj5nelv)2 z3NtmAJ}=d>&NKb`rxj!^=XxNwY^h5t&n(sAabJ?!+biHT@ffudko+jN&yP@~4Q^-D zDWO2qzKX1B^`1rAva#E5Y$uNGkz!5oeuZBZ`ZpyjCv;HEFd)km`Db*YfhlpMw7e{% zfn;LLNtUFg2}~yobuWWioQ}R0C^W@llhu;dra-hx4~k}|Pf<WZSDOWfOeG8vwJ!FH z=NLeJj%sQ^<rBTARcLjq{Wj%}jt*O4z-KE;lu3BL3~bCYn<G_7wQQ%9(%5#O#UY!2 zlSwGeLB$d?e+INRoc>XT_#l`DhIQ#5R^(mF=G^yj>E+VHMSC%cS!qV4j|N1r(5$Ge z$QI^-flOw9CbM6e{ryWyB{do=*+?Zyex<$!^rOYDzP?6gpEcU2ppnQxgYIqQSVpf( z_w+Q<dMvR=rAd`V(a0%YR2mXvY14r19H4*gMK7{1p@)DHsW1uK?#k@4EBA5f<)SSE z9X<$cM5?G@St?OK`e!W;cr(V;>uoCGTI5iI(cV!}&Y3|>TnatinW*l$)5*=#{Z{$P zhDew@JtC5rvnXHG*iZLYpYAug;@mFZN&N5H{ONu|KW=!Prk?&MS#zh2{NF8hcUUJU zKT@g^^%t#_JG8%E`(v>R6^bhkc64Yb82g<oGk>WSROpDnk+hVDil@<0l1oED)T9i1 z)(%w+1?dk4=z>x=@VZPAWo6S<jb#tznX02(nUHf56@#S77M$@tTTi{HtrHkraHFz( zhtN}}Rb4BdV8A5obeD{_GK-)rRmrv?Vl>^w^HZjkwbfr%fy8p{XDsmP(L|H&^y`&g z^NFoI^MF>DiUR|>Dfair*=65~2t=!lWij`_KvCHO6{`@-0O-D@<~Jm+Z))vSpE;CF zn?!@lEMpeg(b|a0JPlt_s+w^mRJoB9pM1nmS})*HyG*E?EIs^4ayXH1h}-WLIuhjs zQ2f!f%%CF&ZM9L$hbr}ap+m`%oE?Lm+K9snfgT1s^q@KKEp+@n>@|hnZ8_Y3WVcyQ zuj|Lw9;_W-YoLVMup<1@AHS5<f_8%r1U@^tTpju3Bv)8tSxG{zsDDn>ewBpi=+NY9 zPg~`gqc}^xNex#yNvu5eH+@=l@${jvBH1ag;*Ao|$hv{IUZ;`Ol2o?wek9kECK)41 zadvHbmTfSG1)c>(WNO4GGhh1q>+DvPu*;VC2nzdpG+Q<mYo{{v3$FE5mzOF=ClGS3 zl>1aqnuri17mFV?BSR=da^%{>RIWU8d_@1t`VU-Z6krC;o;Hp0D{?PULvnTcm0_)U zRmeEi#TKM9@>Z>FmrbWM6zM_{CmfSpwFZ@YzM`~3Zjk<sbdBf@0(pSn5j$jS7{wKP zrJ@)CR$hHvLHn|{Ps!VpWRVk>tFQvuzmQ8}9*S#9OB^~awPYX?YYRr<NNlggYAwkJ z`JI2IIH_U^TA36x&%SY!-UlFlWGg-I2qcm6cdcUxK+Sz!56KTYT@p`9mhHxD(<d19 zo`{z!7`IlH5ZrfTRUR7c$UV09I`wX3VM8Ox^p1Bg`DcX_Oi%xwI7fsm5%wP6k(XLK zbx~Z|_tjOCov|S-VM02yH|U3|sxkcz<DdS4RHbSw9u(o$7LPATp0gW3Wa?IuZnPHz zM%Uf&+NB+`;T3n1yBR|)mYMjjY?)qNEcNP*mal7*FaBt!?2V4<Gd1o|9naJ}nZP~S z<{WiugC$V`!Bzi}k^JktZqnF6NI`$;4c&p$t&oP8jj*T&r3F5itokH-cXczYY!~&~ zEk*Ayv9M=%-{#J>$Lt$G@{9uP_*64rlMN9t>UI!CaGDeljo7xu-x<O54+cVKW#-q~ zH8b<u%FN$d+N7-N9y!{2zmGTX?6<O~*WdTUFI<WwwO7`XA5<f~R7(A<GTGa7yjzJ0 z*j2U{9<_zhZkCj^cTDMI@<*>?uG6IHm08!QLV(-Z-%AoKM@t(D*J+7>#n`eOJ?uCI ziw9)XX)TBL^d#-7c8y&U@g^3;zW5poEXuQoZ`k!kC`iG@S$nfY!Nu91So%vAVUW4# zh3(C&r%$IF?6i_5-&s&v^dO11X^)9)?5E#!(Crr|T5lEb&ak%hGD05s{bBO^Q~iEi z0U%lF=GAaxn*?LZ8Md|?l1yNksickcB2tC(>yK3x;ZscoyT7R)D`#|N+nd?qQ=Pt3 zEUj&hkLjPR0^Q3L9~D{I&UWoUwEEh9C?aCtGVvI-{2e(gBD6P!1lwh2`{S_~>W>lk zo_;`ttzC9_j%*Pwio;&7*1xYc2ca0#aQ;&L)9VHj$n|g9<QOvNZ@9QL1V9F@ZE<6# zFLP!RT+KaKQnUy#G0`b`Mr>fiG*R%S(pGWD%PK9SpSPcMD^pFDtNn?_Ja#BEs6c@J z<A@|4L(z88Xq&9~L;uCKMcGJ2g%rhoLE=tskmjq{&85Vpi%X~I8{1H$!0G4{ZW$SH z_h@@~b>{De<xGyMAC{<W0|&n^X@ZR~=D+PzZoeYs+9`aWxP=1M4Ji@`V{(7p(WOne zs{hMkSJzUZcPMpA8ztnzd5Lma{SGhHmIPM)f8F6`xUT9#E%>81J1{Wdl?Dbpp}V`= z6S})S0jtic>Bd^??d|o1Uh}Yj-O<^}OWA6;6PsQA_4oICLVv#}l=R0+Nb*>TlD5-$ zLei*Q5l`sRJA$;)BaXHbJxK|<HlEPe=Oy~IQfDRl%97yf9uHmbZEJ_LwZNlTtt4Ej z99ul}u6BW_h({WQx6$H|)xr<d#PLVgHS)ygh;1O+LN2P-Y#<NV%W8DHV4<`HsDP^M z4w5fi-7hDzcR*rC^hanyOK1BLAq!uGS7vAJdeW}a6P-vb!WHbd76vqSZ~PJM4l{wG zD1LQepRO>&D;l?ijGm~fUVA)nuM#mwn-w%xE40tt+W4?sBWx5>=tpht)9z@ZL5CzR zbx{ushX}54FXmV{v_w0;2#)BF5F-hmg!{`QdQj2`@=Sg4dOKz0R{OJ;muu4KQKhvP zKLY|SYUl-5V++S6Vby?A6#$ajez`K+)g>XRSF#jwne|C(%p5yx6hmc#iG%CSE<L{r zs|X+qeM%cJi%d+CLXp>E5kjG4B)^Jq+VdQWOfa*>;i=o1x2JAT9z7hnU@!G9yhYaB zEKR<x8bI??hlZ*CCC~3h==35aXAcxe{Ea12?e}y9uogio5$2HdF1ay0tRp7;lnKuh zCzGj4iZc1H9nK&tR7ws&o*A|4rFOl>uC^Tej4j7L^94(}#jZA{XYRCnZPZoWb#`5E z*DD2()QCk#m~ZwDoRoq!0CcQ?x>rJ<!ZQ2<m2t^4rj@lg0*h#`e=oG*e`Ih-*yy!n ze)I~1Iy}wt6?B0+WGNUf%0?_nmi8C>%m3nu`|e(K&CeIguYG>!pH}{|_cOH@!=)i~ z)<XE2j{E2?>Z0fE6JuBD?1fO!->d%JKRxu_7w-7?`&a*05B%bPdSL2b{qmz9z3dzR z#Wnxv^MC#Li~smz>j#(p?O%QC$-5V>yl?-XR=dCb#}hw%_Qj>;(y4#*@BXh{fA-7| zR(|>TW$$$Tum8uR2Y;~fsoAAx{@cI$>%%X0{_NlU!~gxQfB%I$Ub=Vn>=V!a-}nF9 z;SJYa^2S#m|Ko>V|Jrx{&wqUEy2JnE-@bI~>$m^-p8rx{2*3gtpzG}AB6}}%F5`0L zF<nM=x9k?3wBlzW$K#fcgyDFG?^I|#p7_#nJGX@ckrqEf{iE@mZcg6g&=*e1;@q+m zVVE8lJKeY`Gk<jPXuf9a*~TAV9JK7Y?d5oM{>RVnl<{TTlhcVfi)cd7a|G2#CTv8_ z$0&cS`6xzC#mOI=y*@vTh;~jC<g7(-&pC#U;Nh4}a{gSQBjL)kWrF$ioHHt)2&?^A zM-B$#usY5?;us<(h+`Bxwerc~AzVZ?ok7o?1wGdORXnYTBbMUf!VzK)UTXfZ6$e1Y zV}v7=oK(g6U*|rc7?g1|5P<oI$>RY+oQX;vIAVPM6$4I~^sn8vp6mtH<&QGn80!Dc zy*3U%XNl9s+K++W;^~r<NXMS-m#>*{H20{W;?s^CLiMnqquq!D#!U%7S*`UzC=Rvt zPY(K6T92$^%zh$vyV@M4<sa5^96Rp5EGXzXJ!I)>VT1FpTift7PCtvM!DSEAdcSiR zkMqiZ3XJ*W^iRh)C!K*2<|j)*oRkaZ;RX(eIw*)WXaD_&pR-o#xKJ~<O`}LZjkQ;h z|EDyA;Jf+kRMPyEu?shc)3>(HVU|<kQDBc7HvP0cKOKz&+n^KYAEepC;yEaUL&U(f zpL7>n$kL9V&X@AQ`=jMn&hpcc^WUgy2W2ad0Vk;`mmz{v$PP-9{E5bd+>VFaapE6` z^rxxW8fW8Y|ExgT`uiJqI{)C*kM7%VbmHT8ocmFG=Rf-Vc#&z$q|3(qoJH#6L|>N( zoRmxbjiD3s=JqXtL(GvP91b3pBVQ3XEJ?Ysai%YafrC9{w4eIPNt)1&A2?V4ou5^` zJ~?gsYJFiTdq0tT+M;%|x%qRhW6t&A+D57C^|h0jzFB>)*SU(5;p*h~n&g-Aq<>1k z-sUIu1(_>VcS3bIB%kZq^0sH-rtVdGUaW3&UcT-fjefo;dnDiI)lF^QZM4Bm#&Xv+ z?l``Y!`su86caHoP5HFu?5dW!`P8d4uGmj(p<P;b+@9~Wa$L3VG%7kKs+eB-|IhsY zH)npmJ|fHK)}aSX;oUmtbwX*&+I=>vx-<Nd^7$OZWVlxxu_=_}ho(Nx&35J9t^8Y* zvt8{>>MZh`b>ixzp19i-KC)BEcc=)3Hz{#KRknowF_TJuD)TT0s3Q=MHWV992C8`~ zEX8`}=3$d>C&EW?BaR4g4yH|yalQ0>KGQPjM^(o|bU(Vyy2X0sr1pIR4y}Vt-@jcK zZs>fNhxGe;d;lVK9+ts!M>Sags)c`#W~C>#x@!GV8Eut;KNtbQzCIdOk86;eCyLU8 zZ4ul1gj`2J?^b2(QP$z`1fPD}Z4VEr4r=O8B>MMT?Lz{Uk3{ipoG(iZ9hVw;LYTiv zFfviMhTFpJn%Fxe5H@QrwrXzfN~Ujzrt=<=!@c2;6G3{lK2&wBg!6S0$k*%e{LWQU zLD$4lU~Y3rZail;e&@nXX^y}4Z<PXc`K!Nr{l)+1e|YV4_1@?uV-;|6JoAfnp0{O= zs5+-3`{}%ByeAA5@dRt;D%ECqEPJgLP>3Bte)jVu>37(oHg-Sdh<f+7IOBPvYTj%u zbBL?sJD!uAelx(oVG%#OLVJ8Rx!LlFIysK48KRA$_QO$4LDc8>wbkgPuG0j%^#q%o zOrG2lJgF&zeGVuc$eX{in6C+I#WS7rIq}2q`P9}(MmGO)ebQQ^_|HehJL#F-4l!KQ z{56A<A~XmF(#Gz=F2K&h*STGz!19I{Pv&^c@k^`cvS}Qi&OJEv>$t4drQ5${(3^hJ zuMEXOcb!aef7Sx465S!eKLP?pcfyk8nBF-*6hi$AU@QH~A2S@kcIvc*00VC9MJzpz z`33L0_1w-vhVG)5ke=qA_d(o`!@GqpM}?!<XFJaTs9QZuhmNtsx-mY5)!WXuctq*& zlFLY}nk>CWx(1p()>_u*J{xqRnfYevoBgKdn0n2B(<1r>@Vs+h3X@9@kG#a0&HK^J zLbR-#zpB^^(>PJq4<Op3(eIz!VA?!jLL)e2E;bl66N2z?35^Jgojk5qU_`IsVTl+5 zpqz^!-2I2tcl?f-mxBRziEubhpGo$BgcGdG(<pGL&xEE&qXR3S=z`Gl-+pTii$#=1 zff>Ka4SXOI7m$z?lNx(!7B1dDWX^Os$$NMMtpICNn>IX^1NI5$AS^bb-Cc%9UMb!e zidTevj2SG@A}YWk0DnGDtsgwd22uz^Fb3wzMRE!Qg2#n5tucq{48F{2pg3swkWW=z zxbFymZcK2w+n9<2)L!#wod%(<)bQ97J~^(+P<U$)da*BWb}p3!RA|0X*024k{nr}{ zwc5mqBS)w9Z=9IgeeCewqbD|Qn>xII?~x;W4<0zO@%Dp9j&3`A@aWX;qk0}Ydi3z# z2ag?{T0gq~$nJxO_w9Xf{pj6OhbepGCpTWn-}R$6AKQ2I*x{)g4@@09dU)5q^`qO4 zJ-Bc0?mMPVOdfo6>cEW;UU%KDYj<D!sjIHP`kJXLKYjh>#mVB5i4zBQKXUlsfxS=c zqNl=Sv9js-(W%1+cI}&d<nYw4J$ny4T<BO)t95jbbQQb1SfH)jvB!3j(mYEeFX}S; z1uojUtk+{m>(`~eT$iWb=ES9+>o9EFY^UQ)wL7Xzk$qgK@$@#O&Hjyg7}nG5tBtZF zJl?|P9bIbQ(nV*LsDfR-r@Q(NE<fjTKg&qGDK%)zp79X8Vs}qBn=`7HTD~?1>{sd9 z8Fe`g%+uEX&&jm2!~pMg+WWrl=2z-YXOQXfo0NTk%X0#>gTuX9U7TNMCln;dWvSec zWAAqI6|Mbc#R1dGw%5@LfA;`w>J@e!h!dNd-P5@H4Y_|s?i;kQ3h4B5rp^XRz<f^0 z(_f?1Z@KK%qmGoJA3JGAkMnnu@poKqq%hc;{i!a~HfM}!8m!LLxV#j*);S@{I2|A7 z_h_(#B;C$sfV~zv!a-LnSo;O3-;SlV^#%~M)qMJNJh(yc*|UVpi~5v(kIS>V=rCI) zgTk3t^*A%BOZ^o=I&&Y7$90(&tyE`!&*gUs24)0L^-@YP3cX!Q(^{nTJ8MnERGs-D zm$$eGfz?@?w|8~7(67t%W*T^tjJMT*(IxHay<9Rhcr7Oj-D&d+%i_Rh8bfrP`OBkf zYUX4t;`Cy8+&~|bks|DMz6QBCDgbo$hgAK4+dKQ%s;~2o|E{s|yJOtEIPFb!H<1Q5 zYF)qEZRna|GH8LK04Y+fhHKxSv6E|G$G$GmkjnS^-fJ6WE2+|sY-CC$T7`;Ao|b8} zqFq#_5`SbJno<cSs)2?oYl^mXOH@>$ZlCXSe!qLoOBb{TY148s=jAzX&w0*sp7ZiM z=Q%<?e>@0=SEAsOAH^tma*1#SVPB}hD8`|~R{2z`Towb}wAAnAFssGq<b5vqd`@Ou zo53jTl>+;yHAaElTNZ`rB2-#am{fRD2K=XkVZ?Oz1}qoO>H|JfYBw$i1ZW@G9lGWX z!;JD+0%oMmAv8EQ3oNHjG+(IzcVH85-Uy|l=lf(ltd_RZb@=9JxHU(X6zye<tlBo~ z3ezEkvkG`cu)Q({F>-3r;0~f8Wrvp(?@i;{2XW4R7vepOWB#lP<H%doKJgwG=nWY{ zHajCqp@QBrv_nM-x*|hFpTCB&K-+NgN3Kd4H8Mnl>~||xua+l94Hnjhy@BJ+0uF@! ze6m7H={bnuRBT}?e2WaL4kC2T!m*$gtp{CI*d-aXQp>{CFe{`A{yC9oPHjJT3?qNH zT&mODIeAlZotJSDV{rpUPBofSUU^}kZ<Z0oSX5T|wQ}v2F&LJ_v8B+-9a$3zC(O*7 z`I?!B&73teg%GKgYjG5pN?A<SuYRC(XhY>}6IVzRl*W%WiwnTA-6Fj^gAlrm-wSzV z@g_#@P{rzoiq-WvkK7#~r5hgds}4s}K?|>H3LG3`ru&F~M-F4;PKvhr*e}S-K^8jI zSavF-`A^Fbo6W26Bi3bUHclfMf8eTt&s&b14ce2B`0h`@H-b1EGLqNv=r2}r#7N#Z zgHTR|$a_BUa=b|1i-DKJMe=GS4UQJcdnNF4t|)YI%8>vYR&;!bpG(0(A_cq^csWKC zx@zjHbacSO<X0EbH&{(sbUZIo#UWwNSlQzcXvQ<A?vQa3h|Zy5Cv@wT2HmEpsjYFB z?>L02*COnS&GYVjEQci`4QNkAG`Keybcqk;&fG;OXQ}l^t1Y)K?V1k7F;a61zlNg{ zx}kHKa&;)*P6dXl`E^1tigqIIEJ>F>$7UcT-rCy0%V{FKb#;N4(^`1z>jQ6neFI+C zR)BQu#(5O0u`!6nsW7|^4S|<~U3gn&f5Bgn$az3Y73GjLU{sKpT`RH~kZ;_aodX;V zf|b93jirQwloB*5uAT@$*$Ks+#KjpBxfG!KDsinms;xYA@~E!z)XSrqDizgIHdsMu zgF=HUaXd$)Ln$;S;dRuHM))R94*!|cm8?^Ux;x3$WKhBua#c`Dh@*4cTmo2)4O%Z~ z;1wC8sy%0Gb-Chd%j{8nbu?_?a{)TvSPn2B2WC)Y=)fUI9EDv-Xi=+S7daiRlvs^v zeA*-wjA5;0$IvdMiDR4u6?B&qbhtQCxx!0ylrJi67(uyEcOA|;N_@u$auKyjBr&jy zrK~MibbabdTo6kcn#W=}@)oW-id#N%imS=es4WIpA^~{D1@+#hm>h+OjZt-=mTaw* z--zd$;@4Lveq(iXCe`66HCNf!Y2zwR;ulghZ%g5tt~a$5k2eWcJgz9k<DjxS9+BUm zYt1}wsm_^s$snG&m(1O2ZWrG|c_czPUQzaiC1KrCJYiPhlC!Qjpy#a0sLC#Yo-4cX zy7}KO`QJ9b<b>f?aPea$f6T%k)@eayv@LX?G0c<`7q%D<4wb?|yRKY(%~`LSRXF8* z$DH+wv(7jRjYcu9v%O%d{&m*g=$g+kesL_7=^V$W(W}6mk7M{8lYKzR04>R4K?F50 zg&K-=LLE4qljRnOPRp9ka?D0iEq`h?t&13wh4_-i;ZIo{PL;)RQdvkTS)4YNRaIpc zhf!4w*N^fiKoS8;*LqQ9FftI00YaWS)W<9LI(h2r<za}BMc0;v%qy!edkY;XH3)vJ zW>+&QK%`0w^^j#n#nCaS#9SUxaQ<zpe*SIFfN^CSv~sUNBXuX#r5l3kK`)B&K|`)m znR>C|SXh%|;#NIk05x?`yG(Oo#;mZMjMo#KMmH|im`+bP!V=>p7ty2E{48o7tnxV0 zx50I9#dqCXE>J3gPfA*gqWopMOK~Kg??UvILR1Z^hTr6=Y(QcBZ1;*hv)!su5q88X zEI8|^S#YH#vAaWI67!g(%k~2!6`i?X=<}?L%=4BJe64I@Xk`mS%XiE)<`>Z=zp)Cn z)~G@c9x~9iCVPrO&o7W68gs>d7ZE<<o4-RXkU3to!|&+O6RZ}2WX{Vv5pS*+b$ZoN zq0XVMdqE}C<#Ax{^=>bL<<aoK4MR7Mqp?$TwkRMjmyJ=>Lc-28g4@}2DEzY~M``W@ zs`l5cqKGj(h%wdL#29a2;i?ufQZ%S|Ec+&GDZavyeZUf|HS@gXbk5962Jy_jWNy<o zSvYQP3q``Iuq#Gs*N&2KDhdfF3kio+M8e5J!U<>+PG}+F<TnXt{<qC<63+ZCzDYRq z$1L0=oD!OZlfxvOh_J=VL2dypBDZ8Aw`dy4Eh9oJy%4Ys12nk?eCefTD*gsT6nE## z9(8kQM0b|eRBhG+*xVm@lV`}B&GA_Co8Zd6X_1$#8L~EF%-i@d|Ed@(cUW_jRq!Bs z+tj99-{Ri2dz(V-U2Lw_XxCC~uzXMntU@n7V53v^VvU`(<<epegC2JYIY&#ic~e4_ zf8AQ+jn$9}o}}(vj<{@f^>N^bK`%J#XMnklImQB)luoZi_G!Xeve#_j{iw&aZ2SP8 z7DaT`aSYQ~j^`JY?fgZ_6C{1h?9!^3SIhq@;OHM`!X>Tb$XV_zD3kHkT&LjBG6GaH zmTaM({%0EiyhH#{vl#d}=4N>0Nuy?JV|FOIsky0!0Ioh2&nZ{k+O80U?uPbs7}`RF z(6U2_kPFP=Q8!~sN{#1j2oUz%h5fXNwd@{Ts&a0NNr&8)Fm-kh7tk#t+ifa<h&*n< zL=s!lU1Yf?YUj4Otgb<(QZeXMK!jW}l?NJtkSgc_<)Oj2iH(XXY<H`>CAYI01fC_e z<+e{`%}SRu;EHB0)kqJTyHCT`9QkU4&WqHvsu_W65;=PkwL0XE?g`ll5O?!GY6vkL zXJ0aeoVsTAvcN9;lB>i^7KbZ5xuXDJW3e69PKHFp4Rx3LX=CQxBylN?q4WZgP+F;A zsUd8ams@LuW67mz<PJ;iR^WKas&|;xl?}Zx2F#*sHLIl!pH(4VU9jO!MU2}Ma@w%W z;7o|Fn%C<=7lvn?tUzP%RTUwXcq>us!~GLE8|i~wQf?$fchnmi@G^*lpC|*}>ED2K z5l|yHOd70w7{c+oKj<qYnU<JJ3ahb(O=VF7k+DpK*lnrk8ZVgoWVI?2Oe;m*2eKx& z_!k&QrH1>06yh^`*R?KgCuV=zXuW`WlW}JwLAK7boAC0vh^36OmnBEZ=x4OMnxdKi z4Pt??Y=Wg)fwUUhaj6ulPjf8Sne3pjV2nFsa5wI;<LZ1Ue%ERK=ZW=>F$!G)fHuWY zy{`Gps9Ifm)U69jpE{F0I(3b}<80f31KnBgiztm^k;r(-92$3wOXSEe6Xx)HORVVh zmm47aJu*^nFxEM$vU4ve@7z(zW!(;=@6ns3@!U|o$IN%{LTs=TZ-4KyQ*7yN8l|^n z?oqLFysJ`J%$v2avzjdFa62pM)krI84oCj+ZWET(<gDehWJu*qq-&as2w1RiwB`xJ zS1mjAiAw~WcPVWYn42}v+^j;1=gd<)C(qmo7jnXpo=ws0X@g|nwYXy6U_j9LAeham z?YgJBB>MP_E~lLsL%%_#CCO_ng2vaJbyXEGoKTInOmoS4AX<{ds1<h+-%wLBLkJ{Y z{!}GXS8L^PO3&5+`ATb}OL0kU*OEKO_Og+e8R<C(db8v@k4x8FbWQmZ60yuzWWwVz z`C~KzGuu3J3UBr_7vVHUh+!v<=OkiKR8J6$O~Gisy=VbEfaFReUl0&`UJ9l<xho+8 zwk~negdWP_l>x7jctZVtX^WQ~t*PZ6M-5w$t*td0wA9<_Pfqe#j|+U^=pvND(M7SE zv|g>yD5{%yAN3l=j~1bsq3pi0&j!FIR3ftxF4C(khOJQ9HQh=RMfH+PDgl?MLx&cx z3c@77KotyEnrTP5_NSIXK{7cp4KOXnOa;heVJYh9%ZG}vN9Rs|h~7z0L01r8EsWSr zO(t9B;%F3(S?lIb8_S)B$Ee;(dxI%|iixB41eB0fU5Rz)PTj*OkZ-k0vA-JFcWXdp zt5$NuoZODX84MtMtXcBsTjmZ@6yHNsVE(F=K9>~s=&5zSQ_gzbQp};-@{}tYE}1)9 zcAilV=$e&z29m6qTOg`SbPA8l<*X{e>eCjW#5`ybw3Iv7Abicmw-iIC)zYBJN&Gc; zCg3=31-ibR+fFRLu_zXnB~kaLuzO5*v_5u7TcfE2Z<#y%5q5)28EYV2(Xwh%_84LJ z*r1{m(qb6~s2<rh5Zut7U0~^{(FDz;>Wb$on!T!$2dv#Bi6>!DzA8LSs9?DYoYKmh z=v0)w6lkTLl@e#nohds5@pQ&D5=-~HjS}cZreUNYbg2}Q0yAJd@TR$>c*6=KYAH(1 zy^iHHpscL2BmELU@`$S9<$ObVs2ZR_aLG7`OsQm3a9fs7BlL)qM4(izhFg!zKIr_m z>3}|j{3XVDzR2NVz03mIxsC5}x(@anp)T2T&T>Ns4Sft8$zA&!mXAQVEg!jqe3sP( zQ5@`MTDiBJ9J6nP7om#uQj#%d&=aKhv#E(@2=@^5eNjCN|KdJcIB)?*R>|XH2i4#^ zkE0!u?v)jIX&k1MD{Kn{N*+ZZka-}~1X=Cm?eUseFsX6%Rfmi44NgsmWsHu^$S%4I zf>Rt-U@j%FsI7rq)q+0DhJ2o0w5)v)*0%Qg9=7vVi17+c%`lA#8LprhN)$vEEDDz8 zyu7UmI;e6KRhc*B#>t+9{53ICYg%Q&g=NV?)(ogLRR1h2^JgU(mlj&tv}m*#NG7g{ zB9%+N8GNb&k#dL1U_E-$97f`^f@yiN%#q~<s%Fx#Ij++B=%N;byW+x@mqrc#a2c+l zuch!X-z!aBAS1b}`+yZaP{MEEI{f4-;WtpiPvA0s_(J@G%usHm3hf3Fb8IPPzva5@ z<x}<`&Dxoku4Hn_j!lh2e_NO_QzNSn+O@-ainx4x6|swPl|%DLP2ow+G75XGwf3sm zX0^-Su-KAM#X=LBa&NG*BidjI&%rQ(wSasjJO`uJu!FEKw^6g2s<#wI9UF|g_R9pD z*R_^9!ysIbiv@2%d){Ijracs$bbp4d+@gb&6^a4#y2DS-YH8}Y#TCGO7Cck<<tQF+ zDUKQ>OkKF<Qe6w7R~<%4YVdqWY4*C5%h9Oi!CZ8sm6W7LaG^E=RYtHOSXf3ZGZ<m> z!P+L>IMs>p3Mnj0evq9ax9QkYc*kM;j)`A7N05wn-&|J2;7<$tkSK^2bbHP&Vq<D+ zlp>#tx^`bExBF@j_P!7m$!yi(BA~-KWDKp^g)GlNhw}{7a49#2g`g8I1+DA)7ru~x z9kCQ#;`*f$*9+{pUVW~ViqA_lZiGg5wOop_5(S4Mx5Hh<i%jNi7FI;vmbT(*Lf`B+ z+5ai~w7pr=%pL=Yaq17;jXh3-eBj6(YHk(=r$fBa>INkZU<j6dCTU7xs*_p-;kA61 zN>M{<io`(!Yr^wJ^-Pl%9@^5zYHY02LxncBp!|hZoW^T3Q`mP9R^PS32wp@>Q={W3 zTzr*enbAONQI`hhwoESBEy0iDTX2e0n+9(~MOz7m4>S$rn>thu_3$+-U?o6Zr%{G- zZeqP`7K=yuw3Wz|6?&l`K*fPSn>95|s3V&CqD{i9q$$t}LdCf5&N@i0#>UXq&>)wF zJhv3b1ClKJ14mt5;Ha$)94Ihg6~z}=SDk2-a~BjV%}qvu4Q9qmtXMc*8w<;>L;N@_ zDjG^olxJD@KTU>WS`8!`Rn38E9c$6%m&L=bmtCdLu&OC6t8HbMhM<gfa2BYJ?~5-4 zd~a-SzCfz6<}(>kJSHA1zKkrgj#XU2<(5~e4=JQPkeM&+GR0DtF|fVfg(NH5piq1b z-ET&eb3#}2k|=>{?1dcJXO&j3I2q_ulh88eW4F=fT25mcikd?&YLi%`tqPQpu81FW zR}&TN8l4OWi}}hmF_iJ?ld&T|G&f2X<6?C*_PDb$;73T*M77BpxU-hk7HYh3i7~X{ zb-^Y@`d%1wPn|{YqPdt6&t3)rDXnTWKg%2QHEX6N-B=;OzMHt|8PJkXE4IsPRz!AD zBx7jo>?0<W$;F)7mBhhGJauaabz2?+t8dTunfb6)R8Iy$Rl_IH+ABo0_@f(gG=r(3 z`n);SOdLeB#S*q{uGt34T^?+y{k9+{C<4P)Hbt2s$wA4K#w^(u<+er;C+C@~YB6rj zVJ^dIz7GJA&k#fpuXXdT`JI-9DT83Sd|0oGpf$%H89~|lVaOrNzN?|jgwRNx1Iw~6 zY>X=c*E_H*`^ZMG7MKGm%0w31faGo8_af*O5?EGswZQhhFM@s*fo0hzI%J13X>ed! z+U;|~lZ`?LmQ__HuzeqlFo{$qvN&J@*nKZV<N#qJ?i@}6(aM1=vT;4!MdOTBZdnbA zlv7JeLrhMS;ue%c89>_>$=YCb5^b_gDKT;I2h!SV*El2|c7N6)rk)9T$}a4fGR*BG zE}oA&i;eA|Ja!t@no0L(QI8_r$QONKYthw#s{op8@dR!j+l?A;NRjFV8w6~Cw0#iE z;C{z!9KTeVIW4%PRSrw5_fpZp@=&#&J4@9VZ(3|It|7?S$ezn^7;CE;JXslQmnZM6 zz=s4CaMoEVD`#=k=&(4-;VA%^4x7bPH9mH`nZ#(%^~VII+$0TK5v4H4N;em=8HN^9 zRUprxgw{Rjw^3e-YDg6-Z6Z*(n~_xtV4(pAu@nPK1mW<Yq8IiWN{j(oLD~EU7y7TA z+n%A3YJF=O97rII*tnc&nPj__V>pq_%d_}8AuWq%-JB89P*(1cE8z|Jf@8C)@{6to zi?6e<igsnmgW_2f4yjq0LNJA4vzudHJpS#rB}`h<lp4=z5ACB#lvv}=cY!Af=ewFh zM@5uk7{9-c6~$tUoSuS7r^BRMW71u@-tr-D)jF?&|2!jT|K)C~TIZn}t^pIV?oK%Y zjsj*LE0c2+GS`}U-r(oVykrp1+)L(eHMfgzp?qaj+A9X%g2{f9Oim2|&z~~Lg4}HJ z1Lspah(uRo2vTD>$h30v%a-b*!LP{#H<@eAJa6!GW?nLgzG<}-mdxF1ZWrG|!A)te z7<`LNzWK@Aqf+?tC-YUAh@5rmxD20_>k#mk;&qwDH=tE5|Em;l_Cjq<sMAya>`9rt zG)K(bKHPluG5Gi7=9`d0j~V18i!-@;9UZ^Dsm_X%7`kY2&QL<5(q!*<LC+KPjwRe< z0NZ^^Dn@?Paylw^?gfi-kD2cp+-jA(NPcyKvh%HYR?EE6m`!fr%*!z6PPo$Ot-SUq zaDy`8U^eaJkhFr&z)wxqW^4ef>0IpD%O%{{ha@@MmsT<Io3o~8w-9jtssp=yz_9AP zIYk)zfHIx?AnrBn&nb-|$X>o6Rta{><aR{}Ed-tNGUo}ULC6z>oexZQL4dH6A+yHJ zN;6x{9FV#AvT9q{YY@Y<Flz2=W*WI!zbOY{#-glL;E~-1IFHGSOxZZn6*rhWUW!;a zt%$|L7Jb>=$ILtpjXB+*l&Y$xdH|S-$b7g~HM1#*{Opd(Z)zOnXLwVrfZA>}TPLCR zmz>FRQQu+xZBg%c?RLUhd1t-mti#TlbyiBui9jcrBrGMcRbZ`!tdtksTbL-@Qczwd z>$8aGE|PpyXEt|N-23^d#N>|j#O8y;{-o}3aBm}hU^+s)YCF%F-5>F?iHVtsu}s^@ zRASseke+&~E#psTrdQk%*%*&^bj9`S>NBg~`Qq`Oc!vRk@a~T8&aU>(cEvQfT>S5B z_x(g?Z+xh|zpra(B+-*>_Y=K6ald^y(G&0K9`^mN_C$N4qql!J(b3t}-`P3h_j4yD z-rv*F(J@TKu91GfJJH^o?C$C7?~Hd3_au8q+B@PsiN5Yccjs_d-*7@j^~HPp`;$Gs z?~nAf5BK*ahLY`ly*<5s9lgoncy}`4Cwhi@Muw6deqT>tS9?6!Kjiz}l-7{|>tr(7 z)8CQwhx<knUGc7=L|1ozyWiK<o9G)J>FiGW9qq#%$<E%6&Y|JHWN&YGqNiu5yT2=u z^oRO;db>M&dpr6^{EkFd7jTeDcK0TFJctaTzhHz;jb;1~NPGuK`~^t7r$pip`1k$f z-}Mo1?T$T&iP)o|n24=w+p&4~3V&x?_j->r++LH5xhp-AIgpt0J+A?I<6xbh*B<dU zY)Vfani|_bnu)C&ULWg-cXY%yjV8Ff=EruX(<v^qJ(eDdam#IHn&iJ9@jm8~k4?uC zF>bIW{qe-qQ?c|&?8c(*<FwSxczIqUqOr5By|b;eE$(>;K$Cx7Tf|$xdz5U){mf`O z89OkRO2vl!*pxq>{*s@JjZFk4ba9c+^Jf1d;>{l0J?h7{jZJ5^CnhKTsn~ETF+Cj{ zO-z%}pNJ*>$tiz0ks)<r;+8okVk0xUjz=jeKQZmM#dew<qqeaOnfqL`o6rru5Ut=o z;I^@er`tA9%#8a}iJ_Fw{lFBr06~)5f{7&fJsI)*mDPE_klK`<$RsFcMNv}`Z~RUa zHIVkF+jgWgZ9$nUiu_8%J9Nj2+?7d8Wj;Ta8I7f<V&<7PUzxa>h?l-&#jD0;6v~Bu zIpWRSu|hXbB*Plxys^G_yoJN!%e6fa@uu!rZMP>f!`8ay@K-YPWW;;wj+LvXb!C?; z%5|Cw&--M=>j{b-A3~DcLi&_s#dzXL7&DX@h@#gJMc=p7!(0o_Ow9~ui12>(_=hI^ z1F>D{aepfpk*Dd4lz;@ttP_0m(=&<G3YdRz5;^22*ROv_z2~7ViRm__ZL^5G)9XqR z9$L|zXMaEq{$^$Ue=Fp7r(>G9B1E~D%rG&W9-n0NfvTfpw7cYLa?I{bC#DX?5cw17 zOl%18n~bF=Hkj;HqLf6cM6aW&>P)yLpZ0N%#GdjGO(Sc!M!bQ~-#lDQAiQJOH&$#9 zay>zDqhQ0ZGL=dvG_-_Lo6*Sqg6mZgSYtHe4Jp|UKT{rY!z8hX07FVf!||c9{WA=c z)aC$4CNhSpjewid8e(Q9GGpU@nJ=dN3Fi69n4&QHg;%;NaMnkpT+`!BP6;e74Zv)) z*+^bVlnOp0dEUn&Uj8XOtTY-QNu|;UwsXyVY%=8osNFh2ZJFvO6>S>|Uf(O4>w~&i zzAG`}XAW&oC;g4jjAK5#A+~k;@kDCI-$XE3ZhYo?e>uXV2~bc3KV0&}erIEBVkVU$ zj%Bg&nJ+1)XFcy8*pFvHv`|`st)NU}ZiZ@Ubpw=|&91vu&A2OneU_gVU9T_b?ud8S zrZmkH+ZcPs9N?6Ucuxd_{iYHtPHQYg697%eAYrNjRs@#Ao?yb1oEi3~)HO9pD90M` zhi3LaKIR|T*N*6T8NB~YvzSMwr~N5$`xZa-{!V4od&ZLRyX%hXeKu9oAeR{%-fR*h zwqxdx=u?x4;inS&{S`d|!fqCu{r8*|`Hj)8r~mCmQ*LUe_b62Cd>goVv$=@(tY|!t z$RtWy8s6v0;?|uBO~+Bnpi*|FXQqa4AR}D&UNut1U%S0%Rqst7<wj=jRj9~#8`M^A z1Mi)iqN#u0M%&#w+D!~&Qtmd`k9ap1dR=b9?bbEDE}95(>q4)Krrd5L8mkog_}9dL zTB*FxY^UD*KVGBMQUOgW(DRK1d}eog7aB|^_ODyNVd7~dU}?0WMQ6WGCBCXkJUW*0 zHy@-XE2bjvbEQ<o=cWe6SiCWjI&@QM;o$3edn4XsyAMq=gFK-1g3sJ7nPf<v@<)7R z^e_QTJZye3Ju^9(o?=8oxG^#_Vl({P%8rS|A^NLLQz&^#WAU1Z*O2r_G=|w&Wy5e) zhN6(#Ob*Q1VawN5%*Sk1t1iiCtigFTJ#X5D0)%|oh<DiLSCdm|#CzsYc^dFru2OA! zXae1)c<89v6im0)F$XM@%JcR=bM>#k_>Vt2a;5$|{}TDrKgfT7<e>lj<*$Es;p*JG zed!ZlyLkNIH-3E~{a1fp(LCFn`;TwWj{aWH&zrBM9^dz)KmO(55Bq<(@14(7e0b}` z!SlQ`^RdsxfAr6fZ}_Jtzp&@;{aw@de)(U2`kjwFayhy5$=0FPd#fMJ6@PWK`td`* zT>i$`_~56$cHez(eN=?_!Ds&DS6*cMPH2RR9?#qNt!i)Ie6@n?CwYb5Fz+G$|Aerg ztO!#CY3W({du-RhuAeXL{qf8n{_ST^p7~zmeEa?vmB*$}4DOm59yGcP+D_Eqbm%Y5 z;s#3_t%K>ICkG#MdjNwIex|eAC0el+JDD8vc5Qj2qr1lo3j9b|AeH*^zu))8BX6H> z{nS9$KYaCpZ<j07D|c)q%4PTZ74bap31*1{snmAnxt=Ky^8L1CDiucm&j-n-Ip+PY z(I$j`VE<pDK*adB6?t$y)^40;H|!?3;%(vo-q)(V7L7K+ucfjJ*W;)Yd;-&{72Rq& zL!a=Zi1bn1`u(8t-+rz6ZlkRyR+a2OuuybIV5={#{0-oVkgHVPJ&IB<>D-b+E$Il; zZ>^=0IxuM+n<iX(-JH5fi{LF)PO*H6fSprLCrx5E=d{D(NQtrg*M%lBXyARAlo3<W zIBpsSrOFFoYQIl;ca_4V9&iE;Y2iZyicnS(DOHP72cALCn`+`)`YG>0(ucSV0KHj9 z>W%r_tUNmAtwSr@4(Ps{PI;^FPQtrARxkWIJWc?W%6yzMrFXPUFU4*5Wa_^tpf<mo zG&ia-E7w%I(L&|cBi0hq#TY8mY(rz4G|+k8SG<pt&o;uO9y?`JorGpm<tB}&8RAH} z-1RWkZy4-j;2!6H2d+)T79FMB)5pJ)R8Ak8^xr*(d&r<tbng_ysUBZKTCFVKagFrJ zNm;lQal4jX*=|m!TY}ugJ$iYf96MC;zB2x;+IgqZPpV*5PwBE#?Zb8tbyR8$x;;9^ znXE>rvufv5IA(q$-*r;&9&7XK<KNiww`%uKSh`Sk=r}ZWN*r$|t?2#1?|&HuUas~U QKxrFa9zXc~|D(Wv0f`%M=l}o! literal 0 HcmV?d00001 diff --git a/Aufgabe3/packages/NUnit.3.13.3/lib/net35/nunit.framework.xml b/Aufgabe3/packages/NUnit.3.13.3/lib/net35/nunit.framework.xml new file mode 100644 index 0000000..33aa283 --- /dev/null +++ b/Aufgabe3/packages/NUnit.3.13.3/lib/net35/nunit.framework.xml @@ -0,0 +1,21915 @@ +<?xml version="1.0"?> +<doc> + <assembly> + <name>nunit.framework</name> + </assembly> + <members> + <member name="T:NUnit.Framework.ActionTargets"> + <summary> + The different targets a test action attribute can be applied to + </summary> + </member> + <member name="F:NUnit.Framework.ActionTargets.Default"> + <summary> + Default target, which is determined by where the action attribute is attached + </summary> + </member> + <member name="F:NUnit.Framework.ActionTargets.Test"> + <summary> + Target a individual test case + </summary> + </member> + <member name="F:NUnit.Framework.ActionTargets.Suite"> + <summary> + Target a suite of test cases + </summary> + </member> + <member name="T:NUnit.Framework.Api.DefaultTestAssemblyBuilder"> + <summary> + DefaultTestAssemblyBuilder loads a single assembly and builds a TestSuite + containing test fixtures present in the assembly. + </summary> + </member> + <member name="F:NUnit.Framework.Api.DefaultTestAssemblyBuilder._defaultSuiteBuilder"> + <summary> + The default suite builder used by the test assembly builder. + </summary> + </member> + <member name="M:NUnit.Framework.Api.DefaultTestAssemblyBuilder.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Api.DefaultTestAssemblyBuilder"/> class. + </summary> + </member> + <member name="M:NUnit.Framework.Api.DefaultTestAssemblyBuilder.Build(System.Reflection.Assembly,System.Collections.Generic.IDictionary{System.String,System.Object})"> + <summary> + Build a suite of tests from a provided assembly + </summary> + <param name="assembly">The assembly from which tests are to be built</param> + <param name="options">A dictionary of options to use in building the suite</param> + <returns> + A TestSuite containing the tests found in the assembly + </returns> + </member> + <member name="M:NUnit.Framework.Api.DefaultTestAssemblyBuilder.Build(System.String,System.Collections.Generic.IDictionary{System.String,System.Object})"> + <summary> + Build a suite of tests given the name or the location of an assembly + </summary> + <param name="assemblyNameOrPath">The name or the location of the assembly.</param> + <param name="options">A dictionary of options to use in building the suite</param> + <returns> + A TestSuite containing the tests found in the assembly + </returns> + </member> + <member name="T:NUnit.Framework.Api.FrameworkController"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Api.FrameworkController.#ctor(System.String,System.String,System.Collections.IDictionary)"> + <summary> + Construct a FrameworkController using the default builder and runner. + </summary> + <param name="assemblyNameOrPath">The AssemblyName or path to the test assembly</param> + <param name="idPrefix">A prefix used for all test ids created under this controller.</param> + <param name="settings">A Dictionary of settings to use in loading and running the tests</param> + </member> + <member name="M:NUnit.Framework.Api.FrameworkController.#ctor(System.Reflection.Assembly,System.String,System.Collections.IDictionary)"> + <summary> + Construct a FrameworkController using the default builder and runner. + </summary> + <param name="assembly">The test assembly</param> + <param name="idPrefix">A prefix used for all test ids created under this controller.</param> + <param name="settings">A Dictionary of settings to use in loading and running the tests</param> + </member> + <member name="M:NUnit.Framework.Api.FrameworkController.#ctor(System.String,System.String,System.Collections.IDictionary,System.String,System.String)"> + <summary> + Construct a FrameworkController, specifying the types to be used + for the runner and builder. This constructor is provided for + purposes of development. + </summary> + <param name="assemblyNameOrPath">The full AssemblyName or the path to the test assembly</param> + <param name="idPrefix">A prefix used for all test ids created under this controller.</param> + <param name="settings">A Dictionary of settings to use in loading and running the tests</param> + <param name="runnerType">The Type of the test runner</param> + <param name="builderType">The Type of the test builder</param> + </member> + <member name="M:NUnit.Framework.Api.FrameworkController.#ctor(System.Reflection.Assembly,System.String,System.Collections.IDictionary,System.String,System.String)"> + <summary> + Construct a FrameworkController, specifying the types to be used + for the runner and builder. This constructor is provided for + purposes of development. + </summary> + <param name="assembly">The test assembly</param> + <param name="idPrefix">A prefix used for all test ids created under this controller.</param> + <param name="settings">A Dictionary of settings to use in loading and running the tests</param> + <param name="runnerType">The Type of the test runner</param> + <param name="builderType">The Type of the test builder</param> + </member> + <member name="P:NUnit.Framework.Api.FrameworkController.Builder"> + <summary> + Gets the ITestAssemblyBuilder used by this controller instance. + </summary> + <value>The builder.</value> + </member> + <member name="P:NUnit.Framework.Api.FrameworkController.Runner"> + <summary> + Gets the ITestAssemblyRunner used by this controller instance. + </summary> + <value>The runner.</value> + </member> + <member name="P:NUnit.Framework.Api.FrameworkController.AssemblyNameOrPath"> + <summary> + Gets the AssemblyName or the path for which this FrameworkController was created + </summary> + </member> + <member name="P:NUnit.Framework.Api.FrameworkController.Assembly"> + <summary> + Gets the Assembly for which this + </summary> + </member> + <member name="P:NUnit.Framework.Api.FrameworkController.Settings"> + <summary> + Gets a dictionary of settings for the FrameworkController + </summary> + </member> + <member name="M:NUnit.Framework.Api.FrameworkController.LoadTests"> + <summary> + Loads the tests in the assembly + </summary> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Api.FrameworkController.ExploreTests(System.String)"> + <summary> + Returns info about the tests in an assembly + </summary> + <param name="filter">A string containing the XML representation of the filter to use</param> + <returns>The XML result of exploring the tests</returns> + </member> + <member name="M:NUnit.Framework.Api.FrameworkController.RunTests(System.String)"> + <summary> + Runs the tests in an assembly + </summary> + <param name="filter">A string containing the XML representation of the filter to use</param> + <returns>The XML result of the test run</returns> + </member> + <member name="M:NUnit.Framework.Api.FrameworkController.RunTests(System.Action{System.String},System.String)"> + <summary> + Runs the tests in an assembly synchronously reporting back the test results through the callback + or through the return value + </summary> + <param name="callback">The callback that receives the test results</param> + <param name="filter">A string containing the XML representation of the filter to use</param> + <returns>The XML result of the test run</returns> + </member> + <member name="M:NUnit.Framework.Api.FrameworkController.RunAsync(System.Action{System.String},System.String)"> + <summary> + Runs the tests in an assembly asynchronously reporting back the test results through the callback + </summary> + <param name="callback">The callback that receives the test results</param> + <param name="filter">A string containing the XML representation of the filter to use</param> + </member> + <member name="M:NUnit.Framework.Api.FrameworkController.StopRun(System.Boolean)"> + <summary> + Stops the test run + </summary> + <param name="force">True to force the stop, false for a cooperative stop</param> + </member> + <member name="M:NUnit.Framework.Api.FrameworkController.CountTests(System.String)"> + <summary> + Counts the number of test cases in the loaded TestSuite + </summary> + <param name="filter">A string containing the XML representation of the filter to use</param> + <returns>The number of tests</returns> + </member> + <member name="M:NUnit.Framework.Api.FrameworkController.InsertChildElements(NUnit.Framework.Interfaces.TNode)"> + <summary> + Inserts the environment and settings elements + </summary> + <param name="targetNode">Target node</param> + <returns>The updated target node</returns> + </member> + <member name="M:NUnit.Framework.Api.FrameworkController.InsertEnvironmentElement(NUnit.Framework.Interfaces.TNode)"> + <summary> + Inserts environment element + </summary> + <param name="targetNode">Target node</param> + <returns>The new node</returns> + </member> + <member name="M:NUnit.Framework.Api.FrameworkController.InsertSettingsElement(NUnit.Framework.Interfaces.TNode,System.Collections.Generic.IDictionary{System.String,System.Object})"> + <summary> + Inserts settings element + </summary> + <param name="targetNode">Target node</param> + <param name="settings">Settings dictionary</param> + <returns>The new node</returns> + </member> + <member name="T:NUnit.Framework.Api.FrameworkController.FrameworkControllerAction"> + <summary> + FrameworkControllerAction is the base class for all actions + performed against a FrameworkController. + </summary> + </member> + <member name="T:NUnit.Framework.Api.FrameworkController.LoadTestsAction"> + <summary> + LoadTestsAction loads a test into the FrameworkController + </summary> + </member> + <member name="M:NUnit.Framework.Api.FrameworkController.LoadTestsAction.#ctor(NUnit.Framework.Api.FrameworkController,System.Object)"> + <summary> + LoadTestsAction loads the tests in an assembly. + </summary> + <param name="controller">The controller.</param> + <param name="handler">The callback handler.</param> + </member> + <member name="T:NUnit.Framework.Api.FrameworkController.ExploreTestsAction"> + <summary> + ExploreTestsAction returns info about the tests in an assembly + </summary> + </member> + <member name="M:NUnit.Framework.Api.FrameworkController.ExploreTestsAction.#ctor(NUnit.Framework.Api.FrameworkController,System.String,System.Object)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Api.FrameworkController.ExploreTestsAction"/> class. + </summary> + <param name="controller">The controller for which this action is being performed.</param> + <param name="filter">Filter used to control which tests are included (NYI)</param> + <param name="handler">The callback handler.</param> + </member> + <member name="T:NUnit.Framework.Api.FrameworkController.CountTestsAction"> + <summary> + CountTestsAction counts the number of test cases in the loaded TestSuite + held by the FrameworkController. + </summary> + </member> + <member name="M:NUnit.Framework.Api.FrameworkController.CountTestsAction.#ctor(NUnit.Framework.Api.FrameworkController,System.String,System.Object)"> + <summary> + Construct a CountsTestAction and perform the count of test cases. + </summary> + <param name="controller">A FrameworkController holding the TestSuite whose cases are to be counted</param> + <param name="filter">A string containing the XML representation of the filter to use</param> + <param name="handler">A callback handler used to report results</param> + </member> + <member name="T:NUnit.Framework.Api.FrameworkController.RunTestsAction"> + <summary> + RunTestsAction runs the loaded TestSuite held by the FrameworkController. + </summary> + </member> + <member name="M:NUnit.Framework.Api.FrameworkController.RunTestsAction.#ctor(NUnit.Framework.Api.FrameworkController,System.String,System.Object)"> + <summary> + Construct a RunTestsAction and run all tests in the loaded TestSuite. + </summary> + <param name="controller">A FrameworkController holding the TestSuite to run</param> + <param name="filter">A string containing the XML representation of the filter to use</param> + <param name="handler">A callback handler used to report results</param> + </member> + <member name="T:NUnit.Framework.Api.FrameworkController.RunAsyncAction"> + <summary> + RunAsyncAction initiates an asynchronous test run, returning immediately + </summary> + </member> + <member name="M:NUnit.Framework.Api.FrameworkController.RunAsyncAction.#ctor(NUnit.Framework.Api.FrameworkController,System.String,System.Object)"> + <summary> + Construct a RunAsyncAction and run all tests in the loaded TestSuite. + </summary> + <param name="controller">A FrameworkController holding the TestSuite to run</param> + <param name="filter">A string containing the XML representation of the filter to use</param> + <param name="handler">A callback handler used to report results</param> + </member> + <member name="T:NUnit.Framework.Api.FrameworkController.StopRunAction"> + <summary> + StopRunAction stops an ongoing run. + </summary> + </member> + <member name="M:NUnit.Framework.Api.FrameworkController.StopRunAction.#ctor(NUnit.Framework.Api.FrameworkController,System.Boolean,System.Object)"> + <summary> + Construct a StopRunAction and stop any ongoing run. If no + run is in process, no error is raised. + </summary> + <param name="controller">The FrameworkController for which a run is to be stopped.</param> + <param name="force">True the stop should be forced, false for a cooperative stop.</param> + <param name="handler">>A callback handler used to report results</param> + <remarks>A forced stop will cause threads and processes to be killed as needed.</remarks> + </member> + <member name="T:NUnit.Framework.Api.ITestAssemblyBuilder"> + <summary> + The ITestAssemblyBuilder interface is implemented by a class + that is able to build a suite of tests given an assembly or + an assembly filename. + </summary> + </member> + <member name="M:NUnit.Framework.Api.ITestAssemblyBuilder.Build(System.Reflection.Assembly,System.Collections.Generic.IDictionary{System.String,System.Object})"> + <summary> + Build a suite of tests from a provided assembly + </summary> + <param name="assembly">The assembly from which tests are to be built</param> + <param name="options">A dictionary of options to use in building the suite</param> + <returns>A TestSuite containing the tests found in the assembly</returns> + </member> + <member name="M:NUnit.Framework.Api.ITestAssemblyBuilder.Build(System.String,System.Collections.Generic.IDictionary{System.String,System.Object})"> + <summary> + Build a suite of tests given the filename of an assembly + </summary> + <param name="assemblyName">The filename of the assembly from which tests are to be built</param> + <param name="options">A dictionary of options to use in building the suite</param> + <returns>A TestSuite containing the tests found in the assembly</returns> + </member> + <member name="T:NUnit.Framework.Api.ITestAssemblyRunner"> + <summary> + The ITestAssemblyRunner interface is implemented by classes + that are able to execute a suite of tests loaded + from an assembly. + </summary> + </member> + <member name="P:NUnit.Framework.Api.ITestAssemblyRunner.LoadedTest"> + <summary> + Gets the tree of loaded tests, or null if + no tests have been loaded. + </summary> + </member> + <member name="P:NUnit.Framework.Api.ITestAssemblyRunner.Result"> + <summary> + Gets the tree of test results, if the test + run is completed, otherwise null. + </summary> + </member> + <member name="P:NUnit.Framework.Api.ITestAssemblyRunner.IsTestLoaded"> + <summary> + Indicates whether a test has been loaded + </summary> + </member> + <member name="P:NUnit.Framework.Api.ITestAssemblyRunner.IsTestRunning"> + <summary> + Indicates whether a test is currently running + </summary> + </member> + <member name="P:NUnit.Framework.Api.ITestAssemblyRunner.IsTestComplete"> + <summary> + Indicates whether a test run is complete + </summary> + </member> + <member name="M:NUnit.Framework.Api.ITestAssemblyRunner.Load(System.String,System.Collections.Generic.IDictionary{System.String,System.Object})"> + <summary> + Loads the tests found in an Assembly, returning an + indication of whether or not the load succeeded. + </summary> + <param name="assemblyName">File name of the assembly to load</param> + <param name="settings">Dictionary of options to use in loading the test</param> + <returns>An ITest representing the loaded tests</returns> + </member> + <member name="M:NUnit.Framework.Api.ITestAssemblyRunner.Load(System.Reflection.Assembly,System.Collections.Generic.IDictionary{System.String,System.Object})"> + <summary> + Loads the tests found in an Assembly, returning an + indication of whether or not the load succeeded. + </summary> + <param name="assembly">The assembly to load</param> + <param name="settings">Dictionary of options to use in loading the test</param> + <returns>An ITest representing the loaded tests</returns> + </member> + <member name="M:NUnit.Framework.Api.ITestAssemblyRunner.CountTestCases(NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Count Test Cases using a filter + </summary> + <param name="filter">The filter to apply</param> + <returns>The number of test cases found</returns> + </member> + <member name="M:NUnit.Framework.Api.ITestAssemblyRunner.ExploreTests(NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Explore the test cases using a filter + </summary> + <param name="filter">The filter to apply</param> + <returns>Test Assembly with test cases that matches the filter</returns> + </member> + <member name="M:NUnit.Framework.Api.ITestAssemblyRunner.Run(NUnit.Framework.Interfaces.ITestListener,NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Run selected tests and return a test result. The test is run synchronously, + and the listener interface is notified as it progresses. + </summary> + <param name="listener">Interface to receive ITestListener notifications.</param> + <param name="filter">A test filter used to select tests to be run</param> + </member> + <member name="M:NUnit.Framework.Api.ITestAssemblyRunner.RunAsync(NUnit.Framework.Interfaces.ITestListener,NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Run selected tests asynchronously, notifying the listener interface as it progresses. + </summary> + <param name="listener">Interface to receive EventListener notifications.</param> + <param name="filter">A test filter used to select tests to be run</param> + </member> + <member name="M:NUnit.Framework.Api.ITestAssemblyRunner.WaitForCompletion(System.Int32)"> + <summary> + Wait for the ongoing run to complete. + </summary> + <param name="timeout">Time to wait in milliseconds</param> + <returns>True if the run completed, otherwise false</returns> + </member> + <member name="M:NUnit.Framework.Api.ITestAssemblyRunner.StopRun(System.Boolean)"> + <summary> + Signal any test run that is in process to stop. Return without error if no test is running. + </summary> + <param name="force">If true, kill any test-running threads</param> + </member> + <member name="T:NUnit.Framework.Api.NUnitTestAssemblyRunner"> + <summary> + Implementation of ITestAssemblyRunner + </summary> + </member> + <member name="M:NUnit.Framework.Api.NUnitTestAssemblyRunner.#ctor(NUnit.Framework.Api.ITestAssemblyBuilder)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Api.NUnitTestAssemblyRunner"/> class. + </summary> + <param name="builder">The builder.</param> + </member> + <member name="P:NUnit.Framework.Api.NUnitTestAssemblyRunner.DefaultLevelOfParallelism"> + <summary> + Gets the default level of parallel execution (worker threads) + </summary> + </member> + <member name="P:NUnit.Framework.Api.NUnitTestAssemblyRunner.LoadedTest"> + <summary> + The tree of tests that was loaded by the builder + </summary> + </member> + <member name="P:NUnit.Framework.Api.NUnitTestAssemblyRunner.Result"> + <summary> + The test result, if a run has completed + </summary> + </member> + <member name="P:NUnit.Framework.Api.NUnitTestAssemblyRunner.IsTestLoaded"> + <summary> + Indicates whether a test is loaded + </summary> + </member> + <member name="P:NUnit.Framework.Api.NUnitTestAssemblyRunner.IsTestRunning"> + <summary> + Indicates whether a test is running + </summary> + </member> + <member name="P:NUnit.Framework.Api.NUnitTestAssemblyRunner.IsTestComplete"> + <summary> + Indicates whether a test run is complete + </summary> + </member> + <member name="P:NUnit.Framework.Api.NUnitTestAssemblyRunner.Settings"> + <summary> + Our settings, specified when loading the assembly + </summary> + </member> + <member name="P:NUnit.Framework.Api.NUnitTestAssemblyRunner.TopLevelWorkItem"> + <summary> + The top level WorkItem created for the assembly as a whole + </summary> + </member> + <member name="P:NUnit.Framework.Api.NUnitTestAssemblyRunner.Context"> + <summary> + The TestExecutionContext for the top level WorkItem + </summary> + </member> + <member name="M:NUnit.Framework.Api.NUnitTestAssemblyRunner.Load(System.String,System.Collections.Generic.IDictionary{System.String,System.Object})"> + <summary> + Loads the tests found in an Assembly + </summary> + <param name="assemblyNameOrPath">File name or path of the assembly to load</param> + <param name="settings">Dictionary of option settings for loading the assembly</param> + <returns>A Test Assembly containing all loaded tests</returns> + </member> + <member name="M:NUnit.Framework.Api.NUnitTestAssemblyRunner.Load(System.Reflection.Assembly,System.Collections.Generic.IDictionary{System.String,System.Object})"> + <summary> + Loads the tests found in an Assembly + </summary> + <param name="assembly">The assembly to load</param> + <param name="settings">Dictionary of option settings for loading the assembly</param> + <returns>A Test Assembly containing all loaded tests</returns> + </member> + <member name="M:NUnit.Framework.Api.NUnitTestAssemblyRunner.CountTestCases(NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Count Test Cases using a filter + </summary> + <param name="filter">The filter to apply</param> + <returns>The number of test cases found</returns> + </member> + <member name="M:NUnit.Framework.Api.NUnitTestAssemblyRunner.ExploreTests(NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Explore the test cases using a filter + </summary> + <param name="filter">The filter to apply</param> + <returns>Test Assembly with test cases that matches the filter</returns> + </member> + <member name="M:NUnit.Framework.Api.NUnitTestAssemblyRunner.Run(NUnit.Framework.Interfaces.ITestListener,NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Run selected tests and return a test result. The test is run synchronously, + and the listener interface is notified as it progresses. + </summary> + <param name="listener">Interface to receive EventListener notifications.</param> + <param name="filter">A test filter used to select tests to be run</param> + <returns>The test results from the run</returns> + </member> + <member name="M:NUnit.Framework.Api.NUnitTestAssemblyRunner.RunAsync(NUnit.Framework.Interfaces.ITestListener,NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Run selected tests asynchronously, notifying the listener interface as it progresses. + </summary> + <param name="listener">Interface to receive EventListener notifications.</param> + <param name="filter">A test filter used to select tests to be run</param> + <remarks> + RunAsync is a template method, calling various abstract and + virtual methods to be overridden by derived classes. + </remarks> + </member> + <member name="M:NUnit.Framework.Api.NUnitTestAssemblyRunner.WaitForCompletion(System.Int32)"> + <summary> + Wait for the ongoing run to complete. + </summary> + <param name="timeout">Time to wait in milliseconds</param> + <returns>True if the run completed, otherwise false</returns> + </member> + <member name="M:NUnit.Framework.Api.NUnitTestAssemblyRunner.StopRun(System.Boolean)"> + <summary> + Signal any test run that is in process to stop. Return without error if no test is running. + </summary> + <param name="force">If true, kill any tests that are currently running</param> + </member> + <member name="M:NUnit.Framework.Api.NUnitTestAssemblyRunner.StartRun(NUnit.Framework.Interfaces.ITestListener)"> + <summary> + Initiate the test run. + </summary> + </member> + <member name="M:NUnit.Framework.Api.NUnitTestAssemblyRunner.CreateTestExecutionContext(NUnit.Framework.Interfaces.ITestListener)"> + <summary> + Create the initial TestExecutionContext used to run tests + </summary> + <param name="listener">The ITestListener specified in the RunAsync call</param> + </member> + <member name="M:NUnit.Framework.Api.NUnitTestAssemblyRunner.OnRunCompleted(System.Object,System.EventArgs)"> + <summary> + Handle the Completed event for the top level work item + </summary> + </member> + <member name="M:NUnit.Framework.Api.NUnitTestAssemblyRunner.WrapInNUnitCallContext(System.Action)"> + <summary> + Executes the action within an <see cref="T:NUnit.Framework.Internal.NUnitCallContext" /> + which ensures the <see cref="T:System.Runtime.Remoting.Messaging.CallContext"/> is cleaned up + suitably at the end of the test run. This method only has an effect running + the full .NET Framework. + </summary> + </member> + <member name="T:NUnit.Framework.Assert"> + <summary> + The Assert class contains a collection of static methods that + implement the most common assertions used in NUnit. + </summary> + <summary> + The Assert class contains a collection of static methods that + implement the most common assertions used in NUnit. + </summary> + </member> + <member name="M:NUnit.Framework.Assert.Greater(System.Int32,System.Int32,System.String,System.Object[])"> + <summary> + Verifies that the first int is greater than the second + int. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Greater(System.Int32,System.Int32)"> + <summary> + Verifies that the first int is greater than the second + int. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + </member> + <member name="M:NUnit.Framework.Assert.Greater(System.UInt32,System.UInt32,System.String,System.Object[])"> + <summary> + Verifies that the first value is greater than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Greater(System.UInt32,System.UInt32)"> + <summary> + Verifies that the first value is greater than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + </member> + <member name="M:NUnit.Framework.Assert.Greater(System.Int64,System.Int64,System.String,System.Object[])"> + <summary> + Verifies that the first value is greater than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Greater(System.Int64,System.Int64)"> + <summary> + Verifies that the first value is greater than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + </member> + <member name="M:NUnit.Framework.Assert.Greater(System.UInt64,System.UInt64,System.String,System.Object[])"> + <summary> + Verifies that the first value is greater than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Greater(System.UInt64,System.UInt64)"> + <summary> + Verifies that the first value is greater than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + </member> + <member name="M:NUnit.Framework.Assert.Greater(System.Decimal,System.Decimal,System.String,System.Object[])"> + <summary> + Verifies that the first value is greater than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Greater(System.Decimal,System.Decimal)"> + <summary> + Verifies that the first value is greater than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + </member> + <member name="M:NUnit.Framework.Assert.Greater(System.Double,System.Double,System.String,System.Object[])"> + <summary> + Verifies that the first value is greater than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Greater(System.Double,System.Double)"> + <summary> + Verifies that the first value is greater than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + </member> + <member name="M:NUnit.Framework.Assert.Greater(System.Single,System.Single,System.String,System.Object[])"> + <summary> + Verifies that the first value is greater than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Greater(System.Single,System.Single)"> + <summary> + Verifies that the first value is greater than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + </member> + <member name="M:NUnit.Framework.Assert.Greater(System.IComparable,System.IComparable,System.String,System.Object[])"> + <summary> + Verifies that the first value is greater than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Greater(System.IComparable,System.IComparable)"> + <summary> + Verifies that the first value is greater than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + </member> + <member name="M:NUnit.Framework.Assert.Less(System.Int32,System.Int32,System.String,System.Object[])"> + <summary> + Verifies that the first value is less than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Less(System.Int32,System.Int32)"> + <summary> + Verifies that the first value is less than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + </member> + <member name="M:NUnit.Framework.Assert.Less(System.UInt32,System.UInt32,System.String,System.Object[])"> + <summary> + Verifies that the first value is less than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Less(System.UInt32,System.UInt32)"> + <summary> + Verifies that the first value is less than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + </member> + <member name="M:NUnit.Framework.Assert.Less(System.Int64,System.Int64,System.String,System.Object[])"> + <summary> + Verifies that the first value is less than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Less(System.Int64,System.Int64)"> + <summary> + Verifies that the first value is less than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + </member> + <member name="M:NUnit.Framework.Assert.Less(System.UInt64,System.UInt64,System.String,System.Object[])"> + <summary> + Verifies that the first value is less than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Less(System.UInt64,System.UInt64)"> + <summary> + Verifies that the first value is less than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + </member> + <member name="M:NUnit.Framework.Assert.Less(System.Decimal,System.Decimal,System.String,System.Object[])"> + <summary> + Verifies that the first value is less than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Less(System.Decimal,System.Decimal)"> + <summary> + Verifies that the first value is less than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + </member> + <member name="M:NUnit.Framework.Assert.Less(System.Double,System.Double,System.String,System.Object[])"> + <summary> + Verifies that the first value is less than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Less(System.Double,System.Double)"> + <summary> + Verifies that the first value is less than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + </member> + <member name="M:NUnit.Framework.Assert.Less(System.Single,System.Single,System.String,System.Object[])"> + <summary> + Verifies that the first value is less than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Less(System.Single,System.Single)"> + <summary> + Verifies that the first value is less than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + </member> + <member name="M:NUnit.Framework.Assert.Less(System.IComparable,System.IComparable,System.String,System.Object[])"> + <summary> + Verifies that the first value is less than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Less(System.IComparable,System.IComparable)"> + <summary> + Verifies that the first value is less than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + </member> + <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.Int32,System.Int32,System.String,System.Object[])"> + <summary> + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.Int32,System.Int32)"> + <summary> + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + </member> + <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.UInt32,System.UInt32,System.String,System.Object[])"> + <summary> + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.UInt32,System.UInt32)"> + <summary> + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + </member> + <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.Int64,System.Int64,System.String,System.Object[])"> + <summary> + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.Int64,System.Int64)"> + <summary> + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + </member> + <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.UInt64,System.UInt64,System.String,System.Object[])"> + <summary> + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.UInt64,System.UInt64)"> + <summary> + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + </member> + <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.Decimal,System.Decimal,System.String,System.Object[])"> + <summary> + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.Decimal,System.Decimal)"> + <summary> + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + </member> + <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.Double,System.Double,System.String,System.Object[])"> + <summary> + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.Double,System.Double)"> + <summary> + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + </member> + <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.Single,System.Single,System.String,System.Object[])"> + <summary> + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.Single,System.Single)"> + <summary> + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + </member> + <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.IComparable,System.IComparable,System.String,System.Object[])"> + <summary> + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.IComparable,System.IComparable)"> + <summary> + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + </member> + <member name="M:NUnit.Framework.Assert.LessOrEqual(System.Int32,System.Int32,System.String,System.Object[])"> + <summary> + Verifies that the first value is less than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.LessOrEqual(System.Int32,System.Int32)"> + <summary> + Verifies that the first value is less than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + </member> + <member name="M:NUnit.Framework.Assert.LessOrEqual(System.UInt32,System.UInt32,System.String,System.Object[])"> + <summary> + Verifies that the first value is less than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.LessOrEqual(System.UInt32,System.UInt32)"> + <summary> + Verifies that the first value is less than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + </member> + <member name="M:NUnit.Framework.Assert.LessOrEqual(System.Int64,System.Int64,System.String,System.Object[])"> + <summary> + Verifies that the first value is less than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.LessOrEqual(System.Int64,System.Int64)"> + <summary> + Verifies that the first value is less than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + </member> + <member name="M:NUnit.Framework.Assert.LessOrEqual(System.UInt64,System.UInt64,System.String,System.Object[])"> + <summary> + Verifies that the first value is less than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.LessOrEqual(System.UInt64,System.UInt64)"> + <summary> + Verifies that the first value is less than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + </member> + <member name="M:NUnit.Framework.Assert.LessOrEqual(System.Decimal,System.Decimal,System.String,System.Object[])"> + <summary> + Verifies that the first value is less than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.LessOrEqual(System.Decimal,System.Decimal)"> + <summary> + Verifies that the first value is less than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + </member> + <member name="M:NUnit.Framework.Assert.LessOrEqual(System.Double,System.Double,System.String,System.Object[])"> + <summary> + Verifies that the first value is less than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.LessOrEqual(System.Double,System.Double)"> + <summary> + Verifies that the first value is less than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + </member> + <member name="M:NUnit.Framework.Assert.LessOrEqual(System.Single,System.Single,System.String,System.Object[])"> + <summary> + Verifies that the first value is less than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.LessOrEqual(System.Single,System.Single)"> + <summary> + Verifies that the first value is less than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + </member> + <member name="M:NUnit.Framework.Assert.LessOrEqual(System.IComparable,System.IComparable,System.String,System.Object[])"> + <summary> + Verifies that the first value is less than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.LessOrEqual(System.IComparable,System.IComparable)"> + <summary> + Verifies that the first value is less than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + </member> + <member name="M:NUnit.Framework.Assert.True(System.Nullable{System.Boolean},System.String,System.Object[])"> + <summary> + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="condition">The evaluated condition</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.True(System.Boolean,System.String,System.Object[])"> + <summary> + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="condition">The evaluated condition</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.True(System.Nullable{System.Boolean})"> + <summary> + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="condition">The evaluated condition</param> + </member> + <member name="M:NUnit.Framework.Assert.True(System.Boolean)"> + <summary> + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="condition">The evaluated condition</param> + </member> + <member name="M:NUnit.Framework.Assert.IsTrue(System.Nullable{System.Boolean},System.String,System.Object[])"> + <summary> + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="condition">The evaluated condition</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsTrue(System.Boolean,System.String,System.Object[])"> + <summary> + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="condition">The evaluated condition</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsTrue(System.Nullable{System.Boolean})"> + <summary> + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="condition">The evaluated condition</param> + </member> + <member name="M:NUnit.Framework.Assert.IsTrue(System.Boolean)"> + <summary> + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="condition">The evaluated condition</param> + </member> + <member name="M:NUnit.Framework.Assert.False(System.Nullable{System.Boolean},System.String,System.Object[])"> + <summary> + Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <param name="condition">The evaluated condition</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.False(System.Boolean,System.String,System.Object[])"> + <summary> + Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <param name="condition">The evaluated condition</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.False(System.Nullable{System.Boolean})"> + <summary> + Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="condition">The evaluated condition</param> + </member> + <member name="M:NUnit.Framework.Assert.False(System.Boolean)"> + <summary> + Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <param name="condition">The evaluated condition</param> + </member> + <member name="M:NUnit.Framework.Assert.IsFalse(System.Nullable{System.Boolean},System.String,System.Object[])"> + <summary> + Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <param name="condition">The evaluated condition</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsFalse(System.Boolean,System.String,System.Object[])"> + <summary> + Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <param name="condition">The evaluated condition</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsFalse(System.Nullable{System.Boolean})"> + <summary> + Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <param name="condition">The evaluated condition</param> + </member> + <member name="M:NUnit.Framework.Assert.IsFalse(System.Boolean)"> + <summary> + Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <param name="condition">The evaluated condition</param> + </member> + <member name="M:NUnit.Framework.Assert.NotNull(System.Object,System.String,System.Object[])"> + <summary> + Verifies that the object that is passed in is not equal to <see langword="null"/>. Returns without throwing an + exception when inside a multiple assert block. + </summary> + <param name="anObject">The object that is to be tested</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.NotNull(System.Object)"> + <summary> + Verifies that the object that is passed in is not equal to <see langword="null"/>. Returns without throwing an + exception when inside a multiple assert block. + </summary> + <param name="anObject">The object that is to be tested</param> + </member> + <member name="M:NUnit.Framework.Assert.IsNotNull(System.Object,System.String,System.Object[])"> + <summary> + Verifies that the object that is passed in is not equal to <see langword="null"/>. Returns without throwing an + exception when inside a multiple assert block. + </summary> + <param name="anObject">The object that is to be tested</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsNotNull(System.Object)"> + <summary> + Verifies that the object that is passed in is not equal to <see langword="null"/>. Returns without throwing an + exception when inside a multiple assert block. + </summary> + <param name="anObject">The object that is to be tested</param> + </member> + <member name="M:NUnit.Framework.Assert.Null(System.Object,System.String,System.Object[])"> + <summary> + Verifies that the object that is passed in is equal to <see langword="null"/>. Returns without throwing an + exception when inside a multiple assert block. + </summary> + <param name="anObject">The object that is to be tested</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Null(System.Object)"> + <summary> + Verifies that the object that is passed in is equal to <see langword="null"/>. Returns without throwing an + exception when inside a multiple assert block. + </summary> + <param name="anObject">The object that is to be tested</param> + </member> + <member name="M:NUnit.Framework.Assert.IsNull(System.Object,System.String,System.Object[])"> + <summary> + Verifies that the object that is passed in is equal to <see langword="null"/>. Returns without throwing an + exception when inside a multiple assert block. + </summary> + <param name="anObject">The object that is to be tested</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsNull(System.Object)"> + <summary> + Verifies that the object that is passed in is equal to <see langword="null"/>. Returns without throwing an + exception when inside a multiple assert block. + </summary> + <param name="anObject">The object that is to be tested</param> + </member> + <member name="M:NUnit.Framework.Assert.IsNaN(System.Double,System.String,System.Object[])"> + <summary> + Verifies that the double that is passed in is an <c>NaN</c>. Returns without throwing an + exception when inside a multiple assert block. + </summary> + <param name="aDouble">The value that is to be tested</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsNaN(System.Double)"> + <summary> + Verifies that the double that is passed in is an <c>NaN</c> value. Returns without throwing an + exception when inside a multiple assert block. + </summary> + <param name="aDouble">The value that is to be tested</param> + </member> + <member name="M:NUnit.Framework.Assert.IsNaN(System.Nullable{System.Double},System.String,System.Object[])"> + <summary> + Verifies that the double that is passed in is an <c>NaN</c> value. Returns without throwing an + exception when inside a multiple assert block. + </summary> + <param name="aDouble">The value that is to be tested</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsNaN(System.Nullable{System.Double})"> + <summary> + Verifies that the double that is passed in is an <c>NaN</c> value. Returns without throwing an + exception when inside a multiple assert block. + </summary> + <param name="aDouble">The value that is to be tested</param> + </member> + <member name="M:NUnit.Framework.Assert.IsEmpty(System.String,System.String,System.Object[])"> + <summary> + Assert that a string is empty. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="aString">The string to be tested</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsEmpty(System.String)"> + <summary> + Assert that a string is empty. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="aString">The string to be tested</param> + </member> + <member name="M:NUnit.Framework.Assert.IsEmpty(System.Collections.IEnumerable,System.String,System.Object[])"> + <summary> + Assert that an array, list or other collection is empty. Returns without throwing an exception when inside a + multiple assert block. + </summary> + <param name="collection">An array, list or other collection implementing ICollection</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsEmpty(System.Collections.IEnumerable)"> + <summary> + Assert that an array, list or other collection is empty. Returns without throwing an exception when inside a + multiple assert block. + </summary> + <param name="collection">An array, list or other collection implementing ICollection</param> + </member> + <member name="M:NUnit.Framework.Assert.IsNotEmpty(System.String,System.String,System.Object[])"> + <summary> + Assert that a string is not empty. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <param name="aString">The string to be tested</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsNotEmpty(System.String)"> + <summary> + Assert that a string is not empty. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <param name="aString">The string to be tested</param> + </member> + <member name="M:NUnit.Framework.Assert.IsNotEmpty(System.Collections.IEnumerable,System.String,System.Object[])"> + <summary> + Assert that an array, list or other collection is not empty. Returns without throwing an exception when + inside a multiple assert block. + </summary> + <param name="collection">An array, list or other collection implementing ICollection</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsNotEmpty(System.Collections.IEnumerable)"> + <summary> + Assert that an array, list or other collection is not empty. Returns without throwing an exception when + inside a multiple assert block. + </summary> + <param name="collection">An array, list or other collection implementing ICollection</param> + </member> + <member name="M:NUnit.Framework.Assert.Zero(System.Int32)"> + <summary> + Asserts that an int is zero. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Zero(System.Int32,System.String,System.Object[])"> + <summary> + Asserts that an int is zero. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Zero(System.UInt32)"> + <summary> + Asserts that an unsigned int is zero. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Zero(System.UInt32,System.String,System.Object[])"> + <summary> + Asserts that an unsigned int is zero. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Zero(System.Int64)"> + <summary> + Asserts that a Long is zero. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Zero(System.Int64,System.String,System.Object[])"> + <summary> + Asserts that a Long is zero. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Zero(System.UInt64)"> + <summary> + Asserts that an unsigned Long is zero. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Zero(System.UInt64,System.String,System.Object[])"> + <summary> + Asserts that an unsigned Long is zero. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Zero(System.Decimal)"> + <summary> + Asserts that a decimal is zero. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Zero(System.Decimal,System.String,System.Object[])"> + <summary> + Asserts that a decimal is zero. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Zero(System.Double)"> + <summary> + Asserts that a double is zero. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Zero(System.Double,System.String,System.Object[])"> + <summary> + Asserts that a double is zero. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Zero(System.Single)"> + <summary> + Asserts that a float is zero. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Zero(System.Single,System.String,System.Object[])"> + <summary> + Asserts that a float is zero. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.NotZero(System.Int32)"> + <summary> + Asserts that an int is not zero. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.NotZero(System.Int32,System.String,System.Object[])"> + <summary> + Asserts that an int is not zero. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.NotZero(System.UInt32)"> + <summary> + Asserts that an unsigned int is not zero. Returns without throwing an exception when inside a multiple + assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.NotZero(System.UInt32,System.String,System.Object[])"> + <summary> + Asserts that an unsigned int is not zero. Returns without throwing an exception when inside a multiple + assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.NotZero(System.Int64)"> + <summary> + Asserts that a Long is not zero. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.NotZero(System.Int64,System.String,System.Object[])"> + <summary> + Asserts that a Long is not zero. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.NotZero(System.UInt64)"> + <summary> + Asserts that an unsigned Long is not zero. Returns without throwing an exception when inside a multiple + assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.NotZero(System.UInt64,System.String,System.Object[])"> + <summary> + Asserts that an unsigned Long is not zero. Returns without throwing an exception when inside a multiple + assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.NotZero(System.Decimal)"> + <summary> + Asserts that a decimal is zero. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.NotZero(System.Decimal,System.String,System.Object[])"> + <summary> + Asserts that a decimal is zero. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.NotZero(System.Double)"> + <summary> + Asserts that a double is zero. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.NotZero(System.Double,System.String,System.Object[])"> + <summary> + Asserts that a double is zero. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.NotZero(System.Single)"> + <summary> + Asserts that a float is zero. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.NotZero(System.Single,System.String,System.Object[])"> + <summary> + Asserts that a float is zero. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Positive(System.Int32)"> + <summary> + Asserts that an int is positive. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Positive(System.Int32,System.String,System.Object[])"> + <summary> + Asserts that an int is positive. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Positive(System.UInt32)"> + <summary> + Asserts that an unsigned int is positive. Returns without throwing an exception when inside a multiple + assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Positive(System.UInt32,System.String,System.Object[])"> + <summary> + Asserts that an unsigned int is positive. Returns without throwing an exception when inside a multiple + assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Positive(System.Int64)"> + <summary> + Asserts that a Long is positive. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Positive(System.Int64,System.String,System.Object[])"> + <summary> + Asserts that a Long is positive. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Positive(System.UInt64)"> + <summary> + Asserts that an unsigned Long is positive. Returns without throwing an exception when inside a multiple + assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Positive(System.UInt64,System.String,System.Object[])"> + <summary> + Asserts that an unsigned Long is positive. Returns without throwing an exception when inside a multiple + assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Positive(System.Decimal)"> + <summary> + Asserts that a decimal is positive. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Positive(System.Decimal,System.String,System.Object[])"> + <summary> + Asserts that a decimal is positive. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Positive(System.Double)"> + <summary> + Asserts that a double is positive. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Positive(System.Double,System.String,System.Object[])"> + <summary> + Asserts that a double is positive. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Positive(System.Single)"> + <summary> + Asserts that a float is positive. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Positive(System.Single,System.String,System.Object[])"> + <summary> + Asserts that a float is positive. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Negative(System.Int32)"> + <summary> + Asserts that an int is negative. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Negative(System.Int32,System.String,System.Object[])"> + <summary> + Asserts that an int is negative. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Negative(System.UInt32)"> + <summary> + Asserts that an unsigned int is negative. Returns without throwing an exception when inside a multiple + assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Negative(System.UInt32,System.String,System.Object[])"> + <summary> + Asserts that an unsigned int is negative. Returns without throwing an exception when inside a multiple + assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Negative(System.Int64)"> + <summary> + Asserts that a Long is negative. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Negative(System.Int64,System.String,System.Object[])"> + <summary> + Asserts that a Long is negative. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Negative(System.UInt64)"> + <summary> + Asserts that an unsigned Long is negative. Returns without throwing an exception when inside a multiple + assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Negative(System.UInt64,System.String,System.Object[])"> + <summary> + Asserts that an unsigned Long is negative. Returns without throwing an exception when inside a multiple + assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Negative(System.Decimal)"> + <summary> + Asserts that a decimal is negative. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Negative(System.Decimal,System.String,System.Object[])"> + <summary> + Asserts that a decimal is negative. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Negative(System.Double)"> + <summary> + Asserts that a double is negative. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Negative(System.Double,System.String,System.Object[])"> + <summary> + Asserts that a double is negative. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Negative(System.Single)"> + <summary> + Asserts that a float is negative. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Negative(System.Single,System.String,System.Object[])"> + <summary> + Asserts that a float is negative. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Equals(System.Object,System.Object)"> + <summary> + 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. + </summary> + <param name="a"></param> + <param name="b"></param> + </member> + <member name="M:NUnit.Framework.Assert.ReferenceEquals(System.Object,System.Object)"> + <summary> + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + </summary> + <param name="a"></param> + <param name="b"></param> + </member> + <member name="M:NUnit.Framework.Assert.Pass(System.String,System.Object[])"> + <summary> + Throws a <see cref="T:NUnit.Framework.SuccessException"/> 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. + </summary> + <param name="message">The message to initialize the <see cref="T:NUnit.Framework.AssertionException"/> with.</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Pass(System.String)"> + <summary> + Throws a <see cref="T:NUnit.Framework.SuccessException"/> 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. + </summary> + <param name="message">The message to initialize the <see cref="T:NUnit.Framework.AssertionException"/> with.</param> + </member> + <member name="M:NUnit.Framework.Assert.Pass"> + <summary> + Throws a <see cref="T:NUnit.Framework.SuccessException"/> 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. + </summary> + </member> + <member name="M:NUnit.Framework.Assert.Fail(System.String,System.Object[])"> + <summary> + 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. + </summary> + <param name="message">The message to initialize the <see cref="T:NUnit.Framework.AssertionException"/> with.</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Fail(System.String)"> + <summary> + Marks the test as failed with the message that is passed in. Returns without throwing an exception when + inside a multiple assert block. + </summary> + <param name="message">The message to initialize the <see cref="T:NUnit.Framework.AssertionException"/> with.</param> + </member> + <member name="M:NUnit.Framework.Assert.Fail"> + <summary> + Marks the test as failed. Returns without throwing an exception when inside a multiple assert block. + </summary> + </member> + <member name="M:NUnit.Framework.Assert.Warn(System.String,System.Object[])"> + <summary> + Issues a warning using the message and arguments provided. + </summary> + <param name="message">The message to display.</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Warn(System.String)"> + <summary> + Issues a warning using the message provided. + </summary> + <param name="message">The message to display.</param> + </member> + <member name="M:NUnit.Framework.Assert.Ignore(System.String,System.Object[])"> + <summary> + Throws an <see cref="T:NUnit.Framework.IgnoreException"/> with the message and arguments + that are passed in. This causes the test to be reported as ignored. + </summary> + <param name="message">The message to initialize the <see cref="T:NUnit.Framework.AssertionException"/> with.</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Ignore(System.String)"> + <summary> + Throws an <see cref="T:NUnit.Framework.IgnoreException"/> with the message that is + passed in. This causes the test to be reported as ignored. + </summary> + <param name="message">The message to initialize the <see cref="T:NUnit.Framework.AssertionException"/> with.</param> + </member> + <member name="M:NUnit.Framework.Assert.Ignore"> + <summary> + Throws an <see cref="T:NUnit.Framework.IgnoreException"/>. + This causes the test to be reported as ignored. + </summary> + </member> + <member name="M:NUnit.Framework.Assert.Inconclusive(System.String,System.Object[])"> + <summary> + Throws an <see cref="T:NUnit.Framework.InconclusiveException"/> with the message and arguments + that are passed in. This causes the test to be reported as inconclusive. + </summary> + <param name="message">The message to initialize the <see cref="T:NUnit.Framework.InconclusiveException"/> with.</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Inconclusive(System.String)"> + <summary> + Throws an <see cref="T:NUnit.Framework.InconclusiveException"/> with the message that is + passed in. This causes the test to be reported as inconclusive. + </summary> + <param name="message">The message to initialize the <see cref="T:NUnit.Framework.InconclusiveException"/> with.</param> + </member> + <member name="M:NUnit.Framework.Assert.Inconclusive"> + <summary> + Throws an <see cref="T:NUnit.Framework.InconclusiveException"/>. + This causes the test to be reported as Inconclusive. + </summary> + </member> + <member name="M:NUnit.Framework.Assert.Contains(System.Object,System.Collections.ICollection,System.String,System.Object[])"> + <summary> + Asserts that an object is contained in a collection. Returns without throwing an exception when inside a + multiple assert block. + </summary> + <param name="expected">The expected object</param> + <param name="actual">The collection to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Contains(System.Object,System.Collections.ICollection)"> + <summary> + Asserts that an object is contained in a collection. Returns without throwing an exception when inside a + multiple assert block. + </summary> + <param name="expected">The expected object</param> + <param name="actual">The collection to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Multiple(NUnit.Framework.TestDelegate)"> + <summary> + 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. + </summary> + <param name="testDelegate">A TestDelegate to be executed in Multiple Assertion mode.</param> + </member> + <member name="M:NUnit.Framework.Assert.GetEnvironmentStackTraceWithoutThrowing"> + <summary> + If <see cref="P:System.Exception.StackTrace"/> throws, returns "SomeException was thrown by the + Environment.StackTrace property." See also <see cref="M:NUnit.Framework.ExceptionExtensions.GetStackTraceWithoutThrowing(System.Exception)"/>. + </summary> + </member> + <member name="M:NUnit.Framework.Assert.AreEqual(System.Double,System.Double,System.Double,System.String,System.Object[])"> + <summary> + 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. + </summary> + <param name="expected">The expected value</param> + <param name="actual">The actual value</param> + <param name="delta">The maximum acceptable difference between the the expected and the actual</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.AreEqual(System.Double,System.Double,System.Double)"> + <summary> + 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. + </summary> + <param name="expected">The expected value</param> + <param name="actual">The actual value</param> + <param name="delta">The maximum acceptable difference between the the expected and the actual</param> + </member> + <member name="M:NUnit.Framework.Assert.AreEqual(System.Double,System.Nullable{System.Double},System.Double,System.String,System.Object[])"> + <summary> + 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. + </summary> + <param name="expected">The expected value</param> + <param name="actual">The actual value</param> + <param name="delta">The maximum acceptable difference between the the expected and the actual</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.AreEqual(System.Double,System.Nullable{System.Double},System.Double)"> + <summary> + 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. + </summary> + <param name="expected">The expected value</param> + <param name="actual">The actual value</param> + <param name="delta">The maximum acceptable difference between the the expected and the actual</param> + </member> + <member name="M:NUnit.Framework.Assert.AreEqual(System.Object,System.Object,System.String,System.Object[])"> + <summary> + 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. + </summary> + <param name="expected">The value that is expected</param> + <param name="actual">The actual value</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.AreEqual(System.Object,System.Object)"> + <summary> + 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. + </summary> + <param name="expected">The value that is expected</param> + <param name="actual">The actual value</param> + </member> + <member name="M:NUnit.Framework.Assert.AreNotEqual(System.Object,System.Object,System.String,System.Object[])"> + <summary> + 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. + </summary> + <param name="expected">The value that is expected</param> + <param name="actual">The actual value</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.AreNotEqual(System.Object,System.Object)"> + <summary> + 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. + </summary> + <param name="expected">The value that is expected</param> + <param name="actual">The actual value</param> + </member> + <member name="M:NUnit.Framework.Assert.AreSame(System.Object,System.Object,System.String,System.Object[])"> + <summary> + Asserts that two objects refer to the same object. Returns without throwing an exception when inside a + multiple assert block. + </summary> + <param name="expected">The expected object</param> + <param name="actual">The actual object</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.AreSame(System.Object,System.Object)"> + <summary> + Asserts that two objects refer to the same object. Returns without throwing an exception when inside a + multiple assert block. + </summary> + <param name="expected">The expected object</param> + <param name="actual">The actual object</param> + </member> + <member name="M:NUnit.Framework.Assert.AreNotSame(System.Object,System.Object,System.String,System.Object[])"> + <summary> + Asserts that two objects do not refer to the same object. Returns without throwing an exception when inside + a multiple assert block. + </summary> + <param name="expected">The expected object</param> + <param name="actual">The actual object</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.AreNotSame(System.Object,System.Object)"> + <summary> + Asserts that two objects do not refer to the same object. Returns without throwing an exception when inside + a multiple assert block. + </summary> + <param name="expected">The expected object</param> + <param name="actual">The actual object</param> + </member> + <member name="M:NUnit.Framework.Assert.AssertDoublesAreEqual(System.Double,System.Double,System.Double,System.String,System.Object[])"> + <summary> + Helper for Assert.AreEqual(double expected, double actual, ...) + allowing code generation to work consistently. + </summary> + <param name="expected">The expected value</param> + <param name="actual">The actual value</param> + <param name="delta">The maximum acceptable difference between the + the expected and the actual</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Throws(NUnit.Framework.Constraints.IResolveConstraint,NUnit.Framework.TestDelegate,System.String,System.Object[])"> + <summary> + Verifies that a delegate throws a particular exception when called. The returned exception may be <see + langword="null"/> when inside a multiple assert block. + </summary> + <param name="expression">A constraint to be satisfied by the exception</param> + <param name="code">A TestSnippet delegate</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Throws(NUnit.Framework.Constraints.IResolveConstraint,NUnit.Framework.TestDelegate)"> + <summary> + Verifies that a delegate throws a particular exception when called. The returned exception may be <see + langword="null"/> when inside a multiple assert block. + </summary> + <param name="expression">A constraint to be satisfied by the exception</param> + <param name="code">A TestSnippet delegate</param> + </member> + <member name="M:NUnit.Framework.Assert.Throws(System.Type,NUnit.Framework.TestDelegate,System.String,System.Object[])"> + <summary> + Verifies that a delegate throws a particular exception when called. The returned exception may be <see + langword="null"/> when inside a multiple assert block. + </summary> + <param name="expectedExceptionType">The exception Type expected</param> + <param name="code">A TestDelegate</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Throws(System.Type,NUnit.Framework.TestDelegate)"> + <summary> + Verifies that a delegate throws a particular exception when called. The returned exception may be <see + langword="null"/> when inside a multiple assert block. + </summary> + <param name="expectedExceptionType">The exception Type expected</param> + <param name="code">A TestDelegate</param> + </member> + <member name="M:NUnit.Framework.Assert.Throws``1(NUnit.Framework.TestDelegate,System.String,System.Object[])"> + <summary> + Verifies that a delegate throws a particular exception when called. The returned exception may be <see + langword="null"/> when inside a multiple assert block. + </summary> + <typeparam name="TActual">Type of the expected exception</typeparam> + <param name="code">A TestDelegate</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Throws``1(NUnit.Framework.TestDelegate)"> + <summary> + Verifies that a delegate throws a particular exception when called. The returned exception may be <see + langword="null"/> when inside a multiple assert block. + </summary> + <typeparam name="TActual">Type of the expected exception</typeparam> + <param name="code">A TestDelegate</param> + </member> + <member name="M:NUnit.Framework.Assert.Catch(NUnit.Framework.TestDelegate,System.String,System.Object[])"> + <summary> + Verifies that a delegate throws an exception when called and returns it. The returned exception may be <see + langword="null"/> when inside a multiple assert block. + </summary> + <param name="code">A TestDelegate</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Catch(NUnit.Framework.TestDelegate)"> + <summary> + Verifies that a delegate throws an exception when called and returns it. The returned exception may be <see + langword="null"/> when inside a multiple assert block. + </summary> + <param name="code">A TestDelegate</param> + </member> + <member name="M:NUnit.Framework.Assert.Catch(System.Type,NUnit.Framework.TestDelegate,System.String,System.Object[])"> + <summary> + 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 <see langword="null"/> when inside a multiple assert block. + </summary> + <param name="expectedExceptionType">The expected Exception Type</param> + <param name="code">A TestDelegate</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Catch(System.Type,NUnit.Framework.TestDelegate)"> + <summary> + 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 <see langword="null"/> when inside a multiple assert block. + </summary> + <param name="expectedExceptionType">The expected Exception Type</param> + <param name="code">A TestDelegate</param> + </member> + <member name="M:NUnit.Framework.Assert.Catch``1(NUnit.Framework.TestDelegate,System.String,System.Object[])"> + <summary> + 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 <see langword="null"/> when inside a multiple assert block. + </summary> + <param name="code">A TestDelegate</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Catch``1(NUnit.Framework.TestDelegate)"> + <summary> + 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 <see langword="null"/> when inside a multiple assert block. + </summary> + <param name="code">A TestDelegate</param> + </member> + <member name="M:NUnit.Framework.Assert.DoesNotThrow(NUnit.Framework.TestDelegate,System.String,System.Object[])"> + <summary> + Verifies that a delegate does not throw an exception + </summary> + <param name="code">A TestDelegate</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.DoesNotThrow(NUnit.Framework.TestDelegate)"> + <summary> + Verifies that a delegate does not throw an exception. + </summary> + <param name="code">A TestDelegate</param> + </member> + <member name="M:NUnit.Framework.Assert.That(System.Boolean,System.String,System.Object[])"> + <summary> + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="condition">The evaluated condition</param> + <param name="message">The message to display if the condition is false</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.That(System.Boolean)"> + <summary> + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="condition">The evaluated condition</param> + </member> + <member name="M:NUnit.Framework.Assert.That(System.Boolean,System.Func{System.String})"> + <summary> + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="condition">The evaluated condition</param> + <param name="getExceptionMessage">A function to build the message included with the Exception</param> + </member> + <member name="M:NUnit.Framework.Assert.That(System.Func{System.Boolean},System.String,System.Object[])"> + <summary> + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="condition">A lambda that returns a Boolean</param> + <param name="message">The message to display if the condition is false</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.That(System.Func{System.Boolean})"> + <summary> + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="condition">A lambda that returns a Boolean</param> + </member> + <member name="M:NUnit.Framework.Assert.That(System.Func{System.Boolean},System.Func{System.String})"> + <summary> + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="condition">A lambda that returns a Boolean</param> + <param name="getExceptionMessage">A function to build the message included with the Exception</param> + </member> + <member name="M:NUnit.Framework.Assert.That``1(NUnit.Framework.Constraints.ActualValueDelegate{``0},NUnit.Framework.Constraints.IResolveConstraint)"> + <summary> + Apply a constraint to a delegate. Returns without throwing an exception when inside a multiple assert block. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="del">An ActualValueDelegate returning the value to be tested</param> + <param name="expr">A Constraint expression to be applied</param> + </member> + <member name="M:NUnit.Framework.Assert.That``1(NUnit.Framework.Constraints.ActualValueDelegate{``0},NUnit.Framework.Constraints.IResolveConstraint,System.String,System.Object[])"> + <summary> + Apply a constraint to a delegate. Returns without throwing an exception when inside a multiple assert block. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="del">An ActualValueDelegate returning the value to be tested</param> + <param name="expr">A Constraint expression to be applied</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.That``1(NUnit.Framework.Constraints.ActualValueDelegate{``0},NUnit.Framework.Constraints.IResolveConstraint,System.Func{System.String})"> + <summary> + Apply a constraint to a delegate. Returns without throwing an exception when inside a multiple assert block. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="del">An ActualValueDelegate returning the value to be tested</param> + <param name="expr">A Constraint expression to be applied</param> + <param name="getExceptionMessage">A function to build the message included with the Exception</param> + </member> + <member name="M:NUnit.Framework.Assert.That(NUnit.Framework.TestDelegate,NUnit.Framework.Constraints.IResolveConstraint)"> + <summary> + Apply a constraint to a delegate. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="code">A TestDelegate to be executed</param> + <param name="constraint">A Constraint expression to be applied</param> + </member> + <member name="M:NUnit.Framework.Assert.That(NUnit.Framework.TestDelegate,NUnit.Framework.Constraints.IResolveConstraint,System.String,System.Object[])"> + <summary> + Apply a constraint to a delegate. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="code">A TestDelegate to be executed</param> + <param name="constraint">A Constraint expression to be applied</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.That(NUnit.Framework.TestDelegate,NUnit.Framework.Constraints.IResolveConstraint,System.Func{System.String})"> + <summary> + Apply a constraint to a delegate. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="code">A TestDelegate to be executed</param> + <param name="constraint">A Constraint expression to be applied</param> + <param name="getExceptionMessage">A function to build the message included with the Exception</param> + </member> + <member name="M:NUnit.Framework.Assert.That``1(``0,NUnit.Framework.Constraints.IResolveConstraint)"> + <summary> + Apply a constraint to an actual value. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="actual">The actual value to test</param> + <param name="expression">A Constraint expression to be applied</param> + </member> + <member name="M:NUnit.Framework.Assert.That``1(``0,NUnit.Framework.Constraints.IResolveConstraint,System.String,System.Object[])"> + <summary> + Apply a constraint to an actual value. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="actual">The actual value to test</param> + <param name="expression">A Constraint expression to be applied</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.That``1(``0,NUnit.Framework.Constraints.IResolveConstraint,System.Func{System.String})"> + <summary> + Apply a constraint to an actual value. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="actual">The actual value to test</param> + <param name="expression">A Constraint expression to be applied</param> + <param name="getExceptionMessage">A function to build the message included with the Exception</param> + </member> + <member name="M:NUnit.Framework.Assert.ByVal(System.Object,NUnit.Framework.Constraints.IResolveConstraint)"> + <summary> + 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. + </summary> + <param name="actual">The actual value to test</param> + <param name="expression">A Constraint expression to be applied</param> + </member> + <member name="M:NUnit.Framework.Assert.ByVal(System.Object,NUnit.Framework.Constraints.IResolveConstraint,System.String,System.Object[])"> + <summary> + 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. + </summary> + <remarks> + This method is provided for use by VB developers needing to test the value of properties with private + setters. + </remarks> + <param name="actual">The actual value to test</param> + <param name="expression">A Constraint expression to be applied</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsAssignableFrom(System.Type,System.Object,System.String,System.Object[])"> + <summary> + Asserts that an object may be assigned a value of a given Type. Returns without throwing an exception when + inside a multiple assert block. + </summary> + <param name="expected">The expected Type.</param> + <param name="actual">The object under examination</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsAssignableFrom(System.Type,System.Object)"> + <summary> + Asserts that an object may be assigned a value of a given Type. Returns without throwing an exception when + inside a multiple assert block. + </summary> + <param name="expected">The expected Type.</param> + <param name="actual">The object under examination</param> + </member> + <member name="M:NUnit.Framework.Assert.IsAssignableFrom``1(System.Object,System.String,System.Object[])"> + <summary> + Asserts that an object may be assigned a value of a given Type. Returns without throwing an exception when + inside a multiple assert block. + </summary> + <typeparam name="TExpected">The expected Type.</typeparam> + <param name="actual">The object under examination</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsAssignableFrom``1(System.Object)"> + <summary> + Asserts that an object may be assigned a value of a given Type. Returns without throwing an exception when + inside a multiple assert block. + </summary> + <typeparam name="TExpected">The expected Type.</typeparam> + <param name="actual">The object under examination</param> + </member> + <member name="M:NUnit.Framework.Assert.IsNotAssignableFrom(System.Type,System.Object,System.String,System.Object[])"> + <summary> + 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. + </summary> + <param name="expected">The expected Type.</param> + <param name="actual">The object under examination</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsNotAssignableFrom(System.Type,System.Object)"> + <summary> + 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. + </summary> + <param name="expected">The expected Type.</param> + <param name="actual">The object under examination</param> + </member> + <member name="M:NUnit.Framework.Assert.IsNotAssignableFrom``1(System.Object,System.String,System.Object[])"> + <summary> + 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. + </summary> + <typeparam name="TExpected">The expected Type.</typeparam> + <param name="actual">The object under examination</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsNotAssignableFrom``1(System.Object)"> + <summary> + 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. + </summary> + <typeparam name="TExpected">The expected Type.</typeparam> + <param name="actual">The object under examination</param> + </member> + <member name="M:NUnit.Framework.Assert.IsInstanceOf(System.Type,System.Object,System.String,System.Object[])"> + <summary> + Asserts that an object is an instance of a given type. Returns without throwing an exception when inside a + multiple assert block. + </summary> + <param name="expected">The expected Type</param> + <param name="actual">The object being examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsInstanceOf(System.Type,System.Object)"> + <summary> + Asserts that an object is an instance of a given type. Returns without throwing an exception when inside a + multiple assert block. + </summary> + <param name="expected">The expected Type</param> + <param name="actual">The object being examined</param> + </member> + <member name="M:NUnit.Framework.Assert.IsInstanceOf``1(System.Object,System.String,System.Object[])"> + <summary> + Asserts that an object is an instance of a given type. Returns without throwing an exception when inside a + multiple assert block. + </summary> + <typeparam name="TExpected">The expected Type</typeparam> + <param name="actual">The object being examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsInstanceOf``1(System.Object)"> + <summary> + Asserts that an object is an instance of a given type. Returns without throwing an exception when inside a + multiple assert block. + </summary> + <typeparam name="TExpected">The expected Type</typeparam> + <param name="actual">The object being examined</param> + </member> + <member name="M:NUnit.Framework.Assert.IsNotInstanceOf(System.Type,System.Object,System.String,System.Object[])"> + <summary> + Asserts that an object is not an instance of a given type. Returns without throwing an exception when inside + a multiple assert block. + </summary> + <param name="expected">The expected Type</param> + <param name="actual">The object being examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsNotInstanceOf(System.Type,System.Object)"> + <summary> + Asserts that an object is not an instance of a given type. Returns without throwing an exception when inside + a multiple assert block. + </summary> + <param name="expected">The expected Type</param> + <param name="actual">The object being examined</param> + </member> + <member name="M:NUnit.Framework.Assert.IsNotInstanceOf``1(System.Object,System.String,System.Object[])"> + <summary> + Asserts that an object is not an instance of a given type. Returns without throwing an exception when inside + a multiple assert block. + </summary> + <typeparam name="TExpected">The expected Type</typeparam> + <param name="actual">The object being examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsNotInstanceOf``1(System.Object)"> + <summary> + Asserts that an object is not an instance of a given type. Returns without throwing an exception when inside + a multiple assert block. + </summary> + <typeparam name="TExpected">The expected Type</typeparam> + <param name="actual">The object being examined</param> + </member> + <member name="T:NUnit.Framework.TestDelegate"> + <summary> + Delegate used by tests that execute code and + capture any thrown exception. + </summary> + </member> + <member name="T:NUnit.Framework.AssertionHelper"> + <summary> + AssertionHelper is an optional base class for user tests, + allowing the use of shorter names in making asserts. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.Expect(System.Boolean,System.String,System.Object[])"> + <summary> + Asserts that a condition is true. If the condition is false the method throws + an <see cref="T:NUnit.Framework.AssertionException"/>. Works Identically to + <see cref="M:NUnit.Framework.Assert.That(System.Boolean,System.String,System.Object[])"/>. + </summary> + <param name="condition">The evaluated condition</param> + <param name="message">The message to display if the condition is false</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.AssertionHelper.Expect(System.Boolean)"> + <summary> + Asserts that a condition is true. If the condition is false the method throws + an <see cref="T:NUnit.Framework.AssertionException"/>. Works Identically to <see cref="M:NUnit.Framework.Assert.That(System.Boolean)"/>. + </summary> + <param name="condition">The evaluated condition</param> + </member> + <member name="M:NUnit.Framework.AssertionHelper.Expect``1(NUnit.Framework.Constraints.ActualValueDelegate{``0},NUnit.Framework.Constraints.IResolveConstraint)"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + </summary> + <param name="expr">A Constraint expression to be applied</param> + <param name="del">An ActualValueDelegate returning the value to be tested</param> + </member> + <member name="M:NUnit.Framework.AssertionHelper.Expect``1(NUnit.Framework.Constraints.ActualValueDelegate{``0},NUnit.Framework.Constraints.IResolveConstraint,System.String,System.Object[])"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + </summary> + <param name="del">An ActualValueDelegate returning the value to be tested</param> + <param name="expr">A Constraint expression to be applied</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.AssertionHelper.Expect(NUnit.Framework.TestDelegate,NUnit.Framework.Constraints.IResolveConstraint)"> + <summary> + Asserts that the code represented by a delegate throws an exception + that satisfies the constraint provided. + </summary> + <param name="code">A TestDelegate to be executed</param> + <param name="constraint">A Constraint expression to be applied</param> + </member> + <member name="M:NUnit.Framework.AssertionHelper.Expect``1(``0,NUnit.Framework.Constraints.IResolveConstraint)"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + </summary> + <param name="expression">A Constraint expression to be applied</param> + <param name="actual">The actual value to test</param> + </member> + <member name="M:NUnit.Framework.AssertionHelper.Expect``1(``0,NUnit.Framework.Constraints.IResolveConstraint,System.String,System.Object[])"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + </summary> + <param name="expression">A Constraint expression to be applied</param> + <param name="actual">The actual value to test</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.AssertionHelper.Map(System.Collections.ICollection)"> + <summary> + Returns a ListMapper based on a collection. + </summary> + <param name="original">The original collection</param> + </member> + <member name="P:NUnit.Framework.AssertionHelper.Not"> + <summary> + Returns a ConstraintExpression that negates any + following constraint. + </summary> + </member> + <member name="P:NUnit.Framework.AssertionHelper.No"> + <summary> + Returns a ConstraintExpression that negates any + following constraint. + </summary> + </member> + <member name="P:NUnit.Framework.AssertionHelper.All"> + <summary> + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + </summary> + </member> + <member name="P:NUnit.Framework.AssertionHelper.Some"> + <summary> + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if at least one of them succeeds. + </summary> + </member> + <member name="P:NUnit.Framework.AssertionHelper.None"> + <summary> + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them fail. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.Exactly(System.Int32)"> + <summary> + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding only if a specified number of them succeed. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.Property(System.String)"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.AssertionHelper.Length"> + <summary> + Returns a new ConstraintExpression, which will apply the following + constraint to the Length property of the object being tested. + </summary> + </member> + <member name="P:NUnit.Framework.AssertionHelper.Count"> + <summary> + Returns a new ConstraintExpression, which will apply the following + constraint to the Count property of the object being tested. + </summary> + </member> + <member name="P:NUnit.Framework.AssertionHelper.Message"> + <summary> + Returns a new ConstraintExpression, which will apply the following + constraint to the Message property of the object being tested. + </summary> + </member> + <member name="P:NUnit.Framework.AssertionHelper.InnerException"> + <summary> + Returns a new ConstraintExpression, which will apply the following + constraint to the InnerException property of the object being tested. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.Attribute(System.Type)"> + <summary> + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.Attribute``1"> + <summary> + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + </summary> + </member> + <member name="P:NUnit.Framework.AssertionHelper.Null"> + <summary> + Returns a constraint that tests for null + </summary> + </member> + <member name="P:NUnit.Framework.AssertionHelper.True"> + <summary> + Returns a constraint that tests for True + </summary> + </member> + <member name="P:NUnit.Framework.AssertionHelper.False"> + <summary> + Returns a constraint that tests for False + </summary> + </member> + <member name="P:NUnit.Framework.AssertionHelper.Positive"> + <summary> + Returns a constraint that tests for a positive value + </summary> + </member> + <member name="P:NUnit.Framework.AssertionHelper.Negative"> + <summary> + Returns a constraint that tests for a negative value + </summary> + </member> + <member name="P:NUnit.Framework.AssertionHelper.Zero"> + <summary> + Returns a constraint that tests for equality with zero + </summary> + </member> + <member name="P:NUnit.Framework.AssertionHelper.NaN"> + <summary> + Returns a constraint that tests for NaN + </summary> + </member> + <member name="P:NUnit.Framework.AssertionHelper.Empty"> + <summary> + Returns a constraint that tests for empty + </summary> + </member> + <member name="P:NUnit.Framework.AssertionHelper.Unique"> + <summary> + Returns a constraint that tests whether a collection + contains all unique items. + </summary> + </member> + <member name="P:NUnit.Framework.AssertionHelper.BinarySerializable"> + <summary> + Returns a constraint that tests whether an object graph is serializable in binary format. + </summary> + </member> + <member name="P:NUnit.Framework.AssertionHelper.XmlSerializable"> + <summary> + Returns a constraint that tests whether an object graph is serializable in XML format. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.EqualTo(System.Object)"> + <summary> + Returns a constraint that tests two items for equality + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.SameAs(System.Object)"> + <summary> + Returns a constraint that tests that two references are the same object + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.GreaterThan(System.Object)"> + <summary> + Returns a constraint that tests whether the + actual value is greater than the supplied argument + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.GreaterThanOrEqualTo(System.Object)"> + <summary> + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.AtLeast(System.Object)"> + <summary> + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.LessThan(System.Object)"> + <summary> + Returns a constraint that tests whether the + actual value is less than the supplied argument + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.LessThanOrEqualTo(System.Object)"> + <summary> + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.AtMost(System.Object)"> + <summary> + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.TypeOf(System.Type)"> + <summary> + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.TypeOf``1"> + <summary> + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.InstanceOf(System.Type)"> + <summary> + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.InstanceOf``1"> + <summary> + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.AssignableFrom(System.Type)"> + <summary> + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.AssignableFrom``1"> + <summary> + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.AssignableTo(System.Type)"> + <summary> + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.AssignableTo``1"> + <summary> + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.EquivalentTo(System.Collections.IEnumerable)"> + <summary> + Returns a constraint that tests whether the actual value + is a collection containing the same elements as the + collection supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.SubsetOf(System.Collections.IEnumerable)"> + <summary> + Returns a constraint that tests whether the actual value + is a subset of the collection supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.SupersetOf(System.Collections.IEnumerable)"> + <summary> + Returns a constraint that tests whether the actual value + is a superset of the collection supplied as an argument. + </summary> + </member> + <member name="P:NUnit.Framework.AssertionHelper.Ordered"> + <summary> + Returns a constraint that tests whether a collection is ordered + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.Member(System.Object)"> + <summary> + Returns a new <see cref="T:NUnit.Framework.Constraints.SomeItemsConstraint"/> checking for the + presence of a particular object in the collection. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.Contains(System.Object)"> + <summary> + <para> + Returns a new <see cref="T:NUnit.Framework.Constraints.SomeItemsConstraint"/> checking for the + presence of a particular object in the collection. + </para> + <para> + To search for a substring instead of a collection element, use the + <see cref="M:NUnit.Framework.AssertionHelper.Contains(System.String)"/> overload. + </para> + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.Contains(System.String)"> + <summary> + <para> + 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. + </para> + <para> + To search for a collection element instead of a substring, use the + <see cref="M:NUnit.Framework.AssertionHelper.Contains(System.Object)"/> overload. + </para> + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.StringContaining(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.ContainsSubstring(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.DoesNotContain(System.String)"> + <summary> + Returns a constraint that fails if the actual + value contains the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.StartWith(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.StartsWith(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.StringStarting(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.DoesNotStartWith(System.String)"> + <summary> + Returns a constraint that fails if the actual + value starts with the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.EndWith(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.EndsWith(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.StringEnding(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.DoesNotEndWith(System.String)"> + <summary> + Returns a constraint that fails if the actual + value ends with the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.Match(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.Matches(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.StringMatching(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.DoesNotMatch(System.String)"> + <summary> + Returns a constraint that fails if the actual + value matches the pattern supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.SamePath(System.String)"> + <summary> + Returns a constraint that tests whether the path provided + is the same as an expected path after canonicalization. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.SubPathOf(System.String)"> + <summary> + Returns a constraint that tests whether the path provided + is a subpath of the expected path after canonicalization. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.SamePathOrUnder(System.String)"> + <summary> + Returns a constraint that tests whether the path provided + is the same path or under an expected path after canonicalization. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.InRange(System.Object,System.Object)"> + <summary> + Returns a constraint that tests whether the actual value falls + within a specified range. + </summary> + </member> + <member name="T:NUnit.Framework.Assume"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Assume.Equals(System.Object,System.Object)"> + <summary> + DO NOT USE! + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + </summary> + <param name="a">The left object.</param> + <param name="b">The right object.</param> + <returns>Not applicable</returns> + </member> + <member name="M:NUnit.Framework.Assume.ReferenceEquals(System.Object,System.Object)"> + <summary> + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + </summary> + <param name="a">The left object.</param> + <param name="b">The right object.</param> + </member> + <member name="M:NUnit.Framework.Assume.That``1(NUnit.Framework.Constraints.ActualValueDelegate{``0},NUnit.Framework.Constraints.IResolveConstraint)"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="del">An ActualValueDelegate returning the value to be tested</param> + <param name="expr">A Constraint expression to be applied</param> + </member> + <member name="M:NUnit.Framework.Assume.That``1(NUnit.Framework.Constraints.ActualValueDelegate{``0},NUnit.Framework.Constraints.IResolveConstraint,System.String,System.Object[])"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="del">An ActualValueDelegate returning the value to be tested</param> + <param name="expr">A Constraint expression to be applied</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assume.That``1(NUnit.Framework.Constraints.ActualValueDelegate{``0},NUnit.Framework.Constraints.IResolveConstraint,System.Func{System.String})"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="del">An ActualValueDelegate returning the value to be tested</param> + <param name="expr">A Constraint expression to be applied</param> + <param name="getExceptionMessage">A function to build the message included with the Exception</param> + </member> + <member name="M:NUnit.Framework.Assume.That(System.Boolean,System.String,System.Object[])"> + <summary> + Asserts that a condition is true. If the condition is false, the method throws + an <see cref="T:NUnit.Framework.InconclusiveException"/>. + </summary> + <param name="condition">The evaluated condition</param> + <param name="message">The message to display if the condition is false</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assume.That(System.Boolean)"> + <summary> + Asserts that a condition is true. If the condition is false, the + method throws an <see cref="T:NUnit.Framework.InconclusiveException"/>. + </summary> + <param name="condition">The evaluated condition</param> + </member> + <member name="M:NUnit.Framework.Assume.That(System.Boolean,System.Func{System.String})"> + <summary> + Asserts that a condition is true. If the condition is false, the method throws + an <see cref="T:NUnit.Framework.InconclusiveException"/>. + </summary> + <param name="condition">The evaluated condition</param> + <param name="getExceptionMessage">A function to build the message included with the Exception</param> + </member> + <member name="M:NUnit.Framework.Assume.That(System.Func{System.Boolean},System.String,System.Object[])"> + <summary> + Asserts that a condition is true. If the condition is false, the method throws + an <see cref="T:NUnit.Framework.InconclusiveException"/>. + </summary> + <param name="condition">A lambda that returns a Boolean</param> + <param name="message">The message to display if the condition is false</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assume.That(System.Func{System.Boolean})"> + <summary> + Asserts that a condition is true. If the condition is false, the method throws + an <see cref="T:NUnit.Framework.InconclusiveException"/>. + </summary> + <param name="condition">A lambda that returns a Boolean</param> + </member> + <member name="M:NUnit.Framework.Assume.That(System.Func{System.Boolean},System.Func{System.String})"> + <summary> + Asserts that a condition is true. If the condition is false, the method throws + an <see cref="T:NUnit.Framework.InconclusiveException"/>. + </summary> + <param name="condition">A lambda that returns a Boolean</param> + <param name="getExceptionMessage">A function to build the message included with the Exception</param> + </member> + <member name="M:NUnit.Framework.Assume.That(NUnit.Framework.TestDelegate,NUnit.Framework.Constraints.IResolveConstraint)"> + <summary> + Asserts that the code represented by a delegate throws an exception + that satisfies the constraint provided. + </summary> + <param name="code">A TestDelegate to be executed</param> + <param name="constraint">A ThrowsConstraint used in the test</param> + </member> + <member name="M:NUnit.Framework.Assume.That``1(``0,NUnit.Framework.Constraints.IResolveConstraint)"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="actual">The actual value to test</param> + <param name="expression">A Constraint expression to be applied</param> + </member> + <member name="M:NUnit.Framework.Assume.That``1(``0,NUnit.Framework.Constraints.IResolveConstraint,System.String,System.Object[])"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="actual">The actual value to test</param> + <param name="expression">A Constraint expression to be applied</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assume.That``1(``0,NUnit.Framework.Constraints.IResolveConstraint,System.Func{System.String})"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="actual">The actual value to test</param> + <param name="expression">A Constraint expression to be applied</param> + <param name="getExceptionMessage">A function to build the message included with the Exception</param> + </member> + <member name="T:NUnit.Framework.ApartmentAttribute"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.ApartmentAttribute.#ctor(System.Threading.ApartmentState)"> + <summary> + Construct an ApartmentAttribute + </summary> + <param name="apartmentState">The apartment state that this test must be run under. You must pass in a valid apartment state.</param> + </member> + <member name="T:NUnit.Framework.AuthorAttribute"> + <summary> + Provides the author of a test or test fixture. + </summary> + </member> + <member name="M:NUnit.Framework.AuthorAttribute.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.AuthorAttribute"/> class. + </summary> + <param name="name">The name of the author.</param> + </member> + <member name="M:NUnit.Framework.AuthorAttribute.#ctor(System.String,System.String)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.AuthorAttribute"/> class. + </summary> + <param name="name">The name of the author.</param> + <param name="email">The email address of the author.</param> + </member> + <member name="T:NUnit.Framework.CategoryAttribute"> + <summary> + Applies a category to a test + </summary> + </member> + <member name="F:NUnit.Framework.CategoryAttribute.categoryName"> + <summary> + The name of the category + </summary> + </member> + <member name="M:NUnit.Framework.CategoryAttribute.#ctor(System.String)"> + <summary> + 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. + </summary> + <param name="name">The name of the category</param> + </member> + <member name="M:NUnit.Framework.CategoryAttribute.#ctor"> + <summary> + Protected constructor uses the Type name as the name + of the category. + </summary> + </member> + <member name="P:NUnit.Framework.CategoryAttribute.Name"> + <summary> + The name of the category + </summary> + </member> + <member name="M:NUnit.Framework.CategoryAttribute.ApplyToTest(NUnit.Framework.Internal.Test)"> + <summary> + Modifies a test by adding a category to it. + </summary> + <param name="test">The test to modify</param> + </member> + <member name="T:NUnit.Framework.CombinatorialAttribute"> + <summary> + Marks a test to use a combinatorial join of any argument data provided. + Since this is the default, the attribute is optional. + </summary> + </member> + <member name="M:NUnit.Framework.CombinatorialAttribute.#ctor"> + <summary> + Default constructor + </summary> + </member> + <member name="T:NUnit.Framework.CombiningStrategyAttribute"> + <summary> + Marks a test as using a particular CombiningStrategy to join any supplied parameter data. + Since this is the default, the attribute is optional. + </summary> + </member> + <member name="M:NUnit.Framework.CombiningStrategyAttribute.#ctor(NUnit.Framework.Interfaces.ICombiningStrategy,NUnit.Framework.Interfaces.IParameterDataProvider)"> + <summary> + Construct a CombiningStrategyAttribute incorporating an + ICombiningStrategy and an IParameterDataProvider. + </summary> + <param name="strategy">Combining strategy to be used in combining data</param> + <param name="provider">An IParameterDataProvider to supply data</param> + </member> + <member name="M:NUnit.Framework.CombiningStrategyAttribute.#ctor(System.Object,System.Object)"> + <summary> + Construct a CombiningStrategyAttribute incorporating an object + that implements ICombiningStrategy and an IParameterDataProvider. + This constructor is provided for CLS compliance. + </summary> + <param name="strategy">Combining strategy to be used in combining data</param> + <param name="provider">An IParameterDataProvider to supply data</param> + </member> + <member name="M:NUnit.Framework.CombiningStrategyAttribute.BuildFrom(NUnit.Framework.Interfaces.IMethodInfo,NUnit.Framework.Internal.Test)"> + <summary> + Builds any number of tests from the specified method and context. + </summary> + <param name="method">The MethodInfo for which tests are to be constructed.</param> + <param name="suite">The suite to which the tests will be added.</param> + </member> + <member name="M:NUnit.Framework.CombiningStrategyAttribute.ApplyToTest(NUnit.Framework.Internal.Test)"> + <summary> + Modify the test by adding the name of the combining strategy + to the properties. + </summary> + <param name="test">The test to modify</param> + </member> + <member name="T:NUnit.Framework.CultureAttribute"> + <summary> + Marks an assembly, test fixture or test method as applying to a specific Culture. + </summary> + </member> + <member name="M:NUnit.Framework.CultureAttribute.#ctor"> + <summary> + Constructor with no cultures specified, for use + with named property syntax. + </summary> + </member> + <member name="M:NUnit.Framework.CultureAttribute.#ctor(System.String)"> + <summary> + Constructor taking one or more cultures + </summary> + <param name="cultures">Comma-delimited list of cultures</param> + </member> + <member name="M:NUnit.Framework.CultureAttribute.ApplyToTest(NUnit.Framework.Internal.Test)"> + <summary> + Causes a test to be skipped if this CultureAttribute is not satisfied. + </summary> + <param name="test">The test to modify</param> + </member> + <member name="M:NUnit.Framework.CultureAttribute.IsCultureSupported(System.String@)"> + <summary> + Tests to determine if the current culture is supported + based on the properties of this attribute. + </summary> + <returns>True, if the current culture is supported</returns> + </member> + <member name="M:NUnit.Framework.CultureAttribute.IsCultureSupported(System.String)"> + <summary> + Test to determine if the a particular culture or comma- + delimited set of cultures is in use. + </summary> + <param name="culture">Name of the culture or comma-separated list of culture ids</param> + <returns>True if the culture is in use on the system</returns> + </member> + <member name="M:NUnit.Framework.CultureAttribute.IsCultureSupported(System.String[])"> + <summary> + Test to determine if one of a collection of cultures + is being used currently. + </summary> + <param name="cultures"></param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.DataAttribute"> + <summary> + Abstract base class for all data-providing attributes defined by NUnit. + Used to select all data sources for a method, class or parameter. + </summary> + </member> + <member name="M:NUnit.Framework.DataAttribute.#ctor"> + <summary> + Default constructor + </summary> + </member> + <member name="T:NUnit.Framework.DatapointAttribute"> + <summary> + 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. + </summary> + </member> + <member name="T:NUnit.Framework.DatapointsAttribute"> + <summary> + 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 <see cref="T:System.Collections.Generic.IEnumerable`1"/>. Synonymous with <see cref="T:NUnit.Framework.DatapointSourceAttribute"/>. + </summary> + </member> + <member name="T:NUnit.Framework.DatapointSourceAttribute"> + <summary> + 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 <see cref="T:System.Collections.Generic.IEnumerable`1"/>. Synonymous with <see cref="T:NUnit.Framework.DatapointsAttribute"/>. + </summary> + </member> + <member name="T:NUnit.Framework.DefaultFloatingPointToleranceAttribute"> + <summary> + Sets the tolerance used by default when checking the equality of floating point values + within the test assembly, fixture or method. + </summary> + </member> + <member name="M:NUnit.Framework.DefaultFloatingPointToleranceAttribute.#ctor(System.Double)"> + <summary> + Construct specifying an amount + </summary> + <param name="amount"></param> + </member> + <member name="M:NUnit.Framework.DefaultFloatingPointToleranceAttribute.ApplyToContext(NUnit.Framework.Internal.TestExecutionContext)"> + <summary> + Apply changes to the TestExecutionContext + </summary> + <param name="context">The TestExecutionContext</param> + </member> + <member name="T:NUnit.Framework.DescriptionAttribute"> + <summary> + Provides the descriptive text relating to the assembly, test fixture or test method. + </summary> + </member> + <member name="M:NUnit.Framework.DescriptionAttribute.#ctor(System.String)"> + <summary> + Construct a description Attribute + </summary> + <param name="description">The text of the description</param> + </member> + <member name="T:NUnit.Framework.ExplicitAttribute"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.ExplicitAttribute.#ctor"> + <summary> + Default constructor + </summary> + </member> + <member name="M:NUnit.Framework.ExplicitAttribute.#ctor(System.String)"> + <summary> + Constructor with a reason + </summary> + <param name="reason">The reason test is marked explicit</param> + </member> + <member name="M:NUnit.Framework.ExplicitAttribute.ApplyToTest(NUnit.Framework.Internal.Test)"> + <summary> + Modifies a test by marking it as explicit. + </summary> + <param name="test">The test to modify</param> + </member> + <member name="T:NUnit.Framework.FixtureLifeCycleAttribute"> + <summary> + Specify the life cycle of a Fixture + </summary> + </member> + <member name="M:NUnit.Framework.FixtureLifeCycleAttribute.#ctor(NUnit.Framework.LifeCycle)"> + <summary> + Construct a FixtureLifeCycleAttribute with a specified <see cref="P:NUnit.Framework.FixtureLifeCycleAttribute.LifeCycle"/>. + </summary> + </member> + <member name="P:NUnit.Framework.FixtureLifeCycleAttribute.LifeCycle"> + <summary> + Defines the life cycle for this test fixture or assembly. + </summary> + </member> + <member name="M:NUnit.Framework.FixtureLifeCycleAttribute.ApplyToTest(NUnit.Framework.Internal.Test)"> + <summary> + Overridden to set a TestFixture's <see cref="P:NUnit.Framework.FixtureLifeCycleAttribute.LifeCycle"/>. + </summary> + </member> + <member name="T:NUnit.Framework.IgnoreAttribute"> + <summary> + Marks an assembly, test fixture or test method as being ignored. Ignored tests result in a warning message when the tests are run. + </summary> + </member> + <member name="M:NUnit.Framework.IgnoreAttribute.#ctor(System.String)"> + <summary> + Constructs the attribute giving a reason for ignoring the test + </summary> + <param name="reason">The reason for ignoring the test</param> + </member> + <member name="P:NUnit.Framework.IgnoreAttribute.Until"> + <summary> + 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. + </summary> + <remarks> + 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. + </remarks> + <exception cref="T:System.FormatException">The string does not contain a valid string representation of a date and time.</exception> + </member> + <member name="M:NUnit.Framework.IgnoreAttribute.ApplyToTest(NUnit.Framework.Internal.Test)"> + <summary> + Modifies a test by marking it as Ignored. + </summary> + <param name="test">The test to modify</param> + </member> + <member name="T:NUnit.Framework.IncludeExcludeAttribute"> + <summary> + Abstract base for attributes that are used to include tests in + the test run based on environmental settings. + </summary> + </member> + <member name="M:NUnit.Framework.IncludeExcludeAttribute.#ctor"> + <summary> + Constructor with no included items specified, for use + with named property syntax. + </summary> + </member> + <member name="M:NUnit.Framework.IncludeExcludeAttribute.#ctor(System.String)"> + <summary> + Constructor taking one or more included items + </summary> + <param name="include">Comma-delimited list of included items</param> + </member> + <member name="P:NUnit.Framework.IncludeExcludeAttribute.Include"> + <summary> + Name of the item that is needed in order for + a test to run. Multiple items may be given, + separated by a comma. + </summary> + </member> + <member name="P:NUnit.Framework.IncludeExcludeAttribute.Exclude"> + <summary> + Name of the item to be excluded. Multiple items + may be given, separated by a comma. + </summary> + </member> + <member name="P:NUnit.Framework.IncludeExcludeAttribute.Reason"> + <summary> + The reason for including or excluding the test + </summary> + </member> + <member name="T:NUnit.Framework.LevelOfParallelismAttribute"> + <summary> + Sets the number of worker threads that may be allocated by the framework + for running tests. + </summary> + </member> + <member name="M:NUnit.Framework.LevelOfParallelismAttribute.#ctor(System.Int32)"> + <summary> + Construct a LevelOfParallelismAttribute. + </summary> + <param name="level">The number of worker threads to be created by the framework.</param> + </member> + <member name="T:NUnit.Framework.LifeCycle"> + <summary> + Specifies the life cycle for a test fixture. + </summary> + </member> + <member name="F:NUnit.Framework.LifeCycle.SingleInstance"> + <summary> + A single instance is created and shared for all test cases. + </summary> + </member> + <member name="F:NUnit.Framework.LifeCycle.InstancePerTestCase"> + <summary> + A new instance is created for each test case. + </summary> + </member> + <member name="T:NUnit.Framework.MaxTimeAttribute"> + <summary> + Specifies the maximum time (in milliseconds) for a test case to succeed. + </summary> + </member> + <member name="M:NUnit.Framework.MaxTimeAttribute.#ctor(System.Int32)"> + <summary> + Construct a MaxTimeAttribute, given a time in milliseconds. + </summary> + <param name="milliseconds">The maximum elapsed time in milliseconds</param> + </member> + <member name="T:NUnit.Framework.NonParallelizableAttribute"> + <summary> + Marks tests that should NOT be run in parallel. + </summary> + </member> + <member name="M:NUnit.Framework.NonParallelizableAttribute.#ctor"> + <summary> + Construct a NonParallelizableAttribute. + </summary> + </member> + <member name="T:NUnit.Framework.NonTestAssemblyAttribute"> + <summary> + 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. + </summary> + </member> + <member name="T:NUnit.Framework.NUnitAttribute"> + <summary> + Abstract base class for all custom attributes defined by NUnit. + </summary> + </member> + <member name="M:NUnit.Framework.NUnitAttribute.#ctor"> + <summary> + Default constructor + </summary> + </member> + <member name="T:NUnit.Framework.OneTimeSetUpAttribute"> + <summary> + Identifies a method that is called once to perform setup before any child tests are run. + </summary> + </member> + <member name="T:NUnit.Framework.OneTimeTearDownAttribute"> + <summary> + 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. + </summary> + </member> + <member name="T:NUnit.Framework.OrderAttribute"> + <summary> + Defines the order that the test will run in + </summary> + </member> + <member name="F:NUnit.Framework.OrderAttribute.Order"> + <summary> + Defines the order that the test will run in + </summary> + </member> + <member name="M:NUnit.Framework.OrderAttribute.#ctor(System.Int32)"> + <summary> + Defines the order that the test will run in + </summary> + <param name="order"></param> + </member> + <member name="M:NUnit.Framework.OrderAttribute.ApplyToTest(NUnit.Framework.Internal.Test)"> + <summary> + Modifies a test as defined for the specific attribute. + </summary> + <param name="test">The test to modify</param> + </member> + <member name="T:NUnit.Framework.PairwiseAttribute"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.PairwiseAttribute.#ctor"> + <summary> + Default constructor + </summary> + </member> + <member name="T:NUnit.Framework.ParallelizableAttribute"> + <summary> + Marks a test assembly, fixture or method that may be run in parallel. + </summary> + </member> + <member name="M:NUnit.Framework.ParallelizableAttribute.#ctor"> + <summary> + Construct a ParallelizableAttribute using default ParallelScope.Self. + </summary> + </member> + <member name="M:NUnit.Framework.ParallelizableAttribute.#ctor(NUnit.Framework.ParallelScope)"> + <summary> + Construct a ParallelizableAttribute with a specified scope. + </summary> + <param name="scope">The ParallelScope associated with this attribute.</param> + </member> + <member name="P:NUnit.Framework.ParallelizableAttribute.Scope"> + <summary> + Defines the degree to which this test and its descendants may be run in parallel + </summary> + </member> + <member name="M:NUnit.Framework.ParallelizableAttribute.ApplyToTest(NUnit.Framework.Internal.Test)"> + <summary> + Overridden to check for invalid combinations of settings + </summary> + <param name="test"></param> + </member> + <member name="M:NUnit.Framework.ParallelizableAttribute.ApplyToContext(NUnit.Framework.Internal.TestExecutionContext)"> + <summary> + Modify the context to be used for child tests + </summary> + <param name="context">The current TestExecutionContext</param> + </member> + <member name="T:NUnit.Framework.ParallelScope"> + <summary> + Specifies the degree to which a test, and its descendants, + may be run in parallel. + </summary> + </member> + <member name="F:NUnit.Framework.ParallelScope.Default"> + <summary> + No ParallelScope was specified on the test + </summary> + </member> + <member name="F:NUnit.Framework.ParallelScope.Self"> + <summary> + The test may be run in parallel with others at the same level. + Valid on classes and methods but has no effect on assemblies. + </summary> + </member> + <member name="F:NUnit.Framework.ParallelScope.None"> + <summary> + Test may not be run in parallel with any others. Valid on + classes and methods but not assemblies. + </summary> + </member> + <member name="F:NUnit.Framework.ParallelScope.ItemMask"> + <summary> + Mask used to extract the flags that apply to the item on which a + ParallelizableAttribute has been placed, as opposed to descendants. + </summary> + </member> + <member name="F:NUnit.Framework.ParallelScope.Children"> + <summary> + Descendants of the test may be run in parallel with one another. + Valid on assemblies and classes but not on non-parameterized methods. + </summary> + </member> + <member name="F:NUnit.Framework.ParallelScope.Fixtures"> + <summary> + 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. + </summary> + </member> + <member name="F:NUnit.Framework.ParallelScope.ContextMask"> + <summary> + Mask used to extract all the flags that impact descendants of a + test and place them in the TestExecutionContext. + </summary> + </member> + <member name="F:NUnit.Framework.ParallelScope.All"> + <summary> + 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 <see cref="F:NUnit.Framework.ParallelScope.Children"/> + instead, as <see cref="F:NUnit.Framework.ParallelScope.Self"/> has no effect on assemblies. + </summary> + </member> + <member name="T:NUnit.Framework.PlatformAttribute"> + <summary> + Marks an assembly, test fixture or test method as applying to a specific platform. + </summary> + </member> + <member name="M:NUnit.Framework.PlatformAttribute.#ctor"> + <summary> + Constructor with no platforms specified, for use + with named property syntax. + </summary> + </member> + <member name="M:NUnit.Framework.PlatformAttribute.#ctor(System.String)"> + <summary> + Constructor taking one or more platforms + </summary> + <param name="platforms">Comma-delimited list of platforms</param> + </member> + <member name="M:NUnit.Framework.PlatformAttribute.ApplyToTest(NUnit.Framework.Internal.Test)"> + <summary> + Causes a test to be skipped if this PlatformAttribute is not satisfied. + </summary> + <param name="test">The test to modify</param> + </member> + <member name="T:NUnit.Framework.PropertyAttribute"> + <summary> + Attaches information to a test assembly, fixture or method as a name/value pair. + </summary> + </member> + <member name="M:NUnit.Framework.PropertyAttribute.#ctor(System.String,System.String)"> + <summary> + Construct a PropertyAttribute with a name and string value + </summary> + <param name="propertyName">The name of the property</param> + <param name="propertyValue">The property value</param> + </member> + <member name="M:NUnit.Framework.PropertyAttribute.#ctor(System.String,System.Int32)"> + <summary> + Construct a PropertyAttribute with a name and int value + </summary> + <param name="propertyName">The name of the property</param> + <param name="propertyValue">The property value</param> + </member> + <member name="M:NUnit.Framework.PropertyAttribute.#ctor(System.String,System.Double)"> + <summary> + Construct a PropertyAttribute with a name and double value + </summary> + <param name="propertyName">The name of the property</param> + <param name="propertyValue">The property value</param> + </member> + <member name="M:NUnit.Framework.PropertyAttribute.#ctor"> + <summary> + Constructor for derived classes that set the + property dictionary directly. + </summary> + </member> + <member name="M:NUnit.Framework.PropertyAttribute.#ctor(System.Object)"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.PropertyAttribute.Properties"> + <summary> + Gets the property dictionary for this attribute + </summary> + </member> + <member name="M:NUnit.Framework.PropertyAttribute.ApplyToTest(NUnit.Framework.Internal.Test)"> + <summary> + Modifies a test by adding properties to it. + </summary> + <param name="test">The test to modify</param> + </member> + <member name="T:NUnit.Framework.RandomAttribute"> + <summary> + Supplies a set of random values to a single parameter of a parameterized test. + </summary> + </member> + <member name="P:NUnit.Framework.RandomAttribute.Distinct"> + <summary> + If true, no value will be repeated. + </summary> + </member> + <member name="M:NUnit.Framework.RandomAttribute.#ctor(System.Int32)"> + <summary> + Construct a random set of values appropriate for the Type of the + parameter on which the attribute appears, specifying only the count. + </summary> + <param name="count"></param> + </member> + <member name="M:NUnit.Framework.RandomAttribute.#ctor(System.Int32,System.Int32,System.Int32)"> + <summary> + Generates <see cref="T:System.Int32"/> values within a specified range. + </summary> + </member> + <member name="M:NUnit.Framework.RandomAttribute.#ctor(System.UInt32,System.UInt32,System.Int32)"> + <summary> + Generates <see cref="T:System.UInt32"/> values within a specified range. + </summary> + </member> + <member name="M:NUnit.Framework.RandomAttribute.#ctor(System.Int64,System.Int64,System.Int32)"> + <summary> + Generates <see cref="T:System.Int64"/> values within a specified range. + </summary> + </member> + <member name="M:NUnit.Framework.RandomAttribute.#ctor(System.UInt64,System.UInt64,System.Int32)"> + <summary> + Generates <see cref="T:System.UInt64"/> values within a specified range. + </summary> + </member> + <member name="M:NUnit.Framework.RandomAttribute.#ctor(System.Int16,System.Int16,System.Int32)"> + <summary> + Generates <see cref="T:System.Int16"/> values within a specified range. + </summary> + </member> + <member name="M:NUnit.Framework.RandomAttribute.#ctor(System.UInt16,System.UInt16,System.Int32)"> + <summary> + Generates <see cref="T:System.UInt16"/> values within a specified range. + </summary> + </member> + <member name="M:NUnit.Framework.RandomAttribute.#ctor(System.Double,System.Double,System.Int32)"> + <summary> + Generates <see cref="T:System.Double"/> values within a specified range. + </summary> + </member> + <member name="M:NUnit.Framework.RandomAttribute.#ctor(System.Single,System.Single,System.Int32)"> + <summary> + Generates <see cref="T:System.Single"/> values within a specified range. + </summary> + </member> + <member name="M:NUnit.Framework.RandomAttribute.#ctor(System.Byte,System.Byte,System.Int32)"> + <summary> + Generates <see cref="T:System.Byte"/> values within a specified range. + </summary> + </member> + <member name="M:NUnit.Framework.RandomAttribute.#ctor(System.SByte,System.SByte,System.Int32)"> + <summary> + Generates <see cref="T:System.SByte"/> values within a specified range. + </summary> + </member> + <member name="M:NUnit.Framework.RandomAttribute.GetData(NUnit.Framework.Interfaces.IParameterInfo)"> + <summary> + Retrieves a list of arguments which can be passed to the specified parameter. + </summary> + <param name="parameter">The parameter of a parameterized test.</param> + </member> + <member name="T:NUnit.Framework.RangeAttribute"> + <summary> + Supplies a range of values to an individual parameter of a parameterized test. + </summary> + </member> + <member name="M:NUnit.Framework.RangeAttribute.#ctor(System.Int32,System.Int32)"> + <summary> + Constructs a range of <see cref="T:System.Int32"/> values using the default step of 1. + </summary> + </member> + <member name="M:NUnit.Framework.RangeAttribute.#ctor(System.Int32,System.Int32,System.Int32)"> + <summary> + Constructs a range of <see cref="T:System.Int32"/> values with the specified step size. + </summary> + </member> + <member name="M:NUnit.Framework.RangeAttribute.#ctor(System.UInt32,System.UInt32)"> + <summary> + Constructs a range of <see cref="T:System.UInt32"/> values using the default step of 1. + </summary> + </member> + <member name="M:NUnit.Framework.RangeAttribute.#ctor(System.UInt32,System.UInt32,System.UInt32)"> + <summary> + Constructs a range of <see cref="T:System.UInt32"/> values with the specified step size. + </summary> + </member> + <member name="M:NUnit.Framework.RangeAttribute.#ctor(System.Int64,System.Int64)"> + <summary> + Constructs a range of <see cref="T:System.Int64"/> values using a default step of 1. + </summary> + </member> + <member name="M:NUnit.Framework.RangeAttribute.#ctor(System.Int64,System.Int64,System.Int64)"> + <summary> + Constructs a range of <see cref="T:System.Int64"/> values with the specified step size. + </summary> + </member> + <member name="M:NUnit.Framework.RangeAttribute.#ctor(System.UInt64,System.UInt64)"> + <summary> + Constructs a range of <see cref="T:System.UInt64"/> values using the default step of 1. + </summary> + </member> + <member name="M:NUnit.Framework.RangeAttribute.#ctor(System.UInt64,System.UInt64,System.UInt64)"> + <summary> + Constructs a range of <see cref="T:System.UInt64"/> values with the specified step size. + </summary> + </member> + <member name="M:NUnit.Framework.RangeAttribute.#ctor(System.Double,System.Double,System.Double)"> + <summary> + Constructs a range of <see cref="T:System.Double"/> values with the specified step size. + </summary> + </member> + <member name="M:NUnit.Framework.RangeAttribute.#ctor(System.Single,System.Single,System.Single)"> + <summary> + Constructs a range of <see cref="T:System.Single"/> values with the specified step size. + </summary> + </member> + <member name="M:NUnit.Framework.RangeAttribute.GetData(NUnit.Framework.Interfaces.IParameterInfo)"> + <summary> + Retrieves a list of arguments which can be passed to the specified parameter. + </summary> + <param name="parameter">The parameter of a parameterized test.</param> + </member> + <member name="M:NUnit.Framework.RangeAttribute.ToString"> + <summary>Returns a string that represents the current object.</summary> + </member> + <member name="T:NUnit.Framework.RepeatAttribute"> + <summary> + Specifies that a test should be run multiple times. + </summary> + </member> + <member name="M:NUnit.Framework.RepeatAttribute.#ctor(System.Int32)"> + <summary> + Construct a RepeatAttribute + </summary> + <param name="count">The number of times to run the test</param> + </member> + <member name="M:NUnit.Framework.RepeatAttribute.Wrap(NUnit.Framework.Internal.Commands.TestCommand)"> + <summary> + Wrap a command and return the result. + </summary> + <param name="command">The command to be wrapped</param> + <returns>The wrapped command</returns> + </member> + <member name="T:NUnit.Framework.RepeatAttribute.RepeatedTestCommand"> + <summary> + The test command for the RepeatAttribute + </summary> + </member> + <member name="M:NUnit.Framework.RepeatAttribute.RepeatedTestCommand.#ctor(NUnit.Framework.Internal.Commands.TestCommand,System.Int32)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.RepeatAttribute.RepeatedTestCommand"/> class. + </summary> + <param name="innerCommand">The inner command.</param> + <param name="repeatCount">The number of repetitions</param> + </member> + <member name="M:NUnit.Framework.RepeatAttribute.RepeatedTestCommand.Execute(NUnit.Framework.Internal.TestExecutionContext)"> + <summary> + Runs the test, saving a TestResult in the supplied TestExecutionContext. + </summary> + <param name="context">The context in which the test should run.</param> + <returns>A TestResult</returns> + </member> + <member name="T:NUnit.Framework.RequiresThreadAttribute"> + <summary> + Marks a test that must run on a separate thread. + </summary> + </member> + <member name="M:NUnit.Framework.RequiresThreadAttribute.#ctor"> + <summary> + Construct a RequiresThreadAttribute + </summary> + </member> + <member name="M:NUnit.Framework.RequiresThreadAttribute.#ctor(System.Threading.ApartmentState)"> + <summary> + Construct a RequiresThreadAttribute, specifying the apartment + </summary> + </member> + <member name="T:NUnit.Framework.RetryAttribute"> + <summary> + Specifies that a test method should be rerun on failure up to the specified + maximum number of times. + </summary> + </member> + <member name="M:NUnit.Framework.RetryAttribute.#ctor(System.Int32)"> + <summary> + Construct a <see cref="T:NUnit.Framework.RetryAttribute" /> + </summary> + <param name="tryCount">The maximum number of times the test should be run if it fails</param> + </member> + <member name="M:NUnit.Framework.RetryAttribute.Wrap(NUnit.Framework.Internal.Commands.TestCommand)"> + <summary> + Wrap a command and return the result. + </summary> + <param name="command">The command to be wrapped</param> + <returns>The wrapped command</returns> + </member> + <member name="T:NUnit.Framework.RetryAttribute.RetryCommand"> + <summary> + The test command for the <see cref="T:NUnit.Framework.RetryAttribute"/> + </summary> + </member> + <member name="M:NUnit.Framework.RetryAttribute.RetryCommand.#ctor(NUnit.Framework.Internal.Commands.TestCommand,System.Int32)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.RetryAttribute.RetryCommand"/> class. + </summary> + <param name="innerCommand">The inner command.</param> + <param name="tryCount">The maximum number of repetitions</param> + </member> + <member name="M:NUnit.Framework.RetryAttribute.RetryCommand.Execute(NUnit.Framework.Internal.TestExecutionContext)"> + <summary> + Runs the test, saving a TestResult in the supplied TestExecutionContext. + </summary> + <param name="context">The context in which the test should run.</param> + <returns>A TestResult</returns> + </member> + <member name="T:NUnit.Framework.SequentialAttribute"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.SequentialAttribute.#ctor"> + <summary> + Default constructor + </summary> + </member> + <member name="T:NUnit.Framework.SetCultureAttribute"> + <summary> + 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. + </summary> + <seealso cref="T:NUnit.Framework.SetUICultureAttribute"/> + </member> + <member name="M:NUnit.Framework.SetCultureAttribute.#ctor(System.String)"> + <summary> + Construct given the name of a culture + </summary> + <param name="culture"></param> + </member> + <member name="T:NUnit.Framework.SetUICultureAttribute"> + <summary> + 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. + </summary> + <seealso cref="T:NUnit.Framework.SetCultureAttribute"/> + </member> + <member name="M:NUnit.Framework.SetUICultureAttribute.#ctor(System.String)"> + <summary> + Construct given the name of a culture + </summary> + <param name="culture"></param> + </member> + <member name="T:NUnit.Framework.SetUpAttribute"> + <summary> + Identifies a method to be called immediately before each test is run. + </summary> + </member> + <member name="T:NUnit.Framework.SetUpFixtureAttribute"> + <summary> + Identifies a class as containing <see cref="T:NUnit.Framework.OneTimeSetUpAttribute" /> or + <see cref="T:NUnit.Framework.OneTimeTearDownAttribute" /> methods for all the test fixtures + under a given namespace. + </summary> + </member> + <member name="M:NUnit.Framework.SetUpFixtureAttribute.BuildFrom(NUnit.Framework.Interfaces.ITypeInfo)"> + <summary> + Builds a <see cref="T:NUnit.Framework.Internal.SetUpFixture"/> from the specified type. + </summary> + <param name="typeInfo">The type info of the fixture to be used.</param> + </member> + <member name="T:NUnit.Framework.SingleThreadedAttribute"> + <summary> + 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 + <see cref="T:NUnit.Framework.Internal.TestExecutionContext"/> is set forcing all child tests + to be run sequentially on the current thread. + Any <see cref="T:NUnit.Framework.ParallelScope"/> setting is ignored. + </summary> + </member> + <member name="M:NUnit.Framework.SingleThreadedAttribute.ApplyToContext(NUnit.Framework.Internal.TestExecutionContext)"> + <summary> + Apply changes to the TestExecutionContext + </summary> + <param name="context">The TestExecutionContext</param> + </member> + <member name="T:NUnit.Framework.TearDownAttribute"> + <summary> + 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. + </summary> + </member> + <member name="T:NUnit.Framework.TestActionAttribute"> + <summary> + Abstract attribute providing actions to execute before and after tests. + </summary> + </member> + <member name="M:NUnit.Framework.TestActionAttribute.BeforeTest(NUnit.Framework.Interfaces.ITest)"> + <summary> + Executed before each test is run + </summary> + <param name="test">The test that is going to be run.</param> + </member> + <member name="M:NUnit.Framework.TestActionAttribute.AfterTest(NUnit.Framework.Interfaces.ITest)"> + <summary> + Executed after each test is run + </summary> + <param name="test">The test that has just been run.</param> + </member> + <member name="P:NUnit.Framework.TestActionAttribute.Targets"> + <summary> + Provides the target for the action attribute + </summary> + </member> + <member name="T:NUnit.Framework.TestAssemblyDirectoryResolveAttribute"> + <summary> + 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. + </summary> + </member> + <member name="T:NUnit.Framework.TestAttribute"> + <summary> + Marks the method as callable from the NUnit test runner. + </summary> + + <example> + [TestFixture] + public class Fixture + { + [Test] + public void MethodToTest() + {} + + [Test(Description = "more detailed description")] + public void TestDescriptionMethod() + {} + } + </example> + + </member> + <member name="P:NUnit.Framework.TestAttribute.Description"> + <summary> + Descriptive text for this test + </summary> + </member> + <member name="P:NUnit.Framework.TestAttribute.Author"> + <summary> + The author of this test + </summary> + </member> + <member name="P:NUnit.Framework.TestAttribute.TestOf"> + <summary> + The type that this test is testing + </summary> + </member> + <member name="P:NUnit.Framework.TestAttribute.ExpectedResult"> + <summary> + Gets or sets the expected result. Not valid if the test + method has parameters. + </summary> + <value>The result.</value> + </member> + <member name="M:NUnit.Framework.TestAttribute.ApplyToTest(NUnit.Framework.Internal.Test)"> + <summary> + Modifies a test by adding a description, if not already set. + </summary> + <param name="test">The test to modify</param> + </member> + <member name="M:NUnit.Framework.TestAttribute.BuildFrom(NUnit.Framework.Interfaces.IMethodInfo,NUnit.Framework.Internal.Test)"> + <summary> + Builds a single test from the specified method and context. + </summary> + <param name="method">The method for which a test is to be constructed.</param> + <param name="suite">The suite to which the test will be added.</param> + </member> + <member name="T:NUnit.Framework.TestCaseAttribute"> + <summary> + Marks a method as a parameterized test suite and provides arguments for each test case. + </summary> + </member> + <member name="M:NUnit.Framework.TestCaseAttribute.#ctor(System.Object[])"> + <summary> + Construct a TestCaseAttribute with a list of arguments. + This constructor is not CLS-Compliant + </summary> + <param name="arguments"></param> + </member> + <member name="M:NUnit.Framework.TestCaseAttribute.#ctor(System.Object)"> + <summary> + Construct a TestCaseAttribute with a single argument + </summary> + <param name="arg"></param> + </member> + <member name="M:NUnit.Framework.TestCaseAttribute.#ctor(System.Object,System.Object)"> + <summary> + Construct a TestCaseAttribute with a two arguments + </summary> + <param name="arg1"></param> + <param name="arg2"></param> + </member> + <member name="M:NUnit.Framework.TestCaseAttribute.#ctor(System.Object,System.Object,System.Object)"> + <summary> + Construct a TestCaseAttribute with a three arguments + </summary> + <param name="arg1"></param> + <param name="arg2"></param> + <param name="arg3"></param> + </member> + <member name="P:NUnit.Framework.TestCaseAttribute.TestName"> + <summary> + Gets or sets the name of the test. + </summary> + <value>The name of the test.</value> + </member> + <member name="P:NUnit.Framework.TestCaseAttribute.RunState"> + <summary> + Gets or sets the RunState of this test case. + </summary> + </member> + <member name="P:NUnit.Framework.TestCaseAttribute.Arguments"> + <summary> + Gets the list of arguments to a test case + </summary> + </member> + <member name="P:NUnit.Framework.TestCaseAttribute.Properties"> + <summary> + Gets the properties of the test case + </summary> + </member> + <member name="P:NUnit.Framework.TestCaseAttribute.ExpectedResult"> + <summary> + Gets or sets the expected result. + </summary> + <value>The result.</value> + </member> + <member name="P:NUnit.Framework.TestCaseAttribute.HasExpectedResult"> + <summary> + Returns true if the expected result has been set + </summary> + </member> + <member name="P:NUnit.Framework.TestCaseAttribute.Description"> + <summary> + Gets or sets the description. + </summary> + <value>The description.</value> + </member> + <member name="P:NUnit.Framework.TestCaseAttribute.Author"> + <summary> + The author of this test + </summary> + </member> + <member name="P:NUnit.Framework.TestCaseAttribute.TestOf"> + <summary> + The type that this test is testing + </summary> + </member> + <member name="P:NUnit.Framework.TestCaseAttribute.Ignore"> + <summary> + Gets or sets the reason for ignoring the test + </summary> + </member> + <member name="P:NUnit.Framework.TestCaseAttribute.Explicit"> + <summary> + Gets or sets a value indicating whether this <see cref="T:NUnit.Framework.TestCaseAttribute"/> is explicit. + </summary> + <value> + <see langword="true"/> if explicit; otherwise, <see langword="false"/>. + </value> + </member> + <member name="P:NUnit.Framework.TestCaseAttribute.Reason"> + <summary> + Gets or sets the reason for not running the test. + </summary> + <value>The reason.</value> + </member> + <member name="P:NUnit.Framework.TestCaseAttribute.IgnoreReason"> + <summary> + Gets or sets the ignore reason. When set to a non-null + non-empty value, the test is marked as ignored. + </summary> + <value>The ignore reason.</value> + </member> + <member name="P:NUnit.Framework.TestCaseAttribute.IncludePlatform"> + <summary> + Comma-delimited list of platforms to run the test for + </summary> + </member> + <member name="P:NUnit.Framework.TestCaseAttribute.ExcludePlatform"> + <summary> + Comma-delimited list of platforms to not run the test for + </summary> + </member> + <member name="P:NUnit.Framework.TestCaseAttribute.Category"> + <summary> + Gets and sets the category for this test case. + May be a comma-separated list of categories. + </summary> + </member> + <member name="P:NUnit.Framework.TestCaseAttribute.Until"> + <summary> + Gets and sets the ignore until date for this test case. + </summary> + </member> + <member name="M:NUnit.Framework.TestCaseAttribute.PerformSpecialConversions(System.Object[],NUnit.Framework.Interfaces.IParameterInfo[])"> + <summary> + 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. + </summary> + <param name="arglist">The arguments to be converted</param> + <param name="parameters">The ParameterInfo array for the method</param> + </member> + <member name="M:NUnit.Framework.TestCaseAttribute.BuildFrom(NUnit.Framework.Interfaces.IMethodInfo,NUnit.Framework.Internal.Test)"> + <summary> + Builds a single test from the specified method and context. + </summary> + <param name="method">The MethodInfo for which tests are to be constructed.</param> + <param name="suite">The suite to which the tests will be added.</param> + </member> + <member name="T:NUnit.Framework.TestCaseSourceAttribute"> + <summary> + Indicates the source to be used to provide test fixture instances for a test class. + </summary> + </member> + <member name="M:NUnit.Framework.TestCaseSourceAttribute.#ctor(System.String)"> + <summary> + Construct with the name of the method, property or field that will provide data + </summary> + <param name="sourceName">The name of a static method, property or field that will provide data.</param> + </member> + <member name="M:NUnit.Framework.TestCaseSourceAttribute.#ctor(System.Type,System.String,System.Object[])"> + <summary> + Construct with a Type and name + </summary> + <param name="sourceType">The Type that will provide data</param> + <param name="sourceName">The name of a static method, property or field that will provide data.</param> + <param name="methodParams">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.</param> + </member> + <member name="M:NUnit.Framework.TestCaseSourceAttribute.#ctor(System.Type,System.String)"> + <summary> + Construct with a Type and name + </summary> + <param name="sourceType">The Type that will provide data</param> + <param name="sourceName">The name of a static method, property or field that will provide data.</param> + </member> + <member name="M:NUnit.Framework.TestCaseSourceAttribute.#ctor(System.String,System.Object[])"> + <summary> + Construct with a name + </summary> + <param name="sourceName">The name of a static method, property or field that will provide data.</param> + <param name="methodParams">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.</param> + </member> + <member name="M:NUnit.Framework.TestCaseSourceAttribute.#ctor(System.Type)"> + <summary> + Construct with a Type + </summary> + <param name="sourceType">The type that will provide data</param> + </member> + <member name="P:NUnit.Framework.TestCaseSourceAttribute.MethodParams"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.TestCaseSourceAttribute.SourceName"> + <summary> + The name of a the method, property or field to be used as a source + </summary> + </member> + <member name="P:NUnit.Framework.TestCaseSourceAttribute.SourceType"> + <summary> + A Type to be used as a source + </summary> + </member> + <member name="P:NUnit.Framework.TestCaseSourceAttribute.Category"> + <summary> + Gets or sets the category associated with every fixture created from + this attribute. May be a single category or a comma-separated list. + </summary> + </member> + <member name="M:NUnit.Framework.TestCaseSourceAttribute.BuildFrom(NUnit.Framework.Interfaces.IMethodInfo,NUnit.Framework.Internal.Test)"> + <summary> + Builds any number of tests from the specified method and context. + </summary> + <param name="method">The IMethod for which tests are to be constructed.</param> + <param name="suite">The suite to which the tests will be added.</param> + </member> + <member name="T:NUnit.Framework.TestFixtureAttribute"> + <summary> + Marks the class as a TestFixture. + </summary> + </member> + <member name="M:NUnit.Framework.TestFixtureAttribute.#ctor"> + <summary> + Default constructor + </summary> + </member> + <member name="M:NUnit.Framework.TestFixtureAttribute.#ctor(System.Object[])"> + <summary> + Construct with a object[] representing a set of arguments. + The arguments may later be separated into type arguments and constructor arguments. + </summary> + <param name="arguments"></param> + </member> + <member name="P:NUnit.Framework.TestFixtureAttribute.TestName"> + <summary> + Gets or sets the name of the test. + </summary> + <value>The name of the test.</value> + </member> + <member name="P:NUnit.Framework.TestFixtureAttribute.RunState"> + <summary> + Gets or sets the RunState of this test fixture. + </summary> + </member> + <member name="P:NUnit.Framework.TestFixtureAttribute.Arguments"> + <summary> + The arguments originally provided to the attribute + </summary> + </member> + <member name="P:NUnit.Framework.TestFixtureAttribute.Properties"> + <summary> + Properties pertaining to this fixture + </summary> + </member> + <member name="P:NUnit.Framework.TestFixtureAttribute.TypeArgs"> + <summary> + Get or set the type arguments. If not set + explicitly, any leading arguments that are + Types are taken as type arguments. + </summary> + </member> + <member name="P:NUnit.Framework.TestFixtureAttribute.Description"> + <summary> + Descriptive text for this fixture + </summary> + </member> + <member name="P:NUnit.Framework.TestFixtureAttribute.Author"> + <summary> + The author of this fixture + </summary> + </member> + <member name="P:NUnit.Framework.TestFixtureAttribute.TestOf"> + <summary> + The type that this fixture is testing + </summary> + </member> + <member name="P:NUnit.Framework.TestFixtureAttribute.Ignore"> + <summary> + Gets or sets the ignore reason. May set RunState as a side effect. + </summary> + <value>The ignore reason.</value> + </member> + <member name="P:NUnit.Framework.TestFixtureAttribute.Reason"> + <summary> + Gets or sets the reason for not running the fixture. + </summary> + <value>The reason.</value> + </member> + <member name="P:NUnit.Framework.TestFixtureAttribute.IgnoreReason"> + <summary> + Gets or sets the ignore reason. When set to a non-null + non-empty value, the test is marked as ignored. + </summary> + <value>The ignore reason.</value> + </member> + <member name="P:NUnit.Framework.TestFixtureAttribute.Explicit"> + <summary> + Gets or sets a value indicating whether this <see cref="T:NUnit.Framework.TestFixtureAttribute"/> is explicit. + </summary> + <value> + <see langword="true"/> if explicit; otherwise, <see langword="false"/>. + </value> + </member> + <member name="P:NUnit.Framework.TestFixtureAttribute.Category"> + <summary> + Gets and sets the category for this fixture. + May be a comma-separated list of categories. + </summary> + </member> + <member name="M:NUnit.Framework.TestFixtureAttribute.BuildFrom(NUnit.Framework.Interfaces.ITypeInfo)"> + <summary> + Builds a single test fixture from the specified type. + </summary> + </member> + <member name="M:NUnit.Framework.TestFixtureAttribute.BuildFrom(NUnit.Framework.Interfaces.ITypeInfo,NUnit.Framework.Interfaces.IPreFilter)"> + <summary> + Builds a single test fixture from the specified type. + </summary> + <param name="typeInfo">The type info of the fixture to be used.</param> + <param name="filter">Filter used to select methods as tests.</param> + </member> + <member name="T:NUnit.Framework.TestFixtureSourceAttribute"> + <summary> + Identifies the source used to provide test fixture instances for a test class. + </summary> + </member> + <member name="F:NUnit.Framework.TestFixtureSourceAttribute.MUST_BE_STATIC"> + <summary> + Error message string is public so the tests can use it + </summary> + </member> + <member name="M:NUnit.Framework.TestFixtureSourceAttribute.#ctor(System.String)"> + <summary> + Construct with the name of the method, property or field that will provide data + </summary> + <param name="sourceName">The name of a static method, property or field that will provide data.</param> + </member> + <member name="M:NUnit.Framework.TestFixtureSourceAttribute.#ctor(System.Type,System.String)"> + <summary> + Construct with a Type and name + </summary> + <param name="sourceType">The Type that will provide data</param> + <param name="sourceName">The name of a static method, property or field that will provide data.</param> + </member> + <member name="M:NUnit.Framework.TestFixtureSourceAttribute.#ctor(System.Type)"> + <summary> + Construct with a Type + </summary> + <param name="sourceType">The type that will provide data</param> + </member> + <member name="P:NUnit.Framework.TestFixtureSourceAttribute.SourceName"> + <summary> + The name of a the method, property or field to be used as a source + </summary> + </member> + <member name="P:NUnit.Framework.TestFixtureSourceAttribute.SourceType"> + <summary> + A Type to be used as a source + </summary> + </member> + <member name="P:NUnit.Framework.TestFixtureSourceAttribute.Category"> + <summary> + Gets or sets the category associated with every fixture created from + this attribute. May be a single category or a comma-separated list. + </summary> + </member> + <member name="M:NUnit.Framework.TestFixtureSourceAttribute.BuildFrom(NUnit.Framework.Interfaces.ITypeInfo)"> + <summary> + Builds any number of test fixtures from the specified type. + </summary> + <param name="typeInfo">The TypeInfo for which fixtures are to be constructed.</param> + </member> + <member name="M:NUnit.Framework.TestFixtureSourceAttribute.BuildFrom(NUnit.Framework.Interfaces.ITypeInfo,NUnit.Framework.Interfaces.IPreFilter)"> + <summary> + Builds any number of test fixtures from the specified type. + </summary> + <param name="typeInfo">The TypeInfo for which fixtures are to be constructed.</param> + <param name="filter">PreFilter used to select methods as tests.</param> + </member> + <member name="M:NUnit.Framework.TestFixtureSourceAttribute.GetParametersFor(System.Type)"> + <summary> + Returns a set of ITestFixtureData items for use as arguments + to a parameterized test fixture. + </summary> + <param name="sourceType">The type for which data is needed.</param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.TestOfAttribute"> + <summary> + Indicates the method or class the assembly, test fixture or test method is testing. + </summary> + </member> + <member name="M:NUnit.Framework.TestOfAttribute.#ctor(System.Type)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.TestOfAttribute"/> class. + </summary> + <param name="type">The type that is being tested.</param> + </member> + <member name="M:NUnit.Framework.TestOfAttribute.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.TestOfAttribute"/> class. + </summary> + <param name="typeName">The type that is being tested.</param> + </member> + <member name="T:NUnit.Framework.TheoryAttribute"> + <summary> + Adding this attribute to a method within a <seealso cref="T:NUnit.Framework.TestFixtureAttribute"/> + 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. + </summary> + + <example> + [TestFixture] + public class Fixture + { + [Test] + public void MethodToTest() + {} + + [Test(Description = "more detailed description")] + public void TestDescriptionMethod() + {} + } + </example> + + </member> + <member name="M:NUnit.Framework.TheoryAttribute.#ctor"> + <summary> + Construct the attribute, specifying a combining strategy and source of parameter data. + </summary> + </member> + <member name="T:NUnit.Framework.TimeoutAttribute"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.TimeoutAttribute.#ctor(System.Int32)"> + <summary> + Construct a TimeoutAttribute given a time in milliseconds + </summary> + <param name="timeout">The timeout value in milliseconds</param> + </member> + <member name="T:NUnit.Framework.ValuesAttribute"> + <summary> + Provides literal arguments for an individual parameter of a test. + </summary> + </member> + <member name="F:NUnit.Framework.ValuesAttribute.data"> + <summary> + 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 + </summary> + </member> + <member name="M:NUnit.Framework.ValuesAttribute.#ctor"> + <summary> + Constructs for use with an Enum parameter. Will pass every enum + value in to the test. + </summary> + </member> + <member name="M:NUnit.Framework.ValuesAttribute.#ctor(System.Object)"> + <summary> + Construct with one argument + </summary> + <param name="arg1"></param> + </member> + <member name="M:NUnit.Framework.ValuesAttribute.#ctor(System.Object,System.Object)"> + <summary> + Construct with two arguments + </summary> + <param name="arg1"></param> + <param name="arg2"></param> + </member> + <member name="M:NUnit.Framework.ValuesAttribute.#ctor(System.Object,System.Object,System.Object)"> + <summary> + Construct with three arguments + </summary> + <param name="arg1"></param> + <param name="arg2"></param> + <param name="arg3"></param> + </member> + <member name="M:NUnit.Framework.ValuesAttribute.#ctor(System.Object[])"> + <summary> + Construct with an array of arguments + </summary> + <param name="args"></param> + </member> + <member name="M:NUnit.Framework.ValuesAttribute.GetData(NUnit.Framework.Interfaces.IParameterInfo)"> + <summary> + Retrieves a list of arguments which can be passed to the specified parameter. + </summary> + <param name="parameter">The parameter of a parameterized test.</param> + </member> + <member name="M:NUnit.Framework.ValuesAttribute.GenerateData(System.Type)"> + <summary> + To generate data for Values attribute, in case no data is provided. + </summary> + </member> + <member name="M:NUnit.Framework.ValuesAttribute.IsNullableEnum(System.Type)"> + <summary> + To Check if type is nullable enum. + </summary> + </member> + <member name="T:NUnit.Framework.ValueSourceAttribute"> + <summary> + Indicates the source used to provide data for one parameter of a test method. + </summary> + </member> + <member name="M:NUnit.Framework.ValueSourceAttribute.#ctor(System.String)"> + <summary> + Construct with the name of the factory - for use with languages + that don't support params arrays. + </summary> + <param name="sourceName">The name of a static method, property or field that will provide data.</param> + </member> + <member name="M:NUnit.Framework.ValueSourceAttribute.#ctor(System.Type,System.String)"> + <summary> + Construct with a Type and name - for use with languages + that don't support params arrays. + </summary> + <param name="sourceType">The Type that will provide data</param> + <param name="sourceName">The name of a static method, property or field that will provide data.</param> + </member> + <member name="P:NUnit.Framework.ValueSourceAttribute.SourceName"> + <summary> + The name of a the method, property or field to be used as a source + </summary> + </member> + <member name="P:NUnit.Framework.ValueSourceAttribute.SourceType"> + <summary> + A Type to be used as a source + </summary> + </member> + <member name="M:NUnit.Framework.ValueSourceAttribute.GetData(NUnit.Framework.Interfaces.IParameterInfo)"> + <summary> + Retrieves a list of arguments which can be passed to the specified parameter. + </summary> + <param name="parameter">The parameter of a parameterized test.</param> + </member> + <member name="T:NUnit.Framework.CollectionAssert"> + <summary> + A set of Assert methods operating on one or more collections + </summary> + </member> + <member name="M:NUnit.Framework.CollectionAssert.Equals(System.Object,System.Object)"> + <summary> + 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. + </summary> + <param name="a"></param> + <param name="b"></param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.ReferenceEquals(System.Object,System.Object)"> + <summary> + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + </summary> + <param name="a"></param> + <param name="b"></param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.AllItemsAreInstancesOfType(System.Collections.IEnumerable,System.Type)"> + <summary> + Asserts that all items contained in collection are of the type specified by expectedType. + </summary> + <param name="collection">IEnumerable containing objects to be considered</param> + <param name="expectedType">System.Type that all objects in collection must be instances of</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.AllItemsAreInstancesOfType(System.Collections.IEnumerable,System.Type,System.String,System.Object[])"> + <summary> + Asserts that all items contained in collection are of the type specified by expectedType. + </summary> + <param name="collection">IEnumerable containing objects to be considered</param> + <param name="expectedType">System.Type that all objects in collection must be instances of</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.AllItemsAreNotNull(System.Collections.IEnumerable)"> + <summary> + Asserts that all items contained in collection are not equal to null. + </summary> + <param name="collection">IEnumerable containing objects to be considered</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.AllItemsAreNotNull(System.Collections.IEnumerable,System.String,System.Object[])"> + <summary> + Asserts that all items contained in collection are not equal to null. + </summary> + <param name="collection">IEnumerable of objects to be considered</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.AllItemsAreUnique(System.Collections.IEnumerable)"> + <summary> + Ensures that every object contained in collection exists within the collection + once and only once. + </summary> + <param name="collection">IEnumerable of objects to be considered</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.AllItemsAreUnique(System.Collections.IEnumerable,System.String,System.Object[])"> + <summary> + Ensures that every object contained in collection exists within the collection + once and only once. + </summary> + <param name="collection">IEnumerable of objects to be considered</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.AreEqual(System.Collections.IEnumerable,System.Collections.IEnumerable)"> + <summary> + 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. + </summary> + <param name="expected">The first IEnumerable of objects to be considered</param> + <param name="actual">The second IEnumerable of objects to be considered</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.AreEqual(System.Collections.IEnumerable,System.Collections.IEnumerable,System.Collections.IComparer)"> + <summary> + 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. + </summary> + <param name="expected">The first IEnumerable of objects to be considered</param> + <param name="actual">The second IEnumerable of objects to be considered</param> + <param name="comparer">The IComparer to use in comparing objects from each IEnumerable</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.AreEqual(System.Collections.IEnumerable,System.Collections.IEnumerable,System.String,System.Object[])"> + <summary> + 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. + </summary> + <param name="expected">The first IEnumerable of objects to be considered</param> + <param name="actual">The second IEnumerable of objects to be considered</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.AreEqual(System.Collections.IEnumerable,System.Collections.IEnumerable,System.Collections.IComparer,System.String,System.Object[])"> + <summary> + 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. + </summary> + <param name="expected">The first IEnumerable of objects to be considered</param> + <param name="actual">The second IEnumerable of objects to be considered</param> + <param name="comparer">The IComparer to use in comparing objects from each IEnumerable</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.AreEquivalent(System.Collections.IEnumerable,System.Collections.IEnumerable)"> + <summary> + Asserts that expected and actual are equivalent, containing the same objects but the match may be in any order. + </summary> + <param name="expected">The first IEnumerable of objects to be considered</param> + <param name="actual">The second IEnumerable of objects to be considered</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.AreEquivalent(System.Collections.IEnumerable,System.Collections.IEnumerable,System.String,System.Object[])"> + <summary> + Asserts that expected and actual are equivalent, containing the same objects but the match may be in any order. + </summary> + <param name="expected">The first IEnumerable of objects to be considered</param> + <param name="actual">The second IEnumerable of objects to be considered</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.AreNotEqual(System.Collections.IEnumerable,System.Collections.IEnumerable)"> + <summary> + Asserts that expected and actual are not exactly equal. + </summary> + <param name="expected">The first IEnumerable of objects to be considered</param> + <param name="actual">The second IEnumerable of objects to be considered</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.AreNotEqual(System.Collections.IEnumerable,System.Collections.IEnumerable,System.Collections.IComparer)"> + <summary> + Asserts that expected and actual are not exactly equal. + If comparer is not null then it will be used to compare the objects. + </summary> + <param name="expected">The first IEnumerable of objects to be considered</param> + <param name="actual">The second IEnumerable of objects to be considered</param> + <param name="comparer">The IComparer to use in comparing objects from each IEnumerable</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.AreNotEqual(System.Collections.IEnumerable,System.Collections.IEnumerable,System.String,System.Object[])"> + <summary> + Asserts that expected and actual are not exactly equal. + </summary> + <param name="expected">The first IEnumerable of objects to be considered</param> + <param name="actual">The second IEnumerable of objects to be considered</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.AreNotEqual(System.Collections.IEnumerable,System.Collections.IEnumerable,System.Collections.IComparer,System.String,System.Object[])"> + <summary> + Asserts that expected and actual are not exactly equal. + If comparer is not null then it will be used to compare the objects. + </summary> + <param name="expected">The first IEnumerable of objects to be considered</param> + <param name="actual">The second IEnumerable of objects to be considered</param> + <param name="comparer">The IComparer to use in comparing objects from each IEnumerable</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.AreNotEquivalent(System.Collections.IEnumerable,System.Collections.IEnumerable)"> + <summary> + Asserts that expected and actual are not equivalent. + </summary> + <param name="expected">The first IEnumerable of objects to be considered</param> + <param name="actual">The second IEnumerable of objects to be considered</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.AreNotEquivalent(System.Collections.IEnumerable,System.Collections.IEnumerable,System.String,System.Object[])"> + <summary> + Asserts that expected and actual are not equivalent. + </summary> + <param name="expected">The first IEnumerable of objects to be considered</param> + <param name="actual">The second IEnumerable of objects to be considered</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.Contains(System.Collections.IEnumerable,System.Object)"> + <summary> + Asserts that collection contains actual as an item. + </summary> + <param name="collection">IEnumerable of objects to be considered</param> + <param name="actual">Object to be found within collection</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.Contains(System.Collections.IEnumerable,System.Object,System.String,System.Object[])"> + <summary> + Asserts that collection contains actual as an item. + </summary> + <param name="collection">IEnumerable of objects to be considered</param> + <param name="actual">Object to be found within collection</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.DoesNotContain(System.Collections.IEnumerable,System.Object)"> + <summary> + Asserts that collection does not contain actual as an item. + </summary> + <param name="collection">IEnumerable of objects to be considered</param> + <param name="actual">Object that cannot exist within collection</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.DoesNotContain(System.Collections.IEnumerable,System.Object,System.String,System.Object[])"> + <summary> + Asserts that collection does not contain actual as an item. + </summary> + <param name="collection">IEnumerable of objects to be considered</param> + <param name="actual">Object that cannot exist within collection</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.IsNotSubsetOf(System.Collections.IEnumerable,System.Collections.IEnumerable)"> + <summary> + Asserts that the superset does not contain the subset + </summary> + <param name="subset">The IEnumerable subset to be considered</param> + <param name="superset">The IEnumerable superset to be considered</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.IsNotSubsetOf(System.Collections.IEnumerable,System.Collections.IEnumerable,System.String,System.Object[])"> + <summary> + Asserts that the superset does not contain the subset + </summary> + <param name="subset">The IEnumerable subset to be considered</param> + <param name="superset">The IEnumerable superset to be considered</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.IsSubsetOf(System.Collections.IEnumerable,System.Collections.IEnumerable)"> + <summary> + Asserts that the superset contains the subset. + </summary> + <param name="subset">The IEnumerable subset to be considered</param> + <param name="superset">The IEnumerable superset to be considered</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.IsSubsetOf(System.Collections.IEnumerable,System.Collections.IEnumerable,System.String,System.Object[])"> + <summary> + Asserts that the superset contains the subset. + </summary> + <param name="subset">The IEnumerable subset to be considered</param> + <param name="superset">The IEnumerable superset to be considered</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.IsNotSupersetOf(System.Collections.IEnumerable,System.Collections.IEnumerable)"> + <summary> + Asserts that the subset does not contain the superset + </summary> + <param name="superset">The IEnumerable superset to be considered</param> + <param name="subset">The IEnumerable subset to be considered</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.IsNotSupersetOf(System.Collections.IEnumerable,System.Collections.IEnumerable,System.String,System.Object[])"> + <summary> + Asserts that the subset does not contain the superset + </summary> + <param name="superset">The IEnumerable superset to be considered</param> + <param name="subset">The IEnumerable subset to be considered</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.IsSupersetOf(System.Collections.IEnumerable,System.Collections.IEnumerable)"> + <summary> + Asserts that the subset contains the superset. + </summary> + <param name="superset">The IEnumerable superset to be considered</param> + <param name="subset">The IEnumerable subset to be considered</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.IsSupersetOf(System.Collections.IEnumerable,System.Collections.IEnumerable,System.String,System.Object[])"> + <summary> + Asserts that the subset contains the superset. + </summary> + <param name="superset">The IEnumerable superset to be considered</param> + <param name="subset">The IEnumerable subset to be considered</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.IsEmpty(System.Collections.IEnumerable,System.String,System.Object[])"> + <summary> + Assert that an array, list or other collection is empty + </summary> + <param name="collection">An array, list or other collection implementing IEnumerable</param> + <param name="message">The message to be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.IsEmpty(System.Collections.IEnumerable)"> + <summary> + Assert that an array,list or other collection is empty + </summary> + <param name="collection">An array, list or other collection implementing IEnumerable</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.IsNotEmpty(System.Collections.IEnumerable,System.String,System.Object[])"> + <summary> + Assert that an array, list or other collection is empty + </summary> + <param name="collection">An array, list or other collection implementing IEnumerable</param> + <param name="message">The message to be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.IsNotEmpty(System.Collections.IEnumerable)"> + <summary> + Assert that an array,list or other collection is empty + </summary> + <param name="collection">An array, list or other collection implementing IEnumerable</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.IsOrdered(System.Collections.IEnumerable,System.String,System.Object[])"> + <summary> + Assert that an array, list or other collection is ordered + </summary> + <param name="collection">An array, list or other collection implementing IEnumerable</param> + <param name="message">The message to be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.IsOrdered(System.Collections.IEnumerable)"> + <summary> + Assert that an array, list or other collection is ordered + </summary> + <param name="collection">An array, list or other collection implementing IEnumerable</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.IsOrdered(System.Collections.IEnumerable,System.Collections.IComparer,System.String,System.Object[])"> + <summary> + Assert that an array, list or other collection is ordered + </summary> + <param name="collection">An array, list or other collection implementing IEnumerable</param> + <param name="comparer">A custom comparer to perform the comparisons</param> + <param name="message">The message to be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.IsOrdered(System.Collections.IEnumerable,System.Collections.IComparer)"> + <summary> + Assert that an array, list or other collection is ordered + </summary> + <param name="collection">An array, list or other collection implementing IEnumerable</param> + <param name="comparer">A custom comparer to perform the comparisons</param> + </member> + <member name="T:NUnit.Framework.Constraints.AllItemsConstraint"> + <summary> + AllItemsConstraint applies another constraint to each + item in a collection, succeeding if they all succeed. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.AllItemsConstraint.#ctor(NUnit.Framework.Constraints.IConstraint)"> + <summary> + Construct an AllItemsConstraint on top of an existing constraint + </summary> + <param name="itemConstraint"></param> + </member> + <member name="P:NUnit.Framework.Constraints.AllItemsConstraint.DisplayName"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.AllItemsConstraint.ApplyTo``1(``0)"> + <summary> + Apply the item constraint to each item in the collection, + failing if any item fails. + </summary> + <param name="actual"></param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Constraints.AndConstraint"> + <summary> + AndConstraint succeeds only if both members succeed. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.AndConstraint.#ctor(NUnit.Framework.Constraints.IConstraint,NUnit.Framework.Constraints.IConstraint)"> + <summary> + Create an AndConstraint from two other constraints + </summary> + <param name="left">The first constraint</param> + <param name="right">The second constraint</param> + </member> + <member name="P:NUnit.Framework.Constraints.AndConstraint.Description"> + <summary> + Gets text describing a constraint + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.AndConstraint.ApplyTo``1(``0)"> + <summary> + Apply both member constraints to an actual value, succeeding + succeeding only if both of them succeed. + </summary> + <param name="actual">The actual value</param> + <returns>True if the constraints both succeeded</returns> + </member> + <member name="M:NUnit.Framework.Constraints.AndConstraint.AndConstraintResult.WriteActualValueTo(NUnit.Framework.Constraints.MessageWriter)"> + <summary> + 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. + </summary> + <param name="writer">The writer on which the actual value is displayed</param> + </member> + <member name="T:NUnit.Framework.Constraints.AnyOfConstraint"> + <summary> + <see cref="T:NUnit.Framework.Constraints.AnyOfConstraint"/> is used to determine whether the value is equal to any of the expected values. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.AnyOfConstraint.#ctor(System.Object[])"> + <summary> + Construct a <see cref="T:NUnit.Framework.Constraints.AnyOfConstraint"/> + </summary> + <param name="expected">Collection of expected values</param> + </member> + <member name="P:NUnit.Framework.Constraints.AnyOfConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.AnyOfConstraint.ApplyTo``1(``0)"> + <summary> + Test whether item is present in expected collection + </summary> + <typeparam name="TActual">Actual item type</typeparam> + <param name="actual">Actual item</param> + </member> + <member name="P:NUnit.Framework.Constraints.AnyOfConstraint.IgnoreCase"> + <summary> + Flag the constraint to ignore case and return self. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.AnyOfConstraint.Using(System.Collections.IComparer)"> + <summary> + Flag the constraint to use the supplied IComparer object. + </summary> + <param name="comparer">The IComparer object to use.</param> + </member> + <member name="M:NUnit.Framework.Constraints.AnyOfConstraint.Using``1(System.Collections.Generic.IComparer{``0})"> + <summary> + Flag the constraint to use the supplied IComparer object. + </summary> + <param name="comparer">The IComparer object to use.</param> + </member> + <member name="M:NUnit.Framework.Constraints.AnyOfConstraint.Using``1(System.Comparison{``0})"> + <summary> + Flag the constraint to use the supplied Comparison object. + </summary> + <param name="comparer">The Comparison object to use.</param> + </member> + <member name="M:NUnit.Framework.Constraints.AnyOfConstraint.Using(System.Collections.IEqualityComparer)"> + <summary> + Flag the constraint to use the supplied IEqualityComparer object. + </summary> + <param name="comparer">The IEqualityComparer object to use.</param> + </member> + <member name="M:NUnit.Framework.Constraints.AnyOfConstraint.Using``1(System.Collections.Generic.IEqualityComparer{``0})"> + <summary> + Flag the constraint to use the supplied IEqualityComparer object. + </summary> + <param name="comparer">The IComparer object to use.</param> + </member> + <member name="M:NUnit.Framework.Constraints.AnyOfConstraint.Using``1(System.Func{``0,``0,System.Boolean})"> + <summary> + Flag the constraint to use the supplied boolean-returning delegate. + </summary> + <param name="comparer">The supplied boolean-returning delegate to use.</param> + </member> + <member name="T:NUnit.Framework.Constraints.AssignableFromConstraint"> + <summary> + AssignableFromConstraint is used to test that an object + can be assigned from a given Type. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.AssignableFromConstraint.#ctor(System.Type)"> + <summary> + Construct an AssignableFromConstraint for the type provided + </summary> + <param name="type"></param> + </member> + <member name="M:NUnit.Framework.Constraints.AssignableFromConstraint.Matches(System.Object)"> + <summary> + Apply the constraint to an actual value, returning true if it succeeds + </summary> + <param name="actual">The actual argument</param> + <returns>True if the constraint succeeds, otherwise false.</returns> + </member> + <member name="T:NUnit.Framework.Constraints.AssignableToConstraint"> + <summary> + AssignableToConstraint is used to test that an object + can be assigned to a given Type. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.AssignableToConstraint.#ctor(System.Type)"> + <summary> + Construct an AssignableToConstraint for the type provided + </summary> + <param name="type"></param> + </member> + <member name="M:NUnit.Framework.Constraints.AssignableToConstraint.Matches(System.Object)"> + <summary> + Apply the constraint to an actual value, returning true if it succeeds + </summary> + <param name="actual">The actual argument</param> + <returns>True if the constraint succeeds, otherwise false.</returns> + </member> + <member name="T:NUnit.Framework.Constraints.AttributeConstraint"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.AttributeConstraint.#ctor(System.Type,NUnit.Framework.Constraints.IConstraint)"> + <summary> + Constructs an AttributeConstraint for a specified attribute + Type and base constraint. + </summary> + <param name="type"></param> + <param name="baseConstraint"></param> + </member> + <member name="M:NUnit.Framework.Constraints.AttributeConstraint.ApplyTo``1(``0)"> + <summary> + Determines whether the Type or other provider has the + expected attribute and if its value matches the + additional constraint specified. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.AttributeConstraint.GetStringRepresentation"> + <summary> + Returns a string representation of the constraint. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.AttributeExistsConstraint"> + <summary> + AttributeExistsConstraint tests for the presence of a + specified attribute on a Type. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.AttributeExistsConstraint.#ctor(System.Type)"> + <summary> + Constructs an AttributeExistsConstraint for a specific attribute Type + </summary> + <param name="type"></param> + </member> + <member name="P:NUnit.Framework.Constraints.AttributeExistsConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.AttributeExistsConstraint.ApplyTo``1(``0)"> + <summary> + Tests whether the object provides the expected attribute. + </summary> + <param name="actual">A Type, MethodInfo, or other ICustomAttributeProvider</param> + <returns>True if the expected attribute is present, otherwise false</returns> + </member> + <member name="T:NUnit.Framework.Constraints.BinaryConstraint"> + <summary> + BinaryConstraint is the abstract base of all constraints + that combine two other constraints in some fashion. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.BinaryConstraint.Left"> + <summary> + The first constraint being combined + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.BinaryConstraint.Right"> + <summary> + The second constraint being combined + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.BinaryConstraint.#ctor(NUnit.Framework.Constraints.IConstraint,NUnit.Framework.Constraints.IConstraint)"> + <summary> + Construct a BinaryConstraint from two other constraints + </summary> + <param name="left">The first constraint</param> + <param name="right">The second constraint</param> + </member> + <member name="T:NUnit.Framework.Constraints.BinarySerializableConstraint"> + <summary> + BinarySerializableConstraint tests whether + an object is serializable in binary format. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.BinarySerializableConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.BinarySerializableConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="M:NUnit.Framework.Constraints.BinarySerializableConstraint.GetStringRepresentation"> + <summary> + Returns the string representation + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.CollectionConstraint"> + <summary> + CollectionConstraint is the abstract base class for + constraints that operate on collections. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionConstraint.#ctor"> + <summary> + Construct an empty CollectionConstraint + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionConstraint.#ctor(System.Object)"> + <summary> + Construct a CollectionConstraint + </summary> + <param name="arg"></param> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionConstraint.IsEmpty(System.Collections.IEnumerable)"> + <summary> + Determines whether the specified enumerable is empty. + </summary> + <param name="enumerable">The enumerable.</param> + <returns> + <see langword="true"/> if the specified enumerable is empty; otherwise, <see langword="false"/>. + </returns> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionConstraint.Matches(System.Collections.IEnumerable)"> + <summary> + Protected method to be implemented by derived classes + </summary> + <param name="collection"></param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Constraints.CollectionContainsConstraint"> + <summary> + CollectionContainsConstraint is used to test whether a collection + contains an expected object as a member. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionContainsConstraint.#ctor(System.Object)"> + <summary> + Construct a CollectionContainsConstraint + </summary> + <param name="expected"></param> + </member> + <member name="P:NUnit.Framework.Constraints.CollectionContainsConstraint.DisplayName"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.CollectionContainsConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.CollectionContainsConstraint.Expected"> + <summary> + Gets the expected object + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionContainsConstraint.Matches(System.Collections.IEnumerable)"> + <summary> + Test whether the expected item is contained in the collection + </summary> + <param name="actual"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionContainsConstraint.Using``2(System.Func{``0,``1,System.Boolean})"> + <summary> + Flag the constraint to use the supplied predicate function + </summary> + <param name="comparison">The comparison function to use.</param> + <returns>Self.</returns> + </member> + <member name="T:NUnit.Framework.Constraints.CollectionEquivalentConstraint"> + <summary> + CollectionEquivalentConstraint is used to determine whether two + collections are equivalent. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.CollectionEquivalentConstraint._tallyResult"> + <summary>The result of the <see cref="T:NUnit.Framework.Constraints.CollectionTally"/> from the collections + under comparison.</summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionEquivalentConstraint.#ctor(System.Collections.IEnumerable)"> + <summary>Construct a CollectionEquivalentConstraint</summary> + <param name="expected">Expected collection.</param> + </member> + <member name="P:NUnit.Framework.Constraints.CollectionEquivalentConstraint.DisplayName"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.CollectionEquivalentConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionEquivalentConstraint.Matches(System.Collections.IEnumerable)"> + <summary> + Test whether two collections are equivalent + </summary> + <param name="actual"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionEquivalentConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the collection is equivalent to the expected. + </summary> + <typeparam name="TActual"> + Actual collection type. + </typeparam> + <param name="actual"> + Actual collection to compare. + </param> + <returns> + A <see cref="T:NUnit.Framework.Constraints.CollectionEquivalentConstraintResult"/> indicating whether or not + the two collections are equivalent. + </returns> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionEquivalentConstraint.Using``2(System.Func{``0,``1,System.Boolean})"> + <summary> + Flag the constraint to use the supplied predicate function + </summary> + <param name="comparison">The comparison function to use.</param> + <returns>Self.</returns> + </member> + <member name="T:NUnit.Framework.Constraints.CollectionEquivalentConstraintResult"> + <summary>Provides a <see cref="T:NUnit.Framework.Constraints.ConstraintResult"/> for the <see cref="T:NUnit.Framework.Constraints.CollectionEquivalentConstraint"/>.</summary> + </member> + <member name="F:NUnit.Framework.Constraints.CollectionEquivalentConstraintResult._tallyResult"> + <summary>Result of a <see cref="T:NUnit.Framework.Constraints.CollectionTally"/> of the collections to compare for equivalence.</summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionEquivalentConstraintResult.#ctor(NUnit.Framework.Constraints.CollectionEquivalentConstraint,NUnit.Framework.Constraints.CollectionTally.CollectionTallyResult,System.Object,System.Boolean)"> + <summary>Construct a <see cref="T:NUnit.Framework.Constraints.CollectionEquivalentConstraintResult"/> using a <see cref="T:NUnit.Framework.Constraints.CollectionTally.CollectionTallyResult"/>.</summary> + <param name="constraint">Source <see cref="T:NUnit.Framework.Constraints.CollectionEquivalentConstraint"/>.</param> + <param name="tallyResult">Result of the collection comparison.</param> + <param name="actual">Actual collection to compare.</param> + <param name="isSuccess">Whether or not the <see cref="T:NUnit.Framework.Constraints.CollectionEquivalentConstraint"/> succeeded.</param> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionEquivalentConstraintResult.WriteAdditionalLinesTo(NUnit.Framework.Constraints.MessageWriter)"> + <summary>Write any additional lines (following <c>Expected:</c> and <c>But was:</c>) for a failing constraint.</summary> + <param name="writer">The <see cref="T:NUnit.Framework.Constraints.MessageWriter"/> to write the failure message to.</param> + </member> + <member name="T:NUnit.Framework.Constraints.CollectionItemsEqualConstraint"> + <summary> + CollectionItemsEqualConstraint is the abstract base class for all + collection constraints that apply some notion of item equality + as a part of their operation. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.CollectionItemsEqualConstraint._comparer"> + <summary> + The NUnitEqualityComparer in use for this constraint + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionItemsEqualConstraint.#ctor"> + <summary> + Construct an empty CollectionConstraint + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionItemsEqualConstraint.#ctor(System.Object)"> + <summary> + Construct a CollectionConstraint + </summary> + <param name="arg"></param> + </member> + <member name="P:NUnit.Framework.Constraints.CollectionItemsEqualConstraint.IgnoringCase"> + <summary> + Get a flag indicating whether the user requested us to ignore case. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.CollectionItemsEqualConstraint.UsingExternalComparer"> + <summary> + Get a flag indicating whether any external comparers are in use. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.CollectionItemsEqualConstraint.IgnoreCase"> + <summary> + Flag the constraint to ignore case and return self. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionItemsEqualConstraint.Using(System.Collections.IComparer)"> + <summary> + Flag the constraint to use the supplied IComparer object. + </summary> + <param name="comparer">The IComparer object to use.</param> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionItemsEqualConstraint.Using``1(System.Collections.Generic.IComparer{``0})"> + <summary> + Flag the constraint to use the supplied IComparer object. + </summary> + <param name="comparer">The IComparer object to use.</param> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionItemsEqualConstraint.Using``1(System.Comparison{``0})"> + <summary> + Flag the constraint to use the supplied Comparison object. + </summary> + <param name="comparison">The Comparison object to use.</param> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionItemsEqualConstraint.Using(System.Collections.IEqualityComparer)"> + <summary> + Flag the constraint to use the supplied IEqualityComparer object. + </summary> + <param name="comparer">The IComparer object to use.</param> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionItemsEqualConstraint.Using``1(System.Collections.Generic.IEqualityComparer{``0})"> + <summary> + Flag the constraint to use the supplied IEqualityComparer object. + </summary> + <param name="comparer">The IComparer object to use.</param> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionItemsEqualConstraint.Using``1(System.Func{``0,``0,System.Boolean})"> + <summary> + Flag the constraint to use the supplied boolean-returning delegate. + </summary> + <param name="comparer">The supplied boolean-returning delegate to use.</param> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionItemsEqualConstraint.ItemsEqual(System.Object,System.Object)"> + <summary> + Compares two collection members for equality + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionItemsEqualConstraint.Tally(System.Collections.IEnumerable)"> + <summary> + Return a new CollectionTally for use in making tests + </summary> + <param name="c">The collection to be included in the tally</param> + </member> + <member name="T:NUnit.Framework.Constraints.CollectionOrderedConstraint"> + <summary> + CollectionOrderedConstraint is used to test whether a collection is ordered. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionOrderedConstraint.#ctor"> + <summary> + Construct a CollectionOrderedConstraint + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.CollectionOrderedConstraint.DisplayName"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.CollectionOrderedConstraint.Ascending"> + <summary> + If used performs a default ascending comparison + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.CollectionOrderedConstraint.Descending"> + <summary> + If used performs a reverse comparison + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionOrderedConstraint.Using(System.Collections.IComparer)"> + <summary> + Modifies the constraint to use an <see cref="T:System.Collections.IComparer"/> and returns self. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionOrderedConstraint.Using``1(System.Collections.Generic.IComparer{``0})"> + <summary> + Modifies the constraint to use an <see cref="T:System.Collections.Generic.IComparer`1"/> and returns self. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionOrderedConstraint.Using``1(System.Comparison{``0})"> + <summary> + Modifies the constraint to use a <see cref="T:System.Comparison`1"/> and returns self. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionOrderedConstraint.By(System.String)"> + <summary> + Modifies the constraint to test ordering by the value of + a specified property and returns self. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.CollectionOrderedConstraint.Then"> + <summary> + Then signals a break between two ordering steps + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.CollectionOrderedConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionOrderedConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionOrderedConstraint.Matches(System.Collections.IEnumerable)"> + <summary> + Test whether the collection is ordered + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionOrderedConstraint.GetStringRepresentation"> + <summary> + Returns the string representation of the constraint. + </summary> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Constraints.CollectionOrderedConstraint.OrderingStep"> + <summary> + An OrderingStep represents one stage of the sort + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionOrderedConstraint.CollectionOrderedConstraintResult.#ctor(NUnit.Framework.Constraints.IConstraint,System.Collections.IEnumerable)"> + <summary> + Constructor for success result. + </summary> + <param name="constraint">The Constraint to which this result applies.</param> + <param name="actualValue">The actual value to which the Constraint was applied.</param> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionOrderedConstraint.CollectionOrderedConstraintResult.#ctor(NUnit.Framework.Constraints.IConstraint,System.Collections.IEnumerable,System.Int32,System.Object)"> + <summary> + Constructor for failure result. + </summary> + <param name="constraint">The Constraint to which this result applies.</param> + <param name="actualValue">The actual value to which the Constraint was applied.</param> + <param name="breakingIndex">Index at which collection order breaks.</param> + <param name="breakingValue">Value at which collection order breaks.</param> + </member> + <member name="T:NUnit.Framework.Constraints.CollectionSubsetConstraint"> + <summary> + CollectionSubsetConstraint is used to determine whether + one collection is a subset of another + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionSubsetConstraint.#ctor(System.Collections.IEnumerable)"> + <summary> + Construct a CollectionSubsetConstraint + </summary> + <param name="expected">The collection that the actual value is expected to be a subset of</param> + </member> + <member name="P:NUnit.Framework.Constraints.CollectionSubsetConstraint.DisplayName"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.CollectionSubsetConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionSubsetConstraint.Matches(System.Collections.IEnumerable)"> + <summary> + Test whether the actual collection is a subset of + the expected collection provided. + </summary> + <param name="actual"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionSubsetConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionSubsetConstraint.Using``2(System.Func{``0,``1,System.Boolean})"> + <summary> + Flag the constraint to use the supplied predicate function + </summary> + <param name="comparison">The comparison function to use.</param> + <returns>Self.</returns> + </member> + <member name="T:NUnit.Framework.Constraints.CollectionSupersetConstraint"> + <summary> + CollectionSupersetConstraint is used to determine whether + one collection is a superset of another + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionSupersetConstraint.#ctor(System.Collections.IEnumerable)"> + <summary> + Construct a CollectionSupersetConstraint + </summary> + <param name="expected">The collection that the actual value is expected to be a superset of</param> + </member> + <member name="P:NUnit.Framework.Constraints.CollectionSupersetConstraint.DisplayName"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.CollectionSupersetConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionSupersetConstraint.Matches(System.Collections.IEnumerable)"> + <summary> + Test whether the actual collection is a superset of + the expected collection provided. + </summary> + <param name="actual"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionSupersetConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionSupersetConstraint.Using``2(System.Func{``0,``1,System.Boolean})"> + <summary> + Flag the constraint to use the supplied predicate function + </summary> + <param name="comparison">The comparison function to use.</param> + <returns>Self.</returns> + </member> + <member name="T:NUnit.Framework.Constraints.CollectionTally"> + <summary><see cref="T:NUnit.Framework.Constraints.CollectionTally"/> counts (tallies) the number of occurrences + of each object in one or more enumerations.</summary> + </member> + <member name="T:NUnit.Framework.Constraints.CollectionTally.CollectionTallyResult"> + <summary>The result of a <see cref="T:NUnit.Framework.Constraints.CollectionTally"/>.</summary> + </member> + <member name="P:NUnit.Framework.Constraints.CollectionTally.CollectionTallyResult.ExtraItems"> + <summary>Items that were not in the expected collection.</summary> + </member> + <member name="P:NUnit.Framework.Constraints.CollectionTally.CollectionTallyResult.MissingItems"> + <summary>Items that were not accounted for in the expected collection.</summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionTally.CollectionTallyResult.#ctor(System.Collections.Generic.List{System.Object},System.Collections.Generic.List{System.Object})"> + <summary>Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.CollectionTally.CollectionTallyResult"/> class with the given fields.</summary> + </member> + <member name="P:NUnit.Framework.Constraints.CollectionTally.Result"> + <summary>The result of the comparison between the two collections.</summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionTally.#ctor(NUnit.Framework.Constraints.NUnitEqualityComparer,System.Collections.IEnumerable)"> + <summary>Construct a CollectionTally object from a comparer and a collection.</summary> + <param name="comparer">The comparer to use for equality.</param> + <param name="c">The expected collection to compare against.</param> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionTally.TryRemove(System.Object)"> + <summary>Try to remove an object from the tally.</summary> + <param name="o">The object to remove.</param> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionTally.TryRemove(System.Collections.IEnumerable)"> + <summary>Try to remove a set of objects from the tally.</summary> + <param name="c">The objects to remove.</param> + </member> + <member name="T:NUnit.Framework.Constraints.Comparers.ArraysComparer"> + <summary> + Comparator for two <see cref="T:System.Array"/>s. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.Comparers.CharsComparer"> + <summary> + Comparator for two <see cref="T:System.Char"/>s. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Comparers.ComparisonState.TopLevelComparison"> + <summary> + Flag indicating whether or not this is the top level comparison. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.Comparers.ComparisonState._comparisons"> + <summary> + A list of tracked comparisons + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.Comparers.DateTimeOffsetsComparer"> + <summary> + Comparator for two <see cref="T:System.DateTimeOffset"/>s. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.Comparers.DictionariesComparer"> + <summary> + Comparator for two <see cref="T:System.Collections.IDictionary"/>s. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.Comparers.DictionaryEntriesComparer"> + <summary> + Comparator for two <see cref="T:System.Collections.DictionaryEntry"/>s. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.Comparers.DirectoriesComparer"> + <summary> + Comparator for two <see cref="T:System.IO.DirectoryInfo"/>s. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.Comparers.EnumerablesComparer"> + <summary> + Comparator for two <see cref="T:System.Collections.IEnumerable"/>s. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.Comparers.EquatablesComparer"> + <summary> + Comparator for two types related by <see cref="T:System.IEquatable`1"/>. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.Comparers.IChainComparer"> + <summary> + Interface for comparing two <see cref="T:System.Object"/>s. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.Comparers.IChainComparer.Equal(System.Object,System.Object,NUnit.Framework.Constraints.Tolerance@,NUnit.Framework.Constraints.Comparers.ComparisonState)"> + <summary> + Method for comparing two objects with a tolerance. + </summary> + <param name="x">The first object to compare.</param> + <param name="y">The second object to compare.</param> + <param name="tolerance">The tolerance to use when comparing the objects.</param> + <param name="state">The evaluation state of the comparison.</param> + <returns> + <see langword="null"/> if the objects cannot be compared using the method. + Otherwise the result of the comparison is returned. + </returns> + </member> + <member name="T:NUnit.Framework.Constraints.Comparers.KeyValuePairsComparer"> + <summary> + Comparator for two <see cref="T:System.Collections.Generic.KeyValuePair`2"/>s. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.Comparers.NumericsComparer"> + <summary> + Comparator for two <see cref="T:NUnit.Framework.Constraints.Numerics"/>s. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.Comparers.StreamsComparer"> + <summary> + Comparator for two <see cref="T:System.IO.Stream"/>s. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.Comparers.StringsComparer"> + <summary> + Comparator for two <see cref="T:System.String"/>s. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.Comparers.TimeSpanToleranceComparer"> + <summary> + Comparator for two <see cref="T:System.DateTime"/>s or <see cref="T:System.TimeSpan"/>s. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.Comparers.TupleComparer"> + <summary> + Comparator for two <c>Tuple</c>s. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.Comparers.TupleComparerBase"> + <summary> + Base class for comparators for tuples (both regular Tuples and ValueTuples). + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.Comparers.ValueTupleComparer"> + <summary> + Comparator for two <c>ValueTuple</c>s. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.ComparisonAdapter"> + <summary> + ComparisonAdapter class centralizes all comparisons of + values in NUnit, adapting to the use of any provided + <see cref="T:System.Collections.IComparer"/>, <see cref="T:System.Collections.Generic.IComparer`1"/> + or <see cref="T:System.Comparison`1"/>. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ComparisonAdapter.Default"> + <summary> + Gets the default ComparisonAdapter, which wraps an + NUnitComparer object. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ComparisonAdapter.For(System.Collections.IComparer)"> + <summary> + Returns a ComparisonAdapter that wraps an <see cref="T:System.Collections.IComparer"/> + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ComparisonAdapter.For``1(System.Collections.Generic.IComparer{``0})"> + <summary> + Returns a ComparisonAdapter that wraps an <see cref="T:System.Collections.Generic.IComparer`1"/> + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ComparisonAdapter.For``1(System.Comparison{``0})"> + <summary> + Returns a ComparisonAdapter that wraps a <see cref="T:System.Comparison`1"/> + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ComparisonAdapter.Compare(System.Object,System.Object)"> + <summary> + Compares two objects + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ComparisonAdapter.DefaultComparisonAdapter.#ctor"> + <summary> + Construct a default ComparisonAdapter + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ComparisonAdapter.ComparerAdapter.#ctor(System.Collections.IComparer)"> + <summary> + Construct a ComparisonAdapter for an <see cref="T:System.Collections.IComparer"/> + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ComparisonAdapter.ComparerAdapter.Compare(System.Object,System.Object)"> + <summary> + Compares two objects + </summary> + <param name="expected"></param> + <param name="actual"></param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Constraints.ComparisonAdapter.ComparerAdapter`1"> + <summary> + ComparerAdapter extends <see cref="T:NUnit.Framework.Constraints.ComparisonAdapter"/> and + allows use of an <see cref="T:System.Collections.Generic.IComparer`1"/> or <see cref="T:System.Comparison`1"/> + to actually perform the comparison. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ComparisonAdapter.ComparerAdapter`1.#ctor(System.Collections.Generic.IComparer{`0})"> + <summary> + Construct a ComparisonAdapter for an <see cref="T:System.Collections.Generic.IComparer`1"/> + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ComparisonAdapter.ComparerAdapter`1.Compare(System.Object,System.Object)"> + <summary> + Compare a Type T to an object + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ComparisonAdapter.ComparisonAdapterForComparison`1.#ctor(System.Comparison{`0})"> + <summary> + Construct a ComparisonAdapter for a <see cref="T:System.Comparison`1"/> + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ComparisonAdapter.ComparisonAdapterForComparison`1.Compare(System.Object,System.Object)"> + <summary> + Compare a Type T to an object + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.ComparisonConstraint"> + <summary> + Abstract base class for constraints that compare values to + determine if one is greater than, equal to or less than + the other. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.ComparisonConstraint._expected"> + <summary> + The value against which a comparison is to be made + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.ComparisonConstraint._tolerance"> + <summary> + Tolerance used in making the comparison + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.ComparisonConstraint._comparer"> + <summary> + ComparisonAdapter to be used in making the comparison + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ComparisonConstraint.#ctor(System.Object)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.ComparisonConstraint"/> class. + </summary> + <param name="expected">The value against which to make a comparison.</param> + </member> + <member name="M:NUnit.Framework.Constraints.ComparisonConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>A ConstraintResult</returns> + </member> + <member name="M:NUnit.Framework.Constraints.ComparisonConstraint.PerformComparison(NUnit.Framework.Constraints.ComparisonAdapter,System.Object,System.Object,NUnit.Framework.Constraints.Tolerance)"> + <summary> + Protected function overridden by derived class to actually perform the comparison + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ComparisonConstraint.Using(System.Collections.IComparer)"> + <summary> + Modifies the constraint to use an <see cref="T:System.Collections.IComparer"/> and returns self + </summary> + <param name="comparer">The comparer used for comparison tests</param> + <returns>A constraint modified to use the given comparer</returns> + </member> + <member name="M:NUnit.Framework.Constraints.ComparisonConstraint.Using``1(System.Collections.Generic.IComparer{``0})"> + <summary> + Modifies the constraint to use an <see cref="T:System.Collections.Generic.IComparer`1"/> and returns self + </summary> + <param name="comparer">The comparer used for comparison tests</param> + <returns>A constraint modified to use the given comparer</returns> + </member> + <member name="M:NUnit.Framework.Constraints.ComparisonConstraint.Using``1(System.Comparison{``0})"> + <summary> + Modifies the constraint to use a <see cref="T:System.Comparison`1"/> and returns self + </summary> + <param name="comparer">The comparer used for comparison tests</param> + <returns>A constraint modified to use the given comparer</returns> + </member> + <member name="M:NUnit.Framework.Constraints.ComparisonConstraint.Within(System.Object)"> + <summary> + Set the tolerance for use in this comparison + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ComparisonConstraint.Percent"> + <summary> + Switches the .Within() modifier to interpret its tolerance as + a percentage that the actual values is allowed to deviate from + the expected value. + </summary> + <returns>Self</returns> + </member> + <member name="M:NUnit.Framework.Constraints.ComparisonConstraint.DefaultDescription(System.String)"> + <summary> + Provides standard description of what the constraint tests + based on comparison text. + </summary> + <param name="comparisonText">Describes the comparison being tested, throws <see cref="T:System.ArgumentNullException"/> + if null</param> + <exception cref="T:System.ArgumentNullException">Is thrown when null passed to a method</exception> + </member> + <member name="T:NUnit.Framework.Constraints.ActualValueDelegate`1"> + <summary> + Delegate used to delay evaluation of the actual value + to be used in evaluating a constraint + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.Constraint"> + <summary> + The Constraint class is the base of all built-in constraints + within NUnit. It provides the operator overloads used to combine + constraints. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.Constraint.#ctor(System.Object[])"> + <summary> + Construct a constraint with optional arguments + </summary> + <param name="args">Arguments to be saved</param> + </member> + <member name="P:NUnit.Framework.Constraints.Constraint.DisplayName"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Constraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Constraint.Arguments"> + <summary> + Arguments provided to this Constraint, for use in + formatting the description. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Constraint.Builder"> + <summary> + The ConstraintBuilder holding this constraint + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.Constraint.ApplyTo``1(``0)"> + <summary> + Applies the constraint to an actual value, returning a ConstraintResult. + </summary> + <param name="actual">The value to be tested</param> + <returns>A ConstraintResult</returns> + </member> + <member name="M:NUnit.Framework.Constraints.Constraint.ApplyTo``1(NUnit.Framework.Constraints.ActualValueDelegate{``0})"> + <summary> + 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. + </summary> + <param name="del">An ActualValueDelegate</param> + <returns>A ConstraintResult</returns> + </member> + <member name="M:NUnit.Framework.Constraints.Constraint.ApplyTo``1(``0@)"> + <summary> + 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. + </summary> + <param name="actual">A reference to the value to be tested</param> + <returns>A ConstraintResult</returns> + </member> + <member name="M:NUnit.Framework.Constraints.Constraint.GetTestObject``1(NUnit.Framework.Constraints.ActualValueDelegate{``0})"> + <summary> + 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. + </summary> + <param name="del">An ActualValueDelegate</param> + <returns>Delegate evaluation result</returns> + </member> + <member name="M:NUnit.Framework.Constraints.Constraint.ToString"> + <summary> + Default override of ToString returns the constraint DisplayName + followed by any arguments within angle brackets. + </summary> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Constraints.Constraint.GetStringRepresentation"> + <summary> + Returns the string representation of this constraint + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.Constraint.op_BitwiseAnd(NUnit.Framework.Constraints.Constraint,NUnit.Framework.Constraints.Constraint)"> + <summary> + This operator creates a constraint that is satisfied only if both + argument constraints are satisfied. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.Constraint.op_BitwiseOr(NUnit.Framework.Constraints.Constraint,NUnit.Framework.Constraints.Constraint)"> + <summary> + This operator creates a constraint that is satisfied if either + of the argument constraints is satisfied. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.Constraint.op_LogicalNot(NUnit.Framework.Constraints.Constraint)"> + <summary> + This operator creates a constraint that is satisfied if the + argument constraint is not satisfied. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Constraint.And"> + <summary> + Returns a ConstraintExpression by appending And + to the current constraint. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Constraint.With"> + <summary> + Returns a ConstraintExpression by appending And + to the current constraint. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Constraint.Or"> + <summary> + Returns a ConstraintExpression by appending Or + to the current constraint. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.Constraint.After(System.Int32)"> + <summary> + Returns a DelayedConstraint.WithRawDelayInterval with the specified delay time. + </summary> + <param name="delay">The delay, which defaults to milliseconds.</param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Constraints.Constraint.After(System.Int32,System.Int32)"> + <summary> + Returns a DelayedConstraint with the specified delay time + and polling interval. + </summary> + <param name="delayInMilliseconds">The delay in milliseconds.</param> + <param name="pollingInterval">The interval at which to test the constraint.</param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Constraints.Constraint.NUnit#Framework#Constraints#IResolveConstraint#Resolve"> + <summary> + Resolves any pending operators and returns the resolved constraint. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.ConstraintBuilder"> + <summary> + 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. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.ConstraintBuilder.OperatorStack"> + <summary> + OperatorStack is a type-safe stack for holding ConstraintOperators + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.OperatorStack.#ctor(NUnit.Framework.Constraints.ConstraintBuilder)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.ConstraintBuilder.OperatorStack"/> class. + </summary> + <param name="builder">The ConstraintBuilder using this stack.</param> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintBuilder.OperatorStack.Empty"> + <summary> + Gets a value indicating whether this <see cref="T:NUnit.Framework.Constraints.ConstraintBuilder.OperatorStack"/> is empty. + </summary> + <value><see langword="true"/> if empty; otherwise, <see langword="false"/>.</value> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintBuilder.OperatorStack.Top"> + <summary> + Gets the topmost operator without modifying the stack. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.OperatorStack.Push(NUnit.Framework.Constraints.ConstraintOperator)"> + <summary> + Pushes the specified operator onto the stack. + </summary> + <param name="op">The operator to put onto the stack.</param> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.OperatorStack.Pop"> + <summary> + Pops the topmost operator from the stack. + </summary> + <returns>The topmost operator on the stack</returns> + </member> + <member name="T:NUnit.Framework.Constraints.ConstraintBuilder.ConstraintStack"> + <summary> + ConstraintStack is a type-safe stack for holding Constraints + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.ConstraintStack.#ctor(NUnit.Framework.Constraints.ConstraintBuilder)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.ConstraintBuilder.ConstraintStack"/> class. + </summary> + <param name="builder">The ConstraintBuilder using this stack.</param> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintBuilder.ConstraintStack.Empty"> + <summary> + Gets a value indicating whether this <see cref="T:NUnit.Framework.Constraints.ConstraintBuilder.ConstraintStack"/> is empty. + </summary> + <value><see langword="true"/> if empty; otherwise, <see langword="false"/>.</value> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.ConstraintStack.Push(NUnit.Framework.Constraints.IConstraint)"> + <summary> + Pushes the specified constraint. As a side effect, + the constraint's Builder field is set to the + ConstraintBuilder owning this stack. + </summary> + <param name="constraint">The constraint to put onto the stack</param> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.ConstraintStack.Pop"> + <summary> + Pops this topmost constraint from the stack. + As a side effect, the constraint's Builder + field is set to null. + </summary> + <returns>The topmost constraint on the stack</returns> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.ConstraintBuilder"/> class. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.Append(NUnit.Framework.Constraints.ConstraintOperator)"> + <summary> + Appends the specified operator to the expression by first + reducing the operator stack and then pushing the new + operator on the stack. + </summary> + <param name="op">The operator to push.</param> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.Append(NUnit.Framework.Constraints.Constraint)"> + <summary> + Appends the specified constraint to the expression by pushing + it on the constraint stack. + </summary> + <param name="constraint">The constraint to push.</param> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.SetTopOperatorRightContext(System.Object)"> + <summary> + Sets the top operator right context. + </summary> + <param name="rightContext">The right context.</param> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.ReduceOperatorStack(System.Int32)"> + <summary> + Reduces the operator stack until the topmost item + precedence is greater than or equal to the target precedence. + </summary> + <param name="targetPrecedence">The target precedence.</param> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.Resolve"> + <summary> + Resolves this instance, returning a Constraint. If the Builder + is not currently in a resolvable state, an exception is thrown. + </summary> + <returns>The resolved constraint</returns> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintBuilder.IsResolvable"> + <summary> + Gets a value indicating whether this instance is resolvable. + </summary> + <value> + <see langword="true"/> if this instance is resolvable; otherwise, <see langword="false"/>. + </value> + </member> + <member name="T:NUnit.Framework.Constraints.ConstraintExpression"> + <summary> + 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. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.ConstraintExpression.builder"> + <summary> + The ConstraintBuilder holding the elements recognized so far + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.ConstraintExpression"/> class. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.#ctor(NUnit.Framework.Constraints.ConstraintBuilder)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.ConstraintExpression"/> + class passing in a ConstraintBuilder, which may be pre-populated. + </summary> + <param name="builder">The builder.</param> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.ToString"> + <summary> + 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. + </summary> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Append(NUnit.Framework.Constraints.ConstraintOperator)"> + <summary> + Appends an operator to the expression and returns the + resulting expression itself. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Append(NUnit.Framework.Constraints.SelfResolvingOperator)"> + <summary> + Appends a self-resolving operator to the expression and + returns a new ResolvableConstraintExpression. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Append(NUnit.Framework.Constraints.Constraint)"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.Not"> + <summary> + Returns a ConstraintExpression that negates any + following constraint. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.No"> + <summary> + Returns a ConstraintExpression that negates any + following constraint. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.All"> + <summary> + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.Some"> + <summary> + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if at least one of them succeeds. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.None"> + <summary> + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them fail. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Exactly(System.Int32)"> + <summary> + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding only if a specified number of them succeed. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.One"> + <summary> + Returns a <see cref="T:NUnit.Framework.Constraints.ItemsConstraintExpression"/>, which will + apply the following constraint to a collection of length one, succeeding + only if exactly one of them succeeds. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Property(System.String)"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.Length"> + <summary> + Returns a new ConstraintExpression, which will apply the following + constraint to the Length property of the object being tested. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.Count"> + <summary> + Returns a new ConstraintExpression, which will apply the following + constraint to the Count property of the object being tested. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.Message"> + <summary> + Returns a new ConstraintExpression, which will apply the following + constraint to the Message property of the object being tested. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.InnerException"> + <summary> + Returns a new ConstraintExpression, which will apply the following + constraint to the InnerException property of the object being tested. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Attribute(System.Type)"> + <summary> + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Attribute``1"> + <summary> + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.With"> + <summary> + With is currently a NOP - reserved for future use. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Matches(NUnit.Framework.Constraints.IResolveConstraint)"> + <summary> + Returns the constraint provided as an argument - used to allow custom + custom constraints to easily participate in the syntax. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Matches``1(System.Predicate{``0})"> + <summary> + Returns the constraint provided as an argument - used to allow custom + custom constraints to easily participate in the syntax. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.Null"> + <summary> + Returns a constraint that tests for null + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.True"> + <summary> + Returns a constraint that tests for True + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.False"> + <summary> + Returns a constraint that tests for False + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.Positive"> + <summary> + Returns a constraint that tests for a positive value + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.Negative"> + <summary> + Returns a constraint that tests for a negative value + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.Zero"> + <summary> + Returns a constraint that tests if item is equal to zero + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.NaN"> + <summary> + Returns a constraint that tests for NaN + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.Empty"> + <summary> + Returns a constraint that tests for empty + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.Unique"> + <summary> + Returns a constraint that tests whether a collection + contains all unique items. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.BinarySerializable"> + <summary> + Returns a constraint that tests whether an object graph is serializable in binary format. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.XmlSerializable"> + <summary> + Returns a constraint that tests whether an object graph is serializable in XML format. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.EqualTo(System.Object)"> + <summary> + Returns a constraint that tests two items for equality + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.SameAs(System.Object)"> + <summary> + Returns a constraint that tests that two references are the same object + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.GreaterThan(System.Object)"> + <summary> + Returns a constraint that tests whether the + actual value is greater than the supplied argument + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.GreaterThanOrEqualTo(System.Object)"> + <summary> + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.AtLeast(System.Object)"> + <summary> + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.LessThan(System.Object)"> + <summary> + Returns a constraint that tests whether the + actual value is less than the supplied argument + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.LessThanOrEqualTo(System.Object)"> + <summary> + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.AtMost(System.Object)"> + <summary> + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.TypeOf(System.Type)"> + <summary> + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.TypeOf``1"> + <summary> + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.InstanceOf(System.Type)"> + <summary> + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.InstanceOf``1"> + <summary> + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.AssignableFrom(System.Type)"> + <summary> + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.AssignableFrom``1"> + <summary> + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.AssignableTo(System.Type)"> + <summary> + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.AssignableTo``1"> + <summary> + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.EquivalentTo(System.Collections.IEnumerable)"> + <summary> + Returns a constraint that tests whether the actual value + is a collection containing the same elements as the + collection supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.SubsetOf(System.Collections.IEnumerable)"> + <summary> + Returns a constraint that tests whether the actual value + is a subset of the collection supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.SupersetOf(System.Collections.IEnumerable)"> + <summary> + Returns a constraint that tests whether the actual value + is a superset of the collection supplied as an argument. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.Ordered"> + <summary> + Returns a constraint that tests whether a collection is ordered + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Member(System.Object)"> + <summary> + Returns a new <see cref="T:NUnit.Framework.Constraints.SomeItemsConstraint"/> checking for the + presence of a particular object in the collection. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Contains(System.Object)"> + <summary> + <para> + Returns a new <see cref="T:NUnit.Framework.Constraints.SomeItemsConstraint"/> checking for the + presence of a particular object in the collection. + </para> + <para> + To search for a substring instead of a collection element, use the + <see cref="M:NUnit.Framework.Constraints.ConstraintExpression.Contains(System.String)"/> overload. + </para> + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Contains(System.String)"> + <summary> + <para> + 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. + </para> + <para> + To search for a collection element instead of a substring, use the + <see cref="M:NUnit.Framework.Constraints.ConstraintExpression.Contains(System.Object)"/> overload. + </para> + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Contain(System.Object)"> + <summary> + Returns a new <see cref="T:NUnit.Framework.Constraints.SomeItemsConstraint"/> checking for the + presence of a particular object in the collection. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Contain(System.String)"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.ContainKey(System.Object)"> + <summary> + Returns a new DictionaryContainsKeyConstraint checking for the + presence of a particular key in the Dictionary key collection. + </summary> + <param name="expected">The key to be matched in the Dictionary key collection</param> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.ContainValue(System.Object)"> + <summary> + Returns a new DictionaryContainsValueConstraint checking for the + presence of a particular value in the Dictionary value collection. + </summary> + <param name="expected">The value to be matched in the Dictionary value collection</param> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.StringContaining(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.ContainsSubstring(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.StartWith(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.StartsWith(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.StringStarting(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.EndWith(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.EndsWith(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.StringEnding(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Match(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Match(System.Text.RegularExpressions.Regex)"> + <summary> + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Matches(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Matches(System.Text.RegularExpressions.Regex)"> + <summary> + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.StringMatching(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.SamePath(System.String)"> + <summary> + Returns a constraint that tests whether the path provided + is the same as an expected path after canonicalization. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.SubPathOf(System.String)"> + <summary> + Returns a constraint that tests whether the path provided + is the a subpath of the expected path after canonicalization. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.SamePathOrUnder(System.String)"> + <summary> + Returns a constraint that tests whether the path provided + is the same path or under an expected path after canonicalization. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.InRange(System.Object,System.Object)"> + <summary> + Returns a constraint that tests whether the actual value falls + inclusively within a specified range. + </summary> + <param name="from">Inclusive beginning of the range.</param> + <param name="to">Inclusive end of the range.</param> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.Exist"> + <summary> + Returns a constraint that succeeds if the value + is a file or directory and it exists. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.AnyOf(System.Object[])"> + <summary> + Returns a constraint that tests if an item is equal to any of parameters + </summary> + <param name="expected">Expected values</param> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.ItemAt(System.Object[])"> + <summary> + Returns a new IndexerConstraintExpression, which will + apply any following constraint to that indexer value. + </summary> + <param name="indexArgs">Index accessor values.</param> + </member> + <member name="T:NUnit.Framework.Constraints.ConstraintStatus"> + <summary> + ConstraintStatus represents the status of a ConstraintResult + returned by a Constraint being applied to an actual value. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.ConstraintStatus.Unknown"> + <summary> + The status has not yet been set + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.ConstraintStatus.Success"> + <summary> + The constraint succeeded + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.ConstraintStatus.Failure"> + <summary> + The constraint failed + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.ConstraintStatus.Error"> + <summary> + An error occurred in applying the constraint (reserved for future use) + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.ConstraintResult"> + <summary> + Contains the result of matching a <see cref="T:NUnit.Framework.Constraints.Constraint"/> against an actual value. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintResult.#ctor(NUnit.Framework.Constraints.IConstraint,System.Object)"> + <summary> + Constructs a <see cref="T:NUnit.Framework.Constraints.ConstraintResult"/> for a particular <see cref="T:NUnit.Framework.Constraints.Constraint"/>. + </summary> + <param name="constraint">The Constraint to which this result applies.</param> + <param name="actualValue">The actual value to which the Constraint was applied.</param> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintResult.#ctor(NUnit.Framework.Constraints.IConstraint,System.Object,NUnit.Framework.Constraints.ConstraintStatus)"> + <summary> + Constructs a <see cref="T:NUnit.Framework.Constraints.ConstraintResult"/> for a particular <see cref="T:NUnit.Framework.Constraints.Constraint"/>. + </summary> + <param name="constraint">The Constraint to which this result applies.</param> + <param name="actualValue">The actual value to which the Constraint was applied.</param> + <param name="status">The status of the new ConstraintResult.</param> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintResult.#ctor(NUnit.Framework.Constraints.IConstraint,System.Object,System.Boolean)"> + <summary> + Constructs a <see cref="T:NUnit.Framework.Constraints.ConstraintResult"/> for a particular <see cref="T:NUnit.Framework.Constraints.Constraint"/>. + </summary> + <param name="constraint">The Constraint to which this result applies.</param> + <param name="actualValue">The actual value to which the Constraint was applied.</param> + <param name="isSuccess">If true, applies a status of Success to the result, otherwise Failure.</param> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintResult.ActualValue"> + <summary> + The actual value that was passed to the <see cref="M:NUnit.Framework.Constraints.Constraint.ApplyTo``1(``0)"/> method. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintResult.Status"> + <summary> + Gets and sets the ResultStatus for this result. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintResult.IsSuccess"> + <summary> + True if actual value meets the Constraint criteria otherwise false. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintResult.Name"> + <summary> + Display friendly name of the constraint. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintResult.Description"> + <summary> + Description of the constraint may be affected by the state the constraint had + when <see cref="M:NUnit.Framework.Constraints.Constraint.ApplyTo``1(``0)"/> was performed against the actual value. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintResult.WriteMessageTo(NUnit.Framework.Constraints.MessageWriter)"> + <summary> + 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. + </summary> + <param name="writer">The MessageWriter on which to display the message</param> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintResult.WriteAdditionalLinesTo(NUnit.Framework.Constraints.MessageWriter)"> + <summary> + Write some additional failure message. + </summary> + <param name="writer">The MessageWriter on which to display the message</param> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintResult.WriteActualValueTo(NUnit.Framework.Constraints.MessageWriter)"> + <summary> + 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. + </summary> + <param name="writer">The writer on which the actual value is displayed</param> + </member> + <member name="T:NUnit.Framework.Constraints.ContainsConstraint"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ContainsConstraint.#ctor(System.Object)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.ContainsConstraint"/> class. + </summary> + <param name="expected">The expected value contained within the string/collection.</param> + </member> + <member name="P:NUnit.Framework.Constraints.ContainsConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ContainsConstraint.IgnoreCase"> + <summary> + Flag the constraint to ignore case and return self. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ContainsConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="T:NUnit.Framework.Constraints.CountZeroConstraint"> + <summary> + CountZeroConstraint tests whether an instance has a property .Count with value zero. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.CountZeroConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CountZeroConstraint.HasCountProperty(System.Type)"> + <summary> + Checks if the specified <paramref name="type"/> has a int Count property. + </summary> + <param name="type">Type to check.</param> + <returns><see langword="true"/> when <paramref name="type"/> has a 'int Count' property, <see langword="false"/> otherwise.</returns> + </member> + <member name="M:NUnit.Framework.Constraints.CountZeroConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="T:NUnit.Framework.Constraints.DateTimes"> + <summary> + The DateTimes class contains common operations on Date and Time values. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.DelayedConstraint"> + <summary> + Applies a delay to the match so that a match can be evaluated in the future. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.DelayedConstraint.WithRawDelayInterval"> + <summary> + Allows only changing the time dimension of delay interval and setting a polling interval of a DelayedConstraint + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.DelayedConstraint.WithRawDelayInterval.#ctor(NUnit.Framework.Constraints.DelayedConstraint)"> + <summary> + Creates a new DelayedConstraint.WithRawDelayInterval + </summary> + <param name="parent">Parent DelayedConstraint on which delay interval dimension is required to be set</param> + </member> + <member name="P:NUnit.Framework.Constraints.DelayedConstraint.WithRawDelayInterval.Minutes"> + <summary> + Changes delay interval dimension to minutes + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.DelayedConstraint.WithRawDelayInterval.Seconds"> + <summary> + Changes delay interval dimension to seconds + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.DelayedConstraint.WithRawDelayInterval.MilliSeconds"> + <summary> + Changes delay interval dimension to milliseconds + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.DelayedConstraint.WithRawDelayInterval.PollEvery(System.Int32)"> + <summary> + Set polling interval, in milliseconds + </summary> + <param name="milliSeconds">A time interval, in milliseconds</param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Constraints.DelayedConstraint.WithDimensionedDelayInterval"> + <summary> + Allows only setting the polling interval of a DelayedConstraint + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.DelayedConstraint.WithDimensionedDelayInterval.#ctor(NUnit.Framework.Constraints.DelayedConstraint)"> + <summary> + Creates a new DelayedConstraint.WithDimensionedDelayInterval + </summary> + <param name="parent">Parent DelayedConstraint on which polling interval is required to be set</param> + </member> + <member name="M:NUnit.Framework.Constraints.DelayedConstraint.WithDimensionedDelayInterval.PollEvery(System.Int32)"> + <summary> + Set polling interval, in milliseconds + </summary> + <param name="milliSeconds">A time interval, in milliseconds</param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Constraints.DelayedConstraint.WithRawPollingInterval"> + <summary> + Allows only changing the time dimension of the polling interval of a DelayedConstraint + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.DelayedConstraint.WithRawPollingInterval.#ctor(NUnit.Framework.Constraints.DelayedConstraint)"> + <summary> + Creates a new DelayedConstraint.WithRawPollingInterval + </summary> + <param name="parent">Parent DelayedConstraint on which polling dimension is required to be set</param> + </member> + <member name="P:NUnit.Framework.Constraints.DelayedConstraint.WithRawPollingInterval.Minutes"> + <summary> + Changes polling interval dimension to minutes + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.DelayedConstraint.WithRawPollingInterval.Seconds"> + <summary> + Changes polling interval dimension to seconds + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.DelayedConstraint.WithRawPollingInterval.MilliSeconds"> + <summary> + Changes polling interval dimension to milliseconds + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.DelayedConstraint.DelayInterval"> + <summary> + Delay value store as an Interval object + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.DelayedConstraint.PollingInterval"> + <summary> + Polling value stored as an Interval object + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.DelayedConstraint.#ctor(NUnit.Framework.Constraints.IConstraint,System.Int32)"> + <summary> + Creates a new DelayedConstraint + </summary> + <param name="baseConstraint">The inner constraint to decorate</param> + <param name="delayInMilliseconds">The time interval after which the match is performed</param> + <exception cref="T:System.InvalidOperationException">If the value of <paramref name="delayInMilliseconds"/> is less than 0</exception> + </member> + <member name="M:NUnit.Framework.Constraints.DelayedConstraint.#ctor(NUnit.Framework.Constraints.IConstraint,System.Int32,System.Int32)"> + <summary> + Creates a new DelayedConstraint + </summary> + <param name="baseConstraint">The inner constraint to decorate</param> + <param name="delayInMilliseconds">The time interval after which the match is performed, in milliseconds</param> + <param name="pollingIntervalInMilliseconds">The time interval used for polling, in milliseconds</param> + <exception cref="T:System.InvalidOperationException">If the value of <paramref name="delayInMilliseconds"/> is less than 0</exception> + </member> + <member name="P:NUnit.Framework.Constraints.DelayedConstraint.Description"> + <summary> + Gets text describing a constraint + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.DelayedConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for if the base constraint fails, false if it succeeds</returns> + </member> + <member name="M:NUnit.Framework.Constraints.DelayedConstraint.ApplyTo``1(NUnit.Framework.Constraints.ActualValueDelegate{``0})"> + <summary> + Test whether the constraint is satisfied by a delegate + </summary> + <param name="del">The delegate whose value is to be tested</param> + <returns>A ConstraintResult</returns> + </member> + <member name="M:NUnit.Framework.Constraints.DelayedConstraint.ApplyTo``1(``0@)"> + <summary> + 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. + </summary> + <param name="actual">A reference to the value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="M:NUnit.Framework.Constraints.DelayedConstraint.GetStringRepresentation"> + <summary> + Returns the string representation of the constraint. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.DelayedConstraint.TimestampOffset(System.Int64,System.TimeSpan)"> + <summary> + Adjusts a Timestamp by a given TimeSpan + </summary> + <param name="timestamp"></param> + <param name="offset"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Constraints.DelayedConstraint.TimestampDiff(System.Int64,System.Int64)"> + <summary> + Returns the difference between two Timestamps as a TimeSpan + </summary> + <param name="timestamp1"></param> + <param name="timestamp2"></param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Constraints.DictionaryContainsKeyConstraint"> + <summary> + DictionaryContainsKeyConstraint is used to test whether a dictionary + contains an expected object as a key. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.DictionaryContainsKeyConstraint.#ctor(System.Object)"> + <summary> + Construct a DictionaryContainsKeyConstraint + </summary> + <param name="expected"></param> + </member> + <member name="P:NUnit.Framework.Constraints.DictionaryContainsKeyConstraint.DisplayName"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.DictionaryContainsKeyConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.DictionaryContainsKeyConstraint.Expected"> + <summary> + Gets the expected object + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.DictionaryContainsKeyConstraint.WithValue(System.Object)"> + <summary> + Returns a new DictionaryContainsKeyValuePairConstraint checking for the + presence of a particular key-value-pair in the dictionary. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.DictionaryContainsKeyConstraint.IgnoreCase"> + <summary> + Flag the constraint to ignore case and return self. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.DictionaryContainsKeyConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + </member> + <member name="M:NUnit.Framework.Constraints.DictionaryContainsKeyConstraint.Matches(System.Collections.IEnumerable)"> + <summary> + Test whether the expected key is contained in the dictionary + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.DictionaryContainsKeyConstraint.Using``2(System.Func{``0,``1,System.Boolean})"> + <summary> + Flag the constraint to use the supplied predicate function + </summary> + <param name="comparison">The comparison function to use.</param> + </member> + <member name="M:NUnit.Framework.Constraints.DictionaryContainsKeyConstraint.Using``1(System.Comparison{``0})"> + <summary> + Flag the constraint to use the supplied Comparison object. + </summary> + <param name="comparison">The Comparison object to use.</param> + </member> + <member name="M:NUnit.Framework.Constraints.DictionaryContainsKeyConstraint.Using(System.Collections.IComparer)"> + <summary> + Flag the constraint to use the supplied IComparer object. + </summary> + <param name="comparer">The IComparer object to use.</param> + </member> + <member name="M:NUnit.Framework.Constraints.DictionaryContainsKeyConstraint.Using``1(System.Collections.Generic.IComparer{``0})"> + <summary> + Flag the constraint to use the supplied IComparer object. + </summary> + <param name="comparer">The IComparer object to use.</param> + </member> + <member name="M:NUnit.Framework.Constraints.DictionaryContainsKeyConstraint.Using(System.Collections.IEqualityComparer)"> + <summary> + Flag the constraint to use the supplied IEqualityComparer object. + </summary> + <param name="comparer">The IComparer object to use.</param> + </member> + <member name="M:NUnit.Framework.Constraints.DictionaryContainsKeyConstraint.Using``1(System.Collections.Generic.IEqualityComparer{``0})"> + <summary> + Flag the constraint to use the supplied IEqualityComparer object. + </summary> + <param name="comparer">The IComparer object to use.</param> + </member> + <member name="M:NUnit.Framework.Constraints.DictionaryContainsKeyConstraint.Using``1(System.Func{``0,``0,System.Boolean})"> + <summary> + Flag the constraint to use the supplied boolean-returning delegate. + </summary> + <param name="comparer">The supplied boolean-returning delegate to use.</param> + </member> + <member name="T:NUnit.Framework.Constraints.DictionaryContainsKeyValuePairConstraint"> + <summary> + DictionaryContainsKeyValuePairConstraint is used to test whether a dictionary + contains an expected object as a key-value-pair. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.DictionaryContainsKeyValuePairConstraint.#ctor(System.Object,System.Object)"> + <summary> + Construct a DictionaryContainsKeyValuePairConstraint + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.DictionaryContainsKeyValuePairConstraint.DisplayName"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.DictionaryContainsKeyValuePairConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.DictionaryContainsKeyValuePairConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + </member> + <member name="M:NUnit.Framework.Constraints.DictionaryContainsKeyValuePairConstraint.Matches(System.Collections.IEnumerable)"> + <summary> + Test whether the expected key is contained in the dictionary + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.DictionaryContainsValueConstraint"> + <summary> + DictionaryContainsValueConstraint is used to test whether a dictionary + contains an expected object as a value. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.DictionaryContainsValueConstraint.#ctor(System.Object)"> + <summary> + Construct a DictionaryContainsValueConstraint + </summary> + <param name="expected"></param> + </member> + <member name="P:NUnit.Framework.Constraints.DictionaryContainsValueConstraint.DisplayName"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.DictionaryContainsValueConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.DictionaryContainsValueConstraint.Expected"> + <summary> + Gets the expected object + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.DictionaryContainsValueConstraint.Matches(System.Collections.IEnumerable)"> + <summary> + Test whether the expected value is contained in the dictionary + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.DictionaryContainsValueConstraint.Using``2(System.Func{``0,``1,System.Boolean})"> + <summary> + Flag the constraint to use the supplied predicate function + </summary> + <param name="comparison">The comparison function to use.</param> + <returns>Self.</returns> + </member> + <member name="T:NUnit.Framework.Constraints.EachItemConstraintResult"> + <summary> + Provides a <see cref="T:NUnit.Framework.Constraints.ConstraintResult"/> for the constraints + that are applied to each item in the collection + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EachItemConstraintResult.#ctor(NUnit.Framework.Constraints.IConstraint,System.Object,System.Object,System.Int32)"> + <summary> + Constructs a <see cref="T:NUnit.Framework.Constraints.EachItemConstraintResult" /> for a particular <see cref="T:NUnit.Framework.Constraints.Constraint" /> + Only used for Failure + </summary> + <param name="constraint">The Constraint to which this result applies</param> + <param name="actualValue">The actual value to which the Constraint was applied</param> + <param name="nonMatchingItem">Actual item that does not match expected condition</param> + <param name="nonMatchingIndex">Non matching item index</param> + </member> + <member name="M:NUnit.Framework.Constraints.EachItemConstraintResult.WriteAdditionalLinesTo(NUnit.Framework.Constraints.MessageWriter)"> + <summary> + Write constraint description, actual items, and non-matching item + </summary> + <param name="writer">The MessageWriter on which to display the message</param> + </member> + <member name="T:NUnit.Framework.Constraints.EmptyCollectionConstraint"> + <summary> + EmptyCollectionConstraint tests whether a collection is empty. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.EmptyCollectionConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EmptyCollectionConstraint.Matches(System.Collections.IEnumerable)"> + <summary> + Check that the collection is empty + </summary> + <param name="collection"></param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Constraints.EmptyConstraint"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.EmptyConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EmptyConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="T:NUnit.Framework.Constraints.EmptyDirectoryConstraint"> + <summary> + EmptyDirectoryConstraint is used to test that a directory is empty + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.EmptyDirectoryConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EmptyDirectoryConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="T:NUnit.Framework.Constraints.EmptyGuidConstraint"> + <summary> + EmptyGuidConstraint tests whether a Guid is empty. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.EmptyGuidConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EmptyGuidConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="T:NUnit.Framework.Constraints.EmptyStringConstraint"> + <summary> + EmptyStringConstraint tests whether a string is empty. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.EmptyStringConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EmptyStringConstraint.Matches(System.String)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="T:NUnit.Framework.Constraints.EndsWithConstraint"> + <summary> + EndsWithConstraint can test whether a string ends + with an expected substring. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EndsWithConstraint.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.EndsWithConstraint"/> class. + </summary> + <param name="expected">The expected string</param> + </member> + <member name="M:NUnit.Framework.Constraints.EndsWithConstraint.Matches(System.String)"> + <summary> + Test whether the constraint is matched by the actual value. + This is a template method, which calls the IsMatch method + of the derived class. + </summary> + <param name="actual"></param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Constraints.EqualConstraint"> + <summary> + 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. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.EqualConstraint._comparer"> + <summary> + NUnitEqualityComparer used to test equality. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EqualConstraint.#ctor(System.Object)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.EqualConstraint"/> class. + </summary> + <param name="expected">The expected value.</param> + </member> + <member name="P:NUnit.Framework.Constraints.EqualConstraint.Tolerance"> + <summary> + Gets the tolerance for this comparison. + </summary> + <value> + The tolerance. + </value> + </member> + <member name="P:NUnit.Framework.Constraints.EqualConstraint.CaseInsensitive"> + <summary> + Gets a value indicating whether to compare case insensitive. + </summary> + <value> + <see langword="true"/> if comparing case insensitive; otherwise, <see langword="false"/>. + </value> + </member> + <member name="P:NUnit.Framework.Constraints.EqualConstraint.ClipStrings"> + <summary> + Gets a value indicating whether or not to clip strings. + </summary> + <value> + <see langword="true"/> if set to clip strings otherwise, <see langword="false"/>. + </value> + </member> + <member name="P:NUnit.Framework.Constraints.EqualConstraint.FailurePoints"> + <summary> + Gets the failure points. + </summary> + <value> + The failure points. + </value> + </member> + <member name="P:NUnit.Framework.Constraints.EqualConstraint.IgnoreCase"> + <summary> + Flag the constraint to ignore case and return self. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.EqualConstraint.NoClip"> + <summary> + Flag the constraint to suppress string clipping + and return self. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.EqualConstraint.AsCollection"> + <summary> + Flag the constraint to compare arrays as collections + and return self. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EqualConstraint.Within(System.Object)"> + <summary> + Flag the constraint to use a tolerance when determining equality. + </summary> + <param name="amount">Tolerance value to be used</param> + <returns>Self.</returns> + </member> + <member name="P:NUnit.Framework.Constraints.EqualConstraint.WithSameOffset"> + <summary> + Flags the constraint to include <see cref="P:System.DateTimeOffset.Offset"/> + property in comparison of two <see cref="T:System.DateTimeOffset"/> values. + </summary> + <remarks> + Using this modifier does not allow to use the <see cref="M:NUnit.Framework.Constraints.EqualConstraint.Within(System.Object)"/> + constraint modifier. + </remarks> + </member> + <member name="P:NUnit.Framework.Constraints.EqualConstraint.Ulps"> + <summary> + Switches the .Within() modifier to interpret its tolerance as + a distance in representable values (see remarks). + </summary> + <returns>Self.</returns> + <remarks> + 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. + </remarks> + </member> + <member name="P:NUnit.Framework.Constraints.EqualConstraint.Percent"> + <summary> + Switches the .Within() modifier to interpret its tolerance as + a percentage that the actual values is allowed to deviate from + the expected value. + </summary> + <returns>Self</returns> + </member> + <member name="P:NUnit.Framework.Constraints.EqualConstraint.Days"> + <summary> + Causes the tolerance to be interpreted as a TimeSpan in days. + </summary> + <returns>Self</returns> + </member> + <member name="P:NUnit.Framework.Constraints.EqualConstraint.Hours"> + <summary> + Causes the tolerance to be interpreted as a TimeSpan in hours. + </summary> + <returns>Self</returns> + </member> + <member name="P:NUnit.Framework.Constraints.EqualConstraint.Minutes"> + <summary> + Causes the tolerance to be interpreted as a TimeSpan in minutes. + </summary> + <returns>Self</returns> + </member> + <member name="P:NUnit.Framework.Constraints.EqualConstraint.Seconds"> + <summary> + Causes the tolerance to be interpreted as a TimeSpan in seconds. + </summary> + <returns>Self</returns> + </member> + <member name="P:NUnit.Framework.Constraints.EqualConstraint.Milliseconds"> + <summary> + Causes the tolerance to be interpreted as a TimeSpan in milliseconds. + </summary> + <returns>Self</returns> + </member> + <member name="P:NUnit.Framework.Constraints.EqualConstraint.Ticks"> + <summary> + Causes the tolerance to be interpreted as a TimeSpan in clock ticks. + </summary> + <returns>Self</returns> + </member> + <member name="M:NUnit.Framework.Constraints.EqualConstraint.Using(System.Collections.IComparer)"> + <summary> + Flag the constraint to use the supplied IComparer object. + </summary> + <param name="comparer">The IComparer object to use.</param> + <returns>Self.</returns> + </member> + <member name="M:NUnit.Framework.Constraints.EqualConstraint.Using``1(System.Collections.Generic.IComparer{``0})"> + <summary> + Flag the constraint to use the supplied IComparer object. + </summary> + <param name="comparer">The IComparer object to use.</param> + <returns>Self.</returns> + </member> + <member name="M:NUnit.Framework.Constraints.EqualConstraint.Using``1(System.Func{``0,``0,System.Boolean})"> + <summary> + Flag the constraint to use the supplied boolean-returning delegate. + </summary> + <param name="comparer">The boolean-returning delegate to use.</param> + <returns>Self.</returns> + </member> + <member name="M:NUnit.Framework.Constraints.EqualConstraint.Using``1(System.Comparison{``0})"> + <summary> + Flag the constraint to use the supplied Comparison object. + </summary> + <param name="comparer">The IComparer object to use.</param> + <returns>Self.</returns> + </member> + <member name="M:NUnit.Framework.Constraints.EqualConstraint.Using(System.Collections.IEqualityComparer)"> + <summary> + Flag the constraint to use the supplied IEqualityComparer object. + </summary> + <param name="comparer">The IComparer object to use.</param> + <returns>Self.</returns> + </member> + <member name="M:NUnit.Framework.Constraints.EqualConstraint.Using``1(System.Collections.Generic.IEqualityComparer{``0})"> + <summary> + Flag the constraint to use the supplied IEqualityComparer object. + </summary> + <param name="comparer">The IComparer object to use.</param> + <returns>Self.</returns> + </member> + <member name="M:NUnit.Framework.Constraints.EqualConstraint.Using``2(System.Func{``0,``1,System.Boolean})"> + <summary> + Flag the constraint to use the supplied predicate function + </summary> + <param name="comparison">The comparison function to use.</param> + <returns>Self.</returns> + </member> + <member name="M:NUnit.Framework.Constraints.EqualConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="P:NUnit.Framework.Constraints.EqualConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.EqualConstraintResult"> + <summary> + The EqualConstraintResult class is tailored for formatting + and displaying the result of an EqualConstraint. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EqualConstraintResult.#ctor(NUnit.Framework.Constraints.EqualConstraint,System.Object,System.Boolean)"> + <summary> + Construct an EqualConstraintResult + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EqualConstraintResult.WriteMessageTo(NUnit.Framework.Constraints.MessageWriter)"> + <summary> + Write a failure message. Overridden to provide custom + failure messages for EqualConstraint. + </summary> + <param name="writer">The MessageWriter to write to</param> + </member> + <member name="M:NUnit.Framework.Constraints.EqualConstraintResult.DisplayCollectionDifferences(NUnit.Framework.Constraints.MessageWriter,System.Collections.ICollection,System.Collections.ICollection,System.Int32)"> + <summary> + Display the failure information for two collections that did not match. + </summary> + <param name="writer">The MessageWriter on which to display</param> + <param name="expected">The expected collection.</param> + <param name="actual">The actual collection</param> + <param name="depth">The depth of this failure in a set of nested collections</param> + </member> + <member name="M:NUnit.Framework.Constraints.EqualConstraintResult.DisplayTypesAndSizes(NUnit.Framework.Constraints.MessageWriter,System.Collections.IEnumerable,System.Collections.IEnumerable,System.Int32)"> + <summary> + 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. + </summary> + <param name="writer">The MessageWriter on which to display</param> + <param name="expected">The expected collection or array</param> + <param name="actual">The actual collection or array</param> + <param name="indent">The indentation level for the message line</param> + </member> + <member name="M:NUnit.Framework.Constraints.EqualConstraintResult.DisplayFailurePoint(NUnit.Framework.Constraints.MessageWriter,System.Collections.IEnumerable,System.Collections.IEnumerable,NUnit.Framework.Constraints.NUnitEqualityComparer.FailurePoint,System.Int32)"> + <summary> + 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. + </summary> + <param name="writer">The MessageWriter on which to display</param> + <param name="expected">The expected array</param> + <param name="actual">The actual array</param> + <param name="failurePoint">Index of the failure point in the underlying collections</param> + <param name="indent">The indentation level for the message line</param> + </member> + <member name="M:NUnit.Framework.Constraints.EqualConstraintResult.DisplayEnumerableDifferences(NUnit.Framework.Constraints.MessageWriter,System.Collections.IEnumerable,System.Collections.IEnumerable,System.Int32)"> + <summary> + Display the failure information for two IEnumerables that did not match. + </summary> + <param name="writer">The MessageWriter on which to display</param> + <param name="expected">The expected enumeration.</param> + <param name="actual">The actual enumeration</param> + <param name="depth">The depth of this failure in a set of nested collections</param> + </member> + <member name="T:NUnit.Framework.Constraints.EqualityAdapter"> + <summary> + EqualityAdapter class handles all equality comparisons + that use an <see cref="T:System.Collections.IEqualityComparer"/>, <see cref="T:System.Collections.Generic.IEqualityComparer`1"/> + or a <see cref="T:NUnit.Framework.Constraints.ComparisonAdapter"/>. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EqualityAdapter.AreEqual(System.Object,System.Object)"> + <summary> + Compares two objects, returning true if they are equal + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EqualityAdapter.CanCompare(System.Object,System.Object)"> + <summary> + Returns true if the two objects can be compared by this adapter. + The base adapter cannot handle IEnumerables except for strings. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EqualityAdapter.For(System.Collections.IComparer)"> + <summary> + Returns an <see cref="T:NUnit.Framework.Constraints.EqualityAdapter"/> that wraps an <see cref="T:System.Collections.IComparer"/>. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.EqualityAdapter.ComparerAdapter"> + <summary> + <see cref="T:NUnit.Framework.Constraints.EqualityAdapter"/> that wraps an <see cref="T:System.Collections.IComparer"/>. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EqualityAdapter.For(System.Collections.IEqualityComparer)"> + <summary> + Returns an <see cref="T:NUnit.Framework.Constraints.EqualityAdapter"/> that wraps an <see cref="T:System.Collections.IEqualityComparer"/>. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EqualityAdapter.For``2(System.Func{``0,``1,System.Boolean})"> + <summary> + Returns an EqualityAdapter that uses a predicate function for items comparison. + </summary> + <typeparam name="TExpected"></typeparam> + <typeparam name="TActual"></typeparam> + <param name="comparison"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Constraints.EqualityAdapter.PredicateEqualityAdapter`2.CanCompare(System.Object,System.Object)"> + <summary> + Returns true if the two objects can be compared by this adapter. + The base adapter cannot handle IEnumerables except for strings. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EqualityAdapter.PredicateEqualityAdapter`2.AreEqual(System.Object,System.Object)"> + <summary> + Compares two objects, returning true if they are equal + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EqualityAdapter.GenericEqualityAdapter`1.CanCompare(System.Object,System.Object)"> + <summary> + Returns true if the two objects can be compared by this adapter. + Generic adapter requires objects of the specified type. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EqualityAdapter.For``1(System.Collections.Generic.IEqualityComparer{``0})"> + <summary> + Returns an <see cref="T:NUnit.Framework.Constraints.EqualityAdapter"/> that wraps an <see cref="T:System.Collections.Generic.IEqualityComparer`1"/>. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EqualityAdapter.For``1(System.Collections.Generic.IComparer{``0})"> + <summary> + Returns an <see cref="T:NUnit.Framework.Constraints.EqualityAdapter"/> that wraps an <see cref="T:System.Collections.Generic.IComparer`1"/>. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.EqualityAdapter.ComparerAdapter`1"> + <summary> + <see cref="T:NUnit.Framework.Constraints.EqualityAdapter"/> that wraps an <see cref="T:System.Collections.IComparer"/>. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EqualityAdapter.For``1(System.Comparison{``0})"> + <summary> + Returns an <see cref="T:NUnit.Framework.Constraints.EqualityAdapter"/> that wraps a <see cref="T:System.Comparison`1"/>. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.ExactCountConstraint"> + <summary> + ExactCountConstraint applies another constraint to each + item in a collection, succeeding only if a specified + number of items succeed. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ExactCountConstraint.#ctor(System.Int32)"> + <summary> + Construct a standalone ExactCountConstraint + </summary> + <param name="expectedCount"></param> + </member> + <member name="M:NUnit.Framework.Constraints.ExactCountConstraint.#ctor(System.Int32,NUnit.Framework.Constraints.IConstraint)"> + <summary> + Construct an ExactCountConstraint on top of an existing constraint + </summary> + <param name="expectedCount"></param> + <param name="itemConstraint"></param> + </member> + <member name="M:NUnit.Framework.Constraints.ExactCountConstraint.ApplyTo``1(``0)"> + <summary> + Apply the item constraint to each item in the collection, + succeeding only if the expected number of items pass. + </summary> + <param name="actual">The value to be tested</param> + <returns>A ConstraintResult</returns> + </member> + <member name="P:NUnit.Framework.Constraints.ExactCountConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.ExactCountConstraintResult"> + <summary> + Contain the result of matching a <see cref="T:NUnit.Framework.Constraints.ExactCountConstraint"/> against an actual value. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.ExactCountConstraintResult._matchCount"> + <summary> + The count of matched items of the <see cref="T:NUnit.Framework.Constraints.ExactCountConstraint"/> + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.ExactCountConstraintResult._itemList"> + <summary> + A list with maximum count (+1) of items of the <see cref="T:NUnit.Framework.Constraints.ExactCountConstraint"/> + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ExactCountConstraintResult.#ctor(NUnit.Framework.Constraints.IConstraint,System.Object,System.Boolean,System.Int32,System.Collections.Generic.ICollection{System.Object})"> + <summary> + Constructs a <see cref="T:NUnit.Framework.Constraints.ConstraintResult"/> for a <see cref="T:NUnit.Framework.Constraints.ExactCountConstraint"/>. + </summary> + <param name="constraint">The Constraint to which this result applies.</param> + <param name="actualValue">The actual value to which the Constraint was applied.</param> + <param name="isSuccess">If true, applies a status of Success to the result, otherwise Failure.</param> + <param name="matchCount">Count of matched items of the <see cref="T:NUnit.Framework.Constraints.ExactCountConstraint"/></param> + <param name="itemList">A list with maximum count (+1) of items of the <see cref="T:NUnit.Framework.Constraints.ExactCountConstraint"/></param> + </member> + <member name="M:NUnit.Framework.Constraints.ExactCountConstraintResult.WriteActualValueTo(NUnit.Framework.Constraints.MessageWriter)"> + <summary> + Write the actual value for a failing constraint test to a MessageWriter. + </summary> + <param name="writer">The writer on which the actual value is displayed</param> + </member> + <member name="T:NUnit.Framework.Constraints.ExactTypeConstraint"> + <summary> + ExactTypeConstraint is used to test that an object + is of the exact type provided in the constructor + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ExactTypeConstraint.#ctor(System.Type)"> + <summary> + Construct an ExactTypeConstraint for a given Type + </summary> + <param name="type">The expected Type.</param> + </member> + <member name="P:NUnit.Framework.Constraints.ExactTypeConstraint.DisplayName"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ExactTypeConstraint.Matches(System.Object)"> + <summary> + Apply the constraint to an actual value, returning true if it succeeds + </summary> + <param name="actual">The actual argument</param> + <returns>True if the constraint succeeds, otherwise false.</returns> + </member> + <member name="P:NUnit.Framework.Constraints.ExceptionNotThrownConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ExceptionNotThrownConstraint.ApplyTo``1(``0)"> + <summary> + Applies the constraint to an actual value, returning a ConstraintResult. + </summary> + <param name="actual">The value to be tested</param> + <returns>A ConstraintResult</returns> + </member> + <member name="T:NUnit.Framework.Constraints.ExceptionTypeConstraint"> + <summary> + ExceptionTypeConstraint is a special version of ExactTypeConstraint + used to provided detailed info about the exception thrown in + an error message. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ExceptionTypeConstraint.#ctor(System.Type)"> + <summary> + Constructs an ExceptionTypeConstraint + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ExceptionTypeConstraint.ApplyTo``1(``0)"> + <summary> + Applies the constraint to an actual value, returning a ConstraintResult. + </summary> + <param name="actual">The value to be tested</param> + <returns>A ConstraintResult</returns> + </member> + <member name="T:NUnit.Framework.Constraints.FalseConstraint"> + <summary> + FalseConstraint tests that the actual value is false + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.FalseConstraint.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.FalseConstraint"/> class. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.FalseConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="T:NUnit.Framework.Constraints.FileExistsConstraint"> + <summary> + FileExistsConstraint is used to determine if a file exists + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.FileExistsConstraint.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.FileExistsConstraint"/> class. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.FileExistsConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.FileOrDirectoryExistsConstraint"> + <summary> + FileOrDirectoryExistsConstraint is used to determine if a file or directory exists + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.FileOrDirectoryExistsConstraint.IgnoreDirectories"> + <summary> + If true, the constraint will only check if files exist, not directories + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.FileOrDirectoryExistsConstraint.IgnoreFiles"> + <summary> + If true, the constraint will only check if directories exist, not files + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.FileOrDirectoryExistsConstraint.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.FileOrDirectoryExistsConstraint"/> class that + will check files and directories. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.FileOrDirectoryExistsConstraint.#ctor(System.Boolean)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.FileOrDirectoryExistsConstraint"/> class that + will only check files if ignoreDirectories is true. + </summary> + <param name="ignoreDirectories">if set to <see langword="true"/> [ignore directories].</param> + </member> + <member name="P:NUnit.Framework.Constraints.FileOrDirectoryExistsConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.FileOrDirectoryExistsConstraint.ApplyTo``1(``0)"> + <summary> + Applies the constraint to an actual value, returning a ConstraintResult. + </summary> + <param name="actual">The value to be tested</param> + <returns>A ConstraintResult</returns> + </member> + <member name="T:NUnit.Framework.Constraints.FloatingPointNumerics"> + <summary>Helper routines for working with floating point numbers</summary> + <remarks> + <para> + The floating point comparison code is based on this excellent article: + https://randomascii.wordpress.com/2012/02/25/comparing-floating-point-numbers-2012-edition/ + </para> + <para> + "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. + </para> + <para> + 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. + </para> + </remarks> + </member> + <member name="T:NUnit.Framework.Constraints.FloatingPointNumerics.FloatIntUnion"> + <summary>Union of a floating point variable and an integer</summary> + </member> + <member name="F:NUnit.Framework.Constraints.FloatingPointNumerics.FloatIntUnion.Float"> + <summary>The union's value as a floating point variable</summary> + </member> + <member name="F:NUnit.Framework.Constraints.FloatingPointNumerics.FloatIntUnion.Int"> + <summary>The union's value as an integer</summary> + </member> + <member name="F:NUnit.Framework.Constraints.FloatingPointNumerics.FloatIntUnion.UInt"> + <summary>The union's value as an unsigned integer</summary> + </member> + <member name="T:NUnit.Framework.Constraints.FloatingPointNumerics.DoubleLongUnion"> + <summary>Union of a double precision floating point variable and a long</summary> + </member> + <member name="F:NUnit.Framework.Constraints.FloatingPointNumerics.DoubleLongUnion.Double"> + <summary>The union's value as a double precision floating point variable</summary> + </member> + <member name="F:NUnit.Framework.Constraints.FloatingPointNumerics.DoubleLongUnion.Long"> + <summary>The union's value as a long</summary> + </member> + <member name="F:NUnit.Framework.Constraints.FloatingPointNumerics.DoubleLongUnion.ULong"> + <summary>The union's value as an unsigned long</summary> + </member> + <member name="M:NUnit.Framework.Constraints.FloatingPointNumerics.AreAlmostEqualUlps(System.Single,System.Single,System.Int32)"> + <summary>Compares two floating point values for equality</summary> + <param name="left">First floating point value to be compared</param> + <param name="right">Second floating point value t be compared</param> + <param name="maxUlps"> + Maximum number of representable floating point values that are allowed to + be between the left and the right floating point values + </param> + <returns>True if both numbers are equal or close to being equal</returns> + <remarks> + <para> + 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. + </para> + <para> + 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. + </para> + <para> + Implementation partially follows the code outlined here: + http://www.anttirt.net/2007/08/19/proper-floating-point-comparisons/ + </para> + </remarks> + </member> + <member name="M:NUnit.Framework.Constraints.FloatingPointNumerics.AreAlmostEqualUlps(System.Double,System.Double,System.Int64)"> + <summary>Compares two double precision floating point values for equality</summary> + <param name="left">First double precision floating point value to be compared</param> + <param name="right">Second double precision floating point value t be compared</param> + <param name="maxUlps"> + 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 + </param> + <returns>True if both numbers are equal or close to being equal</returns> + <remarks> + <para> + 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. + </para> + <para> + 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. + </para> + <para> + Implementation partially follows the code outlined here: + http://www.anttirt.net/2007/08/19/proper-floating-point-comparisons/ + </para> + </remarks> + </member> + <member name="T:NUnit.Framework.Constraints.GreaterThanConstraint"> + <summary> + Tests whether a value is greater than the value supplied to its constructor + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.GreaterThanConstraint.#ctor(System.Object)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.GreaterThanConstraint"/> class. + </summary> + <param name="expected">The expected value.</param> + </member> + <member name="P:NUnit.Framework.Constraints.GreaterThanConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.GreaterThanConstraint.PerformComparison(NUnit.Framework.Constraints.ComparisonAdapter,System.Object,System.Object,NUnit.Framework.Constraints.Tolerance)"> + <summary> + Perform the comparison + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.GreaterThanOrEqualConstraint"> + <summary> + Tests whether a value is greater than or equal to the value supplied to its constructor + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.GreaterThanOrEqualConstraint.#ctor(System.Object)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.GreaterThanOrEqualConstraint"/> class. + </summary> + <param name="expected">The expected value.</param> + </member> + <member name="P:NUnit.Framework.Constraints.GreaterThanOrEqualConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.GreaterThanOrEqualConstraint.PerformComparison(NUnit.Framework.Constraints.ComparisonAdapter,System.Object,System.Object,NUnit.Framework.Constraints.Tolerance)"> + <summary> + Perform the comparison + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.IConstraint"> + <summary> + Interface for all constraints + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.IConstraint.DisplayName"> + <summary> + The display name of this Constraint for use by ToString(). + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.IConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.IConstraint.Arguments"> + <summary> + Arguments provided to this Constraint, for use in + formatting the description. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.IConstraint.Builder"> + <summary> + The ConstraintBuilder holding this constraint + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.IConstraint.ApplyTo``1(``0)"> + <summary> + Applies the constraint to an actual value, returning a ConstraintResult. + </summary> + <param name="actual">The value to be tested</param> + <returns>A ConstraintResult</returns> + </member> + <member name="M:NUnit.Framework.Constraints.IConstraint.ApplyTo``1(NUnit.Framework.Constraints.ActualValueDelegate{``0})"> + <summary> + 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. + </summary> + <param name="del">An ActualValueDelegate</param> + <returns>A ConstraintResult</returns> + </member> + <member name="M:NUnit.Framework.Constraints.IConstraint.ApplyTo``1(``0@)"> + <summary> + 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. + </summary> + <param name="actual">A reference to the value to be tested</param> + <returns>A ConstraintResult</returns> + </member> + <member name="T:NUnit.Framework.Constraints.IndexerConstraint"> + <summary> + IndexerConstraint extracts a named property and uses + its value as the actual value for a chained constraint. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.IndexerConstraint.#ctor(System.Collections.Generic.IEnumerable{System.Object},NUnit.Framework.Constraints.IConstraint)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.IndexerConstraint"/> class. + </summary> + <param name="indexerArguments">The argument list for the indexer.</param> + <param name="baseConstraint">The constraint to apply to the indexer.</param> + </member> + <member name="M:NUnit.Framework.Constraints.IndexerConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + </member> + <member name="M:NUnit.Framework.Constraints.IndexerConstraint.GetStringRepresentation"> + <summary> + Returns the string representation of the constraint. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.InstanceOfTypeConstraint"> + <summary> + InstanceOfTypeConstraint is used to test that an object + is of the same type provided or derived from it. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.InstanceOfTypeConstraint.#ctor(System.Type)"> + <summary> + Construct an InstanceOfTypeConstraint for the type provided + </summary> + <param name="type">The expected Type</param> + </member> + <member name="P:NUnit.Framework.Constraints.InstanceOfTypeConstraint.DisplayName"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.InstanceOfTypeConstraint.Matches(System.Object)"> + <summary> + Apply the constraint to an actual value, returning true if it succeeds + </summary> + <param name="actual">The actual argument</param> + <returns>True if the constraint succeeds, otherwise false.</returns> + </member> + <member name="T:NUnit.Framework.Constraints.Interval"> + <summary> + Keeps track of an interval time which can be represented in + Minutes, Seconds or Milliseconds + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.Interval.#ctor(System.Int32)"> + <summary> + Constructs a interval given an value in milliseconds + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Interval.AsTimeSpan"> + <summary> + Gets Interval value represented as a TimeSpan object + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Interval.InMinutes"> + <summary> + Returns the interval with the current value as a number of minutes. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Interval.InSeconds"> + <summary> + Returns the interval with the current value as a number of seconds. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Interval.InMilliseconds"> + <summary> + Returns the interval with the current value as a number of milliseconds. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Interval.IsNotZero"> + <summary> + Is true for intervals created with a non-zero value + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.Interval.ToString"> + <summary> + Returns a string that represents the current object. + </summary> + <returns> + A string that represents the current object. + </returns> + </member> + <member name="T:NUnit.Framework.Constraints.Interval.IntervalUnit"> + <summary> + IntervalUnit provides the semantics to the value stored in Interval class. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.Interval.IntervalUnit.Minute"> + <summary> + Unit representing an Interval in minutes + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.Interval.IntervalUnit.Second"> + <summary> + Unit representing an Interval in seconds + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.Interval.IntervalUnit.Millisecond"> + <summary> + Unit representing an Interval in milliseconds + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.IResolveConstraint"> + <summary> + The IResolveConstraint interface is implemented by all + complete and resolvable constraints and expressions. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.IResolveConstraint.Resolve"> + <summary> + Return the top-level constraint for this expression + </summary> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Constraints.ItemsConstraintExpression"> + <summary> + An extension of ResolvableConstraintExpression that adds a no-op Items property for readability. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ItemsConstraintExpression.#ctor"> + <summary> + Create a new instance of ItemsConstraintExpression + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ItemsConstraintExpression.#ctor(NUnit.Framework.Constraints.ConstraintBuilder)"> + <summary> + Create a new instance of ResolvableConstraintExpression, + passing in a pre-populated ConstraintBuilder. + </summary> + <param name="builder"></param> + </member> + <member name="P:NUnit.Framework.Constraints.ItemsConstraintExpression.Items"> + <summary> + No-op property for readability. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.LessThanConstraint"> + <summary> + Tests whether a value is less than the value supplied to its constructor + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.LessThanConstraint.#ctor(System.Object)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.LessThanConstraint"/> class. + </summary> + <param name="expected">The expected value.</param> + </member> + <member name="P:NUnit.Framework.Constraints.LessThanConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.LessThanConstraint.PerformComparison(NUnit.Framework.Constraints.ComparisonAdapter,System.Object,System.Object,NUnit.Framework.Constraints.Tolerance)"> + <summary> + Perform the comparison + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.LessThanOrEqualConstraint"> + <summary> + Tests whether a value is less than or equal to the value supplied to its constructor + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.LessThanOrEqualConstraint.#ctor(System.Object)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.LessThanOrEqualConstraint"/> class. + </summary> + <param name="expected">The expected value.</param> + </member> + <member name="P:NUnit.Framework.Constraints.LessThanOrEqualConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.LessThanOrEqualConstraint.PerformComparison(NUnit.Framework.Constraints.ComparisonAdapter,System.Object,System.Object,NUnit.Framework.Constraints.Tolerance)"> + <summary> + Perform the comparison + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.MessageWriter"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.MessageWriter.#ctor"> + <summary> + Construct a MessageWriter given a culture + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.MessageWriter.MaxLineLength"> + <summary> + Abstract method to get the max line length + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.MessageWriter.WriteMessageLine(System.String,System.Object[])"> + <summary> + Method to write single line message with optional args, usually + written to precede the general failure message. + </summary> + <param name="message">The message to be written</param> + <param name="args">Any arguments used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Constraints.MessageWriter.WriteMessageLine(System.Int32,System.String,System.Object[])"> + <summary> + Method to write single line message with optional args, usually + written to precede the general failure message, at a given + indentation level. + </summary> + <param name="level">The indentation level of the message</param> + <param name="message">The message to be written</param> + <param name="args">Any arguments used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Constraints.MessageWriter.DisplayDifferences(NUnit.Framework.Constraints.ConstraintResult)"> + <summary> + 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. + </summary> + <param name="result">The failing constraint result</param> + </member> + <member name="M:NUnit.Framework.Constraints.MessageWriter.DisplayDifferences(System.Object,System.Object)"> + <summary> + 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. + </summary> + <param name="expected">The expected value</param> + <param name="actual">The actual value causing the failure</param> + </member> + <member name="M:NUnit.Framework.Constraints.MessageWriter.DisplayDifferences(System.Object,System.Object,NUnit.Framework.Constraints.Tolerance)"> + <summary> + Display Expected and Actual lines for given values, including + a tolerance value on the Expected line. + </summary> + <param name="expected">The expected value</param> + <param name="actual">The actual value causing the failure</param> + <param name="tolerance">The tolerance within which the test was made</param> + </member> + <member name="M:NUnit.Framework.Constraints.MessageWriter.DisplayStringDifferences(System.String,System.String,System.Int32,System.Boolean,System.Boolean)"> + <summary> + 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. + </summary> + <param name="expected">The expected string value</param> + <param name="actual">The actual string value</param> + <param name="mismatch">The point at which the strings don't match or -1</param> + <param name="ignoreCase">If true, case is ignored in locating the point where the strings differ</param> + <param name="clipping">If true, the strings should be clipped to fit the line</param> + </member> + <member name="M:NUnit.Framework.Constraints.MessageWriter.WriteActualValue(System.Object)"> + <summary> + Writes the text for an actual value. + </summary> + <param name="actual">The actual value.</param> + </member> + <member name="M:NUnit.Framework.Constraints.MessageWriter.WriteValue(System.Object)"> + <summary> + Writes the text for a generalized value. + </summary> + <param name="val">The value.</param> + </member> + <member name="M:NUnit.Framework.Constraints.MessageWriter.WriteCollectionElements(System.Collections.IEnumerable,System.Int64,System.Int32)"> + <summary> + Writes the text for a collection value, + starting at a particular point, to a max length + </summary> + <param name="collection">The collection containing elements to write.</param> + <param name="start">The starting point of the elements to write</param> + <param name="max">The maximum number of elements to write</param> + </member> + <member name="T:NUnit.Framework.Constraints.ValueFormatter"> + <summary> + Custom value formatter function + </summary> + <param name="val">The value</param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Constraints.ValueFormatterFactory"> + <summary> + Custom value formatter factory function + </summary> + <param name="next">The next formatter function</param> + <returns>ValueFormatter</returns> + <remarks>If the given formatter is unable to handle a certain format, it must call the next formatter in the chain</remarks> + </member> + <member name="T:NUnit.Framework.Constraints.MsgUtils"> + <summary> + Static methods used in creating messages + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.MsgUtils.DefaultMaxItems"> + <summary> + Default amount of items used by <see cref="M:NUnit.Framework.Constraints.MsgUtils.FormatCollection(System.Collections.IEnumerable,System.Int64,System.Int32)"/> method. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.MsgUtils.ELLIPSIS"> + <summary> + Static string used when strings are clipped + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.MsgUtils.Fmt_Null"> + <summary> + Formatting strings used for expected and actual values + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.MsgUtils.DefaultValueFormatter"> + <summary> + Current head of chain of value formatters. Public for testing. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.MsgUtils.AddFormatter(NUnit.Framework.Constraints.ValueFormatterFactory)"> + <summary> + Add a formatter to the chain of responsibility. + </summary> + <param name="formatterFactory"></param> + </member> + <member name="M:NUnit.Framework.Constraints.MsgUtils.FormatValue(System.Object)"> + <summary> + Formats text to represent a generalized value. + </summary> + <param name="val">The value</param> + <returns>The formatted text</returns> + </member> + <member name="M:NUnit.Framework.Constraints.MsgUtils.FormatCollection(System.Collections.IEnumerable,System.Int64,System.Int32)"> + <summary> + Formats text for a collection value, + starting at a particular point, to a max length + </summary> + <param name="collection">The collection containing elements to write.</param> + <param name="start">The starting point of the elements to write</param> + <param name="max">The maximum number of elements to write</param> + </member> + <member name="M:NUnit.Framework.Constraints.MsgUtils.GetTypeRepresentation(System.Object)"> + <summary> + 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. + </summary> + <param name="obj"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Constraints.MsgUtils.EscapeControlChars(System.String)"> + <summary> + Converts any control characters in a string + to their escaped representation. + </summary> + <param name="s">The string to be converted</param> + <returns>The converted string</returns> + </member> + <member name="M:NUnit.Framework.Constraints.MsgUtils.EscapeNullCharacters(System.String)"> + <summary> + Converts any null characters in a string + to their escaped representation. + </summary> + <param name="s">The string to be converted</param> + <returns>The converted string</returns> + </member> + <member name="M:NUnit.Framework.Constraints.MsgUtils.GetArrayIndicesAsString(System.Int32[])"> + <summary> + Return the a string representation for a set of indices into an array + </summary> + <param name="indices">Array of indices for which a string is needed</param> + </member> + <member name="M:NUnit.Framework.Constraints.MsgUtils.GetArrayIndicesFromCollectionIndex(System.Collections.IEnumerable,System.Int64)"> + <summary> + Get an array of indices representing the point in a collection or + array corresponding to a single int index into the collection. + </summary> + <param name="collection">The collection to which the indices apply</param> + <param name="index">Index in the collection</param> + <returns>Array of indices</returns> + </member> + <member name="M:NUnit.Framework.Constraints.MsgUtils.ClipString(System.String,System.Int32,System.Int32)"> + <summary> + Clip a string to a given length, starting at a particular offset, returning the clipped + string with ellipses representing the removed parts + </summary> + <param name="s">The string to be clipped</param> + <param name="maxStringLength">The maximum permitted length of the result string</param> + <param name="clipStart">The point at which to start clipping</param> + <returns>The clipped string</returns> + </member> + <member name="M:NUnit.Framework.Constraints.MsgUtils.ClipExpectedAndActual(System.String@,System.String@,System.Int32,System.Int32)"> + <summary> + Clip the expected and actual strings in a coordinated fashion, + so that they may be displayed together. + </summary> + <param name="expected"></param> + <param name="actual"></param> + <param name="maxDisplayLength"></param> + <param name="mismatch"></param> + </member> + <member name="M:NUnit.Framework.Constraints.MsgUtils.FindMismatchPosition(System.String,System.String,System.Int32,System.Boolean)"> + <summary> + Shows the position two strings start to differ. Comparison + starts at the start index. + </summary> + <param name="expected">The expected string</param> + <param name="actual">The actual string</param> + <param name="istart">The index in the strings at which comparison should start</param> + <param name="ignoreCase">Boolean indicating whether case should be ignored</param> + <returns>-1 if no mismatch found, or the index where mismatch found</returns> + </member> + <member name="T:NUnit.Framework.Constraints.NaNConstraint"> + <summary> + NaNConstraint tests that the actual value is a double or float NaN + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.NaNConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.NaNConstraint.ApplyTo``1(``0)"> + <summary> + Test that the actual value is an NaN + </summary> + <param name="actual"></param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Constraints.NoItemConstraint"> + <summary> + NoItemConstraint applies another constraint to each + item in a collection, failing if any of them succeeds. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.NoItemConstraint.#ctor(NUnit.Framework.Constraints.IConstraint)"> + <summary> + Construct a SomeItemsConstraint on top of an existing constraint + </summary> + <param name="itemConstraint"></param> + </member> + <member name="P:NUnit.Framework.Constraints.NoItemConstraint.DisplayName"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.NoItemConstraint.ApplyTo``1(``0)"> + <summary> + Apply the item constraint to each item in the collection, + failing if any item fails. + </summary> + <param name="actual"></param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Constraints.NotConstraint"> + <summary> + NotConstraint negates the effect of some other constraint + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.NotConstraint.#ctor(NUnit.Framework.Constraints.IConstraint)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.NotConstraint"/> class. + </summary> + <param name="baseConstraint">The base constraint to be negated.</param> + </member> + <member name="M:NUnit.Framework.Constraints.NotConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for if the base constraint fails, false if it succeeds</returns> + </member> + <member name="T:NUnit.Framework.Constraints.NullConstraint"> + <summary> + NullConstraint tests that the actual value is null + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.NullConstraint.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.NullConstraint"/> class. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.NullConstraint.ApplyTo``1(``0)"> + <summary> + Applies the constraint to an actual value, returning a ConstraintResult. + </summary> + <param name="actual">The value to be tested</param> + <returns>A ConstraintResult</returns> + </member> + <member name="T:NUnit.Framework.Constraints.Numerics"> + <summary> + The Numerics class contains common operations on numeric values. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.Numerics.IsNumericType(System.Object)"> + <summary> + Checks the type of the object, returning true if + the object is a numeric type. + </summary> + <param name="obj">The object to check</param> + <returns>true if the object is a numeric type</returns> + </member> + <member name="M:NUnit.Framework.Constraints.Numerics.IsFloatingPointNumeric(System.Object)"> + <summary> + Checks the type of the object, returning true if + the object is a floating point numeric type. + </summary> + <param name="obj">The object to check</param> + <returns>true if the object is a floating point numeric type</returns> + </member> + <member name="M:NUnit.Framework.Constraints.Numerics.IsFixedPointNumeric(System.Object)"> + <summary> + Checks the type of the object, returning true if + the object is a fixed point numeric type. + </summary> + <param name="obj">The object to check</param> + <returns>true if the object is a fixed point numeric type</returns> + </member> + <member name="M:NUnit.Framework.Constraints.Numerics.AreEqual(System.Object,System.Object,NUnit.Framework.Constraints.Tolerance@)"> + <summary> + 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. + </summary> + <param name="expected">The expected value</param> + <param name="actual">The actual value</param> + <param name="tolerance">A reference to the tolerance in effect</param> + <returns>True if the values are equal</returns> + </member> + <member name="M:NUnit.Framework.Constraints.Numerics.Compare(System.Object,System.Object)"> + <summary> + Compare two numeric values, performing the usual numeric conversions. + </summary> + <param name="expected">The expected value</param> + <param name="actual">The actual value</param> + <returns>The relationship of the values to each other</returns> + </member> + <member name="M:NUnit.Framework.Constraints.Numerics.Difference(System.Object,System.Object,NUnit.Framework.Constraints.ToleranceMode)"> + <summary> + Calculates the difference between 2 values in absolute/percent mode. + </summary> + <param name="expected">The expected value</param> + <param name="actual">The actual value</param> + <param name="toleranceMode">Tolerance mode to specify difference representation</param> + <returns>The difference between the values</returns> + </member> + <member name="T:NUnit.Framework.Constraints.NUnitComparer"> + <summary> + NUnitComparer encapsulates NUnit's default behavior + in comparing two objects. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.NUnitComparer.Default"> + <summary> + Returns the default NUnitComparer. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.NUnitComparer.Compare(System.Object,System.Object)"> + <summary> + Compares two objects + </summary> + <param name="x"></param> + <param name="y"></param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Constraints.NUnitEqualityComparer"> + <summary> + NUnitEqualityComparer encapsulates NUnit's handling of + equality tests between objects. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.NUnitEqualityComparer.caseInsensitive"> + <summary> + If true, all string comparisons will ignore case + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.NUnitEqualityComparer.compareAsCollection"> + <summary> + If true, arrays will be treated as collections, allowing + those of different dimensions to be compared + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.NUnitEqualityComparer.externalComparers"> + <summary> + Comparison objects used in comparisons for some constraints. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.NUnitEqualityComparer.failurePoints"> + <summary> + List of points at which a failure occurred. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.NUnitEqualityComparer._comparers"> + <summary> + List of comparers used to compare pairs of objects. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.NUnitEqualityComparer.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.NUnitEqualityComparer"/> class. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.NUnitEqualityComparer.Default"> + <summary> + Returns the default NUnitEqualityComparer + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.NUnitEqualityComparer.IgnoreCase"> + <summary> + Gets and sets a flag indicating whether case should + be ignored in determining equality. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.NUnitEqualityComparer.CompareAsCollection"> + <summary> + Gets and sets a flag indicating that arrays should be + compared as collections, without regard to their shape. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.NUnitEqualityComparer.ExternalComparers"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.NUnitEqualityComparer.FailurePoints"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.NUnitEqualityComparer.WithSameOffset"> + <summary> + Flags the comparer to include <see cref="P:System.DateTimeOffset.Offset"/> + property in comparison of two <see cref="T:System.DateTimeOffset"/> values. + </summary> + <remarks> + Using this modifier does not allow to use the <see cref="T:NUnit.Framework.Constraints.Tolerance"/> + modifier. + </remarks> + </member> + <member name="M:NUnit.Framework.Constraints.NUnitEqualityComparer.AreEqual(System.Object,System.Object,NUnit.Framework.Constraints.Tolerance@)"> + <summary> + Compares two objects for equality within a tolerance. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.NUnitEqualityComparer.AreEqual(System.Object,System.Object,NUnit.Framework.Constraints.Tolerance@,System.Boolean)"> + <summary> + Compares two objects for equality within a tolerance. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.NUnitEqualityComparer.FailurePoint"> + <summary> + FailurePoint class represents one point of failure + in an equality test. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.NUnitEqualityComparer.FailurePoint.Position"> + <summary> + The location of the failure + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.NUnitEqualityComparer.FailurePoint.ExpectedValue"> + <summary> + The expected value + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.NUnitEqualityComparer.FailurePoint.ActualValue"> + <summary> + The actual value + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.NUnitEqualityComparer.FailurePoint.ExpectedHasData"> + <summary> + Indicates whether the expected value is valid + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.NUnitEqualityComparer.FailurePoint.ActualHasData"> + <summary> + Indicates whether the actual value is valid + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.AllOperator"> + <summary> + Represents a constraint that succeeds if all the + members of a collection match a base constraint. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.AllOperator.ApplyPrefix(NUnit.Framework.Constraints.IConstraint)"> + <summary> + Returns a constraint that will apply the argument + to the members of a collection, succeeding if + they all succeed. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.AndOperator"> + <summary> + Operator that requires both its arguments to succeed + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.AndOperator.#ctor"> + <summary> + Construct an AndOperator + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.AndOperator.ApplyOperator(NUnit.Framework.Constraints.IConstraint,NUnit.Framework.Constraints.IConstraint)"> + <summary> + Apply the operator to produce an AndConstraint + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.AttributeOperator"> + <summary> + Operator that tests for the presence of a particular attribute + on a type and optionally applies further tests to the attribute. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.AttributeOperator.#ctor(System.Type)"> + <summary> + Construct an AttributeOperator for a particular Type + </summary> + <param name="type">The Type of attribute tested</param> + </member> + <member name="M:NUnit.Framework.Constraints.AttributeOperator.Reduce(NUnit.Framework.Constraints.ConstraintBuilder.ConstraintStack)"> + <summary> + 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. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.BinaryOperator"> + <summary> + Abstract base class for all binary operators + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.BinaryOperator.Reduce(NUnit.Framework.Constraints.ConstraintBuilder.ConstraintStack)"> + <summary> + 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. + </summary> + <param name="stack"></param> + </member> + <member name="P:NUnit.Framework.Constraints.BinaryOperator.LeftPrecedence"> + <summary> + Gets the left precedence of the operator + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.BinaryOperator.RightPrecedence"> + <summary> + Gets the right precedence of the operator + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.BinaryOperator.ApplyOperator(NUnit.Framework.Constraints.IConstraint,NUnit.Framework.Constraints.IConstraint)"> + <summary> + Abstract method that produces a constraint by applying + the operator to its left and right constraint arguments. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.CollectionOperator"> + <summary> + Abstract base for operators that indicate how to + apply a constraint to items in a collection. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionOperator.#ctor"> + <summary> + Constructs a CollectionOperator + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.ConstraintOperator"> + <summary> + 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. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.ConstraintOperator.left_precedence"> + <summary> + The precedence value used when the operator + is about to be pushed to the stack. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.ConstraintOperator.right_precedence"> + <summary> + The precedence value used when the operator + is on the top of the stack. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintOperator.LeftContext"> + <summary> + The syntax element preceding this operator + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintOperator.RightContext"> + <summary> + The syntax element following this operator + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintOperator.LeftPrecedence"> + <summary> + The precedence value used when the operator + is about to be pushed to the stack. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintOperator.RightPrecedence"> + <summary> + The precedence value used when the operator + is on the top of the stack. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintOperator.Reduce(NUnit.Framework.Constraints.ConstraintBuilder.ConstraintStack)"> + <summary> + 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. + </summary> + <param name="stack"></param> + </member> + <member name="T:NUnit.Framework.Constraints.ExactCountOperator"> + <summary> + Represents a constraint that succeeds if the specified + count of members of a collection match a base constraint. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ExactCountOperator.#ctor(System.Int32)"> + <summary> + Construct an ExactCountOperator for a specified count + </summary> + <param name="expectedCount">The expected count</param> + </member> + <member name="M:NUnit.Framework.Constraints.ExactCountOperator.Reduce(NUnit.Framework.Constraints.ConstraintBuilder.ConstraintStack)"> + <summary> + 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. + </summary> + <param name="stack"></param> + </member> + <member name="T:NUnit.Framework.Constraints.IndexerOperator"> + <summary> + Operator used to test for the presence of a Indexer + on an object and optionally apply further tests to the + value of that indexer. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.IndexerOperator.#ctor(System.Object[])"> + <summary> + Constructs a IndexerOperator for a particular set of indexer + parameters + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.IndexerOperator.ApplyPrefix(NUnit.Framework.Constraints.IConstraint)"> + <summary> + Returns a IndexerConstraint applied to its argument. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.NoneOperator"> + <summary> + Represents a constraint that succeeds if none of the + members of a collection match a base constraint. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.NoneOperator.ApplyPrefix(NUnit.Framework.Constraints.IConstraint)"> + <summary> + Returns a constraint that will apply the argument + to the members of a collection, succeeding if + none of them succeed. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.NotOperator"> + <summary> + Negates the test of the constraint it wraps. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.NotOperator.#ctor"> + <summary> + Constructs a new NotOperator + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.NotOperator.ApplyPrefix(NUnit.Framework.Constraints.IConstraint)"> + <summary> + Returns a NotConstraint applied to its argument. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.OrOperator"> + <summary> + Operator that requires at least one of its arguments to succeed + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.OrOperator.#ctor"> + <summary> + Construct an OrOperator + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.OrOperator.ApplyOperator(NUnit.Framework.Constraints.IConstraint,NUnit.Framework.Constraints.IConstraint)"> + <summary> + Apply the operator to produce an OrConstraint + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.PrefixOperator"> + <summary> + PrefixOperator takes a single constraint and modifies + its action in some way. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.PrefixOperator.Reduce(NUnit.Framework.Constraints.ConstraintBuilder.ConstraintStack)"> + <summary> + 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. + </summary> + <param name="stack"></param> + </member> + <member name="M:NUnit.Framework.Constraints.PrefixOperator.ApplyPrefix(NUnit.Framework.Constraints.IConstraint)"> + <summary> + Returns the constraint created by applying this + prefix to another constraint. + </summary> + <param name="constraint"></param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Constraints.PropOperator"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.PropOperator.Name"> + <summary> + Gets the name of the property to which the operator applies + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.PropOperator.#ctor(System.String)"> + <summary> + Constructs a PropOperator for a particular named property + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.PropOperator.Reduce(NUnit.Framework.Constraints.ConstraintBuilder.ConstraintStack)"> + <summary> + 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. + </summary> + <param name="stack"></param> + </member> + <member name="T:NUnit.Framework.Constraints.SelfResolvingOperator"> + <summary> + Abstract base class for operators that are able to reduce to a + constraint whether or not another syntactic element follows. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.SomeOperator"> + <summary> + Represents a constraint that succeeds if any of the + members of a collection match a base constraint. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.SomeOperator.ApplyPrefix(NUnit.Framework.Constraints.IConstraint)"> + <summary> + Returns a constraint that will apply the argument + to the members of a collection, succeeding if + any of them succeed. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.ThrowsOperator"> + <summary> + Operator that tests that an exception is thrown and + optionally applies further tests to the exception. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ThrowsOperator.#ctor"> + <summary> + Construct a ThrowsOperator + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ThrowsOperator.Reduce(NUnit.Framework.Constraints.ConstraintBuilder.ConstraintStack)"> + <summary> + 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. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.WithOperator"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.WithOperator.#ctor"> + <summary> + Constructor for the WithOperator + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.WithOperator.ApplyPrefix(NUnit.Framework.Constraints.IConstraint)"> + <summary> + Returns a constraint that wraps its argument + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.OrConstraint"> + <summary> + OrConstraint succeeds if either member succeeds + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.OrConstraint.#ctor(NUnit.Framework.Constraints.IConstraint,NUnit.Framework.Constraints.IConstraint)"> + <summary> + Create an OrConstraint from two other constraints + </summary> + <param name="left">The first constraint</param> + <param name="right">The second constraint</param> + </member> + <member name="P:NUnit.Framework.Constraints.OrConstraint.Description"> + <summary> + Gets text describing a constraint + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.OrConstraint.ApplyTo``1(``0)"> + <summary> + Apply the member constraints to an actual value, succeeding + succeeding as soon as one of them succeeds. + </summary> + <param name="actual">The actual value</param> + <returns>True if either constraint succeeded</returns> + </member> + <member name="T:NUnit.Framework.Constraints.PathConstraint"> + <summary> + PathConstraint serves as the abstract base of constraints + that operate on paths and provides several helper methods. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.PathConstraint.#ctor(System.String)"> + <summary> + Construct a PathConstraint for a give expected path + </summary> + <param name="expected">The expected path</param> + </member> + <member name="P:NUnit.Framework.Constraints.PathConstraint.RespectCase"> + <summary> + Modifies the current instance to be case-sensitive + and returns it. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.PathConstraint.GetStringRepresentation"> + <summary> + Returns the string representation of this constraint + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.PathConstraint.Canonicalize(System.String)"> + <summary> + Canonicalize the provided path + </summary> + <param name="path"></param> + <returns>The path in standardized form</returns> + </member> + <member name="M:NUnit.Framework.Constraints.PathConstraint.IsSubPath(System.String,System.String)"> + <summary> + Test whether one path in canonical form is a subpath of another path + </summary> + <param name="path1">The first path - supposed to be the parent path</param> + <param name="path2">The second path - supposed to be the child path</param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Constraints.PredicateConstraint`1"> + <summary> + Predicate constraint wraps a Predicate in a constraint, + returning success if the predicate is true. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.PredicateConstraint`1.#ctor(System.Predicate{`0})"> + <summary> + Construct a PredicateConstraint from a predicate + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.PredicateConstraint`1.Description"> + <summary> + Gets text describing a constraint + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.PredicateConstraint`1.ApplyTo``1(``0)"> + <summary> + Determines whether the predicate succeeds when applied + to the actual value. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.PrefixConstraint"> + <summary> + Abstract base class used for prefixes + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.PrefixConstraint.BaseConstraint"> + <summary> + The base constraint + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.PrefixConstraint.DescriptionPrefix"> + <summary> + Prefix used in forming the constraint description + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.PrefixConstraint.#ctor(NUnit.Framework.Constraints.IResolveConstraint)"> + <summary> + Construct given a base constraint + </summary> + <param name="baseConstraint"></param> + </member> + <member name="P:NUnit.Framework.Constraints.PrefixConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.PrefixConstraint.FormatDescription(System.String,NUnit.Framework.Constraints.IConstraint)"> + <summary> + Formats a prefix constraint's description. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.PropertyConstraint"> + <summary> + PropertyConstraint extracts a named property and uses + its value as the actual value for a chained constraint. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.PropertyConstraint.#ctor(System.String,NUnit.Framework.Constraints.IConstraint)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.PropertyConstraint"/> class. + </summary> + <param name="name">The name.</param> + <param name="baseConstraint">The constraint to apply to the property.</param> + </member> + <member name="M:NUnit.Framework.Constraints.PropertyConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + </member> + <member name="M:NUnit.Framework.Constraints.PropertyConstraint.GetStringRepresentation"> + <summary> + Returns the string representation of the constraint. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.PropertyConstraintResult"> + <summary> + Contains the result of matching a <see cref="T:NUnit.Framework.Constraints.PropertyConstraint"/> against an actual value. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.PropertyConstraintResult.#ctor(NUnit.Framework.Constraints.IConstraint,NUnit.Framework.Constraints.ConstraintResult)"> + <summary> + Constructs a <see cref="T:NUnit.Framework.Constraints.PropertyConstraintResult"/> for a particular <see cref="T:NUnit.Framework.Constraints.PropertyConstraint"/>. + </summary> + <param name="constraint">The Constraint to which this result applies.</param> + <param name="baseResult">The base result with actual value to which the Constraint was applied.</param> + </member> + <member name="M:NUnit.Framework.Constraints.PropertyConstraintResult.WriteAdditionalLinesTo(NUnit.Framework.Constraints.MessageWriter)"> + <summary> + Write the additional failure message for a failing constraint to a + MessageWriter. + </summary> + <param name="writer">The writer on which the actual value is displayed</param> + </member> + <member name="T:NUnit.Framework.Constraints.PropertyExistsConstraint"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.PropertyExistsConstraint.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.PropertyExistsConstraint"/> class. + </summary> + <param name="name">The name of the property.</param> + </member> + <member name="P:NUnit.Framework.Constraints.PropertyExistsConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.PropertyExistsConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the property exists for a given object + </summary> + <param name="actual">The object to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="M:NUnit.Framework.Constraints.PropertyExistsConstraint.GetStringRepresentation"> + <summary> + Returns the string representation of the constraint. + </summary> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Constraints.RangeConstraint"> + <summary> + RangeConstraint tests whether two values are within a + specified range. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.RangeConstraint.#ctor(System.Object,System.Object)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.RangeConstraint"/> class. + </summary> + <param name="from">Inclusive beginning of the range.</param> + <param name="to">Inclusive end of the range.</param> + </member> + <member name="P:NUnit.Framework.Constraints.RangeConstraint.Description"> + <summary> + Gets text describing a constraint + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.RangeConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="M:NUnit.Framework.Constraints.RangeConstraint.Using(System.Collections.IComparer)"> + <summary> + Modifies the constraint to use an <see cref="T:System.Collections.IComparer"/> and returns self. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.RangeConstraint.Using``1(System.Collections.Generic.IComparer{``0})"> + <summary> + Modifies the constraint to use an <see cref="T:System.Collections.Generic.IComparer`1"/> and returns self. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.RangeConstraint.Using``1(System.Comparison{``0})"> + <summary> + Modifies the constraint to use a <see cref="T:System.Comparison`1"/> and returns self. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.RegexConstraint"> + <summary> + RegexConstraint can test whether a string matches + the pattern provided. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.RegexConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.RegexConstraint.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.RegexConstraint"/> class. + </summary> + <param name="pattern">The pattern.</param> + </member> + <member name="M:NUnit.Framework.Constraints.RegexConstraint.#ctor(System.Text.RegularExpressions.Regex)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.RegexConstraint"/> class. + </summary> + <param name="regex">The Regex pattern object.</param> + </member> + <member name="P:NUnit.Framework.Constraints.RegexConstraint.IgnoreCase"> + <summary> + Modify the constraint to ignore case in matching. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.RegexConstraint.ApplyTo``1(``0)"> + <summary> + Applies the regex constraint to an actual value, returning a ConstraintResult. + </summary> + <param name="actual">The string to be tested.</param> + <returns>True for success, false for failure.</returns> + </member> + <member name="T:NUnit.Framework.Constraints.ResolvableConstraintExpression"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ResolvableConstraintExpression.#ctor"> + <summary> + Create a new instance of ResolvableConstraintExpression + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ResolvableConstraintExpression.#ctor(NUnit.Framework.Constraints.ConstraintBuilder)"> + <summary> + Create a new instance of ResolvableConstraintExpression, + passing in a pre-populated ConstraintBuilder. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ResolvableConstraintExpression.And"> + <summary> + Appends an And Operator to the expression + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ResolvableConstraintExpression.Or"> + <summary> + Appends an Or operator to the expression. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ResolvableConstraintExpression.NUnit#Framework#Constraints#IResolveConstraint#Resolve"> + <summary> + Resolve the current expression to a Constraint + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.ReusableConstraint"> + <summary> + ReusableConstraint wraps a constraint expression after + resolving it so that it can be reused consistently. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ReusableConstraint.#ctor(NUnit.Framework.Constraints.IResolveConstraint)"> + <summary> + Construct a ReusableConstraint from a constraint expression + </summary> + <param name="c">The expression to be resolved and reused</param> + </member> + <member name="M:NUnit.Framework.Constraints.ReusableConstraint.op_Implicit(NUnit.Framework.Constraints.Constraint)~NUnit.Framework.Constraints.ReusableConstraint"> + <summary> + Converts a constraint to a ReusableConstraint + </summary> + <param name="c">The constraint to be converted</param> + <returns>A ReusableConstraint</returns> + </member> + <member name="M:NUnit.Framework.Constraints.ReusableConstraint.ToString"> + <summary> + Returns a <see cref="T:System.String"/> that represents this instance. + </summary> + <returns> + A <see cref="T:System.String"/> that represents this instance. + </returns> + </member> + <member name="M:NUnit.Framework.Constraints.ReusableConstraint.Resolve"> + <summary> + Return the top-level constraint for this expression + </summary> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Constraints.SameAsConstraint"> + <summary> + SameAsConstraint tests whether an object is identical to + the object passed to its constructor + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.SameAsConstraint.#ctor(System.Object)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.SameAsConstraint"/> class. + </summary> + <param name="expected">The expected object.</param> + </member> + <member name="P:NUnit.Framework.Constraints.SameAsConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.SameAsConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="T:NUnit.Framework.Constraints.SamePathConstraint"> + <summary> + Summary description for SamePathConstraint. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.SamePathConstraint.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.SamePathConstraint"/> class. + </summary> + <param name="expected">The expected path</param> + </member> + <member name="P:NUnit.Framework.Constraints.SamePathConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.SamePathConstraint.Matches(System.String)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="T:NUnit.Framework.Constraints.SamePathOrUnderConstraint"> + <summary> + SamePathOrUnderConstraint tests that one path is under another + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.SamePathOrUnderConstraint.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.SamePathOrUnderConstraint"/> class. + </summary> + <param name="expected">The expected path</param> + </member> + <member name="P:NUnit.Framework.Constraints.SamePathOrUnderConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.SamePathOrUnderConstraint.Matches(System.String)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="T:NUnit.Framework.Constraints.SomeItemsConstraint"> + <summary> + SomeItemsConstraint applies another constraint to each + item in a collection, succeeding if any of them succeeds. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.SomeItemsConstraint.#ctor(NUnit.Framework.Constraints.IConstraint)"> + <summary> + Construct a SomeItemsConstraint on top of an existing constraint + </summary> + <param name="itemConstraint"></param> + </member> + <member name="P:NUnit.Framework.Constraints.SomeItemsConstraint.DisplayName"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.SomeItemsConstraint.ApplyTo``1(``0)"> + <summary> + Apply the item constraint to each item in the collection, + succeeding if any item succeeds. + </summary> + <param name="actual"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Constraints.SomeItemsConstraint.Using``2(System.Func{``0,``1,System.Boolean})"> + <summary> + Flag the constraint to use the supplied <see cref="T:System.Func`3"/> object. + </summary> + <typeparam name="TCollectionType">The type of the elements in the collection.</typeparam> + <typeparam name="TMemberType">The type of the member.</typeparam> + <param name="comparison">The comparison function to use.</param> + <returns>Self.</returns> + </member> + <member name="M:NUnit.Framework.Constraints.SomeItemsConstraint.Using(System.Collections.IComparer)"> + <summary> + Flag the constraint to use the supplied <see cref="T:System.Collections.IComparer"/> object. + </summary> + <param name="comparer">The IComparer object to use.</param> + <returns>Self.</returns> + </member> + <member name="M:NUnit.Framework.Constraints.SomeItemsConstraint.Using``1(System.Collections.Generic.IComparer{``0})"> + <summary> + Flag the constraint to use the supplied <see cref="T:System.Collections.Generic.IComparer`1"/> object. + </summary> + <param name="comparer">The IComparer object to use.</param> + <returns>Self.</returns> + </member> + <member name="M:NUnit.Framework.Constraints.SomeItemsConstraint.Using``1(System.Comparison{``0})"> + <summary> + Flag the constraint to use the supplied <see cref="T:System.Comparison`1"/> object. + </summary> + <param name="comparer">The IComparer object to use.</param> + <returns>Self.</returns> + </member> + <member name="M:NUnit.Framework.Constraints.SomeItemsConstraint.Using(System.Collections.IEqualityComparer)"> + <summary> + Flag the constraint to use the supplied <see cref="T:System.Collections.IEqualityComparer"/> object. + </summary> + <param name="comparer">The IComparer object to use.</param> + <returns>Self.</returns> + </member> + <member name="M:NUnit.Framework.Constraints.SomeItemsConstraint.Using``1(System.Collections.Generic.IEqualityComparer{``0})"> + <summary> + Flag the constraint to use the supplied <see cref="T:System.Collections.Generic.IEqualityComparer`1"/> object. + </summary> + <param name="comparer">The IComparer object to use.</param> + <returns>Self.</returns> + </member> + <member name="T:NUnit.Framework.Constraints.StartsWithConstraint"> + <summary> + StartsWithConstraint can test whether a string starts + with an expected substring. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.StartsWithConstraint.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.StartsWithConstraint"/> class. + </summary> + <param name="expected">The expected string</param> + </member> + <member name="M:NUnit.Framework.Constraints.StartsWithConstraint.Matches(System.String)"> + <summary> + Test whether the constraint is matched by the actual value. + This is a template method, which calls the IsMatch method + of the derived class. + </summary> + <param name="actual"></param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Constraints.StringConstraint"> + <summary> + StringConstraint is the abstract base for constraints + that operate on strings. It supports the IgnoreCase + modifier for string operations. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.StringConstraint.expected"> + <summary> + The expected value + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.StringConstraint.caseInsensitive"> + <summary> + Indicates whether tests should be case-insensitive + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.StringConstraint.descriptionText"> + <summary> + Description of this constraint + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.StringConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.StringConstraint.#ctor"> + <summary> + Constructs a StringConstraint without an expected value + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.StringConstraint.#ctor(System.String)"> + <summary> + Constructs a StringConstraint given an expected value + </summary> + <param name="expected">The expected value</param> + </member> + <member name="P:NUnit.Framework.Constraints.StringConstraint.IgnoreCase"> + <summary> + Modify the constraint to ignore case in matching. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.StringConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="M:NUnit.Framework.Constraints.StringConstraint.Matches(System.String)"> + <summary> + Test whether the constraint is satisfied by a given string + </summary> + <param name="actual">The string to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="T:NUnit.Framework.Constraints.SubPathConstraint"> + <summary> + SubPathConstraint tests that the actual path is under the expected path + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.SubPathConstraint.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.SubPathConstraint"/> class. + </summary> + <param name="expected">The expected path</param> + </member> + <member name="P:NUnit.Framework.Constraints.SubPathConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.SubPathConstraint.Matches(System.String)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="T:NUnit.Framework.Constraints.SubstringConstraint"> + <summary> + SubstringConstraint can test whether a string contains + the expected substring. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.SubstringConstraint.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.SubstringConstraint"/> class. + </summary> + <param name="expected">The expected.</param> + </member> + <member name="P:NUnit.Framework.Constraints.SubstringConstraint.IgnoreCase"> + <summary> + Modify the constraint to ignore case in matching. + This will call Using(StringComparison.CurrentCultureIgnoreCase). + </summary> + <exception cref="T:System.InvalidOperationException">Thrown when a comparison type different + than <see cref="F:System.StringComparison.CurrentCultureIgnoreCase"/> was already set.</exception> + </member> + <member name="M:NUnit.Framework.Constraints.SubstringConstraint.Matches(System.String)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="M:NUnit.Framework.Constraints.SubstringConstraint.Using(System.StringComparison)"> + <summary> + Modify the constraint to the specified comparison. + </summary> + <exception cref="T:System.InvalidOperationException">Thrown when a comparison type different + than <paramref name="comparisonType"/> was already set.</exception> + </member> + <member name="T:NUnit.Framework.Constraints.ThrowsConstraint"> + <summary> + ThrowsConstraint is used to test the exception thrown by + a delegate by applying a constraint to it. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ThrowsConstraint.#ctor(NUnit.Framework.Constraints.IConstraint)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.ThrowsConstraint"/> class, + using a constraint to be applied to the exception. + </summary> + <param name="baseConstraint">A constraint to apply to the caught exception.</param> + </member> + <member name="P:NUnit.Framework.Constraints.ThrowsConstraint.ActualException"> + <summary> + Get the actual exception thrown - used by Assert.Throws. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ThrowsConstraint.Description"> + <summary> + Gets text describing a constraint + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ThrowsConstraint.ApplyTo``1(``0)"> + <summary> + 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. + </summary> + <param name="actual">A delegate representing the code to be tested</param> + <returns>True if an exception is thrown and the constraint succeeds, otherwise false</returns> + </member> + <member name="M:NUnit.Framework.Constraints.ThrowsConstraint.ApplyTo``1(NUnit.Framework.Constraints.ActualValueDelegate{``0})"> + <summary> + Converts an ActualValueDelegate to a TestDelegate + before calling the primary overload. + </summary> + <param name="del"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Constraints.ThrowsConstraint.ThrowsConstraintResult.WriteActualValueTo(NUnit.Framework.Constraints.MessageWriter)"> + <summary> + 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. + </summary> + <param name="writer">The writer on which the actual value is displayed</param> + </member> + <member name="T:NUnit.Framework.Constraints.ThrowsExceptionConstraint"> + <summary> + ThrowsExceptionConstraint tests that an exception has + been thrown, without any further tests. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ThrowsExceptionConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ThrowsExceptionConstraint.ApplyTo``1(``0)"> + <summary> + Executes the code and returns success if an exception is thrown. + </summary> + <param name="actual">A delegate representing the code to be tested</param> + <returns>True if an exception is thrown, otherwise false</returns> + </member> + <member name="M:NUnit.Framework.Constraints.ThrowsExceptionConstraint.ApplyTo``1(NUnit.Framework.Constraints.ActualValueDelegate{``0})"> + <summary> + 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. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.ThrowsNothingConstraint"> + <summary> + ThrowsNothingConstraint tests that a delegate does not + throw an exception. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ThrowsNothingConstraint.Description"> + <summary> + Gets text describing a constraint + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ThrowsNothingConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True if no exception is thrown, otherwise false</returns> + </member> + <member name="M:NUnit.Framework.Constraints.ThrowsNothingConstraint.ApplyTo``1(NUnit.Framework.Constraints.ActualValueDelegate{``0})"> + <summary> + 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. + </summary> + <param name="del">An ActualValueDelegate</param> + <returns>A ConstraintResult</returns> + </member> + <member name="T:NUnit.Framework.Constraints.Tolerance"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Tolerance.Default"> + <summary> + Returns a default Tolerance object, equivalent to an exact match. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Tolerance.Exact"> + <summary> + Returns an empty Tolerance object, equivalent to an exact match. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.Tolerance.#ctor(System.Object)"> + <summary> + Constructs a linear tolerance of a specified amount + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.Tolerance.#ctor(System.Object,NUnit.Framework.Constraints.ToleranceMode)"> + <summary> + Constructs a tolerance given an amount and <see cref="T:NUnit.Framework.Constraints.ToleranceMode"/> + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Tolerance.Percent"> + <summary> + Returns a new tolerance, using the current amount as a percentage. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Tolerance.Ulps"> + <summary> + Returns a new tolerance, using the current amount in Ulps + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Tolerance.Days"> + <summary> + Returns a new tolerance with a <see cref="T:System.TimeSpan"/> as the amount, using + the current amount as a number of days. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Tolerance.Hours"> + <summary> + Returns a new tolerance with a <see cref="T:System.TimeSpan"/> as the amount, using + the current amount as a number of hours. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Tolerance.Minutes"> + <summary> + Returns a new tolerance with a <see cref="T:System.TimeSpan"/> as the amount, using + the current amount as a number of minutes. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Tolerance.Seconds"> + <summary> + Returns a new tolerance with a <see cref="T:System.TimeSpan"/> as the amount, using + the current amount as a number of seconds. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Tolerance.Milliseconds"> + <summary> + Returns a new tolerance with a <see cref="T:System.TimeSpan"/> as the amount, using + the current amount as a number of milliseconds. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Tolerance.Ticks"> + <summary> + Returns a new tolerance with a <see cref="T:System.TimeSpan"/> as the amount, using + the current amount as a number of clock ticks. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Tolerance.Mode"> + <summary> + Gets the <see cref="T:NUnit.Framework.Constraints.ToleranceMode"/> for the current Tolerance + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Tolerance.Amount"> + <summary> + Gets the magnitude of the current Tolerance instance. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Tolerance.IsUnsetOrDefault"> + <summary> + Returns true if the current tolerance has not been set or is using the . + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.Tolerance.ApplyToValue(System.Object)"> + <summary> + Apply the tolerance to an expected value and return + a Tolerance.Range that represents the acceptable values. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.Tolerance.CheckLinearAndNumeric"> + <summary> + Tests that the current Tolerance is linear with a + numeric value, throwing an exception if it is not. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.Tolerance.Range"> + <summary> + Tolerance.Range represents the range of values that match + a specific tolerance, when applied to a specific value. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.Tolerance.Range.LowerBound"> + <summary> + The lower bound of the range + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.Tolerance.Range.UpperBound"> + <summary> + The upper bound of the range + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.Tolerance.Range.#ctor(System.Object,System.Object)"> + <summary> + Constructs a range + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.ToleranceMode"> + <summary> + Modes in which the tolerance value for a comparison can be interpreted. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.ToleranceMode.Unset"> + <summary> + 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. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.ToleranceMode.Linear"> + <summary> + The tolerance is used as a numeric range within which + two compared values are considered to be equal. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.ToleranceMode.Percent"> + <summary> + Interprets the tolerance as the percentage by which + the two compared values my deviate from each other. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.ToleranceMode.Ulps"> + <summary> + Compares two values based in their distance in + representable numbers. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.TrueConstraint"> + <summary> + TrueConstraint tests that the actual value is true + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.TrueConstraint.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.TrueConstraint"/> class. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.TrueConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="T:NUnit.Framework.Constraints.TypeConstraint"> + <summary> + TypeConstraint is the abstract base for constraints + that take a Type as their expected value. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.TypeConstraint.expectedType"> + <summary> + The expected Type used by the constraint + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.TypeConstraint.actualType"> + <summary> + The type of the actual argument to which the constraint was applied + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.TypeConstraint.#ctor(System.Type,System.String)"> + <summary> + Construct a TypeConstraint for a given Type + </summary> + <param name="type">The expected type for the constraint</param> + <param name="descriptionPrefix">Prefix used in forming the constraint description</param> + </member> + <member name="M:NUnit.Framework.Constraints.TypeConstraint.ApplyTo``1(``0)"> + <summary> + Applies the constraint to an actual value, returning a ConstraintResult. + </summary> + <param name="actual">The value to be tested</param> + <returns>A ConstraintResult</returns> + </member> + <member name="M:NUnit.Framework.Constraints.TypeConstraint.Matches(System.Object)"> + <summary> + Apply the constraint to an actual value, returning true if it succeeds + </summary> + <param name="actual">The actual argument</param> + <returns>True if the constraint succeeds, otherwise false.</returns> + </member> + <member name="T:NUnit.Framework.Constraints.UniqueItemsConstraint"> + <summary> + UniqueItemsConstraint tests whether all the items in a + collection are unique. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.UniqueItemsConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.UniqueItemsConstraint.Matches(System.Collections.IEnumerable)"> + <summary> + Check that all items are unique. + </summary> + <param name="actual"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Constraints.UniqueItemsConstraint.ApplyTo``1(``0)"> + <inheritdoc /> + </member> + <member name="T:NUnit.Framework.Constraints.XmlSerializableConstraint"> + <summary> + XmlSerializableConstraint tests whether + an object is serializable in XML format. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.XmlSerializableConstraint.Description"> + <summary> + Gets text describing a constraint + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.XmlSerializableConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="M:NUnit.Framework.Constraints.XmlSerializableConstraint.GetStringRepresentation"> + <summary> + Returns the string representation of this constraint + </summary> + </member> + <member name="T:NUnit.Framework.Contains"> + <summary> + Helper class with properties and methods that supply + a number of constraints used in Asserts. + </summary> + </member> + <member name="M:NUnit.Framework.Contains.Item(System.Object)"> + <summary> + Returns a new <see cref="T:NUnit.Framework.Constraints.SomeItemsConstraint"/> checking for the + presence of a particular object in the collection. + </summary> + </member> + <member name="M:NUnit.Framework.Contains.Key(System.Object)"> + <summary> + Returns a new DictionaryContainsKeyConstraint checking for the + presence of a particular key in the dictionary. + </summary> + </member> + <member name="M:NUnit.Framework.Contains.Value(System.Object)"> + <summary> + Returns a new DictionaryContainsValueConstraint checking for the + presence of a particular value in the dictionary. + </summary> + </member> + <member name="M:NUnit.Framework.Contains.Substring(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + </summary> + </member> + <member name="T:NUnit.Framework.DirectoryAssert"> + <summary> + Asserts on Directories + </summary> + </member> + <member name="M:NUnit.Framework.DirectoryAssert.Equals(System.Object,System.Object)"> + <summary> + 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. + </summary> + <param name="a"></param> + <param name="b"></param> + </member> + <member name="M:NUnit.Framework.DirectoryAssert.ReferenceEquals(System.Object,System.Object)"> + <summary> + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + </summary> + <param name="a"></param> + <param name="b"></param> + </member> + <member name="M:NUnit.Framework.DirectoryAssert.AreEqual(System.IO.DirectoryInfo,System.IO.DirectoryInfo,System.String,System.Object[])"> + <summary> + 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 <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="expected">A directory containing the value that is expected</param> + <param name="actual">A directory containing the actual value</param> + <param name="message">The message to display if the directories are not equal</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.DirectoryAssert.AreEqual(System.IO.DirectoryInfo,System.IO.DirectoryInfo)"> + <summary> + 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 <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="expected">A directory containing the value that is expected</param> + <param name="actual">A directory containing the actual value</param> + </member> + <member name="M:NUnit.Framework.DirectoryAssert.AreNotEqual(System.IO.DirectoryInfo,System.IO.DirectoryInfo,System.String,System.Object[])"> + <summary> + Asserts that two directories are not equal. If they are equal + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="expected">A directory containing the value that is expected</param> + <param name="actual">A directory containing the actual value</param> + <param name="message">The message to display if directories are not equal</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.DirectoryAssert.AreNotEqual(System.IO.DirectoryInfo,System.IO.DirectoryInfo)"> + <summary> + Asserts that two directories are not equal. If they are equal + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="expected">A directory containing the value that is expected</param> + <param name="actual">A directory containing the actual value</param> + </member> + <member name="M:NUnit.Framework.DirectoryAssert.Exists(System.IO.DirectoryInfo,System.String,System.Object[])"> + <summary> + Asserts that the directory exists. If it does not exist + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="actual">A directory containing the actual value</param> + <param name="message">The message to display if directories are not equal</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.DirectoryAssert.Exists(System.IO.DirectoryInfo)"> + <summary> + Asserts that the directory exists. If it does not exist + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="actual">A directory containing the actual value</param> + </member> + <member name="M:NUnit.Framework.DirectoryAssert.Exists(System.String,System.String,System.Object[])"> + <summary> + Asserts that the directory exists. If it does not exist + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="actual">The path to a directory containing the actual value</param> + <param name="message">The message to display if directories are not equal</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.DirectoryAssert.Exists(System.String)"> + <summary> + Asserts that the directory exists. If it does not exist + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="actual">The path to a directory containing the actual value</param> + </member> + <member name="M:NUnit.Framework.DirectoryAssert.DoesNotExist(System.IO.DirectoryInfo,System.String,System.Object[])"> + <summary> + Asserts that the directory does not exist. If it does exist + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="actual">A directory containing the actual value</param> + <param name="message">The message to display if directories are not equal</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.DirectoryAssert.DoesNotExist(System.IO.DirectoryInfo)"> + <summary> + Asserts that the directory does not exist. If it does exist + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="actual">A directory containing the actual value</param> + </member> + <member name="M:NUnit.Framework.DirectoryAssert.DoesNotExist(System.String,System.String,System.Object[])"> + <summary> + Asserts that the directory does not exist. If it does exist + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="actual">The path to a directory containing the actual value</param> + <param name="message">The message to display if directories are not equal</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.DirectoryAssert.DoesNotExist(System.String)"> + <summary> + Asserts that the directory does not exist. If it does exist + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="actual">The path to a directory containing the actual value</param> + </member> + <member name="T:NUnit.Framework.Does"> + <summary> + Helper class with properties and methods that supply + a number of constraints used in Asserts. + </summary> + </member> + <member name="P:NUnit.Framework.Does.Not"> + <summary> + Returns a ConstraintExpression that negates any + following constraint. + </summary> + </member> + <member name="P:NUnit.Framework.Does.Exist"> + <summary> + Returns a constraint that succeeds if the value + is a file or directory and it exists. + </summary> + </member> + <member name="M:NUnit.Framework.Does.Contain(System.Object)"> + <summary> + Returns a new <see cref="T:NUnit.Framework.Constraints.SomeItemsConstraint"/> checking for the + presence of a particular object in the collection. + </summary> + </member> + <member name="M:NUnit.Framework.Does.Contain(System.String)"> + <summary> + Returns a new <see cref="T:NUnit.Framework.Constraints.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. + </summary> + </member> + <member name="M:NUnit.Framework.Does.ContainKey(System.Object)"> + <summary> + Returns a new DictionaryContainsKeyConstraint checking for the + presence of a particular key in the Dictionary key collection. + </summary> + <param name="expected">The key to be matched in the Dictionary key collection</param> + </member> + <member name="M:NUnit.Framework.Does.ContainValue(System.Object)"> + <summary> + Returns a new DictionaryContainsValueConstraint checking for the + presence of a particular value in the Dictionary value collection. + </summary> + <param name="expected">The value to be matched in the Dictionary value collection</param> + </member> + <member name="M:NUnit.Framework.Does.StartWith(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Does.EndWith(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Does.Match(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Does.Match(System.Text.RegularExpressions.Regex)"> + <summary> + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.ExceptionExtensions.GetStackTraceWithoutThrowing(System.Exception)"> + <summary> + If <see cref="P:System.Exception.StackTrace"/> throws, returns "SomeException was thrown by the Exception.StackTrace + property." See also <see cref="M:NUnit.Framework.Assert.GetEnvironmentStackTraceWithoutThrowing"/>. + </summary> + </member> + <member name="M:NUnit.Framework.ExceptionExtensions.GetMessageWithoutThrowing(System.Exception)"> + <summary> + If <see cref="P:System.Exception.Message"/> throws, returns "SomeException was thrown by the Exception.Message + property." + </summary> + </member> + <member name="M:NUnit.Framework.ExceptionExtensions.GetDataWithoutThrowing(System.Exception)"> + <summary> + If <see cref="P:System.Exception.Data"/> throws, returns "SomeException was thrown by the Exception.Data property." + </summary> + </member> + <member name="T:NUnit.Framework.AssertionException"> + <summary> + Thrown when an assertion failed. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionException.#ctor(System.String)"> + <param name="message">The error message that explains + the reason for the exception</param> + </member> + <member name="M:NUnit.Framework.AssertionException.#ctor(System.String,System.Exception)"> + <param name="message">The error message that explains + the reason for the exception</param> + <param name="inner">The exception that caused the + current exception</param> + </member> + <member name="M:NUnit.Framework.AssertionException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)"> + <summary> + Serialization Constructor + </summary> + </member> + <member name="P:NUnit.Framework.AssertionException.ResultState"> + <summary> + Gets the ResultState provided by this exception + </summary> + </member> + <member name="T:NUnit.Framework.IgnoreException"> + <summary> + Thrown when an assertion failed. + </summary> + </member> + <member name="M:NUnit.Framework.IgnoreException.#ctor(System.String)"> + <param name="message"></param> + </member> + <member name="M:NUnit.Framework.IgnoreException.#ctor(System.String,System.Exception)"> + <param name="message">The error message that explains + the reason for the exception</param> + <param name="inner">The exception that caused the + current exception</param> + </member> + <member name="M:NUnit.Framework.IgnoreException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)"> + <summary> + Serialization Constructor + </summary> + </member> + <member name="P:NUnit.Framework.IgnoreException.ResultState"> + <summary> + Gets the ResultState provided by this exception + </summary> + </member> + <member name="T:NUnit.Framework.InconclusiveException"> + <summary> + Thrown when a test executes inconclusively. + </summary> + </member> + <member name="M:NUnit.Framework.InconclusiveException.#ctor(System.String)"> + <param name="message">The error message that explains + the reason for the exception</param> + </member> + <member name="M:NUnit.Framework.InconclusiveException.#ctor(System.String,System.Exception)"> + <param name="message">The error message that explains + the reason for the exception</param> + <param name="inner">The exception that caused the + current exception</param> + </member> + <member name="M:NUnit.Framework.InconclusiveException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)"> + <summary> + Serialization Constructor + </summary> + </member> + <member name="P:NUnit.Framework.InconclusiveException.ResultState"> + <summary> + Gets the ResultState provided by this exception + </summary> + </member> + <member name="T:NUnit.Framework.MultipleAssertException"> + <summary> + Thrown when an assertion failed. + </summary> + </member> + <member name="M:NUnit.Framework.MultipleAssertException.#ctor(NUnit.Framework.Interfaces.ITestResult)"> + <summary> + 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. + </summary> + <param name="testResult"> + The current result, up to this point. The result is not used + internally by NUnit but is provided to facilitate debugging. + </param> + </member> + <member name="M:NUnit.Framework.MultipleAssertException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)"> + <summary> + Serialization Constructor + </summary> + </member> + <member name="P:NUnit.Framework.MultipleAssertException.ResultState"> + <summary> + Gets the <see cref="P:NUnit.Framework.MultipleAssertException.ResultState"/> provided by this exception. + </summary> + </member> + <member name="P:NUnit.Framework.MultipleAssertException.TestResult"> + <summary> + Gets the <see cref="T:NUnit.Framework.Interfaces.ITestResult"/> of this test at the point the exception was thrown, + </summary> + </member> + <member name="T:NUnit.Framework.ResultStateException"> + <summary> + Abstract base for Exceptions that terminate a test and provide a ResultState. + </summary> + </member> + <member name="M:NUnit.Framework.ResultStateException.#ctor(System.String)"> + <param name="message">The error message that explains + the reason for the exception</param> + </member> + <member name="M:NUnit.Framework.ResultStateException.#ctor(System.String,System.Exception)"> + <param name="message">The error message that explains + the reason for the exception</param> + <param name="inner">The exception that caused the + current exception</param> + </member> + <member name="M:NUnit.Framework.ResultStateException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)"> + <summary> + Serialization Constructor + </summary> + </member> + <member name="P:NUnit.Framework.ResultStateException.ResultState"> + <summary> + Gets the ResultState provided by this exception + </summary> + </member> + <member name="T:NUnit.Framework.SuccessException"> + <summary> + Thrown when an assertion failed. + </summary> + </member> + <member name="M:NUnit.Framework.SuccessException.#ctor(System.String)"> + <param name="message"></param> + </member> + <member name="M:NUnit.Framework.SuccessException.#ctor(System.String,System.Exception)"> + <param name="message">The error message that explains + the reason for the exception</param> + <param name="inner">The exception that caused the + current exception</param> + </member> + <member name="M:NUnit.Framework.SuccessException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)"> + <summary> + Serialization Constructor + </summary> + </member> + <member name="P:NUnit.Framework.SuccessException.ResultState"> + <summary> + Gets the ResultState provided by this exception + </summary> + </member> + <member name="T:NUnit.Framework.Extensions"> + <summary> + Contains extension methods that do not require a special <c>using</c> directive. + </summary> + </member> + <member name="T:NUnit.Framework.FileAssert"> + <summary> + Asserts on Files + </summary> + </member> + <member name="M:NUnit.Framework.FileAssert.Equals(System.Object,System.Object)"> + <summary> + 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. + </summary> + <param name="a"></param> + <param name="b"></param> + </member> + <member name="M:NUnit.Framework.FileAssert.ReferenceEquals(System.Object,System.Object)"> + <summary> + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + </summary> + <param name="a"></param> + <param name="b"></param> + </member> + <member name="M:NUnit.Framework.FileAssert.AreEqual(System.IO.Stream,System.IO.Stream,System.String,System.Object[])"> + <summary> + 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 <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="expected">The expected Stream</param> + <param name="actual">The actual Stream</param> + <param name="message">The message to display if Streams are not equal</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.FileAssert.AreEqual(System.IO.Stream,System.IO.Stream)"> + <summary> + 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 <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="expected">The expected Stream</param> + <param name="actual">The actual Stream</param> + </member> + <member name="M:NUnit.Framework.FileAssert.AreEqual(System.IO.FileInfo,System.IO.FileInfo,System.String,System.Object[])"> + <summary> + 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 <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="expected">A file containing the value that is expected</param> + <param name="actual">A file containing the actual value</param> + <param name="message">The message to display if Streams are not equal</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.FileAssert.AreEqual(System.IO.FileInfo,System.IO.FileInfo)"> + <summary> + 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 <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="expected">A file containing the value that is expected</param> + <param name="actual">A file containing the actual value</param> + </member> + <member name="M:NUnit.Framework.FileAssert.AreEqual(System.String,System.String,System.String,System.Object[])"> + <summary> + 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 <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="expected">The path to a file containing the value that is expected</param> + <param name="actual">The path to a file containing the actual value</param> + <param name="message">The message to display if Streams are not equal</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.FileAssert.AreEqual(System.String,System.String)"> + <summary> + 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 <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="expected">The path to a file containing the value that is expected</param> + <param name="actual">The path to a file containing the actual value</param> + </member> + <member name="M:NUnit.Framework.FileAssert.AreNotEqual(System.IO.Stream,System.IO.Stream,System.String,System.Object[])"> + <summary> + Asserts that two Streams are not equal. If they are equal + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="expected">The expected Stream</param> + <param name="actual">The actual Stream</param> + <param name="message">The message to be displayed when the two Stream are the same.</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.FileAssert.AreNotEqual(System.IO.Stream,System.IO.Stream)"> + <summary> + Asserts that two Streams are not equal. If they are equal + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="expected">The expected Stream</param> + <param name="actual">The actual Stream</param> + </member> + <member name="M:NUnit.Framework.FileAssert.AreNotEqual(System.IO.FileInfo,System.IO.FileInfo,System.String,System.Object[])"> + <summary> + Asserts that two files are not equal. If they are equal + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="expected">A file containing the value that is expected</param> + <param name="actual">A file containing the actual value</param> + <param name="message">The message to display if Streams are not equal</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.FileAssert.AreNotEqual(System.IO.FileInfo,System.IO.FileInfo)"> + <summary> + Asserts that two files are not equal. If they are equal + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="expected">A file containing the value that is expected</param> + <param name="actual">A file containing the actual value</param> + </member> + <member name="M:NUnit.Framework.FileAssert.AreNotEqual(System.String,System.String,System.String,System.Object[])"> + <summary> + Asserts that two files are not equal. If they are equal + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="expected">The path to a file containing the value that is expected</param> + <param name="actual">The path to a file containing the actual value</param> + <param name="message">The message to display if Streams are not equal</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.FileAssert.AreNotEqual(System.String,System.String)"> + <summary> + Asserts that two files are not equal. If they are equal + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="expected">The path to a file containing the value that is expected</param> + <param name="actual">The path to a file containing the actual value</param> + </member> + <member name="M:NUnit.Framework.FileAssert.Exists(System.IO.FileInfo,System.String,System.Object[])"> + <summary> + Asserts that the file exists. If it does not exist + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="actual">A file containing the actual value</param> + <param name="message">The message to display if Streams are not equal</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.FileAssert.Exists(System.IO.FileInfo)"> + <summary> + Asserts that the file exists. If it does not exist + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="actual">A file containing the actual value</param> + </member> + <member name="M:NUnit.Framework.FileAssert.Exists(System.String,System.String,System.Object[])"> + <summary> + Asserts that the file exists. If it does not exist + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="actual">The path to a file containing the actual value</param> + <param name="message">The message to display if Streams are not equal</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.FileAssert.Exists(System.String)"> + <summary> + Asserts that the file exists. If it does not exist + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="actual">The path to a file containing the actual value</param> + </member> + <member name="M:NUnit.Framework.FileAssert.DoesNotExist(System.IO.FileInfo,System.String,System.Object[])"> + <summary> + Asserts that the file does not exist. If it does exist + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="actual">A file containing the actual value</param> + <param name="message">The message to display if Streams are not equal</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.FileAssert.DoesNotExist(System.IO.FileInfo)"> + <summary> + Asserts that the file does not exist. If it does exist + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="actual">A file containing the actual value</param> + </member> + <member name="M:NUnit.Framework.FileAssert.DoesNotExist(System.String,System.String,System.Object[])"> + <summary> + Asserts that the file does not exist. If it does exist + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="actual">The path to a file containing the actual value</param> + <param name="message">The message to display if Streams are not equal</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.FileAssert.DoesNotExist(System.String)"> + <summary> + Asserts that the file does not exist. If it does exist + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="actual">The path to a file containing the actual value</param> + </member> + <member name="T:NUnit.Framework.Guard"> + <summary> + Class used to guard against unexpected argument values + or operations by throwing an appropriate exception. + </summary> + </member> + <member name="M:NUnit.Framework.Guard.ArgumentNotNull(System.Object,System.String)"> + <summary> + Throws an exception if an argument is null + </summary> + <param name="value">The value to be tested</param> + <param name="name">The name of the argument</param> + </member> + <member name="M:NUnit.Framework.Guard.ArgumentNotNullOrEmpty(System.String,System.String)"> + <summary> + Throws an exception if a string argument is null or empty + </summary> + <param name="value">The value to be tested</param> + <param name="name">The name of the argument</param> + </member> + <member name="M:NUnit.Framework.Guard.ArgumentInRange(System.Boolean,System.String,System.String)"> + <summary> + Throws an ArgumentOutOfRangeException if the specified condition is not met. + </summary> + <param name="condition">The condition that must be met</param> + <param name="message">The exception message to be used</param> + <param name="paramName">The name of the argument</param> + </member> + <member name="M:NUnit.Framework.Guard.ArgumentValid(System.Boolean,System.String,System.String)"> + <summary> + Throws an ArgumentException if the specified condition is not met. + </summary> + <param name="condition">The condition that must be met</param> + <param name="message">The exception message to be used</param> + <param name="paramName">The name of the argument</param> + </member> + <member name="M:NUnit.Framework.Guard.OperationValid(System.Boolean,System.String)"> + <summary> + Throws an InvalidOperationException if the specified condition is not met. + </summary> + <param name="condition">The condition that must be met</param> + <param name="message">The exception message to be used</param> + </member> + <member name="M:NUnit.Framework.Guard.ArgumentNotAsyncVoid(System.Delegate,System.String)"> + <summary> + Throws an <see cref="T:System.ArgumentException"/> if the specified delegate is <c>async void</c>. + </summary> + </member> + <member name="M:NUnit.Framework.Guard.ArgumentNotAsyncVoid(System.Reflection.MethodInfo,System.String)"> + <summary> + Throws an <see cref="T:System.ArgumentException"/> if the specified delegate is <c>async void</c>. + </summary> + </member> + <member name="T:NUnit.Framework.Has"> + <summary> + Helper class with properties and methods that supply + a number of constraints used in Asserts. + </summary> + </member> + <member name="P:NUnit.Framework.Has.No"> + <summary> + Returns a ConstraintExpression that negates any + following constraint. + </summary> + </member> + <member name="P:NUnit.Framework.Has.All"> + <summary> + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + </summary> + </member> + <member name="P:NUnit.Framework.Has.Some"> + <summary> + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if at least one of them succeeds. + </summary> + </member> + <member name="P:NUnit.Framework.Has.None"> + <summary> + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them fail. + </summary> + </member> + <member name="M:NUnit.Framework.Has.Exactly(System.Int32)"> + <summary> + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding only if a specified number of them succeed. + </summary> + </member> + <member name="P:NUnit.Framework.Has.One"> + <summary> + Returns a <see cref="T:NUnit.Framework.Constraints.ItemsConstraintExpression"/> which will apply + the following constraint to only one member of the collection, + and fail if none or more than one match occurs. + </summary> + </member> + <member name="M:NUnit.Framework.Has.Property(System.String)"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Has.Length"> + <summary> + Returns a new ConstraintExpression, which will apply the following + constraint to the Length property of the object being tested. + </summary> + </member> + <member name="P:NUnit.Framework.Has.Count"> + <summary> + Returns a new ConstraintExpression, which will apply the following + constraint to the Count property of the object being tested. + </summary> + </member> + <member name="P:NUnit.Framework.Has.Message"> + <summary> + Returns a new ConstraintExpression, which will apply the following + constraint to the Message property of the object being tested. + </summary> + </member> + <member name="P:NUnit.Framework.Has.InnerException"> + <summary> + Returns a new ConstraintExpression, which will apply the following + constraint to the InnerException property of the object being tested. + </summary> + </member> + <member name="M:NUnit.Framework.Has.Attribute(System.Type)"> + <summary> + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + </summary> + </member> + <member name="M:NUnit.Framework.Has.Attribute``1"> + <summary> + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + </summary> + </member> + <member name="M:NUnit.Framework.Has.Member(System.Object)"> + <summary> + Returns a new <see cref="T:NUnit.Framework.Constraints.SomeItemsConstraint"/> checking for the + presence of a particular object in the collection. + </summary> + </member> + <member name="M:NUnit.Framework.Has.ItemAt(System.Object[])"> + <summary> + Returns a new IndexerConstraintExpression, which will + apply any following constraint to that indexer value. + </summary> + <param name="indexArgs">Index accessor values.</param> + </member> + <member name="T:NUnit.Framework.Interfaces.AssertionResult"> + <summary> + The AssertionResult class represents the result of a single assertion. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.AssertionResult.#ctor(NUnit.Framework.Interfaces.AssertionStatus,System.String,System.String)"> + <summary> + Construct an AssertionResult + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.AssertionResult.Status"> + <summary> The pass/fail status of the assertion</summary> + </member> + <member name="P:NUnit.Framework.Interfaces.AssertionResult.Message"> + <summary>The message produced by the assertion, or null</summary> + </member> + <member name="P:NUnit.Framework.Interfaces.AssertionResult.StackTrace"> + <summary>The stack trace associated with the assertion, or null</summary> + </member> + <member name="M:NUnit.Framework.Interfaces.AssertionResult.Equals(System.Object)"> + <summary>Determines whether the specified object is equal to the current object.</summary> + <param name="obj">The object to compare with the current object.</param> + </member> + <member name="M:NUnit.Framework.Interfaces.AssertionResult.Equals(NUnit.Framework.Interfaces.AssertionResult)"> + <summary>Indicates whether the current object is equal to another object of the same type.</summary> + <param name="other">An object to compare with this object.</param> + </member> + <member name="M:NUnit.Framework.Interfaces.AssertionResult.GetHashCode"> + <summary>Serves as the default hash function.</summary> + </member> + <member name="M:NUnit.Framework.Interfaces.AssertionResult.ToString"> + <summary> + ToString Override + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.AssertionStatus"> + <summary> + 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. + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.AssertionStatus.Inconclusive"> + <summary> + An assumption failed + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.AssertionStatus.Passed"> + <summary> + The assertion succeeded + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.AssertionStatus.Warning"> + <summary> + A warning message was issued + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.AssertionStatus.Failed"> + <summary> + The assertion failed + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.AssertionStatus.Error"> + <summary> + An unexpected exception was thrown + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.IApplyToContext"> + <summary> + The IApplyToContext interface is implemented by attributes + that want to make changes to the execution context before + a test is run. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.IApplyToContext.ApplyToContext(NUnit.Framework.Internal.TestExecutionContext)"> + <summary> + Apply changes to the execution context + </summary> + <param name="context">The execution context</param> + </member> + <member name="T:NUnit.Framework.Interfaces.IApplyToTest"> + <summary> + The IApplyToTest interface is implemented by self-applying + attributes that modify the state of a test in some way. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.IApplyToTest.ApplyToTest(NUnit.Framework.Internal.Test)"> + <summary> + Modifies a test as defined for the specific attribute. + </summary> + <param name="test">The test to modify</param> + </member> + <member name="T:NUnit.Framework.Interfaces.ICombiningStrategy"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ICombiningStrategy.GetTestCases(System.Collections.IEnumerable[])"> + <summary> + Gets the test cases generated by the CombiningStrategy. + </summary> + <returns>The test cases.</returns> + </member> + <member name="T:NUnit.Framework.Interfaces.ICommandWrapper"> + <summary> + ICommandWrapper is implemented by attributes and other + objects able to wrap a TestCommand with another command. + </summary> + <remarks> + 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. + </remarks> + </member> + <member name="M:NUnit.Framework.Interfaces.ICommandWrapper.Wrap(NUnit.Framework.Internal.Commands.TestCommand)"> + <summary> + Wrap a command and return the result. + </summary> + <param name="command">The command to be wrapped</param> + <returns>The wrapped command</returns> + </member> + <member name="T:NUnit.Framework.Interfaces.IWrapTestMethod"> + <summary> + Objects implementing this interface are used to wrap + the TestMethodCommand itself. They apply after SetUp + has been run and before TearDown. + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.IWrapSetUpTearDown"> + <summary> + Objects implementing this interface are used to wrap + the entire test, including SetUp and TearDown. + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.IRepeatTest"> + <summary> + 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. + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.IDisposableFixture"> + <summary> + Any ITest that implements this interface is at a level that the implementing + class should be disposed at the end of the test run + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.IFixtureBuilder"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.IFixtureBuilder.BuildFrom(NUnit.Framework.Interfaces.ITypeInfo)"> + <summary> + Builds any number of test fixtures from the specified type. + </summary> + <param name="typeInfo">The type info of the fixture to be used.</param> + </member> + <member name="T:NUnit.Framework.Interfaces.IFixtureBuilder2"> + <summary> + The IFixtureBuilder2 interface extends IFixtureBuilder by allowing + use of a PreFilter, which is used to select methods as test cases. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.IFixtureBuilder2.BuildFrom(NUnit.Framework.Interfaces.ITypeInfo,NUnit.Framework.Interfaces.IPreFilter)"> + <summary> + Builds any number of test fixtures from the specified type. + </summary> + <param name="typeInfo">The type info of the fixture to be used.</param> + <param name="filter">PreFilter to be used to select methods.</param> + </member> + <member name="T:NUnit.Framework.Interfaces.IImplyFixture"> + <summary> + 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. + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.IMethodInfo"> + <summary> + The IMethodInfo class is used to encapsulate information + about a method in a platform-independent manner. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.IMethodInfo.TypeInfo"> + <summary> + Gets the Type from which this method was reflected. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.IMethodInfo.MethodInfo"> + <summary> + Gets the MethodInfo for this method. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.IMethodInfo.Name"> + <summary> + Gets the name of the method. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.IMethodInfo.IsAbstract"> + <summary> + Gets a value indicating whether the method is abstract. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.IMethodInfo.IsPublic"> + <summary> + Gets a value indicating whether the method is public. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.IMethodInfo.IsStatic"> + <summary> + Gets a value indicating whether the method is static. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.IMethodInfo.ContainsGenericParameters"> + <summary> + Gets a value indicating whether the method contains unassigned generic type parameters. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.IMethodInfo.IsGenericMethod"> + <summary> + Gets a value indicating whether the method is a generic method. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.IMethodInfo.IsGenericMethodDefinition"> + <summary> + Gets a value indicating whether the MethodInfo represents the definition of a generic method. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.IMethodInfo.ReturnType"> + <summary> + Gets the return Type of the method. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.IMethodInfo.GetParameters"> + <summary> + Gets the parameters of the method. + </summary> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Interfaces.IMethodInfo.GetGenericArguments"> + <summary> + Returns the Type arguments of a generic method or the Type parameters of a generic method definition. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.IMethodInfo.MakeGenericMethod(System.Type[])"> + <summary> + Replaces the type parameters of the method with the array of types provided and returns a new IMethodInfo. + </summary> + <param name="typeArguments">The type arguments to be used</param> + <returns>A new IMethodInfo with the type arguments replaced</returns> + </member> + <member name="M:NUnit.Framework.Interfaces.IMethodInfo.Invoke(System.Object,System.Object[])"> + <summary> + Invokes the method, converting any TargetInvocationException to an NUnitException. + </summary> + <param name="fixture">The object on which to invoke the method</param> + <param name="args">The argument list for the method</param> + <returns>The return value from the invoked method</returns> + </member> + <member name="T:NUnit.Framework.Interfaces.IParameterDataProvider"> + <summary> + Provides data for a single test parameter. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.IParameterDataProvider.HasDataFor(NUnit.Framework.Interfaces.IParameterInfo)"> + <summary> + Determines whether any data is available for a parameter. + </summary> + <param name="parameter">The parameter of a parameterized test.</param> + </member> + <member name="M:NUnit.Framework.Interfaces.IParameterDataProvider.GetDataFor(NUnit.Framework.Interfaces.IParameterInfo)"> + <summary> + Retrieves a list of arguments which can be passed to the specified parameter. + </summary> + <param name="parameter">The parameter of a parameterized test.</param> + </member> + <member name="T:NUnit.Framework.Interfaces.IParameterDataSource"> + <summary> + Provides data for a single test parameter. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.IParameterDataSource.GetData(NUnit.Framework.Interfaces.IParameterInfo)"> + <summary> + Retrieves a list of arguments which can be passed to the specified parameter. + </summary> + <param name="parameter">The parameter of a parameterized test.</param> + </member> + <member name="T:NUnit.Framework.Interfaces.IParameterInfo"> + <summary> + The IParameterInfo interface is an abstraction of a .NET parameter. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.IParameterInfo.IsOptional"> + <summary> + Gets a value indicating whether the parameter is optional + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.IParameterInfo.Method"> + <summary> + Gets an IMethodInfo representing the method for which this is a parameter + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.IParameterInfo.ParameterInfo"> + <summary> + Gets the underlying .NET ParameterInfo + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.IParameterInfo.ParameterType"> + <summary> + Gets the Type of the parameter + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.IPreFilter"> + <summary> + Implemented by filters for use in deciding which + Types and Methods should be used to generate tests. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.IPreFilter.IsMatch(System.Type)"> + <summary> + Use the filter on a Type, returning true if the type matches the filter + and should therefore be included in the discovery process. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.IPreFilter.IsMatch(System.Type,System.Reflection.MethodInfo)"> + <summary> + Use the filter on a Type, returning true if the type matches the filter + and should therefore be included in the discovery process. + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.IPropertyBag"> + <summary> + 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")); + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.IPropertyBag.Add(System.String,System.Object)"> + <summary> + Adds a key/value pair to the property bag + </summary> + <param name="key">The key</param> + <param name="value">The value</param> + </member> + <member name="M:NUnit.Framework.Interfaces.IPropertyBag.Set(System.String,System.Object)"> + <summary> + Sets the value for a key, removing any other + values that are already in the property set. + </summary> + <param name="key"></param> + <param name="value"></param> + </member> + <member name="M:NUnit.Framework.Interfaces.IPropertyBag.Get(System.String)"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.IPropertyBag.ContainsKey(System.String)"> + <summary> + Gets a flag indicating whether the specified key has + any entries in the property set. + </summary> + <param name="key">The key to be checked</param> + <returns>True if their are values present, otherwise false</returns> + </member> + <member name="P:NUnit.Framework.Interfaces.IPropertyBag.Item(System.String)"> + <summary> + Gets or sets the list of values for a particular key + </summary> + <param name="key">The key for which the values are to be retrieved or set</param> + </member> + <member name="P:NUnit.Framework.Interfaces.IPropertyBag.Keys"> + <summary> + Gets a collection containing all the keys in the property set + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.IReflectionInfo"> + <summary> + The IReflectionInfo interface is implemented by NUnit wrapper objects that perform reflection. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.IReflectionInfo.GetCustomAttributes``1(System.Boolean)"> + <summary> + Returns an array of custom attributes of the specified type applied to this object + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.IReflectionInfo.IsDefined``1(System.Boolean)"> + <summary> + Returns a value indicating whether an attribute of the specified type is defined on this object. + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.ISimpleTestBuilder"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ISimpleTestBuilder.BuildFrom(NUnit.Framework.Interfaces.IMethodInfo,NUnit.Framework.Internal.Test)"> + <summary> + Builds a single test from the specified method and context. + </summary> + <param name="method">The method to be used as a test</param> + <param name="suite">The TestSuite to which the method will be added</param> + </member> + <member name="T:NUnit.Framework.Interfaces.ISuiteBuilder"> + <summary> + The ISuiteBuilder interface is exposed by a class that knows how to + build a single test suite from a specified type. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ISuiteBuilder.CanBuildFrom(NUnit.Framework.Interfaces.ITypeInfo)"> + <summary> + 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. + </summary> + <param name="typeInfo">The type of the fixture to be used</param> + </member> + <member name="M:NUnit.Framework.Interfaces.ISuiteBuilder.BuildFrom(NUnit.Framework.Interfaces.ITypeInfo)"> + <summary> + Builds a single test suite from the specified type. + </summary> + <param name="typeInfo">The type of the fixture to be used</param> + </member> + <member name="M:NUnit.Framework.Interfaces.ISuiteBuilder.BuildFrom(NUnit.Framework.Interfaces.ITypeInfo,NUnit.Framework.Interfaces.IPreFilter)"> + <summary> + Builds a single test suite from the specified type, subject + to a filter that decides which methods are included. + </summary> + <param name="typeInfo">The type of the fixture to be used</param> + <param name="filter">A PreFilter for selecting methods.</param> + </member> + <member name="T:NUnit.Framework.Interfaces.ITest"> + <summary> + Common interface supported by all representations + of a test. Only includes informational fields. + The Run method is specifically excluded to allow + for data-only representations of a test. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITest.Id"> + <summary> + Gets the id of the test + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITest.Name"> + <summary> + Gets the name of the test + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITest.TestType"> + <summary> + Gets the type of the test + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITest.FullName"> + <summary> + Gets the fully qualified name of the test + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITest.ClassName"> + <summary> + Gets the name of the class containing this test. Returns + null if the test is not associated with a class. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITest.MethodName"> + <summary> + Gets the name of the method implementing this test. + Returns null if the test is not implemented as a method. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITest.TypeInfo"> + <summary> + Gets the Type of the test fixture, if applicable, or + null if no fixture type is associated with this test. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITest.Method"> + <summary> + Gets the method which declares the test, or <see langword="null"/> + if no method is associated with this test. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITest.RunState"> + <summary> + Gets the RunState of the test, indicating whether it can be run. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITest.TestCaseCount"> + <summary> + Count of the test cases ( 1 if this is a test case ) + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITest.Properties"> + <summary> + Gets the properties of the test + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITest.Parent"> + <summary> + Gets the parent test, if any. + </summary> + <value>The parent test or null if none exists.</value> + </member> + <member name="P:NUnit.Framework.Interfaces.ITest.IsSuite"> + <summary> + Returns true if this is a test suite + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITest.HasChildren"> + <summary> + Gets a bool indicating whether the current test + has any descendant tests. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITest.Tests"> + <summary> + Gets this test's child tests + </summary> + <value>A list of child tests</value> + </member> + <member name="P:NUnit.Framework.Interfaces.ITest.Fixture"> + <summary> + Gets a fixture object for running this test. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITest.Arguments"> + <summary> + The arguments to use in creating the test or empty array if none are required. + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.ITestBuilder"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ITestBuilder.BuildFrom(NUnit.Framework.Interfaces.IMethodInfo,NUnit.Framework.Internal.Test)"> + <summary> + Builds any number of tests from the specified method and context. + </summary> + <param name="method">The method to be used as a test</param> + <param name="suite">The TestSuite to which the method will be added</param> + </member> + <member name="T:NUnit.Framework.Interfaces.ITestCaseBuilder"> + <summary> + The ITestCaseBuilder interface is exposed by a class that knows how to + build a test from a specified method, possibly containing child test cases. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ITestCaseBuilder.CanBuildFrom(NUnit.Framework.Interfaces.IMethodInfo,NUnit.Framework.Internal.Test)"> + <summary> + 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. + </summary> + <param name="method">The test method to examine</param> + <param name="suite">The suite being populated</param> + </member> + <member name="M:NUnit.Framework.Interfaces.ITestCaseBuilder.BuildFrom(NUnit.Framework.Interfaces.IMethodInfo,NUnit.Framework.Internal.Test)"> + <summary> + Builds a single test from the specified method and context, + possibly containing child test cases. + </summary> + <param name="method">The method to be used as a test case</param> + <param name="suite">The test suite being populated, or null</param> + </member> + <member name="T:NUnit.Framework.Interfaces.ITestCaseData"> + <summary> + The ITestCaseData interface is implemented by a class + that is able to return complete test cases for use by + a parameterized test method. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestCaseData.ExpectedResult"> + <summary> + Gets the expected result of the test case + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestCaseData.HasExpectedResult"> + <summary> + Returns true if an expected result has been set + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.ITestData"> + <summary> + The ITestData interface is implemented by a class that + represents a single instance of a parameterized test. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestData.TestName"> + <summary> + Gets the name to be used for the test + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestData.RunState"> + <summary> + Gets the RunState for this test case. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestData.Arguments"> + <summary> + Gets the argument list to be provided to the test + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestData.Properties"> + <summary> + Gets the property dictionary for the test case + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.ITestFilter"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ITestFilter.Pass(NUnit.Framework.Interfaces.ITest)"> + <summary> + 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 + </summary> + <param name="test">The test to which the filter is applied</param> + <returns>True if the test passes the filter, otherwise false</returns> + </member> + <member name="M:NUnit.Framework.Interfaces.ITestFilter.IsExplicitMatch(NUnit.Framework.Interfaces.ITest)"> + <summary> + 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. + </summary> + <param name="test">The test to which the filter is applied</param> + <returns>True if the test matches the filter explicitly, otherwise false</returns> + </member> + <member name="T:NUnit.Framework.Interfaces.ITestFixtureData"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestFixtureData.TypeArgs"> + <summary> + Get the TypeArgs if separately set + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.ITestListener"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ITestListener.TestStarted(NUnit.Framework.Interfaces.ITest)"> + <summary> + Called when a test has just started + </summary> + <param name="test">The test that is starting</param> + </member> + <member name="M:NUnit.Framework.Interfaces.ITestListener.TestFinished(NUnit.Framework.Interfaces.ITestResult)"> + <summary> + Called when a test has finished + </summary> + <param name="result">The result of the test</param> + </member> + <member name="M:NUnit.Framework.Interfaces.ITestListener.TestOutput(NUnit.Framework.Interfaces.TestOutput)"> + <summary> + Called when a test produces output for immediate display + </summary> + <param name="output">A TestOutput object containing the text to display</param> + </member> + <member name="M:NUnit.Framework.Interfaces.ITestListener.SendMessage(NUnit.Framework.Interfaces.TestMessage)"> + <summary> + Called when a test produces a message to be sent to listeners + </summary> + <param name="message">A <see cref="T:NUnit.Framework.Interfaces.TestMessage"/> object containing the text to send</param> + </member> + <member name="T:NUnit.Framework.Interfaces.ITestResult"> + <summary> + The ITestResult interface represents the result of a test. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.ResultState"> + <summary> + Gets the ResultState of the test result, which + indicates the success or failure of the test. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.Name"> + <summary> + Gets the name of the test result + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.FullName"> + <summary> + Gets the full name of the test result + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.Duration"> + <summary> + Gets the elapsed time for running the test in seconds + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.StartTime"> + <summary> + Gets or sets the time the test started running. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.EndTime"> + <summary> + Gets or sets the time the test finished running. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.Message"> + <summary> + Gets the message associated with a test + failure or with not running the test + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.StackTrace"> + <summary> + Gets any stack trace associated with an + error or failure.</summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.TotalCount"> + <summary> + Gets the total number of tests executed + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.AssertCount"> + <summary> + Gets the number of asserts executed + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.FailCount"> + <summary> + Gets the number of test cases that failed + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.WarningCount"> + <summary> + Gets the number of test cases that had warnings + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.PassCount"> + <summary> + Gets the number of test cases that passed + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.SkipCount"> + <summary> + Gets the number of test cases that were skipped + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.InconclusiveCount"> + <summary> + Gets the number of test cases that were inconclusive + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.HasChildren"> + <summary> + Indicates whether this result has any child results. + Accessing HasChildren should not force creation of the + Children collection in classes implementing this interface. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.Children"> + <summary> + Gets the collection of child results. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.Test"> + <summary> + Gets the Test to which this result applies. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.Output"> + <summary> + Gets any text output written to this result. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.AssertionResults"> + <summary> + Gets a list of AssertionResults associated with the test + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.TestAttachments"> + <summary> + Gets the collection of files attached to the test + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.ITypeInfo"> + <summary> + The ITypeInfo interface is an abstraction of a .NET Type + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITypeInfo.Type"> + <summary> + Gets the underlying Type on which this ITypeInfo is based + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITypeInfo.BaseType"> + <summary> + Gets the base type of this type as an ITypeInfo + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ITypeInfo.IsType(System.Type)"> + <summary> + Returns true if the Type wrapped is equal to the argument + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITypeInfo.Name"> + <summary> + Gets the name of the Type + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITypeInfo.FullName"> + <summary> + Gets the full name of the Type + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITypeInfo.Assembly"> + <summary> + Gets the assembly in which the type is declared + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITypeInfo.Namespace"> + <summary> + Gets the namespace of the Type + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITypeInfo.IsAbstract"> + <summary> + Gets a value indicating whether the type is abstract. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITypeInfo.IsGenericType"> + <summary> + Gets a value indicating whether the Type is a generic Type + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITypeInfo.ContainsGenericParameters"> + <summary> + Gets a value indicating whether the Type has generic parameters that have not been replaced by specific Types. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITypeInfo.IsGenericTypeDefinition"> + <summary> + Gets a value indicating whether the Type is a generic Type definition + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITypeInfo.IsSealed"> + <summary> + Gets a value indicating whether the type is sealed. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITypeInfo.IsStaticClass"> + <summary> + Gets a value indicating whether this type is a static class. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ITypeInfo.GetDisplayName"> + <summary> + Get the display name for this typeInfo. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ITypeInfo.GetDisplayName(System.Object[])"> + <summary> + Get the display name for an object of this type, constructed with specific arguments + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ITypeInfo.GetGenericTypeDefinition"> + <summary> + Returns a Type representing a generic type definition from which this Type can be constructed. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ITypeInfo.MakeGenericType(System.Type[])"> + <summary> + Returns a new ITypeInfo representing an instance of this generic Type using the supplied Type arguments + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ITypeInfo.HasMethodWithAttribute(System.Type)"> + <summary> + Returns a value indicating whether this type has a method with a specified public attribute + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ITypeInfo.GetMethods(System.Reflection.BindingFlags)"> + <summary> + Returns an array of IMethodInfos for methods of this Type + that match the specified flags. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ITypeInfo.GetConstructor(System.Type[])"> + <summary> + Gets the public constructor taking the specified argument Types + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ITypeInfo.HasConstructor(System.Type[])"> + <summary> + Returns a value indicating whether this Type has a public constructor taking the specified argument Types. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ITypeInfo.Construct(System.Object[])"> + <summary> + Construct an object of this Type, using the specified arguments. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ITypeInfo.GetMethodsWithAttribute``1(System.Boolean)"> + <summary> + 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. + </summary> + <param name="inherit">Specifies whether to search the fixture type inheritance chain.</param> + </member> + <member name="T:NUnit.Framework.Interfaces.IXmlNodeBuilder"> + <summary> + An object implementing IXmlNodeBuilder is able to build + an XML representation of itself and any children. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.IXmlNodeBuilder.ToXml(System.Boolean)"> + <summary> + Returns a TNode representing the current object. + </summary> + <param name="recursive">If true, children are included where applicable</param> + <returns>A TNode representing the result</returns> + </member> + <member name="M:NUnit.Framework.Interfaces.IXmlNodeBuilder.AddToXml(NUnit.Framework.Interfaces.TNode,System.Boolean)"> + <summary> + Returns a TNode representing the current object after + adding it as a child of the supplied parent node. + </summary> + <param name="parentNode">The parent node.</param> + <param name="recursive">If true, children are included, where applicable</param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Interfaces.ResultState"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ResultState.#ctor(NUnit.Framework.Interfaces.TestStatus)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Interfaces.ResultState"/> class. + </summary> + <param name="status">The TestStatus.</param> + </member> + <member name="M:NUnit.Framework.Interfaces.ResultState.#ctor(NUnit.Framework.Interfaces.TestStatus,System.String)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Interfaces.ResultState"/> class. + </summary> + <param name="status">The TestStatus.</param> + <param name="label">The label.</param> + </member> + <member name="M:NUnit.Framework.Interfaces.ResultState.#ctor(NUnit.Framework.Interfaces.TestStatus,NUnit.Framework.Interfaces.FailureSite)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Interfaces.ResultState"/> class. + </summary> + <param name="status">The TestStatus.</param> + <param name="site">The stage at which the result was produced</param> + </member> + <member name="M:NUnit.Framework.Interfaces.ResultState.#ctor(NUnit.Framework.Interfaces.TestStatus,System.String,NUnit.Framework.Interfaces.FailureSite)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Interfaces.ResultState"/> class. + </summary> + <param name="status">The TestStatus.</param> + <param name="label">The label.</param> + <param name="site">The stage at which the result was produced</param> + </member> + <member name="F:NUnit.Framework.Interfaces.ResultState.Inconclusive"> + <summary> + The result is inconclusive + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.ResultState.Skipped"> + <summary> + The test has been skipped. + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.ResultState.Ignored"> + <summary> + The test has been ignored. + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.ResultState.Explicit"> + <summary> + The test was skipped because it is explicit + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.ResultState.Success"> + <summary> + The test succeeded + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.ResultState.Warning"> + <summary> + The test issued a warning + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.ResultState.Failure"> + <summary> + The test failed + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.ResultState.Error"> + <summary> + The test encountered an unexpected exception + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.ResultState.Cancelled"> + <summary> + The test was cancelled by the user + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.ResultState.NotRunnable"> + <summary> + The test was not runnable. + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.ResultState.ChildFailure"> + <summary> + A suite failed because one or more child tests failed or had errors + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.ResultState.ChildWarning"> + <summary> + A suite failed because one or more child tests had warnings + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.ResultState.ChildIgnored"> + <summary> + A suite is marked ignored because one or more child tests were ignored + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.ResultState.SetUpFailure"> + <summary> + A suite failed in its OneTimeSetUp + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.ResultState.SetUpError"> + <summary> + A suite had an unexpected exception in its OneTimeSetUp + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.ResultState.TearDownError"> + <summary> + A suite had an unexpected exception in its OneTimeDown + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ResultState.Status"> + <summary> + Gets the TestStatus for the test. + </summary> + <value>The status.</value> + </member> + <member name="P:NUnit.Framework.Interfaces.ResultState.Label"> + <summary> + Gets the label under which this test result is + categorized, or <see cref="F:System.String.Empty"/> if none. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ResultState.Site"> + <summary> + Gets the stage of test execution in which + the failure or other result took place. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ResultState.WithSite(NUnit.Framework.Interfaces.FailureSite)"> + <summary> + Get a new ResultState, which is the same as the current + one but with the FailureSite set to the specified value. + </summary> + <param name="site">The FailureSite to use</param> + <returns>A new ResultState</returns> + </member> + <member name="M:NUnit.Framework.Interfaces.ResultState.Matches(NUnit.Framework.Interfaces.ResultState)"> + <summary> + Test whether this ResultState has the same Status and Label + as another one. In other words, the whether two are equal + ignoring the Site. + </summary> + <param name="other"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Interfaces.ResultState.Equals(System.Object)"> + <summary>Determines whether the specified object is equal to the current object.</summary> + <param name="obj">The object to compare with the current object.</param> + </member> + <member name="M:NUnit.Framework.Interfaces.ResultState.Equals(NUnit.Framework.Interfaces.ResultState)"> + <summary>Indicates whether the current object is equal to another object of the same type.</summary> + <param name="other">An object to compare with this object.</param> + </member> + <member name="M:NUnit.Framework.Interfaces.ResultState.GetHashCode"> + <summary>Serves as the default hash function.</summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ResultState.op_Equality(NUnit.Framework.Interfaces.ResultState,NUnit.Framework.Interfaces.ResultState)"> + <summary> + Overload == operator for ResultStates + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ResultState.op_Inequality(NUnit.Framework.Interfaces.ResultState,NUnit.Framework.Interfaces.ResultState)"> + <summary> + Overload != operator for ResultStates + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ResultState.ToString"> + <summary> + Returns a <see cref="T:System.String"/> that represents this instance. + </summary> + <returns> + A <see cref="T:System.String"/> that represents this instance. + </returns> + </member> + <member name="T:NUnit.Framework.Interfaces.FailureSite"> + <summary> + The FailureSite enum indicates the stage of a test + in which an error or failure occurred. + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.FailureSite.Test"> + <summary> + Failure in the test itself + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.FailureSite.SetUp"> + <summary> + Failure in the SetUp method + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.FailureSite.TearDown"> + <summary> + Failure in the TearDown method + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.FailureSite.Parent"> + <summary> + Failure of a parent test + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.FailureSite.Child"> + <summary> + Failure of a child test + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.RunState"> + <summary> + The RunState enum indicates whether a test can be executed. + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.RunState.NotRunnable"> + <summary> + The test is not runnable. + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.RunState.Runnable"> + <summary> + The test is runnable. + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.RunState.Explicit"> + <summary> + The test can only be run explicitly + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.RunState.Skipped"> + <summary> + The test has been skipped. This value may + appear on a Test when certain attributes + are used to skip the test. + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.RunState.Ignored"> + <summary> + The test has been ignored. May appear on + a Test, when the IgnoreAttribute is used. + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.TestAttachment"> + <summary> + The TestAttachment class represents a file attached to a TestResult, + with an optional description. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.TestAttachment.FilePath"> + <summary> + Absolute file path to attachment file + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.TestAttachment.Description"> + <summary> + User specified description of attachment. May be null. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.TestAttachment.#ctor(System.String,System.String)"> + <summary> + Creates a TestAttachment class to represent a file attached to a test result. + </summary> + <param name="filePath">Absolute file path to attachment file</param> + <param name="description">User specified description of attachment. May be null.</param> + </member> + <member name="T:NUnit.Framework.Interfaces.TestMessage"> + <summary> + The <see cref="T:NUnit.Framework.Interfaces.TestMessage"/> class holds a message sent by a test to all listeners + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.TestMessage.#ctor(System.String,System.String,System.String)"> + <summary> + Construct with text, destination type and + the name of the test that produced the message. + </summary> + <param name="destination">Destination of the message</param> + <param name="text">Text to be sent</param> + <param name="testId">ID of the test that produced the message</param> + </member> + <member name="M:NUnit.Framework.Interfaces.TestMessage.ToString"> + <summary> + Converts <see cref="T:NUnit.Framework.Interfaces.TestMessage"/> object to string + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.TestMessage.Message"> + <summary> + The message to send to listeners + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.TestMessage.Destination"> + <summary> + The Destination of the message. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.TestMessage.TestId"> + <summary> + The ID of the test that sent the message + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.TestMessage.ToXml"> + <summary> + Returns the XML representation of the <see cref="T:NUnit.Framework.Interfaces.TestMessage"/> object. + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.TestOutput"> + <summary> + The TestOutput class holds a unit of output from + a test to a specific output stream + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.TestOutput.#ctor(System.String,System.String,System.String,System.String)"> + <summary> + Construct with text, output destination type and + the name of the test that produced the output. + </summary> + <param name="text">Text to be output</param> + <param name="stream">Name of the stream or channel to which the text should be written</param> + <param name="testId">Id of the test that produced the output</param> + <param name="testName">FullName of test that produced the output</param> + </member> + <member name="M:NUnit.Framework.Interfaces.TestOutput.ToString"> + <summary> + Return string representation of the object for debugging + </summary> + <returns></returns> + </member> + <member name="P:NUnit.Framework.Interfaces.TestOutput.Text"> + <summary> + Get the text + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.TestOutput.Stream"> + <summary> + Get the output type + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.TestOutput.TestName"> + <summary> + Get the name of the test that created the output + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.TestOutput.TestId"> + <summary> + Get the id of the test that created the output + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.TestOutput.ToXml"> + <summary> + Convert the TestOutput object to an XML string + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.TestStatus"> + <summary> + The TestStatus enum indicates the result of running a test + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.TestStatus.Inconclusive"> + <summary> + The test was inconclusive + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.TestStatus.Skipped"> + <summary> + The test has skipped + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.TestStatus.Passed"> + <summary> + The test succeeded + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.TestStatus.Warning"> + <summary> + There was a warning + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.TestStatus.Failed"> + <summary> + The test failed + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.TNode"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.TNode.#ctor(System.String)"> + <summary> + Constructs a new instance of TNode + </summary> + <param name="name">The name of the node</param> + </member> + <member name="M:NUnit.Framework.Interfaces.TNode.#ctor(System.String,System.String)"> + <summary> + Constructs a new instance of TNode with a value + </summary> + <param name="name">The name of the node</param> + <param name="value">The text content of the node</param> + </member> + <member name="M:NUnit.Framework.Interfaces.TNode.#ctor(System.String,System.String,System.Boolean)"> + <summary> + Constructs a new instance of TNode with a value + </summary> + <param name="name">The name of the node</param> + <param name="value">The text content of the node</param> + <param name="valueIsCDATA">Flag indicating whether to use CDATA when writing the text</param> + </member> + <member name="P:NUnit.Framework.Interfaces.TNode.Name"> + <summary> + Gets the name of the node + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.TNode.Value"> + <summary> + Gets the value of the node + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.TNode.ValueIsCDATA"> + <summary> + Gets a flag indicating whether the value should be output using CDATA. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.TNode.Attributes"> + <summary> + Gets the dictionary of attributes + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.TNode.ChildNodes"> + <summary> + Gets a list of child nodes + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.TNode.FirstChild"> + <summary> + Gets the first ChildNode + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.TNode.OuterXml"> + <summary> + Gets the XML representation of this node. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.TNode.FromXml(System.String)"> + <summary> + Create a TNode from its XML text representation + </summary> + <param name="xmlText">The XML text to be parsed</param> + <returns>A TNode</returns> + </member> + <member name="M:NUnit.Framework.Interfaces.TNode.AddElement(System.String)"> + <summary> + Adds a new element as a child of the current node and returns it. + </summary> + <param name="name">The element name.</param> + <returns>The newly created child element</returns> + </member> + <member name="M:NUnit.Framework.Interfaces.TNode.AddElement(System.String,System.String)"> + <summary> + Adds a new element with a value as a child of the current node and returns it. + </summary> + <param name="name">The element name</param> + <param name="value">The text content of the new element</param> + <returns>The newly created child element</returns> + </member> + <member name="M:NUnit.Framework.Interfaces.TNode.AddElementWithCDATA(System.String,System.String)"> + <summary> + 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. + </summary> + <param name="name">The element name</param> + <param name="value">The text content of the new element</param> + <returns>The newly created child element</returns> + </member> + <member name="M:NUnit.Framework.Interfaces.TNode.AddAttribute(System.String,System.String)"> + <summary> + Adds an attribute with a specified name and value to the XmlNode. + </summary> + <param name="name">The name of the attribute.</param> + <param name="value">The value of the attribute.</param> + </member> + <member name="M:NUnit.Framework.Interfaces.TNode.SelectSingleNode(System.String)"> + <summary> + 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. + </summary> + <param name="xpath"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Interfaces.TNode.SelectNodes(System.String)"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.TNode.WriteTo(System.Xml.XmlWriter)"> + <summary> + Writes the XML representation of the node to an XmlWriter + </summary> + <param name="writer"></param> + </member> + <member name="T:NUnit.Framework.Interfaces.NodeList"> + <summary> + Class used to represent a list of XmlResults + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.AttributeDictionary"> + <summary> + Class used to represent the attributes of a node + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.AttributeDictionary.Item(System.String)"> + <summary> + Gets or sets the value associated with the specified key. + Overridden to return null if attribute is not found. + </summary> + <param name="key">The key.</param> + <returns>Value of the attribute or null</returns> + </member> + <member name="T:NUnit.Framework.Internal.Abstractions.DebuggerProxy"> + <summary> + A production <see cref="T:NUnit.Framework.Internal.Abstractions.IDebugger"/> implementation that delegates directly to .NET's <see cref="T:System.Diagnostics.Debugger"/>. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Abstractions.DebuggerProxy.IsAttached"> + <summary> + Returns whether a debugger is currently attached to the process + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Abstractions.IDebugger"> + <summary> + A layer of abstraction around <see cref="T:System.Diagnostics.Debugger"/> to facilitate testing. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Abstractions.IDebugger.IsAttached"> + <summary> + Whether a debugger is currently attached to the process. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.AssemblyHelper"> + <summary> + AssemblyHelper provides static methods for working + with assemblies. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.AssemblyHelper.GetAssemblyPath(System.Reflection.Assembly)"> + <summary> + Gets the path from which an assembly was loaded. + For builds where this is not possible, returns + the name of the assembly. + </summary> + <param name="assembly">The assembly.</param> + <returns>The path.</returns> + </member> + <member name="M:NUnit.Framework.Internal.AssemblyHelper.GetDirectoryName(System.Reflection.Assembly)"> + <summary> + Gets the path to the directory from which an assembly was loaded. + </summary> + <param name="assembly">The assembly.</param> + <returns>The path.</returns> + </member> + <member name="M:NUnit.Framework.Internal.AssemblyHelper.GetAssemblyName(System.Reflection.Assembly)"> + <summary> + Gets the AssemblyName of an assembly. + </summary> + <param name="assembly">The assembly</param> + <returns>An AssemblyName</returns> + </member> + <member name="M:NUnit.Framework.Internal.AssemblyHelper.Load(System.String)"> + <summary> + Loads an assembly given a string, which may be the + path to the assembly or the AssemblyName + </summary> + </member> + <member name="M:NUnit.Framework.Internal.AssemblyHelper.GetAssemblyPathFromCodeBase(System.String)"> + <summary> + Gets the assembly path from code base. + </summary> + <remarks>Public for testing purposes</remarks> + <param name="codeBase">The code base.</param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Internal.AwaitAdapter"> + <summary> + Adapts various styles of asynchronous waiting to a common API. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Builders.CombinatorialStrategy"> + <summary> + CombinatorialStrategy creates test cases by using all possible + combinations of the parameter data. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Builders.CombinatorialStrategy.GetTestCases(System.Collections.IEnumerable[])"> + <summary> + Gets the test cases generated by the CombiningStrategy. + </summary> + <returns>The test cases.</returns> + </member> + <member name="T:NUnit.Framework.Internal.Builders.DatapointProvider"> + <summary> + Provides data from fields marked with the DatapointAttribute or the + DatapointsAttribute. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Builders.DatapointProvider.HasDataFor(NUnit.Framework.Interfaces.IParameterInfo)"> + <summary> + Determines whether any data is available for a parameter. + </summary> + <param name="parameter">The parameter of a parameterized test</param> + </member> + <member name="M:NUnit.Framework.Internal.Builders.DatapointProvider.GetDataFor(NUnit.Framework.Interfaces.IParameterInfo)"> + <summary> + Retrieves data for use with the supplied parameter. + </summary> + <param name="parameter">The parameter of a parameterized test</param> + </member> + <member name="T:NUnit.Framework.Internal.Builders.DefaultSuiteBuilder"> + <summary> + Built-in SuiteBuilder for all types of test classes. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Builders.DefaultSuiteBuilder.CanBuildFrom(NUnit.Framework.Interfaces.ITypeInfo)"> + <summary> + 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. + </summary> + <param name="typeInfo">The fixture type to check</param> + </member> + <member name="M:NUnit.Framework.Internal.Builders.DefaultSuiteBuilder.BuildFrom(NUnit.Framework.Interfaces.ITypeInfo)"> + <summary> + Builds a single test suite from the specified type. + </summary> + <param name="typeInfo">The fixture type to build</param> + </member> + <member name="M:NUnit.Framework.Internal.Builders.DefaultSuiteBuilder.BuildFrom(NUnit.Framework.Interfaces.ITypeInfo,NUnit.Framework.Interfaces.IPreFilter)"> + <summary> + Builds a single test suite from the specified type, subject + to a filter that decides which methods are included. + </summary> + <param name="typeInfo">The fixture type to build</param> + <param name="filter">A PreFilter for selecting methods.</param> + </member> + <member name="M:NUnit.Framework.Internal.Builders.DefaultSuiteBuilder.GetFixtureBuilderAttributes(NUnit.Framework.Interfaces.ITypeInfo)"> + <summary> + 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. + </summary> + <param name="typeInfo">The type being examined for attributes</param> + </member> + <member name="T:NUnit.Framework.Internal.Builders.DefaultTestCaseBuilder"> + <summary> + 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 + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Builders.DefaultTestCaseBuilder.CanBuildFrom(NUnit.Framework.Interfaces.IMethodInfo)"> + <summary> + 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. + </summary> + <param name="method">An IMethodInfo for the method being used as a test method</param> + </member> + <member name="M:NUnit.Framework.Internal.Builders.DefaultTestCaseBuilder.BuildFrom(NUnit.Framework.Interfaces.IMethodInfo)"> + <summary> + Builds a single test from the specified method and context, + possibly containing child test cases. + </summary> + <param name="method">The method for which a test is to be built</param> + </member> + <member name="M:NUnit.Framework.Internal.Builders.DefaultTestCaseBuilder.CanBuildFrom(NUnit.Framework.Interfaces.IMethodInfo,NUnit.Framework.Internal.Test)"> + <summary> + 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. + </summary> + <param name="method">An IMethodInfo for the method being used as a test method</param> + <param name="parentSuite">The test suite being built, to which the new test would be added</param> + </member> + <member name="M:NUnit.Framework.Internal.Builders.DefaultTestCaseBuilder.BuildFrom(NUnit.Framework.Interfaces.IMethodInfo,NUnit.Framework.Internal.Test)"> + <summary> + Builds a single test from the specified method and context, + possibly containing child test cases. + </summary> + <param name="method">The method for which a test is to be built</param> + <param name="parentSuite">The test fixture being populated, or null</param> + </member> + <member name="M:NUnit.Framework.Internal.Builders.DefaultTestCaseBuilder.BuildParameterizedMethodSuite(NUnit.Framework.Interfaces.IMethodInfo,System.Collections.Generic.IEnumerable{NUnit.Framework.Internal.TestMethod})"> + <summary> + Builds a ParameterizedMethodSuite containing individual test cases. + </summary> + <param name="method">The method for which a test is to be built.</param> + <param name="tests">The list of test cases to include.</param> + </member> + <member name="M:NUnit.Framework.Internal.Builders.DefaultTestCaseBuilder.BuildSingleTestMethod(NUnit.Framework.Interfaces.IMethodInfo,NUnit.Framework.Internal.Test)"> + <summary> + Build a simple, non-parameterized TestMethod for this method. + </summary> + <param name="method">The MethodInfo for which a test is to be built</param> + <param name="suite">The test suite for which the method is being built</param> + </member> + <member name="T:NUnit.Framework.Internal.Builders.MethodInfoCache"> + <summary> + Caches static information for IMethodInfo to reduce re-calculations and memory allocations from reflection. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Builders.MethodInfoCache.Get(NUnit.Framework.Interfaces.IMethodInfo)"> + <summary> + Returns cached metadata for method instance. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Builders.MethodInfoCache.TestMethodMetadata"> + <summary> + Memoization of TestMethod information to reduce subsequent allocations from parameter and attribute information. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Builders.NamespaceTreeBuilder"> + <summary> + Class that can build a tree of automatic namespace + suites from a group of fixtures. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Builders.NamespaceTreeBuilder._namespaceIndex"> + <summary> + NamespaceDictionary of all test suites we have created to represent + namespaces. Used to locate namespace parent suites for fixtures. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Builders.NamespaceTreeBuilder._globalInsertionPoint"> + <summary> + Point in the tree where items in the global namespace are added + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Builders.NamespaceTreeBuilder.#ctor(NUnit.Framework.Internal.TestSuite)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.Builders.NamespaceTreeBuilder"/> class. + </summary> + <param name="rootSuite">The root suite.</param> + </member> + <member name="P:NUnit.Framework.Internal.Builders.NamespaceTreeBuilder.RootSuite"> + <summary> + Gets the root entry in the tree created by the NamespaceTreeBuilder. + </summary> + <value>The root suite.</value> + </member> + <member name="M:NUnit.Framework.Internal.Builders.NamespaceTreeBuilder.Add(System.Collections.Generic.IList{NUnit.Framework.Internal.Test})"> + <summary> + Adds the specified fixtures to the tree. + </summary> + <param name="fixtures">The fixtures to be added.</param> + </member> + <member name="M:NUnit.Framework.Internal.Builders.NamespaceTreeBuilder.Add(NUnit.Framework.Internal.TestSuite)"> + <summary> + Adds the specified fixture to the tree. + </summary> + <param name="fixture">The fixture to be added.</param> + </member> + <member name="T:NUnit.Framework.Internal.Builders.NUnitTestCaseBuilder"> + <summary> + NUnitTestCaseBuilder is a utility class used by attributes + that build test cases. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Builders.NUnitTestCaseBuilder.#ctor"> + <summary> + Constructs an <see cref="T:NUnit.Framework.Internal.Builders.NUnitTestCaseBuilder"/> + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Builders.NUnitTestCaseBuilder.BuildTestMethod(NUnit.Framework.Interfaces.IMethodInfo,NUnit.Framework.Internal.Test,NUnit.Framework.Internal.TestCaseParameters)"> + <summary> + Builds a single NUnitTestMethod, either as a child of the fixture + or as one of a set of test cases under a ParameterizedTestMethodSuite. + </summary> + <param name="method">The MethodInfo from which to construct the TestMethod</param> + <param name="parentSuite">The suite or fixture to which the new test will be added</param> + <param name="parms">The ParameterSet to be used, or null</param> + </member> + <member name="M:NUnit.Framework.Internal.Builders.NUnitTestCaseBuilder.CheckTestMethodAttributes(NUnit.Framework.Internal.TestMethod,NUnit.Framework.Internal.Builders.MethodInfoCache.TestMethodMetadata)"> + <summary> + Checks to see if we have valid combinations of attributes. + </summary> + <param name="testMethod">The TestMethod to be checked. If it + is found to be non-runnable, it will be modified.</param> + <param name="metadata">Metadata for this TestMethod.</param> + <returns>True if the method signature is valid, false if not</returns> + </member> + <member name="M:NUnit.Framework.Internal.Builders.NUnitTestCaseBuilder.CheckTestMethodSignature(NUnit.Framework.Internal.TestMethod,NUnit.Framework.Internal.Builders.MethodInfoCache.TestMethodMetadata,NUnit.Framework.Internal.TestCaseParameters)"> + <summary> + 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. + </summary> + <param name="testMethod">The TestMethod to be checked. If it + is found to be non-runnable, it will be modified.</param> + <param name="metadata">Metadata for this TestMethod.</param> + <param name="parms">Parameters to be used for this test, or null</param> + <returns>True if the method signature is valid, false if not</returns> + <remarks> + The return value is no longer used internally, but is retained + for testing purposes. + </remarks> + </member> + <member name="T:NUnit.Framework.Internal.Builders.NUnitTestFixtureBuilder"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Builders.NUnitTestFixtureBuilder.BuildFrom(NUnit.Framework.Interfaces.ITypeInfo,NUnit.Framework.Interfaces.IPreFilter)"> + <summary> + 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. + </summary> + <param name="typeInfo">An ITypeInfo for the fixture to be used.</param> + <param name="filter">Filter used to select methods as tests.</param> + <returns>A TestSuite object or one derived from TestSuite.</returns> + </member> + <member name="M:NUnit.Framework.Internal.Builders.NUnitTestFixtureBuilder.BuildFrom(NUnit.Framework.Interfaces.ITypeInfo,NUnit.Framework.Interfaces.IPreFilter,NUnit.Framework.Interfaces.ITestFixtureData)"> + <summary> + Overload of BuildFrom called by tests that have arguments. + Builds a fixture using the provided type and information + in the ITestFixtureData object. + </summary> + <param name="typeInfo">The TypeInfo for which to construct a fixture.</param> + <param name="filter">Filter used to select methods as tests.</param> + <param name="testFixtureData">An object implementing ITestFixtureData or null.</param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Internal.Builders.NUnitTestFixtureBuilder.AddTestCasesToFixture(NUnit.Framework.Internal.TestFixture,NUnit.Framework.Interfaces.IPreFilter)"> + <summary> + Method to add test cases to the newly constructed fixture. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Builders.NUnitTestFixtureBuilder.BuildTestCase(NUnit.Framework.Interfaces.IMethodInfo,NUnit.Framework.Internal.TestSuite)"> + <summary> + 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. + </summary> + <param name="method">The method for which a test is to be created</param> + <param name="suite">The test suite being built.</param> + <returns>A newly constructed Test</returns> + </member> + <member name="T:NUnit.Framework.Internal.Builders.PairwiseStrategy"> + <summary> + PairwiseStrategy creates test cases by combining the parameter + data so that all possible pairs of data items are used. + </summary> + <remarks> + <para> + 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. + </para> + <para> + The PairwiseStrategy code is based on "jenny" tool by Bob Jenkins: + https://burtleburtle.net/bob/math/jenny.html + </para> + </remarks> + </member> + <member name="T:NUnit.Framework.Internal.Builders.PairwiseStrategy.FleaRand"> + <summary> + FleaRand is a pseudo-random number generator developed by Bob Jenkins: + https://burtleburtle.net/bob/rand/talksmall.html#flea + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Builders.PairwiseStrategy.FleaRand.#ctor(System.UInt32)"> + <summary> + Initializes a new instance of the FleaRand class. + </summary> + <param name="seed">The seed.</param> + </member> + <member name="T:NUnit.Framework.Internal.Builders.PairwiseStrategy.FeatureInfo"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Builders.PairwiseStrategy.FeatureInfo.#ctor(System.Int32,System.Int32)"> + <summary> + Initializes a new instance of FeatureInfo class. + </summary> + <param name="dimension">Index of a dimension.</param> + <param name="feature">Index of a feature.</param> + </member> + <member name="T:NUnit.Framework.Internal.Builders.PairwiseStrategy.FeatureTuple"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Builders.PairwiseStrategy.FeatureTuple.#ctor(NUnit.Framework.Internal.Builders.PairwiseStrategy.FeatureInfo)"> + <summary> + Initializes a new instance of FeatureTuple class for a single feature. + </summary> + <param name="feature1">Single feature.</param> + </member> + <member name="M:NUnit.Framework.Internal.Builders.PairwiseStrategy.FeatureTuple.#ctor(NUnit.Framework.Internal.Builders.PairwiseStrategy.FeatureInfo,NUnit.Framework.Internal.Builders.PairwiseStrategy.FeatureInfo)"> + <summary> + Initializes a new instance of FeatureTuple class for a pair of features. + </summary> + <param name="feature1">First feature.</param> + <param name="feature2">Second feature.</param> + </member> + <member name="T:NUnit.Framework.Internal.Builders.PairwiseStrategy.TestCaseInfo"> + <summary> + TestCase represents a single test case covering a list of features. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Builders.PairwiseStrategy.TestCaseInfo.#ctor(System.Int32)"> + <summary> + Initializes a new instance of TestCaseInfo class. + </summary> + <param name="length">A number of features in the test case.</param> + </member> + <member name="T:NUnit.Framework.Internal.Builders.PairwiseStrategy.PairwiseTestCaseGenerator"> + <summary> + PairwiseTestCaseGenerator class implements an algorithm which generates + a set of test cases which covers all pairs of possible values of test + function. + </summary> + <remarks> + <para> + The algorithm starts with creating a set of all feature tuples which we + will try to cover (see <see + cref="M:NUnit.Framework.Internal.Builders.PairwiseStrategy.PairwiseTestCaseGenerator.CreateAllTuples" /> 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). + </para> + <para> + 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. + </para> + <para> + Picking a tuple to cover + </para> + <para> + 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. + </para> + <para> + Test generation + </para> + <para> + 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. + </para> + <para> + 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). + </para> + <para>Maximizing test coverage</para> + <para> + 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. + </para> + <para> + This process repeats while it shows progress. If the last iteration + doesn't improve coverage, the process ends. + </para> + <para> + In addition, for better results, before start every iteration, the + algorithm "scrambles" dimensions - so for every iteration dimension + probes in a different order. + </para> + </remarks> + </member> + <member name="M:NUnit.Framework.Internal.Builders.PairwiseStrategy.PairwiseTestCaseGenerator.GetTestCases(System.Int32[])"> + <summary> + Creates a set of test cases for specified dimensions. + </summary> + <param name="dimensions"> + An array which contains information about dimensions. Each element of + this array represents a number of features in the specific dimension. + </param> + <returns> + A set of test cases. + </returns> + </member> + <member name="M:NUnit.Framework.Internal.Builders.PairwiseStrategy.GetTestCases(System.Collections.IEnumerable[])"> + <summary> + Gets the test cases generated by this strategy instance. + </summary> + <returns>A set of test cases.</returns> + </member> + <member name="T:NUnit.Framework.Internal.Builders.ParameterDataProvider"> + <summary> + The ParameterDataProvider class implements IParameterDataProvider + and hosts one or more individual providers. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Builders.ParameterDataProvider.#ctor(NUnit.Framework.Interfaces.IParameterDataProvider[])"> + <summary> + Construct with a collection of individual providers + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Builders.ParameterDataProvider.HasDataFor(NUnit.Framework.Interfaces.IParameterInfo)"> + <summary> + Determines whether any data is available for a parameter. + </summary> + <param name="parameter">The parameter of a parameterized test</param> + </member> + <member name="M:NUnit.Framework.Internal.Builders.ParameterDataProvider.GetDataFor(NUnit.Framework.Interfaces.IParameterInfo)"> + <summary> + Retrieves data for use with the supplied parameter. + </summary> + <param name="parameter">The parameter of a parameterized test</param> + </member> + <member name="T:NUnit.Framework.Internal.Builders.ParameterDataSourceProvider"> + <summary> + ParameterDataSourceProvider supplies individual argument values for + single parameters using attributes implementing IParameterDataSource. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Builders.ParameterDataSourceProvider.HasDataFor(NUnit.Framework.Interfaces.IParameterInfo)"> + <summary> + Determines whether any data is available for a parameter. + </summary> + <param name="parameter">The parameter of a parameterized test</param> + </member> + <member name="M:NUnit.Framework.Internal.Builders.ParameterDataSourceProvider.GetDataFor(NUnit.Framework.Interfaces.IParameterInfo)"> + <summary> + Retrieves data for use with the supplied parameter. + </summary> + <param name="parameter">The parameter of a parameterized test</param> + </member> + <member name="T:NUnit.Framework.Internal.Builders.SequentialStrategy"> + <summary> + SequentialStrategy creates test cases by using all of the + parameter data sources in parallel, substituting <see langword="null"/> + when any of them run out of data. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Builders.SequentialStrategy.GetTestCases(System.Collections.IEnumerable[])"> + <summary> + Gets the test cases generated by the CombiningStrategy. + </summary> + <returns>The test cases.</returns> + </member> + <member name="T:NUnit.Framework.Internal.Commands.AfterTestActionCommand"> + <summary> + TestActionAfterCommand handles the AfterTest method of a single + TestActionItem, provided the items BeforeTest has been run. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.AfterTestActionCommand.#ctor(NUnit.Framework.Internal.Commands.TestCommand,NUnit.Framework.Internal.Commands.TestActionItem)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.Commands.AfterTestActionCommand"/> class. + </summary> + <param name="innerCommand">The inner command.</param> + <param name="action">The TestActionItem to run before the inner command.</param> + </member> + <member name="T:NUnit.Framework.Internal.Commands.AfterTestCommand"> + <summary> + AfterCommand is a DelegatingTestCommand that performs some + specific action after the inner command is run. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.AfterTestCommand.#ctor(NUnit.Framework.Internal.Commands.TestCommand)"> + <summary> + Construct an AfterCommand + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.AfterTestCommand.Execute(NUnit.Framework.Internal.TestExecutionContext)"> + <summary> + Execute the command + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Commands.AfterTestCommand.AfterTest"> + <summary> + Set this to perform action after the inner command. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Commands.ApplyChangesToContextCommand"> + <summary> + 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. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Commands.BeforeAndAfterTestCommand"> + <summary> + TestActionCommand handles a single ITestAction applied + to a test. It runs the BeforeTest method, then runs the + test and finally runs the AfterTest method. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.BeforeAndAfterTestCommand.#ctor(NUnit.Framework.Internal.Commands.TestCommand)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.Commands.TestActionCommand"/> class. + </summary> + <param name="innerCommand">The inner command.</param> + </member> + <member name="M:NUnit.Framework.Internal.Commands.BeforeAndAfterTestCommand.Execute(NUnit.Framework.Internal.TestExecutionContext)"> + <summary> + Runs the test, saving a TestResult in the supplied TestExecutionContext. + </summary> + <param name="context">The context in which the test should run.</param> + <returns>A TestResult</returns> + </member> + <member name="F:NUnit.Framework.Internal.Commands.BeforeAndAfterTestCommand.BeforeTest"> + <summary> + Perform the before test action + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Commands.BeforeAndAfterTestCommand.AfterTest"> + <summary> + Perform the after test action + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Commands.BeforeTestActionCommand"> + <summary> + TestActionBeforeCommand handles the BeforeTest method of a single + TestActionItem, relying on the item to remember it has been run. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.BeforeTestActionCommand.#ctor(NUnit.Framework.Internal.Commands.TestCommand,NUnit.Framework.Internal.Commands.TestActionItem)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.Commands.BeforeTestActionCommand"/> class. + </summary> + <param name="innerCommand">The inner command.</param> + <param name="action">The TestActionItem to run before the inner command.</param> + </member> + <member name="T:NUnit.Framework.Internal.Commands.BeforeTestCommand"> + <summary> + BeforeTestCommand is a DelegatingTestCommand that performs some + specific action before the inner command is run. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.BeforeTestCommand.#ctor(NUnit.Framework.Internal.Commands.TestCommand)"> + <summary> + Construct a BeforeCommand + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.BeforeTestCommand.Execute(NUnit.Framework.Internal.TestExecutionContext)"> + <summary> + Execute the command + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Commands.BeforeTestCommand.BeforeTest"> + <summary> + Action to perform before the inner command. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Commands.ConstructFixtureCommand"> + <summary> + ConstructFixtureCommand constructs the user test object if necessary. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.ConstructFixtureCommand.#ctor(NUnit.Framework.Internal.Commands.TestCommand)"> + <summary> + Constructs a OneTimeSetUpCommand for a suite + </summary> + <param name="innerCommand">The inner command to which the command applies</param> + </member> + <member name="T:NUnit.Framework.Internal.Commands.DelegatingTestCommand"> + <summary> + DelegatingTestCommand wraps an inner TestCommand. + Derived classes may do what they like before or + after running the inner command. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Commands.DelegatingTestCommand.innerCommand"> + <summary>TODO: Documentation needed for field</summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.DelegatingTestCommand.#ctor(NUnit.Framework.Internal.Commands.TestCommand)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.Commands.DelegatingTestCommand"/> class. + </summary> + <param name="innerCommand">The inner command.</param> + </member> + <member name="M:NUnit.Framework.Internal.Commands.DelegatingTestCommand.RunTestMethodInThreadAbortSafeZone(NUnit.Framework.Internal.TestExecutionContext,System.Action)"> + <summary> + Runs the test with exception handling. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Commands.DisposeFixtureCommand"> + <summary> + OneTimeTearDownCommand performs any teardown actions + specified for a suite and calls Dispose on the user + test object, if any. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.DisposeFixtureCommand.#ctor(NUnit.Framework.Internal.Commands.TestCommand)"> + <summary> + Construct a OneTimeTearDownCommand + </summary> + <param name="innerCommand">The command wrapped by this command</param> + </member> + <member name="T:NUnit.Framework.Internal.Commands.EmptyTestCommand"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.EmptyTestCommand.#ctor(NUnit.Framework.Internal.Test)"> + <summary> + Construct a NullCommand for a test + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.EmptyTestCommand.Execute(NUnit.Framework.Internal.TestExecutionContext)"> + <summary> + Execute the command + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Commands.FixturePerTestCaseCommand"> + <summary> + ConstructFixtureCommand constructs the user test object if necessary. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.FixturePerTestCaseCommand.#ctor(NUnit.Framework.Internal.Commands.TestCommand)"> + <summary> + Handles the construction and disposement of a fixture per test case + </summary> + <param name="innerCommand">The inner command to which the command applies</param> + </member> + <member name="T:NUnit.Framework.Internal.Commands.MaxTimeCommand"> + <summary> + <see cref="T:NUnit.Framework.Internal.Commands.MaxTimeCommand" /> adjusts the result of a successful test + to a failure if the elapsed time has exceeded the specified maximum + time allowed. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.MaxTimeCommand.#ctor(NUnit.Framework.Internal.Commands.TestCommand,System.Int32)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.Commands.MaxTimeCommand"/> class. + </summary> + <param name="innerCommand">The inner command.</param> + <param name="maxTime">The max time allowed in milliseconds</param> + </member> + <member name="T:NUnit.Framework.Internal.Commands.OneTimeSetUpCommand"> + <summary> + OneTimeSetUpCommand runs any one-time setup methods for a suite, + constructing the user test object if necessary. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.OneTimeSetUpCommand.#ctor(NUnit.Framework.Internal.Commands.TestCommand,NUnit.Framework.Internal.Commands.SetUpTearDownItem)"> + <summary> + Constructs a OneTimeSetUpCommand for a suite + </summary> + <param name="innerCommand">The inner command to which the command applies</param> + <param name="setUpTearDown">A SetUpTearDownList for use by the command</param> + </member> + <member name="T:NUnit.Framework.Internal.Commands.OneTimeTearDownCommand"> + <summary> + OneTimeTearDownCommand performs any teardown actions + specified for a suite and calls Dispose on the user + test object, if any. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.OneTimeTearDownCommand.#ctor(NUnit.Framework.Internal.Commands.TestCommand,NUnit.Framework.Internal.Commands.SetUpTearDownItem)"> + <summary> + Construct a OneTimeTearDownCommand + </summary> + <param name="innerCommand">The command wrapped by this command</param> + <param name="setUpTearDownItem">A SetUpTearDownList for use by the command</param> + </member> + <member name="T:NUnit.Framework.Internal.Commands.SetUpTearDownCommand"> + <summary> + SetUpTearDownCommand runs SetUp methods for a suite, + runs the test and then runs TearDown methods. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.SetUpTearDownCommand.#ctor(NUnit.Framework.Internal.Commands.TestCommand,NUnit.Framework.Internal.Commands.SetUpTearDownItem)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.Commands.SetUpTearDownCommand"/> class. + </summary> + <param name="innerCommand">The inner command.</param> + <param name="setUpTearDown">List of setup/teardown items</param> + </member> + <member name="T:NUnit.Framework.Internal.Commands.SetUpTearDownItem"> + <summary> + SetUpTearDownItem holds the setup and teardown methods + for a single level of the inheritance hierarchy. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.SetUpTearDownItem.#ctor(System.Collections.Generic.IList{NUnit.Framework.Interfaces.IMethodInfo},System.Collections.Generic.IList{NUnit.Framework.Interfaces.IMethodInfo},NUnit.Framework.Internal.Execution.IMethodValidator)"> + <summary> + Construct a SetUpTearDownNode + </summary> + <param name="setUpMethods">A list of setup methods for this level</param> + <param name="tearDownMethods">A list teardown methods for this level</param> + <param name="methodValidator">A method validator to validate each method before calling.</param> + </member> + <member name="P:NUnit.Framework.Internal.Commands.SetUpTearDownItem.HasMethods"> + <summary> + Returns true if this level has any methods at all. + This flag is used to discard levels that do nothing. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.SetUpTearDownItem.RunSetUp(NUnit.Framework.Internal.TestExecutionContext)"> + <summary> + Run SetUp on this level. + </summary> + <param name="context">The execution context to use for running.</param> + </member> + <member name="M:NUnit.Framework.Internal.Commands.SetUpTearDownItem.RunTearDown(NUnit.Framework.Internal.TestExecutionContext)"> + <summary> + Run TearDown for this level. + </summary> + <param name="context"></param> + </member> + <member name="T:NUnit.Framework.Internal.Commands.SkipCommand"> + <summary> + TODO: Documentation needed for class + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.SkipCommand.#ctor(NUnit.Framework.Internal.Test)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.Commands.SkipCommand"/> class. + </summary> + <param name="test">The test being skipped.</param> + </member> + <member name="M:NUnit.Framework.Internal.Commands.SkipCommand.Execute(NUnit.Framework.Internal.TestExecutionContext)"> + <summary> + Overridden to simply set the CurrentResult to the + appropriate Skipped state. + </summary> + <param name="context">The execution context for the test</param> + <returns>A TestResult</returns> + </member> + <member name="T:NUnit.Framework.Internal.Commands.TestActionCommand"> + <summary> + TestActionCommand handles a single ITestAction applied + to a test. It runs the BeforeTest method, then runs the + test and finally runs the AfterTest method. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.TestActionCommand.#ctor(NUnit.Framework.Internal.Commands.TestCommand,NUnit.Framework.ITestAction)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.Commands.TestActionCommand"/> class. + </summary> + <param name="innerCommand">The inner command.</param> + <param name="action">The TestAction with which to wrap the inner command.</param> + </member> + <member name="T:NUnit.Framework.Internal.Commands.TestActionItem"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.TestActionItem.#ctor(NUnit.Framework.ITestAction)"> + <summary> + Construct a TestActionItem + </summary> + <param name="action">The ITestAction to be included</param> + </member> + <member name="P:NUnit.Framework.Internal.Commands.TestActionItem.BeforeTestWasRun"> + <summary> + Get flag indicating if the BeforeTest entry was already called. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.TestActionItem.BeforeTest(NUnit.Framework.Interfaces.ITest)"> + <summary> + Run the BeforeTest method of the action and remember that it has been run. + </summary> + <param name="test">The test to which the action applies</param> + </member> + <member name="M:NUnit.Framework.Internal.Commands.TestActionItem.AfterTest(NUnit.Framework.Interfaces.ITest)"> + <summary> + Run the AfterTest action, but only if the BeforeTest + action was actually run. + </summary> + <param name="test">The test to which the action applies</param> + </member> + <member name="T:NUnit.Framework.Internal.Commands.TestCommand"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.TestCommand.#ctor(NUnit.Framework.Internal.Test)"> + <summary> + Construct a TestCommand for a test. + </summary> + <param name="test">The test to be executed</param> + </member> + <member name="P:NUnit.Framework.Internal.Commands.TestCommand.Test"> + <summary> + Gets the test associated with this command. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.TestCommand.Execute(NUnit.Framework.Internal.TestExecutionContext)"> + <summary> + Runs the test in a specified context, returning a TestResult. + </summary> + <param name="context">The TestExecutionContext to be used for running the test.</param> + <returns>A TestResult</returns> + </member> + <member name="T:NUnit.Framework.Internal.Commands.TestMethodCommand"> + <summary> + TestMethodCommand is the lowest level concrete command + used to run actual test cases. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.TestMethodCommand.#ctor(NUnit.Framework.Internal.TestMethod)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.Commands.TestMethodCommand"/> class. + </summary> + <param name="testMethod">The test.</param> + </member> + <member name="M:NUnit.Framework.Internal.Commands.TestMethodCommand.Execute(NUnit.Framework.Internal.TestExecutionContext)"> + <summary> + 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. + </summary> + <param name="context">The execution context</param> + </member> + <member name="T:NUnit.Framework.Internal.Commands.TheoryResultCommand"> + <summary> + TheoryResultCommand adjusts the result of a Theory so that + it fails if all the results were inconclusive. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.TheoryResultCommand.#ctor(NUnit.Framework.Internal.Commands.TestCommand)"> + <summary> + Constructs a TheoryResultCommand + </summary> + <param name="command">The command to be wrapped by this one</param> + </member> + <member name="T:NUnit.Framework.Internal.Commands.TimeoutCommand"> + <summary> + <see cref="T:NUnit.Framework.Internal.Commands.TimeoutCommand"/> 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.TimeoutCommand.#ctor(NUnit.Framework.Internal.Commands.TestCommand,System.Int32)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.Commands.TimeoutCommand"/> class. + </summary> + <param name="innerCommand">The inner command</param> + <param name="timeout">Timeout value</param> + </member> + <member name="M:NUnit.Framework.Internal.Commands.TimeoutCommand.#ctor(NUnit.Framework.Internal.Commands.TestCommand,System.Int32,NUnit.Framework.Internal.Abstractions.IDebugger)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.Commands.TimeoutCommand"/> class. + </summary> + <param name="innerCommand">The inner command</param> + <param name="timeout">Timeout value</param> + <param name="debugger">An <see cref="T:NUnit.Framework.Internal.Abstractions.IDebugger" /> instance</param> + </member> + <member name="T:NUnit.Framework.Internal.ConstraintUtils"> + <summary> + Provides methods to support consistent checking in constraints. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ConstraintUtils.RequireActual``1(System.Object,System.String,System.Boolean)"> + <summary> + Requires that the provided object is actually of the type required. + </summary> + <param name="actual">The object to verify.</param> + <param name="paramName">Name of the parameter as passed into the checking method.</param> + <param name="allowNull"> + If <see langword="true"/> and <typeparamref name="T"/> can be null, returns null rather than throwing when <paramref name="actual"/> is null. + If <typeparamref name="T"/> cannot be null, this parameter is ignored.</param> + <typeparam name="T">The type to require.</typeparam> + </member> + <member name="T:NUnit.Framework.Internal.CultureDetector"> + <summary> + CultureDetector is a helper class used by NUnit to determine + whether a test should be run based on the current culture. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.CultureDetector.#ctor"> + <summary> + Default constructor uses the current culture. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.CultureDetector.#ctor(System.String)"> + <summary> + Construct a CultureDetector for a particular culture for testing. + </summary> + <param name="culture">The culture to be used</param> + </member> + <member name="M:NUnit.Framework.Internal.CultureDetector.IsCultureSupported(System.String[])"> + <summary> + Test to determine if one of a collection of cultures + is being used currently. + </summary> + <param name="cultures"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Internal.CultureDetector.IsCultureSupported(NUnit.Framework.CultureAttribute)"> + <summary> + Tests to determine if the current culture is supported + based on a culture attribute. + </summary> + <param name="cultureAttribute">The attribute to examine</param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Internal.CultureDetector.IsCultureSupported(System.String)"> + <summary> + Test to determine if the a particular culture or comma- + delimited set of cultures is in use. + </summary> + <param name="culture">Name of the culture or comma-separated list of culture ids</param> + <returns>True if the culture is in use on the system</returns> + </member> + <member name="P:NUnit.Framework.Internal.CultureDetector.Reason"> + <summary> + Return the last failure reason. Results are not + defined if called before IsSupported( Attribute ) + is called. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.DefaultBlockingAwaitAdapter"> + <summary> + Useful when wrapping awaiters whose <c>GetResult</c> method does not block until complete. + Contains a default mechanism to implement <see cref="M:NUnit.Framework.Internal.AwaitAdapter.BlockUntilCompleted"/> + via <see cref="P:NUnit.Framework.Internal.AwaitAdapter.IsCompleted"/> and <see cref="M:NUnit.Framework.Internal.AwaitAdapter.OnCompleted(System.Action)"/>. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.ExceptionHelper"> + <summary> + ExceptionHelper provides static methods for working with exceptions + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ExceptionHelper.Rethrow(System.Exception)"> + <summary> + Rethrows an exception, preserving its stack trace + </summary> + <param name="exception">The exception to rethrow</param> + </member> + <member name="M:NUnit.Framework.Internal.ExceptionHelper.BuildMessage(System.Exception,System.Boolean)"> + <summary> + 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. + </summary> + <param name="exception">The exception.</param> + <param name="excludeExceptionNames">Flag indicating whether exception names should be excluded.</param> + <returns>A combined message string.</returns> + </member> + <member name="M:NUnit.Framework.Internal.ExceptionHelper.BuildStackTrace(System.Exception)"> + <summary> + Builds up a message, using the Message field of the specified exception + as well as any InnerExceptions. + </summary> + <param name="exception">The exception.</param> + <returns>A combined stack trace.</returns> + </member> + <member name="M:NUnit.Framework.Internal.ExceptionHelper.RecordException(System.Delegate,System.String)"> + <summary> + Executes a parameterless synchronous or async delegate and returns the exception it throws, if any. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Execution.CompositeWorkItem"> + <summary> + A CompositeWorkItem represents a test suite and + encapsulates the execution of the suite as well + as all its child tests. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.CompositeWorkItem.Children"> + <summary> + List of Child WorkItems + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.CompositeWorkItem.IsolateChildTests"> + <summary> + Indicates whether this work item should use a separate dispatcher. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.CompositeWorkItem.#ctor(NUnit.Framework.Internal.TestSuite,NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Construct a CompositeWorkItem for executing a test suite + using a filter to select child tests. + </summary> + <param name="suite">The TestSuite to be executed</param> + <param name="childFilter">A filter used to select child tests</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.CompositeWorkItem.PerformWork"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.CompositeWorkItem.OnAllChildItemsCompleted"> + <summary> + + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.CompositeWorkItem.Cancel(System.Boolean)"> + <summary> + Cancel (abort or stop) a CompositeWorkItem and all of its children + </summary> + <param name="force">true if the CompositeWorkItem and all of its children should be aborted, false if it should allow all currently running tests to complete</param> + </member> + <member name="T:NUnit.Framework.Internal.Execution.CompositeWorkItem.OneTimeTearDownWorkItem"> + <summary> + OneTimeTearDownWorkItem represents the cleanup + and one-time teardown phase of a CompositeWorkItem + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.CompositeWorkItem.OneTimeTearDownWorkItem.#ctor(NUnit.Framework.Internal.Execution.CompositeWorkItem)"> + <summary> + Construct a OneTimeTearDownWOrkItem wrapping a CompositeWorkItem + </summary> + <param name="originalItem">The CompositeWorkItem being wrapped</param> + </member> + <member name="P:NUnit.Framework.Internal.Execution.CompositeWorkItem.OneTimeTearDownWorkItem.Name"> + <summary> + The WorkItem name, overridden to indicate this is the teardown. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.CompositeWorkItem.OneTimeTearDownWorkItem.ExecutionStrategy"> + <summary> + The ExecutionStrategy for use in running this work item + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.CompositeWorkItem.OneTimeTearDownWorkItem.Execute"> + <summary> + + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.CompositeWorkItem.OneTimeTearDownWorkItem.PerformWork"> + <summary> + PerformWork is not used in CompositeWorkItem + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.CompositeWorkItem.OneTimeTearDownWorkItem.WorkItemCancelled"> + <summary> + 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. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Execution.CountdownEvent"> + <summary> + A simplified implementation of .NET 4 CountdownEvent + for use in earlier versions of .NET. Only the methods + used by NUnit are implemented. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.CountdownEvent.#ctor(System.Int32)"> + <summary> + Construct a CountdownEvent + </summary> + <param name="initialCount">The initial count</param> + </member> + <member name="P:NUnit.Framework.Internal.Execution.CountdownEvent.InitialCount"> + <summary> + Gets the initial count established for the CountdownEvent + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.CountdownEvent.CurrentCount"> + <summary> + Gets the current count remaining for the CountdownEvent + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.CountdownEvent.Signal"> + <summary> + Decrement the count by one + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.CountdownEvent.Signal(System.Int32)"> + <summary> + Decrement the count by the specified amount + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.CountdownEvent.Wait"> + <summary> + Block the thread until the count reaches zero + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Execution.EventListenerTextWriter"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.#ctor(System.String,System.IO.TextWriter)"> + <summary> + Construct an EventListenerTextWriter + </summary> + <param name="streamName">The name of the stream to use for events</param> + <param name="defaultWriter">The default writer to use if no listener is available</param> + </member> + <member name="P:NUnit.Framework.Internal.Execution.EventListenerTextWriter.Encoding"> + <summary> + Get the Encoding for this TextWriter + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.Write(System.String,System.Object[])"> + <summary> + Write formatted string + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.Write(System.String,System.Object,System.Object,System.Object)"> + <summary> + Write formatted string + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.Write(System.String,System.Object)"> + <summary> + Write formatted string + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.Write(System.Object)"> + <summary> + Write an object + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.Write(System.String)"> + <summary> + Write a string + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.Write(System.Decimal)"> + <summary> + Write a decimal + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.Write(System.Double)"> + <summary> + Write a double + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.Write(System.String,System.Object,System.Object)"> + <summary> + Write formatted string + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.Write(System.UInt64)"> + <summary> + Write a ulong + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.Write(System.Int64)"> + <summary> + Write a long + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.Write(System.UInt32)"> + <summary> + Write a uint + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.Write(System.Int32)"> + <summary> + Write an int + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.Write(System.Char)"> + <summary> + Write a char + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.Write(System.Boolean)"> + <summary> + Write a boolean + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.Write(System.Char[],System.Int32,System.Int32)"> + <summary> + Write chars + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.Write(System.Char[])"> + <summary> + Write chars + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.Write(System.Single)"> + <summary> + Write a float + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.WriteLine(System.String)"> + <summary> + Write a string with newline + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.WriteLine(System.Object)"> + <summary> + Write an object with newline + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.WriteLine(System.String,System.Object[])"> + <summary> + Write formatted string with newline + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.WriteLine(System.String,System.Object,System.Object)"> + <summary> + Write formatted string with newline + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.WriteLine(System.String,System.Object,System.Object,System.Object)"> + <summary> + Write formatted string with newline + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.WriteLine(System.Decimal)"> + <summary> + Write a decimal with newline + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.WriteLine(System.String,System.Object)"> + <summary> + Write a formatted string with newline + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.WriteLine(System.Double)"> + <summary> + Write a double with newline + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.WriteLine(System.UInt32)"> + <summary> + Write a uint with newline + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.WriteLine(System.UInt64)"> + <summary> + Write a ulong with newline + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.WriteLine(System.Int64)"> + <summary> + Write a long with newline + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.WriteLine(System.Int32)"> + <summary> + Write an int with newline + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.WriteLine(System.Boolean)"> + <summary> + Write a bool with newline + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.WriteLine(System.Char[],System.Int32,System.Int32)"> + <summary> + Write chars with newline + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.WriteLine(System.Char[])"> + <summary> + Write chars with newline + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.WriteLine(System.Char)"> + <summary> + Write a char with newline + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.WriteLine(System.Single)"> + <summary> + Write a float with newline + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.WriteLine"> + <summary> + Write newline + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Execution.EventPumpState"> + <summary> + The EventPumpState enum represents the state of an + EventPump. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Execution.EventPumpState.Stopped"> + <summary> + The pump is stopped + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Execution.EventPumpState.Pumping"> + <summary> + The pump is pumping events with no stop requested + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Execution.EventPumpState.Stopping"> + <summary> + The pump is pumping events but a stop has been requested + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Execution.EventPump"> + <summary> + 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. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Execution.EventPump._eventListener"> + <summary> + The downstream listener to which we send events + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Execution.EventPump._events"> + <summary> + The queue that holds our events + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Execution.EventPump._pumpThread"> + <summary> + Thread to do the pumping + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Execution.EventPump._pumpState"> + <summary> + The current state of the event pump + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventPump.#ctor(NUnit.Framework.Interfaces.ITestListener,NUnit.Framework.Internal.Execution.EventQueue)"> + <summary> + Constructor + </summary> + <param name="eventListener">The EventListener to receive events</param> + <param name="events">The event queue to pull events from</param> + </member> + <member name="P:NUnit.Framework.Internal.Execution.EventPump.PumpState"> + <summary> + Gets or sets the current state of the pump + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.EventPump.Name"> + <summary> + Gets or sets the name of this EventPump + (used only internally and for testing). + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventPump.Dispose"> + <summary> + Dispose stops the pump + Disposes the used WaitHandle, too. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventPump.Start"> + <summary> + Start the pump + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventPump.Stop"> + <summary> + Tell the pump to stop after emptying the queue. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventPump.PumpThreadProc"> + <summary> + 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. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Execution.Event"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.Event.Send(NUnit.Framework.Interfaces.ITestListener)"> + <summary> + The Send method is implemented by derived classes to send the event to the specified listener. + </summary> + <param name="listener">The listener.</param> + </member> + <member name="T:NUnit.Framework.Internal.Execution.TestStartedEvent"> + <summary> + TestStartedEvent holds information needed to call the TestStarted method. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.TestStartedEvent.#ctor(NUnit.Framework.Interfaces.ITest)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.Execution.TestStartedEvent"/> class. + </summary> + <param name="test">The test.</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.TestStartedEvent.Send(NUnit.Framework.Interfaces.ITestListener)"> + <summary> + Calls TestStarted on the specified listener. + </summary> + <param name="listener">The listener.</param> + </member> + <member name="T:NUnit.Framework.Internal.Execution.TestFinishedEvent"> + <summary> + TestFinishedEvent holds information needed to call the TestFinished method. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.TestFinishedEvent.#ctor(NUnit.Framework.Interfaces.ITestResult)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.Execution.TestFinishedEvent"/> class. + </summary> + <param name="result">The result.</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.TestFinishedEvent.Send(NUnit.Framework.Interfaces.ITestListener)"> + <summary> + Calls TestFinished on the specified listener. + </summary> + <param name="listener">The listener.</param> + </member> + <member name="T:NUnit.Framework.Internal.Execution.TestOutputEvent"> + <summary> + TestOutputEvent holds information needed to call the TestOutput method. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.TestOutputEvent.#ctor(NUnit.Framework.Interfaces.TestOutput)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.Execution.TestOutputEvent"/> class. + </summary> + <param name="output">The output object.</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.TestOutputEvent.Send(NUnit.Framework.Interfaces.ITestListener)"> + <summary> + Calls TestOutput on the specified listener. + </summary> + <param name="listener">The listener.</param> + </member> + <member name="T:NUnit.Framework.Internal.Execution.TestMessageEvent"> + <summary> + TestMessageEvent holds information needed to call the SendMessage method. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.TestMessageEvent.#ctor(NUnit.Framework.Interfaces.TestMessage)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.Execution.TestMessageEvent"/> class. + </summary> + <param name="testMessage">The test message object.</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.TestMessageEvent.Send(NUnit.Framework.Interfaces.ITestListener)"> + <summary> + Calls <see cref="M:NUnit.Framework.Internal.Execution.TestMessageEvent.Send(NUnit.Framework.Interfaces.ITestListener)"/> on the specified listener. + </summary> + <param name="listener">The listener.</param> + </member> + <member name="P:NUnit.Framework.Internal.Execution.TestMessageEvent.TestMessage"> + <summary> + Holds <see cref="P:NUnit.Framework.Internal.Execution.TestMessageEvent.TestMessage"/> object for sending to all listeners + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Execution.EventQueue"> + <summary> + Implements a queue of work items each of which + is queued as a WaitCallback. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.EventQueue.Count"> + <summary> + Gets the count of items in the queue. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventQueue.Enqueue(NUnit.Framework.Internal.Execution.Event)"> + <summary> + Enqueues the specified event + </summary> + <param name="e">The event to enqueue.</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventQueue.Dequeue(System.Boolean)"> + <summary> + Removes the first element from the queue and returns it (or <see langword="null"/>). + </summary> + <param name="blockWhenEmpty"> + If <see langword="true"/> and the queue is empty, the calling thread is blocked until + either an element is enqueued, or <see cref="M:NUnit.Framework.Internal.Execution.EventQueue.Stop"/> is called. + </param> + <returns> + <list type="bullet"> + <item> + <term>If the queue not empty</term> + <description>the first element.</description> + </item> + <item> + <term>otherwise, if <paramref name="blockWhenEmpty"/>==<see langword="false"/> + or <see cref="M:NUnit.Framework.Internal.Execution.EventQueue.Stop"/> has been called</term> + <description><see langword="null"/>.</description> + </item> + </list> + </returns> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventQueue.Stop"> + <summary> + Stop processing of the queue + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Execution.IMethodValidator"> + <summary> + Validates method to execute. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.IMethodValidator.Validate(System.Reflection.MethodInfo)"> + <summary> + Determines whether a method is allowed to execute and throws an exception otherwise. + </summary> + <param name="method">The method to validate.</param> + </member> + <member name="T:NUnit.Framework.Internal.Execution.IWorkItemDispatcher"> + <summary> + An IWorkItemDispatcher handles execution of work items. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.IWorkItemDispatcher.LevelOfParallelism"> + <summary> + The level of parallelism supported. Zero if not supported. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.IWorkItemDispatcher.Start(NUnit.Framework.Internal.Execution.WorkItem)"> + <summary> + Start execution, performing any initialization. Sets + the top level work item and dispatches it. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.IWorkItemDispatcher.Dispatch(NUnit.Framework.Internal.Execution.WorkItem)"> + <summary> + 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. + </summary> + <param name="work">The item to dispatch</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.IWorkItemDispatcher.CancelRun(System.Boolean)"> + <summary> + Cancel the ongoing run completely. + If no run is in process, the call has no effect. + </summary> + <param name="force">true if the IWorkItemDispatcher should abort all currently running WorkItems, false if it should allow all currently running WorkItems to complete</param> + </member> + <member name="T:NUnit.Framework.Internal.Execution.MainThreadWorkItemDispatcher"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.MainThreadWorkItemDispatcher.LevelOfParallelism"> + <summary> + The level of parallelism supported + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.MainThreadWorkItemDispatcher.Start(NUnit.Framework.Internal.Execution.WorkItem)"> + <summary> + Start execution, dispatching the top level + work into the main thread. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.MainThreadWorkItemDispatcher.Dispatch(NUnit.Framework.Internal.Execution.WorkItem)"> + <summary> + Dispatch a single work item for execution by + executing it directly. + </summary> + <param name="work">The item to dispatch</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.MainThreadWorkItemDispatcher.CancelRun(System.Boolean)"> + <summary> + This method is not supported for + this dispatcher. Using it will throw a + NotSupportedException. + </summary> + <param name="force">Not used</param> + <exception cref="T:System.NotSupportedException">If used, it will always throw this.</exception> + </member> + <member name="T:NUnit.Framework.Internal.Execution.ParallelExecutionStrategy"> + <summary> + Enumeration representing the strategy to follow in executing a work item. + The value is only relevant when running under the parallel dispatcher. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Execution.ParallelExecutionStrategy.Direct"> + <summary> + Run directly on same thread + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Execution.ParallelExecutionStrategy.Parallel"> + <summary> + Enqueue for parallel execution + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Execution.ParallelExecutionStrategy.NonParallel"> + <summary> + Enqueue for non-parallel execution + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Execution.ParallelWorkItemDispatcher"> + <summary> + ParallelWorkItemDispatcher handles execution of work items by + queuing them for worker threads to process. + </summary> + </member> + <member name="E:NUnit.Framework.Internal.Execution.ParallelWorkItemDispatcher.ShiftStarting"> + <summary> + Event raised whenever a shift is starting. + </summary> + </member> + <member name="E:NUnit.Framework.Internal.Execution.ParallelWorkItemDispatcher.ShiftFinished"> + <summary> + Event raised whenever a shift has ended. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.ParallelWorkItemDispatcher.#ctor(System.Int32)"> + <summary> + Construct a ParallelWorkItemDispatcher + </summary> + <param name="levelOfParallelism">Number of workers to use</param> + </member> + <member name="P:NUnit.Framework.Internal.Execution.ParallelWorkItemDispatcher.LevelOfParallelism"> + <summary> + Number of parallel worker threads + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.ParallelWorkItemDispatcher.Shifts"> + <summary> + Enumerates all the shifts supported by the dispatcher + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.ParallelWorkItemDispatcher.Queues"> + <summary> + Enumerates all the Queues supported by the dispatcher + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.ParallelWorkItemDispatcher.Start(NUnit.Framework.Internal.Execution.WorkItem)"> + <summary> + Start execution, setting the top level work, + enqueuing it and starting a shift to execute it. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.ParallelWorkItemDispatcher.Dispatch(NUnit.Framework.Internal.Execution.WorkItem)"> + <summary> + 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. + </summary> + <param name="work">The item to dispatch</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.ParallelWorkItemDispatcher.CancelRun(System.Boolean)"> + <summary> + Cancel the ongoing run completely. + If no run is in process, the call has no effect. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.ParallelWorkItemDispatcher.IsolateQueues(NUnit.Framework.Internal.Execution.WorkItem)"> + <summary> + Save the state of the queues and create a new isolated set + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.ParallelWorkItemDispatcher.TryRestoreQueues"> + <summary> + Try to remove isolated queues and restore old ones + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Execution.QueuingEventListener"> + <summary> + QueuingEventListener uses an EventQueue to store any + events received on its EventListener interface. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.QueuingEventListener.Events"> + <summary> + The EventQueue created and filled by this listener + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.QueuingEventListener.#ctor"> + <summary> + Construct a QueuingEventListener + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.QueuingEventListener.TestStarted(NUnit.Framework.Interfaces.ITest)"> + <summary> + A test has started + </summary> + <param name="test">The test that is starting</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.QueuingEventListener.TestFinished(NUnit.Framework.Interfaces.ITestResult)"> + <summary> + A test case finished + </summary> + <param name="result">Result of the test case</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.QueuingEventListener.TestOutput(NUnit.Framework.Interfaces.TestOutput)"> + <summary> + Called when a test produces output for immediate display + </summary> + <param name="output">A TestOutput object containing the text to display</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.QueuingEventListener.SendMessage(NUnit.Framework.Interfaces.TestMessage)"> + <summary> + Called when a test produces a message to be sent to listeners + </summary> + <param name="message">A <see cref="T:NUnit.Framework.Interfaces.TestMessage"/> object containing the text to send</param> + </member> + <member name="T:NUnit.Framework.Internal.Execution.SimpleWorkItem"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.SimpleWorkItem.#ctor(NUnit.Framework.Internal.TestMethod,NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Construct a simple work item for a test. + </summary> + <param name="test">The test to be executed</param> + <param name="filter">The filter used to select this test</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.SimpleWorkItem.#ctor(NUnit.Framework.Internal.TestMethod,NUnit.Framework.Interfaces.ITestFilter,NUnit.Framework.Internal.Abstractions.IDebugger)"> + <summary> + Construct a simple work item for a test. + </summary> + <param name="test">The test to be executed</param> + <param name="filter">The filter used to select this test</param> + <param name="debugger">An <see cref="T:NUnit.Framework.Internal.Abstractions.IDebugger"/> instance</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.SimpleWorkItem.PerformWork"> + <summary> + Method that performs actually performs the work. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.SimpleWorkItem.MakeTestCommand"> + <summary> + Creates a test command for use in running this test. + </summary> + <returns>A TestCommand</returns> + </member> + <member name="T:NUnit.Framework.Internal.Execution.SimpleWorkItemDispatcher"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.SimpleWorkItemDispatcher.LevelOfParallelism"> + <summary> + The level of parallelism supported + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.SimpleWorkItemDispatcher.Start(NUnit.Framework.Internal.Execution.WorkItem)"> + <summary> + Start execution, creating the execution thread, + setting the top level work and dispatching it. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.SimpleWorkItemDispatcher.Dispatch(NUnit.Framework.Internal.Execution.WorkItem)"> + <summary> + Dispatch a single work item for execution by + executing it directly. + </summary> + <param name="work">The item to dispatch</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.SimpleWorkItemDispatcher.CancelRun(System.Boolean)"> + <summary> + Cancel (abort or stop) the ongoing run. + If no run is in process, the call has no effect. + </summary> + <param name="force">true if the run should be aborted, false if it should allow its currently running test to complete</param> + </member> + <member name="T:NUnit.Framework.Internal.Execution.StaticMethodValidator"> + <summary> + Checks whether the method to execute is static. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.StaticMethodValidator.#ctor(System.String)"> + <summary> + Construct a StaticMethodValidator. + </summary> + <param name="failMessage">The error message to output in case the validation fails.</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.StaticMethodValidator.Validate(System.Reflection.MethodInfo)"> + <summary> + Determines whether a method to execute is static and throws an InvalidOperationException otherwise. + </summary> + <param name="method">The method to validate.</param> + </member> + <member name="T:NUnit.Framework.Internal.Execution.TestWorker"> + <summary> + A TestWorker pulls work items from a queue + and executes them. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Execution.TestWorker.TestWorkerEventHandler"> + <summary> + Event handler for TestWorker events + </summary> + <param name="worker">The TestWorker sending the event</param> + <param name="work">The WorkItem that caused the event</param> + </member> + <member name="E:NUnit.Framework.Internal.Execution.TestWorker.Busy"> + <summary> + Event signaled immediately before executing a WorkItem + </summary> + </member> + <member name="E:NUnit.Framework.Internal.Execution.TestWorker.Idle"> + <summary> + Event signaled immediately after executing a WorkItem + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.TestWorker.#ctor(NUnit.Framework.Internal.Execution.WorkItemQueue,System.String)"> + <summary> + Construct a new TestWorker. + </summary> + <param name="queue">The queue from which to pull work items</param> + <param name="name">The name of this worker</param> + </member> + <member name="P:NUnit.Framework.Internal.Execution.TestWorker.WorkQueue"> + <summary> + The WorkItemQueue from which this worker pulls WorkItems + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.TestWorker.Name"> + <summary> + The name of this worker - also used for the thread + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.TestWorker.IsAlive"> + <summary> + Indicates whether the worker thread is running + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Execution.TestWorker._currentWorkItem"> + <summary> + Our ThreadProc, which pulls and runs tests in a loop + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.TestWorker.Start"> + <summary> + Create thread and start processing work items. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.TestWorker.Cancel(System.Boolean)"> + <summary> + Stop the thread, either immediately or after finishing the current WorkItem + </summary> + <param name="force">true if the thread should be aborted, false if it should allow the currently running test to complete</param> + </member> + <member name="T:NUnit.Framework.Internal.Execution.TextCapture"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.TextCapture.#ctor(System.IO.TextWriter)"> + <summary> + Construct a TextCapture object + </summary> + <param name="defaultWriter">The default destination for non-intercepted output</param> + </member> + <member name="P:NUnit.Framework.Internal.Execution.TextCapture.Encoding"> + <summary> + Gets the Encoding in use by this TextWriter + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.TextCapture.Write(System.Char)"> + <summary> + Writes a single character + </summary> + <param name="value">The char to write</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.TextCapture.Write(System.String)"> + <summary> + Writes a string + </summary> + <param name="value">The string to write</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.TextCapture.WriteLine(System.String)"> + <summary> + Writes a string followed by a line terminator + </summary> + <param name="value">The string to write</param> + </member> + <member name="T:NUnit.Framework.Internal.Execution.WorkItem"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItem.#ctor(NUnit.Framework.Internal.Test,NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Construct a WorkItem for a particular test. + </summary> + <param name="test">The test that the WorkItem will run</param> + <param name="filter">Filter used to include or exclude child items</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItem.#ctor(NUnit.Framework.Internal.Execution.WorkItem)"> + <summary> + 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. + </summary> + <param name="wrappedItem">The WorkItem being wrapped</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItem.InitializeContext(NUnit.Framework.Internal.TestExecutionContext)"> + <summary> + Initialize the TestExecutionContext. This must be done + before executing the WorkItem. + </summary> + <remarks> + 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. + </remarks> + <param name="context">The TestExecutionContext to use</param> + </member> + <member name="E:NUnit.Framework.Internal.Execution.WorkItem.Completed"> + <summary> + Event triggered when the item is complete + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkItem.State"> + <summary> + Gets the current state of the WorkItem + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkItem.Test"> + <summary> + The test being executed by the work item + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkItem.Name"> + <summary> + The name of the work item - defaults to the Test name. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkItem.Filter"> + <summary> + Filter used to include or exclude child tests + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkItem.Context"> + <summary> + The execution context + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkItem.TestWorker"> + <summary> + The worker executing this item. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkItem.ExecutionStrategy"> + <summary> + The ParallelExecutionStrategy to use for this work item + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkItem.IsolateChildTests"> + <summary> + Indicates whether this work item should use a separate dispatcher. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkItem.Result"> + <summary> + The test result + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkItem.ParallelScope"> + <summary> + Gets the ParallelScope associated with the test, if any, + otherwise returning ParallelScope.Default; + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItem.Execute"> + <summary> + Execute the current work item, including any + child work items. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItem.WaitForCompletion"> + <summary> + Wait until the execution of this item is complete + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItem.MarkNotRunnable(System.String)"> + <summary> + Marks the WorkItem as NotRunnable. + </summary> + <param name="reason">Reason for test being NotRunnable.</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItem.Cancel(System.Boolean)"> + <summary> + Cancel (abort or stop) a WorkItem + </summary> + <param name="force">true if the WorkItem should be aborted, false if it should run to completion</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItem.Dispose"> + <summary> + Standard Dispose + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItem.PerformWork"> + <summary> + Method that performs actually performs the work. It should + set the State to WorkItemState.Complete when done. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItem.WorkItemComplete"> + <summary> + Method called by the derived class when all work is complete + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItem.BuildSetUpTearDownList(NUnit.Framework.Interfaces.IMethodInfo[],NUnit.Framework.Interfaces.IMethodInfo[],NUnit.Framework.Internal.Execution.IMethodValidator)"> + <summary> + Builds the set up tear down list. + </summary> + <param name="setUpMethods">Unsorted array of setup MethodInfos.</param> + <param name="tearDownMethods">Unsorted array of teardown MethodInfos.</param> + <param name="methodValidator">Method validator used before each method execution.</param> + <returns>A list of SetUpTearDownItems</returns> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItem.ChangeResult(NUnit.Framework.Interfaces.ResultState,System.String)"> + <summary> + Changes the result of the test, logging the old and new states + </summary> + <param name="resultState">The new ResultState</param> + <param name="message">The new message</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItem.GetTargetApartment(NUnit.Framework.Interfaces.ITest)"> + <summary> + Recursively walks up the test hierarchy to see if the + <see cref="T:System.Threading.ApartmentState"/> has been set on any of the parent tests. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Execution.WorkItemBuilder"> + <summary> + WorkItemBuilder class knows how to build a tree of work items from a tree of tests + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItemBuilder.CreateWorkItem(NUnit.Framework.Interfaces.ITest,NUnit.Framework.Interfaces.ITestFilter,System.Boolean)"> + <summary> + Creates a work item. + </summary> + <param name="test">The test for which this WorkItem is being created.</param> + <param name="filter">The filter to be used in selecting any child Tests.</param> + <param name="recursive">True if child work items should be created and added.</param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItemBuilder.CreateWorkItem(NUnit.Framework.Interfaces.ITest,NUnit.Framework.Interfaces.ITestFilter,NUnit.Framework.Internal.Abstractions.IDebugger,System.Boolean,System.Boolean)"> + <summary> + Creates a work item. + </summary> + <param name="test">The test for which this WorkItem is being created.</param> + <param name="filter">The filter to be used in selecting any child Tests.</param> + <param name="debugger">An <see cref="T:NUnit.Framework.Internal.Abstractions.IDebugger" /> instance.</param> + <param name="recursive">True if child work items should be created and added.</param> + <param name="root"><see langword="true"/> if work item needs to be created unconditionally, if <see langword="false"/> <see langword="null"/> will be returned for tests that don't match the filter.</param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItemBuilder.WorkItemOrderComparer.Compare(NUnit.Framework.Internal.Execution.WorkItem,NUnit.Framework.Internal.Execution.WorkItem)"> + <summary> + Compares two objects and returns a value indicating whether one is less than, equal to, or greater than the other. + </summary> + <returns> + A signed integer that indicates the relative values of <paramref name="x"/> and <paramref name="y"/>, as shown in the following table.Value Meaning Less than zero<paramref name="x"/> is less than <paramref name="y"/>.Zero<paramref name="x"/> equals <paramref name="y"/>.Greater than zero<paramref name="x"/> is greater than <paramref name="y"/>. + </returns> + <param name="x">The first object to compare.</param><param name="y">The second object to compare.</param> + </member> + <member name="T:NUnit.Framework.Internal.Execution.WorkItemQueueState"> + <summary> + WorkItemQueueState indicates the current state of a WorkItemQueue + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Execution.WorkItemQueueState.Paused"> + <summary> + The queue is paused + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Execution.WorkItemQueueState.Running"> + <summary> + The queue is running + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Execution.WorkItemQueueState.Stopped"> + <summary> + The queue is stopped + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Execution.WorkItemQueue"> + <summary> + A WorkItemQueue holds work items that are ready to + be run, either initially or after some dependency + has been satisfied. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItemQueue.#ctor(System.String,System.Boolean,System.Threading.ApartmentState)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.Execution.WorkItemQueue"/> class. + </summary> + <param name="name">The name of the queue.</param> + <param name="isParallel">Flag indicating whether this is a parallel queue</param> + <param name="apartment">ApartmentState to use for items on this queue</param> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkItemQueue.Name"> + <summary> + Gets the name of the work item queue. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkItemQueue.IsParallelQueue"> + <summary> + Gets a flag indicating whether this queue is used for parallel execution + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkItemQueue.TargetApartment"> + <summary> + Gets the target ApartmentState for work items on this queue + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkItemQueue.ItemsProcessed"> + <summary> + Gets the total number of items processed so far + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkItemQueue.State"> + <summary> + Gets the current state of the queue + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkItemQueue.IsEmpty"> + <summary> + Get a bool indicating whether the queue is empty. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItemQueue.Enqueue(NUnit.Framework.Internal.Execution.WorkItem)"> + <summary> + Enqueue a WorkItem to be processed + </summary> + <param name="work">The WorkItem to process</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItemQueue.Enqueue(NUnit.Framework.Internal.Execution.WorkItem,System.Int32)"> + <summary> + Enqueue a WorkItem to be processed - internal for testing + </summary> + <param name="work">The WorkItem to process</param> + <param name="priority">The priority at which to process the item</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItemQueue.Dequeue"> + <summary> + Dequeue a WorkItem for processing + </summary> + <returns>A WorkItem or null if the queue has stopped</returns> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItemQueue.Start"> + <summary> + Start or restart processing of items from the queue + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItemQueue.Stop"> + <summary> + Signal the queue to stop + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItemQueue.Pause"> + <summary> + Pause the queue for restarting later + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItemQueue.Save"> + <summary> + Save the current inner queue and create new ones for use by + a non-parallel fixture with parallel children. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItemQueue.Restore"> + <summary> + Restore the inner queue that was previously saved + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Execution.WorkItemState"> + <summary> + The current state of a work item + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Execution.WorkItemState.Ready"> + <summary> + Ready to run or continue + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Execution.WorkItemState.Running"> + <summary> + Work Item is executing + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Execution.WorkItemState.Complete"> + <summary> + Complete + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Execution.ShiftChangeEventHandler"> + <summary> + Handler for ShiftChange events. + </summary> + <param name="shift">The shift that is starting or ending.</param> + </member> + <member name="T:NUnit.Framework.Internal.Execution.WorkShift"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkShift.#ctor(System.String)"> + <summary> + Construct a WorkShift + </summary> + </member> + <member name="E:NUnit.Framework.Internal.Execution.WorkShift.EndOfShift"> + <summary> + Event that fires when the shift has ended + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkShift.Name"> + <summary> + The Name of this shift + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkShift.IsActive"> + <summary> + Gets a flag indicating whether the shift is currently active + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkShift.HasWork"> + <summary> + Gets a bool indicating whether this shift has any work to do + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkShift.Queues"> + <summary> + Gets a list of the queues associated with this shift. + </summary> + <remarks>Internal for testing - immutable once initialized</remarks> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkShift.Workers"> + <summary> + Gets the list of workers associated with this shift. + </summary> + <remarks>Internal for testing - immutable once initialized</remarks> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkShift.AddQueue(NUnit.Framework.Internal.Execution.WorkItemQueue)"> + <summary> + Add a WorkItemQueue to the shift, starting it if the + shift is currently active. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkShift.Assign(NUnit.Framework.Internal.Execution.TestWorker)"> + <summary> + Assign a worker to the shift. + </summary> + <param name="worker"></param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkShift.Start"> + <summary> + Start or restart processing for the shift + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkShift.EndShift"> + <summary> + End the shift, pausing all queues and raising + the EndOfShift event. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkShift.ShutDown"> + <summary> + Shut down the shift. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkShift.Cancel(System.Boolean)"> + <summary> + Cancel (abort or stop) the shift without completing all work + </summary> + <param name="force">true if the WorkShift should be aborted, false if it should allow its currently running tests to complete</param> + </member> + <member name="T:NUnit.Framework.Internal.TextMessageWriter"> + <summary> + 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. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TextMessageWriter.Pfx_Expected"> + <summary> + Prefix used for the expected value line of a message + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TextMessageWriter.Pfx_Actual"> + <summary> + Prefix used for the actual value line of a message + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TextMessageWriter.Pfx_Difference"> + <summary> + Prefix used for the actual difference between actual and expected values if compared with a tolerance + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TextMessageWriter.PrefixLength"> + <summary> + Length of a message prefix + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TextMessageWriter.#ctor"> + <summary> + Construct a TextMessageWriter + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TextMessageWriter.#ctor(System.String,System.Object[])"> + <summary> + Construct a TextMessageWriter, specifying a user message + and optional formatting arguments. + </summary> + <param name="userMessage"></param> + <param name="args"></param> + </member> + <member name="P:NUnit.Framework.Internal.TextMessageWriter.MaxLineLength"> + <summary> + Gets or sets the maximum line length for this writer + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TextMessageWriter.WriteMessageLine(System.Int32,System.String,System.Object[])"> + <summary> + Method to write single line message with optional args, usually + written to precede the general failure message, at a given + indentation level. + </summary> + <param name="level">The indentation level of the message</param> + <param name="message">The message to be written</param> + <param name="args">Any arguments used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Internal.TextMessageWriter.DisplayDifferences(NUnit.Framework.Constraints.ConstraintResult)"> + <summary> + 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. + </summary> + <param name="result">The result of the constraint that failed</param> + </member> + <member name="M:NUnit.Framework.Internal.TextMessageWriter.ResolveTypeNameDifference(System.Object,System.Object,System.String@,System.String@)"> + <summary> + Gets the unique type name between expected and actual. + </summary> + <param name="expected">The expected value</param> + <param name="actual">The actual value causing the failure</param> + <param name="expectedType">Output of the unique type name for expected</param> + <param name="actualType">Output of the unique type name for actual</param> + </member> + <member name="M:NUnit.Framework.Internal.TextMessageWriter.DisplayDifferences(System.Object,System.Object)"> + <summary> + 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. + </summary> + <param name="expected">The expected value</param> + <param name="actual">The actual value causing the failure</param> + </member> + <member name="M:NUnit.Framework.Internal.TextMessageWriter.DisplayDifferences(System.Object,System.Object,NUnit.Framework.Constraints.Tolerance)"> + <summary> + Display Expected and Actual lines for given values, including + a tolerance value on the expected line. + </summary> + <param name="expected">The expected value</param> + <param name="actual">The actual value causing the failure</param> + <param name="tolerance">The tolerance within which the test was made</param> + </member> + <member name="M:NUnit.Framework.Internal.TextMessageWriter.DisplayStringDifferences(System.String,System.String,System.Int32,System.Boolean,System.Boolean)"> + <summary> + 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. + </summary> + <param name="expected">The expected string value</param> + <param name="actual">The actual string value</param> + <param name="mismatch">The point at which the strings don't match or -1</param> + <param name="ignoreCase">If true, case is ignored in string comparisons</param> + <param name="clipping">If true, clip the strings to fit the max line length</param> + </member> + <member name="M:NUnit.Framework.Internal.TextMessageWriter.WriteActualValue(System.Object)"> + <summary> + Writes the text for an actual value. + </summary> + <param name="actual">The actual value.</param> + </member> + <member name="M:NUnit.Framework.Internal.TextMessageWriter.WriteValue(System.Object)"> + <summary> + Writes the text for a generalized value. + </summary> + <param name="val">The value.</param> + </member> + <member name="M:NUnit.Framework.Internal.TextMessageWriter.WriteCollectionElements(System.Collections.IEnumerable,System.Int64,System.Int32)"> + <summary> + Writes the text for a collection value, + starting at a particular point, to a max length + </summary> + <param name="collection">The collection containing elements to write.</param> + <param name="start">The starting point of the elements to write</param> + <param name="max">The maximum number of elements to write</param> + </member> + <member name="M:NUnit.Framework.Internal.TextMessageWriter.WriteExpectedLine(NUnit.Framework.Constraints.ConstraintResult)"> + <summary> + Write the generic 'Expected' line for a constraint + </summary> + <param name="result">The constraint that failed</param> + </member> + <member name="M:NUnit.Framework.Internal.TextMessageWriter.WriteExpectedLine(System.Object,NUnit.Framework.Constraints.Tolerance)"> + <summary> + Write the generic 'Expected' line for a given value + and tolerance. + </summary> + <param name="expected">The expected value</param> + <param name="tolerance">The tolerance within which the test was made</param> + </member> + <member name="M:NUnit.Framework.Internal.TextMessageWriter.WriteActualLine(NUnit.Framework.Constraints.ConstraintResult)"> + <summary> + Write the generic 'Actual' line for a constraint + </summary> + <param name="result">The ConstraintResult for which the actual value is to be written</param> + </member> + <member name="M:NUnit.Framework.Internal.TextMessageWriter.WriteActualLine(System.Object)"> + <summary> + Write the generic 'Actual' line for a given value + </summary> + <param name="actual">The actual value causing a failure</param> + </member> + <member name="T:NUnit.Framework.Internal.Extensions.IPropertyBagDataExtensions"> + <summary> + Extensions to <see cref="T:NUnit.Framework.Interfaces.IPropertyBag"/>. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Extensions.IPropertyBagDataExtensions.AddIgnoreUntilReason(NUnit.Framework.Interfaces.IPropertyBag,System.DateTimeOffset,System.String)"> + <summary> + Adds the skip reason to tests that are ignored until a specific date. + </summary> + <param name="properties">The test properties to add the skip reason to</param> + <param name="untilDate">The date that the test is being ignored until</param> + <param name="reason">The reason the test is being ignored until that date</param> + </member> + <member name="T:NUnit.Framework.Internal.Filters.AndFilter"> + <summary> + Combines multiple filters so that a test must pass all + of them in order to pass this filter. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Filters.AndFilter.#ctor"> + <summary> + Constructs an empty AndFilter + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Filters.AndFilter.#ctor(NUnit.Framework.Internal.TestFilter[])"> + <summary> + Constructs an AndFilter from an array of filters + </summary> + <param name="filters"></param> + </member> + <member name="M:NUnit.Framework.Internal.Filters.AndFilter.Pass(NUnit.Framework.Interfaces.ITest,System.Boolean)"> + <summary> + Checks whether the AndFilter is matched by a test + </summary> + <param name="test">The test to be matched</param> + <param name="negated">If set to <see langword="true"/> we are carrying a negation through</param> + <returns>True if all the component filters pass, otherwise false</returns> + </member> + <member name="M:NUnit.Framework.Internal.Filters.AndFilter.Match(NUnit.Framework.Interfaces.ITest)"> + <summary> + Checks whether the AndFilter is matched by a test + </summary> + <param name="test">The test to be matched</param> + <returns>True if all the component filters match, otherwise false</returns> + </member> + <member name="M:NUnit.Framework.Internal.Filters.AndFilter.IsExplicitMatch(NUnit.Framework.Interfaces.ITest)"> + <summary> + Checks whether the AndFilter is explicit matched by a test. + </summary> + <param name="test">The test to be matched</param> + <returns>True if all the component filters explicit match, otherwise false</returns> + </member> + <member name="P:NUnit.Framework.Internal.Filters.AndFilter.ElementName"> + <summary> + Gets the element name + </summary> + <value>Element name</value> + </member> + <member name="T:NUnit.Framework.Internal.Filters.CategoryFilter"> + <summary> + CategoryFilter is able to select or exclude tests + based on their categories. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Filters.CategoryFilter.#ctor(System.String)"> + <summary> + Construct a CategoryFilter using a single category name + </summary> + <param name="name">A category name</param> + </member> + <member name="M:NUnit.Framework.Internal.Filters.CategoryFilter.Match(NUnit.Framework.Interfaces.ITest)"> + <summary> + Check whether the filter matches a test + </summary> + <param name="test">The test to be matched</param> + <returns></returns> + </member> + <member name="P:NUnit.Framework.Internal.Filters.CategoryFilter.ElementName"> + <summary> + Gets the element name + </summary> + <value>Element name</value> + </member> + <member name="T:NUnit.Framework.Internal.Filters.ClassNameFilter"> + <summary> + ClassName filter selects tests based on the class FullName + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Filters.ClassNameFilter.#ctor(System.String)"> + <summary> + Construct a FullNameFilter for a single name + </summary> + <param name="expectedValue">The name the filter will recognize.</param> + </member> + <member name="M:NUnit.Framework.Internal.Filters.ClassNameFilter.Match(NUnit.Framework.Interfaces.ITest)"> + <summary> + Match a test against a single value. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Filters.ClassNameFilter.ElementName"> + <summary> + Gets the element name + </summary> + <value>Element name</value> + </member> + <member name="T:NUnit.Framework.Internal.Filters.CompositeFilter"> + <summary> + A base class for multi-part filters + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Filters.CompositeFilter.#ctor"> + <summary> + Constructs an empty CompositeFilter + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Filters.CompositeFilter.#ctor(NUnit.Framework.Internal.TestFilter[])"> + <summary> + Constructs a CompositeFilter from an array of filters + </summary> + <param name="filters"></param> + </member> + <member name="P:NUnit.Framework.Internal.Filters.CompositeFilter.Filters"> + <summary> + Return a list of the composing filters. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Filters.CompositeFilter.Pass(NUnit.Framework.Interfaces.ITest,System.Boolean)"> + <summary> + Checks whether the CompositeFilter is matched by a test. + </summary> + <param name="test">The test to be matched</param> + <param name="negated">If set to <see langword="true"/> we are carrying a negation through</param> + </member> + <member name="M:NUnit.Framework.Internal.Filters.CompositeFilter.Match(NUnit.Framework.Interfaces.ITest)"> + <summary> + Checks whether the CompositeFilter is matched by a test. + </summary> + <param name="test">The test to be matched</param> + </member> + <member name="M:NUnit.Framework.Internal.Filters.CompositeFilter.IsExplicitMatch(NUnit.Framework.Interfaces.ITest)"> + <summary> + Checks whether the CompositeFilter is explicit matched by a test. + </summary> + <param name="test">The test to be matched</param> + </member> + <member name="M:NUnit.Framework.Internal.Filters.CompositeFilter.AddToXml(NUnit.Framework.Interfaces.TNode,System.Boolean)"> + <summary> + Adds an XML node + </summary> + <param name="parentNode">Parent node</param> + <param name="recursive">True if recursive</param> + <returns>The added XML node</returns> + </member> + <member name="P:NUnit.Framework.Internal.Filters.CompositeFilter.ElementName"> + <summary> + Gets the element name + </summary> + <value>Element name</value> + </member> + <member name="T:NUnit.Framework.Internal.Filters.FullNameFilter"> + <summary> + FullName filter selects tests based on their FullName + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Filters.FullNameFilter.#ctor(System.String)"> + <summary> + Construct a FullNameFilter for a single name + </summary> + <param name="expectedValue">The name the filter will recognize.</param> + </member> + <member name="M:NUnit.Framework.Internal.Filters.FullNameFilter.Match(NUnit.Framework.Interfaces.ITest)"> + <summary> + Match a test against a single value. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Filters.FullNameFilter.ElementName"> + <summary> + Gets the element name + </summary> + <value>Element name</value> + </member> + <member name="T:NUnit.Framework.Internal.Filters.IdFilter"> + <summary> + IdFilter selects tests based on their id + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Filters.IdFilter.#ctor(System.String)"> + <summary> + Construct an IdFilter for a single value + </summary> + <param name="id">The id the filter will recognize.</param> + </member> + <member name="M:NUnit.Framework.Internal.Filters.IdFilter.Match(NUnit.Framework.Interfaces.ITest)"> + <summary> + Match a test against a single value. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Filters.IdFilter.ElementName"> + <summary> + Gets the element name + </summary> + <value>Element name</value> + </member> + <member name="T:NUnit.Framework.Internal.Filters.InFilter"> + <summary> + Optimized filter to check in condition using HashSet. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Filters.InFilter.#ctor(System.Func{NUnit.Framework.Interfaces.ITest,System.String},System.Collections.Generic.IEnumerable{System.String},System.String)"> + <summary> + Constructs new InFilter. + </summary> + <param name="selector">Selector to get value to check.</param> + <param name="values">Valid values for the filter.</param> + <param name="xmlElementName">The XML element name the original filter used.</param> + </member> + <member name="M:NUnit.Framework.Internal.Filters.InFilter.TryOptimize(NUnit.Framework.Internal.Filters.OrFilter,NUnit.Framework.Internal.Filters.InFilter@)"> + <summary> + Tries to optimize OrFilter into InFilter if contained filters are all same and non-regex. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Filters.MethodNameFilter"> + <summary> + FullName filter selects tests based on their FullName + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Filters.MethodNameFilter.#ctor(System.String)"> + <summary> + Construct a MethodNameFilter for a single name + </summary> + <param name="expectedValue">The name the filter will recognize.</param> + </member> + <member name="M:NUnit.Framework.Internal.Filters.MethodNameFilter.Match(NUnit.Framework.Interfaces.ITest)"> + <summary> + Match a test against a single value. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Filters.MethodNameFilter.ElementName"> + <summary> + Gets the element name + </summary> + <value>Element name</value> + </member> + <member name="T:NUnit.Framework.Internal.Filters.NamespaceFilter"> + <summary> + ClassName filter selects tests based on the class FullName + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Filters.NamespaceFilter.#ctor(System.String)"> + <summary> + Construct a NamespaceFilter for a single namespace + </summary> + <param name="expectedValue">The namespace the filter will recognize.</param> + </member> + <member name="M:NUnit.Framework.Internal.Filters.NamespaceFilter.Match(NUnit.Framework.Interfaces.ITest)"> + <summary> + Match a test against a single value. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Filters.NamespaceFilter.ElementName"> + <summary> + Gets the element name + </summary> + <value>Element name</value> + </member> + <member name="T:NUnit.Framework.Internal.Filters.NotFilter"> + <summary> + NotFilter negates the operation of another filter + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Filters.NotFilter.#ctor(NUnit.Framework.Internal.TestFilter)"> + <summary> + Construct a not filter on another filter + </summary> + <param name="baseFilter">The filter to be negated</param> + </member> + <member name="P:NUnit.Framework.Internal.Filters.NotFilter.BaseFilter"> + <summary> + Gets the base filter + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Filters.NotFilter.Pass(NUnit.Framework.Interfaces.ITest,System.Boolean)"> + <summary> + Determine if a particular test passes the filter criteria. + </summary> + <param name="test">The test to which the filter is applied</param> + <param name="negated">If set to <see langword="true"/> we are carrying a negation through</param> + <returns>True if the test passes the filter, otherwise false</returns> + </member> + <member name="M:NUnit.Framework.Internal.Filters.NotFilter.Match(NUnit.Framework.Interfaces.ITest)"> + <summary> + Check whether the filter matches a test + </summary> + <param name="test">The test to be matched</param> + <returns>True if it matches, otherwise false</returns> + </member> + <member name="M:NUnit.Framework.Internal.Filters.NotFilter.IsExplicitMatch(NUnit.Framework.Interfaces.ITest)"> + <summary> + 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. + </summary> + <param name="test">The test to which the filter is applied</param> + <returns>True if the test matches the filter explicitly, otherwise false</returns> + </member> + <member name="M:NUnit.Framework.Internal.Filters.NotFilter.AddToXml(NUnit.Framework.Interfaces.TNode,System.Boolean)"> + <summary> + Adds an XML node + </summary> + <param name="parentNode">Parent node</param> + <param name="recursive">True if recursive</param> + <returns>The added XML node</returns> + </member> + <member name="T:NUnit.Framework.Internal.Filters.OrFilter"> + <summary> + Combines multiple filters so that a test must pass one + of them in order to pass this filter. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Filters.OrFilter.#ctor"> + <summary> + Constructs an empty OrFilter + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Filters.OrFilter.#ctor(NUnit.Framework.Internal.TestFilter[])"> + <summary> + Constructs an OrFilter from an array of filters + </summary> + <param name="filters"></param> + </member> + <member name="M:NUnit.Framework.Internal.Filters.OrFilter.Pass(NUnit.Framework.Interfaces.ITest,System.Boolean)"> + <summary> + Checks whether the OrFilter is matched by a test + </summary> + <param name="test">The test to be matched</param> + <param name="negated">If set to <see langword="true"/> we are carrying a negation through</param> + <returns>True if any of the component filters pass, otherwise false</returns> + </member> + <member name="M:NUnit.Framework.Internal.Filters.OrFilter.Match(NUnit.Framework.Interfaces.ITest)"> + <summary> + Checks whether the OrFilter is matched by a test + </summary> + <param name="test">The test to be matched</param> + <returns>True if any of the component filters match, otherwise false</returns> + </member> + <member name="M:NUnit.Framework.Internal.Filters.OrFilter.IsExplicitMatch(NUnit.Framework.Interfaces.ITest)"> + <summary> + Checks whether the OrFilter is explicit matched by a test + </summary> + <param name="test">The test to be matched</param> + <returns>True if any of the component filters explicit match, otherwise false</returns> + </member> + <member name="P:NUnit.Framework.Internal.Filters.OrFilter.ElementName"> + <summary> + Gets the element name + </summary> + <value>Element name</value> + </member> + <member name="T:NUnit.Framework.Internal.Filters.PropertyFilter"> + <summary> + PropertyFilter is able to select or exclude tests + based on their properties. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Filters.PropertyFilter.#ctor(System.String,System.String)"> + <summary> + Construct a PropertyFilter using a property name and expected value + </summary> + <param name="propertyName">A property name</param> + <param name="expectedValue">The expected value of the property</param> + </member> + <member name="M:NUnit.Framework.Internal.Filters.PropertyFilter.Match(NUnit.Framework.Interfaces.ITest)"> + <summary> + Check whether the filter matches a test + </summary> + <param name="test">The test to be matched</param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Internal.Filters.PropertyFilter.AddToXml(NUnit.Framework.Interfaces.TNode,System.Boolean)"> + <summary> + Adds an XML node + </summary> + <param name="parentNode">Parent node</param> + <param name="recursive">True if recursive</param> + <returns>The added XML node</returns> + </member> + <member name="P:NUnit.Framework.Internal.Filters.PropertyFilter.ElementName"> + <summary> + Gets the element name + </summary> + <value>Element name</value> + </member> + <member name="T:NUnit.Framework.Internal.Filters.TestNameFilter"> + <summary> + TestName filter selects tests based on their Name + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Filters.TestNameFilter.#ctor(System.String)"> + <summary> + Construct a TestNameFilter for a single name + </summary> + <param name="expectedValue">The name the filter will recognize.</param> + </member> + <member name="M:NUnit.Framework.Internal.Filters.TestNameFilter.Match(NUnit.Framework.Interfaces.ITest)"> + <summary> + Match a test against a single value. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Filters.TestNameFilter.ElementName"> + <summary> + Gets the element name + </summary> + <value>Element name</value> + </member> + <member name="T:NUnit.Framework.Internal.Filters.ValueMatchFilter"> + <summary> + ValueMatchFilter selects tests based on some value, which + is expected to be contained in the test. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Filters.ValueMatchFilter.ExpectedValue"> + <summary> + Returns the value matched by the filter - used for testing + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Filters.ValueMatchFilter.IsRegex"> + <summary> + Indicates whether the value is a regular expression + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Filters.ValueMatchFilter.#ctor(System.String)"> + <summary> + Construct a ValueMatchFilter for a single value. + </summary> + <param name="expectedValue">The value to be included.</param> + </member> + <member name="M:NUnit.Framework.Internal.Filters.ValueMatchFilter.Match(System.String)"> + <summary> + Match the input provided by the derived class + </summary> + <param name="input">The value to be matched</param> + <returns>True for a match, false otherwise.</returns> + </member> + <member name="M:NUnit.Framework.Internal.Filters.ValueMatchFilter.AddToXml(NUnit.Framework.Interfaces.TNode,System.Boolean)"> + <summary> + Adds an XML node + </summary> + <param name="parentNode">Parent node</param> + <param name="recursive">True if recursive</param> + <returns>The added XML node</returns> + </member> + <member name="P:NUnit.Framework.Internal.Filters.ValueMatchFilter.ElementName"> + <summary> + Gets the element name + </summary> + <value>Element name</value> + </member> + <member name="T:NUnit.Framework.Internal.GenericMethodHelper"> + <summary> + GenericMethodHelper is able to deduce the Type arguments for + a generic method from the actual arguments provided. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.GenericMethodHelper.ConflictingTypesMarker"> + <summary> + A special value, which is used to indicate that BestCommonType() method + was unable to find a common type for the specified arguments. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.GenericMethodHelper.#ctor(System.Reflection.MethodInfo)"> + <summary> + Construct a GenericMethodHelper for a method + </summary> + <param name="method">MethodInfo for the method to examine</param> + </member> + <member name="M:NUnit.Framework.Internal.GenericMethodHelper.TryGetTypeArguments(System.Object[],System.Type[]@)"> + <summary> + Return the type arguments for the method, deducing them + from the arguments actually provided. + </summary> + <param name="argList">The arguments to the method</param> + <param name="typeArguments">If successful, an array of type arguments.</param> + </member> + <member name="T:NUnit.Framework.Internal.ImmutableStack`1"> + <summary> + A minimalistic implementation of an immutable stack. Add members as needed. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.ImmutableStack`1.Empty"> + <summary> + Represents an empty stack. <see langword="default"/> may be used instead. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ImmutableStack`1.Push(`0)"> + <summary> + Returns a new immutable stack which begins with the specified value and continues with the values in the + current stack. + </summary> + <param name="value">The beginning value of the new stack.</param> + </member> + <member name="T:NUnit.Framework.Internal.InvalidDataSourceException"> + <summary> + InvalidTestFixtureException is thrown when an appropriate test + fixture constructor using the provided arguments cannot be found. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.InvalidDataSourceException.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.InvalidTestFixtureException"/> class. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.InvalidDataSourceException.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.InvalidTestFixtureException"/> class. + </summary> + <param name="message">The message.</param> + </member> + <member name="M:NUnit.Framework.Internal.InvalidDataSourceException.#ctor(System.String,System.Exception)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.InvalidTestFixtureException"/> class. + </summary> + <param name="message">The message.</param> + <param name="inner">The inner.</param> + </member> + <member name="M:NUnit.Framework.Internal.InvalidDataSourceException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)"> + <summary> + Serialization Constructor + </summary> + </member> + <member name="T:NUnit.Framework.Internal.InvalidPlatformException"> + <summary> + InvalidPlatformException is thrown when the platform name supplied + to a test is not recognized. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.InvalidPlatformException.#ctor"> + <summary> + Instantiates a new instance of the <see cref="T:NUnit.Framework.Internal.InvalidPlatformException"/> class. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.InvalidPlatformException.#ctor(System.String)"> + <summary> + Instantiates a new instance of the <see cref="T:NUnit.Framework.Internal.InvalidPlatformException"/> class + </summary> + <param name="message">The message.</param> + </member> + <member name="M:NUnit.Framework.Internal.InvalidPlatformException.#ctor(System.String,System.Exception)"> + <summary> + Instantiates a new instance of the <see cref="T:NUnit.Framework.Internal.InvalidPlatformException"/> class + </summary> + <param name="message">The message.</param> + <param name="inner">The inner.</param> + </member> + <member name="M:NUnit.Framework.Internal.InvalidPlatformException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)"> + <summary> + Serialization constructor for the <see cref="T:NUnit.Framework.Internal.InvalidPlatformException"/> class + </summary> + </member> + <member name="T:NUnit.Framework.Internal.InvalidTestFixtureException"> + <summary> + InvalidTestFixtureException is thrown when an appropriate test + fixture constructor using the provided arguments cannot be found. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.InvalidTestFixtureException.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.InvalidTestFixtureException"/> class. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.InvalidTestFixtureException.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.InvalidTestFixtureException"/> class. + </summary> + <param name="message">The message.</param> + </member> + <member name="M:NUnit.Framework.Internal.InvalidTestFixtureException.#ctor(System.String,System.Exception)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.InvalidTestFixtureException"/> class. + </summary> + <param name="message">The message.</param> + <param name="inner">The inner.</param> + </member> + <member name="M:NUnit.Framework.Internal.InvalidTestFixtureException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)"> + <summary> + Serialization Constructor + </summary> + </member> + <member name="T:NUnit.Framework.Internal.ILogger"> + <summary> + Interface for logging within the engine + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ILogger.Error(System.String)"> + <summary> + Logs the specified message at the error level. + </summary> + <param name="message">The message.</param> + </member> + <member name="M:NUnit.Framework.Internal.ILogger.Error(System.String,System.Object[])"> + <summary> + Logs the specified message at the error level. + </summary> + <param name="message">The message.</param> + <param name="args">The arguments.</param> + </member> + <member name="M:NUnit.Framework.Internal.ILogger.Warning(System.String)"> + <summary> + Logs the specified message at the warning level. + </summary> + <param name="message">The message.</param> + </member> + <member name="M:NUnit.Framework.Internal.ILogger.Warning(System.String,System.Object[])"> + <summary> + Logs the specified message at the warning level. + </summary> + <param name="message">The message.</param> + <param name="args">The arguments.</param> + </member> + <member name="M:NUnit.Framework.Internal.ILogger.Info(System.String)"> + <summary> + Logs the specified message at the info level. + </summary> + <param name="message">The message.</param> + </member> + <member name="M:NUnit.Framework.Internal.ILogger.Info(System.String,System.Object[])"> + <summary> + Logs the specified message at the info level. + </summary> + <param name="message">The message.</param> + <param name="args">The arguments.</param> + </member> + <member name="M:NUnit.Framework.Internal.ILogger.Debug(System.String)"> + <summary> + Logs the specified message at the debug level. + </summary> + <param name="message">The message.</param> + </member> + <member name="M:NUnit.Framework.Internal.ILogger.Debug(System.String,System.Object[])"> + <summary> + Logs the specified message at the debug level. + </summary> + <param name="message">The message.</param> + <param name="args">The arguments.</param> + </member> + <member name="T:NUnit.Framework.Internal.InternalTrace"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.InternalTrace.Initialized"> + <summary> + Gets a flag indicating whether the InternalTrace is initialized + </summary> + </member> + <member name="M:NUnit.Framework.Internal.InternalTrace.Initialize(System.String,NUnit.Framework.Internal.InternalTraceLevel)"> + <summary> + Initialize the internal trace facility using the name of the log + to be written to and the trace level. + </summary> + <param name="logName">The log name</param> + <param name="level">The trace level</param> + </member> + <member name="M:NUnit.Framework.Internal.InternalTrace.Initialize(System.IO.TextWriter,NUnit.Framework.Internal.InternalTraceLevel)"> + <summary> + Initialize the internal trace using a provided TextWriter and level + </summary> + <param name="writer">A TextWriter</param> + <param name="level">The InternalTraceLevel</param> + </member> + <member name="M:NUnit.Framework.Internal.InternalTrace.GetLogger(System.String)"> + <summary> + Get a named Logger + </summary> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Internal.InternalTrace.GetLogger(System.Type)"> + <summary> + Get a logger named for a particular Type. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.InternalTraceLevel"> + <summary> + InternalTraceLevel is an enumeration controlling the + level of detailed presented in the internal log. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.InternalTraceLevel.Default"> + <summary> + Use the default settings as specified by the user. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.InternalTraceLevel.Off"> + <summary> + Do not display any trace messages + </summary> + </member> + <member name="F:NUnit.Framework.Internal.InternalTraceLevel.Error"> + <summary> + Display Error messages only + </summary> + </member> + <member name="F:NUnit.Framework.Internal.InternalTraceLevel.Warning"> + <summary> + Display Warning level and higher messages + </summary> + </member> + <member name="F:NUnit.Framework.Internal.InternalTraceLevel.Info"> + <summary> + Display informational and higher messages + </summary> + </member> + <member name="F:NUnit.Framework.Internal.InternalTraceLevel.Debug"> + <summary> + Display debug messages and higher - i.e. all messages + </summary> + </member> + <member name="F:NUnit.Framework.Internal.InternalTraceLevel.Verbose"> + <summary> + Display debug messages and higher - i.e. all messages + </summary> + </member> + <member name="T:NUnit.Framework.Internal.InternalTraceWriter"> + <summary> + A trace listener that writes to a separate file per domain + and process using it. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.InternalTraceWriter.#ctor(System.String)"> + <summary> + Construct an InternalTraceWriter that writes to a file. + </summary> + <param name="logPath">Path to the file to use</param> + </member> + <member name="M:NUnit.Framework.Internal.InternalTraceWriter.#ctor(System.IO.TextWriter)"> + <summary> + Construct an InternalTraceWriter that writes to a + TextWriter provided by the caller. + </summary> + <param name="writer"></param> + </member> + <member name="P:NUnit.Framework.Internal.InternalTraceWriter.Encoding"> + <summary> + Returns the character encoding in which the output is written. + </summary> + <returns>The character encoding in which the output is written.</returns> + </member> + <member name="M:NUnit.Framework.Internal.InternalTraceWriter.Write(System.Char)"> + <summary> + Writes a character to the text string or stream. + </summary> + <param name="value">The character to write to the text stream.</param> + </member> + <member name="M:NUnit.Framework.Internal.InternalTraceWriter.Write(System.String)"> + <summary> + Writes a string to the text string or stream. + </summary> + <param name="value">The string to write.</param> + </member> + <member name="M:NUnit.Framework.Internal.InternalTraceWriter.WriteLine(System.String)"> + <summary> + Writes a string followed by a line terminator to the text string or stream. + </summary> + <param name="value">The string to write. If <paramref name="value" /> is null, only the line terminator is written.</param> + </member> + <member name="M:NUnit.Framework.Internal.InternalTraceWriter.Dispose(System.Boolean)"> + <summary> + Releases the unmanaged resources used by the <see cref="T:System.IO.TextWriter" /> and optionally releases the managed resources. + </summary> + <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param> + </member> + <member name="M:NUnit.Framework.Internal.InternalTraceWriter.Flush"> + <summary> + Clears all buffers for the current writer and causes any buffered data to be written to the underlying device. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Logger"> + <summary> + Provides internal logging to the NUnit framework + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Logger.#ctor(System.String,NUnit.Framework.Internal.InternalTraceLevel,System.IO.TextWriter)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.Logger"/> class. + </summary> + <param name="name">The name.</param> + <param name="level">The log level.</param> + <param name="writer">The writer where logs are sent.</param> + </member> + <member name="M:NUnit.Framework.Internal.Logger.Error(System.String)"> + <summary> + Logs the message at error level. + </summary> + <param name="message">The message.</param> + </member> + <member name="M:NUnit.Framework.Internal.Logger.Error(System.String,System.Object[])"> + <summary> + Logs the message at error level. + </summary> + <param name="message">The message.</param> + <param name="args">The message arguments.</param> + </member> + <member name="M:NUnit.Framework.Internal.Logger.Warning(System.String)"> + <summary> + Logs the message at warm level. + </summary> + <param name="message">The message.</param> + </member> + <member name="M:NUnit.Framework.Internal.Logger.Warning(System.String,System.Object[])"> + <summary> + Logs the message at warning level. + </summary> + <param name="message">The message.</param> + <param name="args">The message arguments.</param> + </member> + <member name="M:NUnit.Framework.Internal.Logger.Info(System.String)"> + <summary> + Logs the message at info level. + </summary> + <param name="message">The message.</param> + </member> + <member name="M:NUnit.Framework.Internal.Logger.Info(System.String,System.Object[])"> + <summary> + Logs the message at info level. + </summary> + <param name="message">The message.</param> + <param name="args">The message arguments.</param> + </member> + <member name="M:NUnit.Framework.Internal.Logger.Debug(System.String)"> + <summary> + Logs the message at debug level. + </summary> + <param name="message">The message.</param> + </member> + <member name="M:NUnit.Framework.Internal.Logger.Debug(System.String,System.Object[])"> + <summary> + Logs the message at debug level. + </summary> + <param name="message">The message.</param> + <param name="args">The message arguments.</param> + </member> + <member name="T:NUnit.Framework.Internal.MethodWrapper"> + <summary> + The MethodWrapper class wraps a MethodInfo so that it may + be used in a platform-independent manner. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.MethodWrapper.#ctor(System.Type,System.Reflection.MethodInfo)"> + <summary> + Construct a MethodWrapper for a Type and a MethodInfo. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.MethodWrapper.#ctor(System.Type,System.String)"> + <summary> + Construct a MethodInfo for a given Type and method name. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.MethodWrapper.TypeInfo"> + <summary> + Gets the Type from which this method was reflected. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.MethodWrapper.MethodInfo"> + <summary> + Gets the MethodInfo for this method. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.MethodWrapper.Name"> + <summary> + Gets the name of the method. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.MethodWrapper.IsAbstract"> + <summary> + Gets a value indicating whether the method is abstract. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.MethodWrapper.IsPublic"> + <summary> + Gets a value indicating whether the method is public. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.MethodWrapper.IsStatic"> + <summary> + Gets a value indicating whether the method is static. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.MethodWrapper.ContainsGenericParameters"> + <summary> + Gets a value indicating whether the method contains unassigned generic type parameters. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.MethodWrapper.IsGenericMethod"> + <summary> + Gets a value indicating whether the method is a generic method. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.MethodWrapper.IsGenericMethodDefinition"> + <summary> + Gets a value indicating whether the MethodInfo represents the definition of a generic method. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.MethodWrapper.ReturnType"> + <summary> + Gets the return Type of the method. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.MethodWrapper.GetParameters"> + <summary> + Gets the parameters of the method. + </summary> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Internal.MethodWrapper.GetGenericArguments"> + <summary> + Returns the Type arguments of a generic method or the Type parameters of a generic method definition. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.MethodWrapper.MakeGenericMethod(System.Type[])"> + <summary> + Replaces the type parameters of the method with the array of types provided and returns a new IMethodInfo. + </summary> + <param name="typeArguments">The type arguments to be used</param> + <returns>A new IMethodInfo with the type arguments replaced</returns> + </member> + <member name="M:NUnit.Framework.Internal.MethodWrapper.GetCustomAttributes``1(System.Boolean)"> + <summary> + Returns an array of custom attributes of the specified type applied to this method + </summary> + </member> + <member name="M:NUnit.Framework.Internal.MethodWrapper.IsDefined``1(System.Boolean)"> + <summary> + Gets a value indicating whether one or more attributes of the specified type are defined on the method. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.MethodWrapper.Invoke(System.Object,System.Object[])"> + <summary> + Invokes the method, converting any TargetInvocationException to an NUnitException. + </summary> + <param name="fixture">The object on which to invoke the method</param> + <param name="args">The argument list for the method</param> + <returns>The return value from the invoked method</returns> + </member> + <member name="M:NUnit.Framework.Internal.MethodWrapper.ToString"> + <summary> + Override ToString() so that error messages in NUnit's own tests make sense + </summary> + </member> + <member name="M:NUnit.Framework.Internal.MethodWrapper.Equals(NUnit.Framework.Internal.MethodWrapper)"> + <inheritdoc /> + </member> + <member name="M:NUnit.Framework.Internal.MethodWrapper.Equals(System.Object)"> + <inheritdoc /> + </member> + <member name="M:NUnit.Framework.Internal.MethodWrapper.GetHashCode"> + <inheritdoc /> + </member> + <member name="T:NUnit.Framework.Internal.NUnitCallContext"> + <summary> + This class ensures the <see cref="T:System.Runtime.Remoting.Messaging.CallContext"/> 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 + </summary> + </member> + <member name="T:NUnit.Framework.Internal.NUnitException"> + <summary> + Thrown when an assertion failed. Here to preserve the inner + exception and hence its stack trace. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.NUnitException.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.NUnitException"/> class. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.NUnitException.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.NUnitException"/> class. + </summary> + <param name="message">The error message that explains + the reason for the exception</param> + </member> + <member name="M:NUnit.Framework.Internal.NUnitException.#ctor(System.String,System.Exception)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.NUnitException"/> class. + </summary> + <param name="message">The error message that explains + the reason for the exception</param> + <param name="inner">The exception that caused the + current exception</param> + </member> + <member name="M:NUnit.Framework.Internal.NUnitException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)"> + <summary> + Serialization Constructor + </summary> + </member> + <member name="T:NUnit.Framework.Internal.On"> + <summary> + Enables the <see cref="M:NUnit.Framework.Internal.On.Dispose(System.Action)"/> syntax. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.On.Dispose(System.Action)"> + <summary> + 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. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.OSPlatform"> + <summary> + OSPlatform represents a particular operating system platform + </summary> + </member> + <member name="F:NUnit.Framework.Internal.OSPlatform.UnixPlatformID_Microsoft"> + <summary> + Platform ID for Unix as defined by .NET + </summary> + </member> + <member name="F:NUnit.Framework.Internal.OSPlatform.UnixPlatformID_Mono"> + <summary> + Platform ID for Unix as defined by Mono + </summary> + </member> + <member name="F:NUnit.Framework.Internal.OSPlatform.XBoxPlatformID"> + <summary> + Platform ID for XBox as defined by .NET and Mono + </summary> + </member> + <member name="F:NUnit.Framework.Internal.OSPlatform.MacOSXPlatformID"> + <summary> + Platform ID for MacOSX as defined by .NET and Mono + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.CurrentPlatform"> + <summary> + Get the OSPlatform under which we are currently running + </summary> + </member> + <member name="M:NUnit.Framework.Internal.OSPlatform.GetWindows81PlusVersion(System.Version)"> + <summary> + Gets the actual OS Version, not the incorrect value that might be + returned for Win 8.1 and Win 10 + </summary> + <remarks> + 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. + </remarks> + <param name="version">The original version</param> + <returns>The correct OS version</returns> + </member> + <member name="T:NUnit.Framework.Internal.OSPlatform.ProductType"> + <summary> + Product Type Enumeration used for Windows + </summary> + </member> + <member name="F:NUnit.Framework.Internal.OSPlatform.ProductType.Unknown"> + <summary> + Product type is unknown or unspecified + </summary> + </member> + <member name="F:NUnit.Framework.Internal.OSPlatform.ProductType.WorkStation"> + <summary> + Product type is Workstation + </summary> + </member> + <member name="F:NUnit.Framework.Internal.OSPlatform.ProductType.DomainController"> + <summary> + Product type is Domain Controller + </summary> + </member> + <member name="F:NUnit.Framework.Internal.OSPlatform.ProductType.Server"> + <summary> + Product type is Server + </summary> + </member> + <member name="M:NUnit.Framework.Internal.OSPlatform.#ctor(System.PlatformID,System.Version)"> + <summary> + Construct from a platform ID and version + </summary> + </member> + <member name="M:NUnit.Framework.Internal.OSPlatform.#ctor(System.PlatformID,System.Version,NUnit.Framework.Internal.OSPlatform.ProductType)"> + <summary> + Construct from a platform ID, version and product type + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.Platform"> + <summary> + Get the platform ID of this instance + </summary> + </member> + <member name="M:NUnit.Framework.Internal.OSPlatform.ToString"> + <summary> + Implemented to use in place of Environment.OSVersion.ToString() + </summary> + <returns>A representation of the platform ID and version in an approximation of the format used by Environment.OSVersion.ToString()</returns> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.Version"> + <summary> + Get the Version of this instance + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.Product"> + <summary> + Get the Product Type of this instance + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWindows"> + <summary> + Return true if this is a windows platform + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsUnix"> + <summary> + Return true if this is a Unix or Linux platform + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWin32S"> + <summary> + Return true if the platform is Win32S + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWin32Windows"> + <summary> + Return true if the platform is Win32Windows + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWin32NT"> + <summary> + Return true if the platform is Win32NT + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWinCE"> + <summary> + Return true if the platform is Windows CE + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsXbox"> + <summary> + Return true if the platform is Xbox + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsMacOSX"> + <summary> + Return true if the platform is MacOSX + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWin95"> + <summary> + Return true if the platform is Windows 95 + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWin98"> + <summary> + Return true if the platform is Windows 98 + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWinME"> + <summary> + Return true if the platform is Windows ME + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsNT3"> + <summary> + Return true if the platform is NT 3 + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsNT4"> + <summary> + Return true if the platform is NT 4 + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsNT5"> + <summary> + Return true if the platform is NT 5 + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWin2K"> + <summary> + Return true if the platform is Windows 2000 + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWinXP"> + <summary> + Return true if the platform is Windows XP + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWin2003Server"> + <summary> + Return true if the platform is Windows 2003 Server + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsNT6"> + <summary> + Return true if the platform is NT 6 + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsNT60"> + <summary> + Return true if the platform is NT 6.0 + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsNT61"> + <summary> + Return true if the platform is NT 6.1 + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsNT62"> + <summary> + Return true if the platform is NT 6.2 + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsNT63"> + <summary> + Return true if the platform is NT 6.3 + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsVista"> + <summary> + Return true if the platform is Vista + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWin2008Server"> + <summary> + Return true if the platform is Windows 2008 Server (original or R2) + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWin2008ServerR1"> + <summary> + Return true if the platform is Windows 2008 Server (original) + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWin2008ServerR2"> + <summary> + Return true if the platform is Windows 2008 Server R2 + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWin2012Server"> + <summary> + Return true if the platform is Windows 2012 Server (original or R2) + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWin2012ServerR1"> + <summary> + Return true if the platform is Windows 2012 Server (original) + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWin2012ServerR2"> + <summary> + Return true if the platform is Windows 2012 Server R2 + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWindows7"> + <summary> + Return true if the platform is Windows 7 + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWindows8"> + <summary> + Return true if the platform is Windows 8 + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWindows81"> + <summary> + Return true if the platform is Windows 8.1 + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWindows10"> + <summary> + Return true if the platform is Windows 10 + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWindowsServer10"> + <summary> + Return true if the platform is Windows Server. This is named Windows + Server 10 to distinguish it from previous versions of Windows Server. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.ParamAttributeTypeConversions"> + <summary> + <para> + 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. + </para> + <para> + For example, since you can’t apply attributes using <see cref="T:System.Decimal"/> arguments, we allow the C# syntax + <c>10</c> (<see cref="T:System.Int32"/> value) or <c>0.1</c> (<see cref="T:System.Double"/> value) to be specified. + NUnit then converts it to match the method’s <see cref="T:System.Decimal"/> parameters, just as if you were actually + using the syntax <c>TestMethod(10)</c> or <c>TestMethod(0.1)</c>. + </para> + <para> + For another example, you might have written the syntax <c>10</c> and picked up the <see cref="T:System.Int32"/> attribute + constructor overload; however, the test method for which this value is intended only has a <see cref="T:System.Byte"/> + signature. Again, NUnit simulates what would have happened if the inferred C# syntax was transplanted + and you were actually using the syntax <c>TestMethod(10)</c>. + </para> + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ParamAttributeTypeConversions.ConvertData(System.Object[],System.Type)"> + <summary> + Converts an array of objects to the <paramref name="targetType"/>, if it is supported. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ParamAttributeTypeConversions.Convert(System.Object,System.Type)"> + <summary> + Converts a single value to the <paramref name="targetType"/>, if it is supported. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ParamAttributeTypeConversions.TryConvert(System.Object,System.Type,System.Object@)"> + <summary> + 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. + </summary> + <param name="value">The value to be converted</param> + <param name="targetType">The target <see cref="T:System.Type"/> in which the <paramref name="value"/> should be converted</param> + <param name="convertedValue">If conversion was successfully applied, the <paramref name="value"/> converted into <paramref name="targetType"/></param> + <returns> + <see langword="true"/> if <paramref name="value"/> was converted and <paramref name="convertedValue"/> should be used; + <see langword="false"/> is no conversion was applied and <paramref name="convertedValue"/> should be ignored + </returns> + </member> + <member name="T:NUnit.Framework.Internal.ParameterWrapper"> + <summary> + The ParameterWrapper class wraps a ParameterInfo so that it may + be used in a platform-independent manner. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ParameterWrapper.#ctor(NUnit.Framework.Interfaces.IMethodInfo,System.Reflection.ParameterInfo)"> + <summary> + Construct a ParameterWrapper for a given method and parameter + </summary> + <param name="method"></param> + <param name="parameterInfo"></param> + </member> + <member name="P:NUnit.Framework.Internal.ParameterWrapper.IsOptional"> + <summary> + Gets a value indicating whether the parameter is optional + </summary> + </member> + <member name="P:NUnit.Framework.Internal.ParameterWrapper.Method"> + <summary> + Gets an IMethodInfo representing the method for which this is a parameter. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.ParameterWrapper.ParameterInfo"> + <summary> + Gets the underlying ParameterInfo + </summary> + </member> + <member name="P:NUnit.Framework.Internal.ParameterWrapper.ParameterType"> + <summary> + Gets the Type of the parameter + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ParameterWrapper.GetCustomAttributes``1(System.Boolean)"> + <summary> + Returns an array of custom attributes of the specified type applied to this method + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ParameterWrapper.IsDefined``1(System.Boolean)"> + <summary> + Gets a value indicating whether one or more attributes of the specified type are defined on the parameter. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.PlatformHelper"> + <summary> + PlatformHelper class is used by the PlatformAttribute class to + determine whether a platform is supported. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PlatformHelper.OSPlatforms"> + <summary> + Comma-delimited list of all supported OS platform constants + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PlatformHelper.RuntimePlatforms"> + <summary> + Comma-delimited list of all supported Runtime platform constants + </summary> + </member> + <member name="M:NUnit.Framework.Internal.PlatformHelper.#ctor"> + <summary> + Default constructor uses the operating system and + common language runtime of the system. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.PlatformHelper.#ctor(NUnit.Framework.Internal.OSPlatform,NUnit.Framework.Internal.RuntimeFramework)"> + <summary> + Construct a PlatformHelper for a particular operating + system and common language runtime. Used in testing. + </summary> + <param name="rt">RuntimeFramework to be used</param> + <param name="os">OperatingSystem to be used</param> + </member> + <member name="M:NUnit.Framework.Internal.PlatformHelper.IsPlatformSupported(System.String[])"> + <summary> + Test to determine if one of a collection of platforms + is being used currently. + </summary> + <param name="platforms"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Internal.PlatformHelper.IsPlatformSupported(NUnit.Framework.PlatformAttribute)"> + <summary> + Tests to determine if the current platform is supported + based on a platform attribute. + </summary> + <param name="platformAttribute">The attribute to examine</param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Internal.PlatformHelper.IsPlatformSupported(NUnit.Framework.TestCaseAttribute)"> + <summary> + Tests to determine if the current platform is supported + based on a platform attribute. + </summary> + <param name="testCaseAttribute">The attribute to examine</param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Internal.PlatformHelper.IsPlatformSupported(System.String)"> + <summary> + Test to determine if a particular platform or comma-delimited set of platforms is in use. + </summary> + <param name="platform">Name of the platform or comma-separated list of platform ids</param> + <returns>True if the platform is in use on the system</returns> + </member> + <member name="P:NUnit.Framework.Internal.PlatformHelper.Reason"> + <summary> + Return the last failure reason. Results are not + defined if called before IsSupported( Attribute ) + is called. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.PreFilter"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.PreFilter.Empty"> + <summary> + Return a new PreFilter, without elements, which is considered + empty and always matches. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.PreFilter.IsEmpty"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.PreFilter.Add(System.String)"> + <summary> + Add a new filter element to the filter + </summary> + <param name="filterText"></param> + </member> + <member name="M:NUnit.Framework.Internal.PreFilter.IsMatch(System.Type)"> + <summary> + Use the filter on a Type, returning true if the type matches the filter + and should therefore be included in the discovery process. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.PreFilter.IsMatch(System.Type,System.Reflection.MethodInfo)"> + <summary> + Use the filter on a Type, returning true if the type matches the filter + and should therefore be included in the discovery process. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.PropertyBag"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.PropertyBag.Add(System.String,System.Object)"> + <summary> + Adds a key/value pair to the property set + </summary> + <param name="key">The key</param> + <param name="value">The value</param> + </member> + <member name="M:NUnit.Framework.Internal.PropertyBag.Set(System.String,System.Object)"> + <summary> + Sets the value for a key, removing any other + values that are already in the property set. + </summary> + <param name="key"></param> + <param name="value"></param> + </member> + <member name="M:NUnit.Framework.Internal.PropertyBag.Get(System.String)"> + <summary> + 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. + </summary> + <param name="key"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Internal.PropertyBag.ContainsKey(System.String)"> + <summary> + Gets a flag indicating whether the specified key has + any entries in the property set. + </summary> + <param name="key">The key to be checked</param> + <returns> + True if their are values present, otherwise false + </returns> + </member> + <member name="P:NUnit.Framework.Internal.PropertyBag.Keys"> + <summary> + Gets a collection containing all the keys in the property set + </summary> + <value></value> + </member> + <member name="P:NUnit.Framework.Internal.PropertyBag.Item(System.String)"> + <summary> + Gets or sets the list of values for a particular key + </summary> + </member> + <member name="M:NUnit.Framework.Internal.PropertyBag.ToXml(System.Boolean)"> + <summary> + Returns an XmlNode representing the current PropertyBag. + </summary> + <param name="recursive">Not used</param> + <returns>An XmlNode representing the PropertyBag</returns> + </member> + <member name="M:NUnit.Framework.Internal.PropertyBag.AddToXml(NUnit.Framework.Interfaces.TNode,System.Boolean)"> + <summary> + Returns an XmlNode representing the PropertyBag after + adding it as a child of the supplied parent node. + </summary> + <param name="parentNode">The parent node.</param> + <param name="recursive">Not used</param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Internal.PropertyNames"> + <summary> + The PropertyNames class provides static constants for the + standard property ids that NUnit uses on tests. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PropertyNames.AppDomain"> + <summary> + The FriendlyName of the AppDomain in which the assembly is running + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PropertyNames.JoinType"> + <summary> + The selected strategy for joining parameter data into test cases + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PropertyNames.ProcessId"> + <summary> + The process ID of the executing assembly + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PropertyNames.ProviderStackTrace"> + <summary> + The stack trace from any data provider that threw + an exception. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PropertyNames.SkipReason"> + <summary> + The reason a test was not run + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PropertyNames.Author"> + <summary> + The author of the tests + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PropertyNames.ApartmentState"> + <summary> + The ApartmentState required for running the test + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PropertyNames.Category"> + <summary> + The categories applying to a test + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PropertyNames.Description"> + <summary> + The Description of a test + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PropertyNames.LevelOfParallelism"> + <summary> + The number of threads to be used in running tests + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PropertyNames.MaxTime"> + <summary> + The maximum time in ms, above which the test is considered to have failed + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PropertyNames.ParallelScope"> + <summary> + The ParallelScope associated with a test + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PropertyNames.RepeatCount"> + <summary> + The number of times the test should be repeated + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PropertyNames.RequiresThread"> + <summary> + Indicates that the test should be run on a separate thread + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PropertyNames.SetCulture"> + <summary> + The culture to be set for a test + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PropertyNames.SetUICulture"> + <summary> + The UI culture to be set for a test + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PropertyNames.TestOf"> + <summary> + The type that is under test + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PropertyNames.Timeout"> + <summary> + The timeout value for the test + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PropertyNames.IgnoreUntilDate"> + <summary> + The test will be ignored until the given date + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PropertyNames.Order"> + <summary> + The optional Order the test will run in + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Randomizer"> + <summary> + 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. + </summary> + <remarks> + 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. + </remarks> + </member> + <member name="P:NUnit.Framework.Internal.Randomizer.InitialSeed"> + <summary> + Initial seed used to create randomizers for this run + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.GetRandomizer(System.Reflection.MemberInfo)"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.GetRandomizer(System.Reflection.ParameterInfo)"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.CreateRandomizer"> + <summary> + Create a new Randomizer using the next seed + available to ensure that each randomizer gives + a unique sequence of values. + </summary> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.#ctor"> + <summary> + Default constructor + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.#ctor(System.Int32)"> + <summary> + Construct based on seed value + </summary> + <param name="seed"></param> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextUInt"> + <summary> + Returns a random unsigned int. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextUInt(System.UInt32)"> + <summary> + Returns a random unsigned int less than the specified maximum. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextUInt(System.UInt32,System.UInt32)"> + <summary> + Returns a random unsigned int within a specified range. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextShort"> + <summary> + Returns a non-negative random short. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextShort(System.Int16)"> + <summary> + Returns a non-negative random short less than the specified maximum. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextShort(System.Int16,System.Int16)"> + <summary> + Returns a non-negative random short within a specified range. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextUShort"> + <summary> + Returns a random unsigned short. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextUShort(System.UInt16)"> + <summary> + Returns a random unsigned short less than the specified maximum. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextUShort(System.UInt16,System.UInt16)"> + <summary> + Returns a random unsigned short within a specified range. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextLong"> + <summary> + Returns a random long. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextLong(System.Int64)"> + <summary> + Returns a random long less than the specified maximum. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextLong(System.Int64,System.Int64)"> + <summary> + Returns a non-negative random long within a specified range. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextULong"> + <summary> + Returns a random ulong. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextULong(System.UInt64)"> + <summary> + Returns a random ulong less than the specified maximum. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextULong(System.UInt64,System.UInt64)"> + <summary> + Returns a non-negative random long within a specified range. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextByte"> + <summary> + Returns a random Byte + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextByte(System.Byte)"> + <summary> + Returns a random Byte less than the specified maximum. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextByte(System.Byte,System.Byte)"> + <summary> + Returns a random Byte within a specified range + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextSByte"> + <summary> + Returns a random SByte + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextSByte(System.SByte)"> + <summary> + Returns a random sbyte less than the specified maximum. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextSByte(System.SByte,System.SByte)"> + <summary> + Returns a random sbyte within a specified range + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextBool"> + <summary> + Returns a random bool + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextBool(System.Double)"> + <summary> + Returns a random bool based on the probability a true result + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextDouble(System.Double)"> + <summary> + Returns a random double between 0.0 and the specified maximum. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextDouble(System.Double,System.Double)"> + <summary> + Returns a random double within a specified range. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextFloat"> + <summary> + Returns a random float. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextFloat(System.Single)"> + <summary> + Returns a random float between 0.0 and the specified maximum. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextFloat(System.Single,System.Single)"> + <summary> + Returns a random float within a specified range. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextEnum(System.Type)"> + <summary> + Returns a random enum value of the specified Type as an object. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextEnum``1"> + <summary> + Returns a random enum value of the specified Type. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Randomizer.DefaultStringChars"> + <summary> + Default characters for random functions. + </summary> + <remarks>Default characters are the English alphabet (uppercase & lowercase), Arabic numerals, and underscore</remarks> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.GetString(System.Int32,System.String)"> + <summary> + Generate a random string based on the characters from the input string. + </summary> + <param name="outputLength">desired length of output string.</param> + <param name="allowedChars">string representing the set of characters from which to construct the resulting string</param> + <returns>A random string of arbitrary length</returns> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.GetString(System.Int32)"> + <summary> + Generate a random string based on the characters from the input string. + </summary> + <param name="outputLength">desired length of output string.</param> + <returns>A random string of arbitrary length</returns> + <remarks>Uses <see cref="F:NUnit.Framework.Internal.Randomizer.DefaultStringChars">DefaultStringChars</see> as the input character set </remarks> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.GetString"> + <summary> + Generate a random string based on the characters from the input string. + </summary> + <returns>A random string of the default length</returns> + <remarks>Uses <see cref="F:NUnit.Framework.Internal.Randomizer.DefaultStringChars">DefaultStringChars</see> as the input character set </remarks> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextDecimal"> + <summary> + Returns a random decimal. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextDecimal(System.Decimal)"> + <summary> + Returns a random decimal between positive zero and the specified maximum. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextDecimal(System.Decimal,System.Decimal)"> + <summary> + Returns a random decimal within a specified range, which is not + permitted to exceed decimal.MaxVal in the current implementation. + </summary> + <remarks> + A limitation of this implementation is that the range from min + to max must not exceed decimal.MaxVal. + </remarks> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextGuid"> + <summary> + Generates a valid version 4 <see cref="T:System.Guid"/>. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Reflect"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Reflect.HasMethodWithAttribute(System.Type,System.Type)"> + <summary> + Examine a fixture type and return true if it has a method with + a particular attribute. + </summary> + <param name="fixtureType">The type to examine</param> + <param name="attributeType">The attribute Type to look for</param> + <returns>True if found, otherwise false</returns> + </member> + <member name="M:NUnit.Framework.Internal.Reflect.Construct(System.Type)"> + <summary> + Invoke the default constructor on a Type + </summary> + <param name="type">The Type to be constructed</param> + <returns>An instance of the Type</returns> + </member> + <member name="M:NUnit.Framework.Internal.Reflect.Construct(System.Type,System.Object[])"> + <summary> + Invoke a constructor on a Type with arguments + </summary> + <param name="type">The Type to be constructed</param> + <param name="arguments">Arguments to the constructor</param> + <returns>An instance of the Type</returns> + </member> + <member name="M:NUnit.Framework.Internal.Reflect.GetTypeArray(System.Object[])"> + <summary> + Returns an array of types from an array of objects. + Differs from <see cref="M:System.Type.GetTypeArray(System.Object[])"/> by returning <see langword="null"/> + for null elements rather than throwing <see cref="T:System.ArgumentNullException"/>. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Reflect.GetConstructors(System.Type,System.Type[])"> + <summary> + Gets the constructors to which the specified argument types can be coerced. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Reflect.ParametersMatch(System.Reflection.ParameterInfo[],System.Type[])"> + <summary> + Determines if the given types can be coerced to match the given parameters. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Reflect.CanImplicitlyConvertTo(System.Type,System.Type)"> + <summary> + Determines whether the current type can be implicitly converted to the specified type. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Reflect.InvokeMethod(System.Reflection.MethodInfo,System.Object)"> + <summary> + Invoke a parameterless method returning void on an object. + </summary> + <param name="method">A MethodInfo for the method to be invoked</param> + <param name="fixture">The object on which to invoke the method</param> + </member> + <member name="M:NUnit.Framework.Internal.Reflect.InvokeMethod(System.Reflection.MethodInfo,System.Object,System.Object[])"> + <summary> + Invoke a method, converting any TargetInvocationException to an NUnitException. + </summary> + <param name="method">A MethodInfo for the method to be invoked</param> + <param name="fixture">The object on which to invoke the method</param> + <param name="args">The argument list for the method</param> + <returns>The return value from the invoked method</returns> + </member> + <member name="M:NUnit.Framework.Internal.Reflect.GetUltimateShadowingProperty(System.Type,System.String,System.Reflection.BindingFlags)"> + <summary> + <para> + Selects the ultimate shadowing property just like <c>dynamic</c> would, + rather than throwing <see cref="T:System.Reflection.AmbiguousMatchException"/> + for properties that shadow properties of a different property type + which is what <see cref="M:System.Type.GetProperty(System.String,System.Reflection.BindingFlags)"/> does. + </para> + <para> + 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. + </para> + </summary> + <param name="type">See <see cref="M:System.Type.GetProperty(System.String,System.Reflection.BindingFlags)"/>.</param> + <param name="name">See <see cref="M:System.Type.GetProperty(System.String,System.Reflection.BindingFlags)"/>.</param> + <param name="bindingFlags">See <see cref="M:System.Type.GetProperty(System.String,System.Reflection.BindingFlags)"/>.</param> + </member> + <member name="M:NUnit.Framework.Internal.Reflect.GetNonGenericPublicInstanceMethod(System.Type,System.String,System.Type[])"> + <summary> + Same as <c>GetMethod(<paramref name="name"/>, <see cref="F:System.Reflection.BindingFlags.Public"/> | + <see cref="F:System.Reflection.BindingFlags.Instance"/>, <see langword="null"/>, <paramref name="parameterTypes"/>, + <see langword="null"/>)</c> except that it also chooses only non-generic methods. + Useful for avoiding the <see cref="T:System.Reflection.AmbiguousMatchException"/> you can have with <c>GetMethod</c>. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Reflect.GetDefaultIndexer(System.Type,System.Type[])"> + <summary> + Returns the get accessor for the indexer. + </summary> + <param name="type">Type to reflect on for the indexer.</param> + <param name="indexerTypes">List of indexer types that matches the indexer type order.</param> + <returns>The Get accessor</returns> + </member> + <member name="M:NUnit.Framework.Internal.Reflect.GetMemberIncludingFromBase(System.Type,System.String,System.Reflection.BindingFlags)"> + <summary> + Searches for the specified members, using the specified binding constraints. + </summary> + <remarks> + Similar to <see cref="M:System.Type.GetMember(System.String,System.Reflection.BindingFlags)"/> but also finds private static members from the base class. + </remarks> + <param name="type">The type to find the members from.</param> + <param name="name">The string containing the name of the members to get.</param> + <param name="flags">A bitwise combination of the enumeration values that specify how the search is conducted.</param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Internal.TestCaseResult"> + <summary> + Represents the result of running a single test case. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestCaseResult.#ctor(NUnit.Framework.Internal.TestMethod)"> + <summary> + Construct a TestCaseResult based on a TestMethod + </summary> + <param name="test">A TestMethod to which the result applies.</param> + </member> + <member name="P:NUnit.Framework.Internal.TestCaseResult.FailCount"> + <summary> + Gets the number of test cases that failed + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestCaseResult.TotalCount"> + <summary> + Gets the number of test cases that executed + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestCaseResult.WarningCount"> + <summary> + Gets the number of test cases that had warnings + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestCaseResult.PassCount"> + <summary> + Gets the number of test cases that passed + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestCaseResult.SkipCount"> + <summary> + Gets the number of test cases that were skipped + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestCaseResult.InconclusiveCount"> + <summary> + Gets the number of test cases that were inconclusive + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestCaseResult.HasChildren"> + <summary> + Indicates whether this result has any child results. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestCaseResult.Children"> + <summary> + Gets the collection of child results. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.TestResult"> + <summary> + The TestResult class represents the result of a test. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TestResult.CHILD_ERRORS_MESSAGE"> + <summary> + Error message for when child tests have errors + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TestResult.CHILD_WARNINGS_MESSAGE"> + <summary> + Error message for when child tests have warnings + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TestResult.CHILD_IGNORE_MESSAGE"> + <summary> + Error message for when child tests are ignored + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TestResult.USER_CANCELLED_MESSAGE"> + <summary> + Error message for when user has cancelled the test run + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TestResult.MIN_DURATION"> + <summary> + The minimum duration for tests + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TestResult.InternalAssertCount"> + <summary> + Aggregate assertion count + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TestResult.RwLock"> + <summary> + ReaderWriterLock + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestResult.#ctor(NUnit.Framework.Interfaces.ITest)"> + <summary> + Construct a test result given a Test + </summary> + <param name="test">The test to be used</param> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.Test"> + <summary> + Gets the test with which this result is associated. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.ResultState"> + <summary> + Gets the ResultState of the test result, which + indicates the success or failure of the test. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.Name"> + <summary> + Gets the name of the test result + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.FullName"> + <summary> + Gets the full name of the test result + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.Duration"> + <summary> + Gets or sets the elapsed time for running the test in seconds + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.StartTime"> + <summary> + Gets or sets the time the test started running. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.EndTime"> + <summary> + Gets or sets the time the test finished running. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestResult.AddTestAttachment(NUnit.Framework.Interfaces.TestAttachment)"> + <summary> + Adds a test attachment to the test result + </summary> + <param name="attachment">The TestAttachment object to attach</param> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.TestAttachments"> + <summary> + Gets the collection of files attached to the test + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.Message"> + <summary> + Gets the message associated with a test + failure or with not running the test + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.StackTrace"> + <summary> + Gets any stack trace associated with an + error or failure. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.AssertCount"> + <summary> + Gets or sets the count of asserts executed + when running the test. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.TotalCount"> + <summary> + Gets the number of test cases executed + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.FailCount"> + <summary> + Gets the number of test cases that failed + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.WarningCount"> + <summary> + Gets the number of test cases that had warnings + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.PassCount"> + <summary> + Gets the number of test cases that passed + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.SkipCount"> + <summary> + Gets the number of test cases that were skipped + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.InconclusiveCount"> + <summary> + Gets the number of test cases that were inconclusive + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.HasChildren"> + <summary> + Indicates whether this result has any child results. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.Children"> + <summary> + Gets the collection of child results. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.OutWriter"> + <summary> + Gets a TextWriter, which will write output to be included in the result. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.Output"> + <summary> + Gets any text output written to this result. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.AssertionResults"> + <summary> + Gets a list of assertion results associated with the test. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestResult.ToXml(System.Boolean)"> + <summary> + Returns the XML representation of the result. + </summary> + <param name="recursive">If true, descendant results are included</param> + <returns>An XmlNode representing the result</returns> + </member> + <member name="M:NUnit.Framework.Internal.TestResult.AddToXml(NUnit.Framework.Interfaces.TNode,System.Boolean)"> + <summary> + Adds the XML representation of the result as a child of the + supplied parent node.. + </summary> + <param name="parentNode">The parent node.</param> + <param name="recursive">If true, descendant results are included</param> + <returns></returns> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.PendingFailures"> + <summary> + Gets a count of pending failures (from Multiple Assert) + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.WorstAssertionStatus"> + <summary> + Gets the worst assertion status (highest enum) in all the assertion results + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestResult.SetResult(NUnit.Framework.Interfaces.ResultState)"> + <summary> + Set the result of the test + </summary> + <param name="resultState">The ResultState to use in the result</param> + </member> + <member name="M:NUnit.Framework.Internal.TestResult.SetResult(NUnit.Framework.Interfaces.ResultState,System.String)"> + <summary> + Set the result of the test + </summary> + <param name="resultState">The ResultState to use in the result</param> + <param name="message">A message associated with the result state</param> + </member> + <member name="M:NUnit.Framework.Internal.TestResult.SetResult(NUnit.Framework.Interfaces.ResultState,System.String,System.String)"> + <summary> + Set the result of the test + </summary> + <param name="resultState">The ResultState to use in the result</param> + <param name="message">A message associated with the result state</param> + <param name="stackTrace">Stack trace giving the location of the command</param> + </member> + <member name="M:NUnit.Framework.Internal.TestResult.RecordException(System.Exception)"> + <summary> + Set the test result based on the type of exception thrown + </summary> + <param name="ex">The exception that was thrown</param> + </member> + <member name="M:NUnit.Framework.Internal.TestResult.RecordException(System.Exception,NUnit.Framework.Interfaces.FailureSite)"> + <summary> + Set the test result based on the type of exception thrown + </summary> + <param name="ex">The exception that was thrown</param> + <param name="site">The FailureSite to use in the result</param> + </member> + <member name="M:NUnit.Framework.Internal.TestResult.RecordTearDownException(System.Exception)"> + <summary> + 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. + </summary> + <param name="ex">The Exception to be recorded</param> + </member> + <member name="M:NUnit.Framework.Internal.TestResult.RecordTestCompletion"> + <summary> + Update overall test result, including legacy Message, based + on AssertionResults that have been saved to this point. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestResult.RecordAssertion(NUnit.Framework.Interfaces.AssertionResult)"> + <summary> + Record an assertion result + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestResult.RecordAssertion(NUnit.Framework.Interfaces.AssertionStatus,System.String,System.String)"> + <summary> + Record an assertion result + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestResult.RecordAssertion(NUnit.Framework.Interfaces.AssertionStatus,System.String)"> + <summary> + Record an assertion result + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestResult.CreateLegacyFailureMessage"> + <summary> + Creates a failure message incorporating failures + from a Multiple Assert block for use by runners + that don't know about AssertionResults. + </summary> + <returns>Message as a string</returns> + </member> + <member name="M:NUnit.Framework.Internal.TestResult.AddFailureElement(NUnit.Framework.Interfaces.TNode)"> + <summary> + Adds a failure element to a node and returns it. + </summary> + <param name="targetNode">The target node.</param> + <returns>The new failure element.</returns> + </member> + <member name="M:NUnit.Framework.Internal.TestResult.AddAttachmentsElement(NUnit.Framework.Interfaces.TNode)"> + <summary> + Adds an attachments element to a node and returns it. + </summary> + <param name="targetNode">The target node.</param> + <returns>The new attachments element.</returns> + </member> + <member name="T:NUnit.Framework.Internal.TestSuiteResult"> + <summary> + Represents the result of running a test suite + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestSuiteResult.#ctor(NUnit.Framework.Internal.TestSuite)"> + <summary> + Construct a TestSuiteResult base on a TestSuite + </summary> + <param name="suite">The TestSuite to which the result applies</param> + </member> + <member name="P:NUnit.Framework.Internal.TestSuiteResult.TotalCount"> + <summary> + Gets the number of test cases that executed + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestSuiteResult.FailCount"> + <summary> + Gets the number of test cases that failed + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestSuiteResult.PassCount"> + <summary> + Gets the number of test cases that passed + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestSuiteResult.WarningCount"> + <summary> + Gets the number of test cases that passed + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestSuiteResult.SkipCount"> + <summary> + Gets the number of test cases that were skipped + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestSuiteResult.InconclusiveCount"> + <summary> + Gets the number of test cases that were inconclusive + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestSuiteResult.HasChildren"> + <summary> + Indicates whether this result has any child results. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestSuiteResult.Children"> + <summary> + Gets the collection of child results. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestSuiteResult.AddResult(NUnit.Framework.Interfaces.ITestResult)"> + <summary> + Adds a child result to this result, setting this result's + ResultState to Failure if the child result failed. + </summary> + <param name="result">The result to be added</param> + </member> + <member name="T:NUnit.Framework.Internal.RuntimeFramework"> + <summary> + RuntimeFramework represents a particular version + of a common language runtime implementation. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.RuntimeFramework.DefaultVersion"> + <summary> + DefaultVersion is an empty Version, used to indicate that + NUnit should select the CLR version to use for the test. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.RuntimeFramework.#ctor(NUnit.Framework.Internal.RuntimeType,System.Version)"> + <summary> + 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. + </summary> + <param name="runtime">The runtime type of the framework</param> + <param name="version">The version of the framework</param> + </member> + <member name="P:NUnit.Framework.Internal.RuntimeFramework.CurrentFramework"> + <summary> + Static method to return a RuntimeFramework object + for the framework that is currently in use. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.RuntimeFramework.Runtime"> + <summary> + The type of this runtime framework + </summary> + </member> + <member name="P:NUnit.Framework.Internal.RuntimeFramework.FrameworkVersion"> + <summary> + The framework version for this runtime framework + </summary> + </member> + <member name="P:NUnit.Framework.Internal.RuntimeFramework.ClrVersion"> + <summary> + The CLR version for this runtime framework + </summary> + </member> + <member name="P:NUnit.Framework.Internal.RuntimeFramework.AllowAnyVersion"> + <summary> + Return true if any CLR version may be used in + matching this RuntimeFramework object. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.RuntimeFramework.DisplayName"> + <summary> + Returns the Display name for this framework + </summary> + </member> + <member name="M:NUnit.Framework.Internal.RuntimeFramework.Parse(System.String)"> + <summary> + 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'. + </summary> + <param name="s"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Internal.RuntimeFramework.ToString"> + <summary> + Overridden to return the short name of the framework + </summary> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Internal.RuntimeFramework.Supports(NUnit.Framework.Internal.RuntimeFramework)"> + <summary> + 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. + </summary> + <param name="target">The RuntimeFramework to be matched.</param> + <returns>True on match, otherwise false</returns> + </member> + <member name="T:NUnit.Framework.Internal.RuntimeType"> + <summary> + Enumeration identifying a common language + runtime implementation. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.RuntimeType.Any"> + <summary>Any supported runtime framework</summary> + </member> + <member name="F:NUnit.Framework.Internal.RuntimeType.NetFramework"> + <summary>Microsoft .NET Framework</summary> + </member> + <member name="F:NUnit.Framework.Internal.RuntimeType.Net"> + <summary>Microsoft .NET Framework</summary> + </member> + <member name="F:NUnit.Framework.Internal.RuntimeType.SSCLI"> + <summary>Microsoft Shared Source CLI</summary> + </member> + <member name="F:NUnit.Framework.Internal.RuntimeType.Mono"> + <summary>Mono</summary> + </member> + <member name="F:NUnit.Framework.Internal.RuntimeType.MonoTouch"> + <summary>MonoTouch</summary> + </member> + <member name="F:NUnit.Framework.Internal.RuntimeType.NetCore"> + <summary>Microsoft .NET Core, including .NET 5+</summary> + </member> + <member name="T:NUnit.Framework.Internal.SandboxedThreadState"> + <summary> + Holds thread state which is captured and restored in order to sandbox user code. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.SandboxedThreadState.Principal"> + <summary> + Thread principal. + This will be null on platforms that don't support <see cref="P:System.Threading.Thread.CurrentPrincipal"/>. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.SandboxedThreadState.Capture"> + <summary> + Captures a snapshot of the tracked state of the current thread to be restored later. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.SandboxedThreadState.Restore"> + <summary> + Restores the tracked state of the current thread to the previously captured state. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.SandboxedThreadState.WithCulture(System.Globalization.CultureInfo)"> + <summary> + Returns a copy with the specified culture. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.SandboxedThreadState.WithUICulture(System.Globalization.CultureInfo)"> + <summary> + Returns a copy with the specified UI culture. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.SandboxedThreadState.WithPrincipal(System.Security.Principal.IPrincipal)"> + <summary> + Returns a copy with the specified principal. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.SingleThreadedTestSynchronizationContext.Post(System.Threading.SendOrPostCallback,System.Object)"> + <summary> + May be called from any thread. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.SingleThreadedTestSynchronizationContext.Send(System.Threading.SendOrPostCallback,System.Object)"> + <summary> + May be called from any thread. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.SingleThreadedTestSynchronizationContext.ShutDown"> + <summary> + May be called from any thread. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.SingleThreadedTestSynchronizationContext.Run"> + <summary> + May be called from any thread, but may only be called once. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.StackFilter"> + <summary> + StackFilter class is used to remove internal NUnit + entries from a stack trace so that the resulting + trace provides better information about the test. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.StackFilter.DefaultFilter"> + <summary> + Single instance of our default filter + </summary> + </member> + <member name="M:NUnit.Framework.Internal.StackFilter.#ctor(System.String,System.String)"> + <summary> + Construct a stack filter instance + </summary> + <param name="topOfStackPattern">Regex pattern used to delete lines from the top of the stack</param> + <param name="bottomOfStackPattern">Regex pattern used to delete lines from the bottom of the stack</param> + </member> + <member name="M:NUnit.Framework.Internal.StackFilter.#ctor(System.String)"> + <summary> + Construct a stack filter instance + </summary> + <param name="topOfStackPattern">Regex pattern used to delete lines from the top of the stack</param> + </member> + <member name="M:NUnit.Framework.Internal.StackFilter.#ctor"> + <summary> + Construct a stack filter instance + </summary> + </member> + <member name="M:NUnit.Framework.Internal.StackFilter.Filter(System.String)"> + <summary> + Filters a raw stack trace and returns the result. + </summary> + <param name="rawTrace">The original stack trace</param> + <returns>A filtered stack trace</returns> + </member> + <member name="T:NUnit.Framework.Internal.StringUtil"> + <summary> + Provides methods to support legacy string comparison methods. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.StringUtil.Compare(System.String,System.String,System.Boolean)"> + <summary> + Compares two strings for equality, ignoring case if requested. + </summary> + <param name="strA">The first string.</param> + <param name="strB">The second string..</param> + <param name="ignoreCase">if set to <see langword="true"/>, the case of the letters in the strings is ignored.</param> + <returns>Zero if the strings are equivalent, a negative number if strA is sorted first, a positive number if + strB is sorted first</returns> + </member> + <member name="M:NUnit.Framework.Internal.StringUtil.StringsEqual(System.String,System.String,System.Boolean)"> + <summary> + Compares two strings for equality, ignoring case if requested. + </summary> + <param name="strA">The first string.</param> + <param name="strB">The second string..</param> + <param name="ignoreCase">if set to <see langword="true"/>, the case of the letters in the strings is ignored.</param> + <returns>True if the strings are equivalent, false if not.</returns> + </member> + <member name="T:NUnit.Framework.Internal.TestCaseParameters"> + <summary> + The TestCaseParameters class encapsulates method arguments and + other selected parameters needed for constructing + a parameterized test case. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TestCaseParameters._expectedResult"> + <summary> + The expected result to be returned + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestCaseParameters.#ctor"> + <summary> + Default Constructor creates an empty parameter set + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestCaseParameters.#ctor(System.Exception)"> + <summary> + Construct a non-runnable ParameterSet, specifying + the provider exception that made it invalid. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestCaseParameters.#ctor(System.Object[])"> + <summary> + Construct a parameter set with a list of arguments + </summary> + <param name="args"></param> + </member> + <member name="M:NUnit.Framework.Internal.TestCaseParameters.#ctor(NUnit.Framework.Interfaces.ITestCaseData)"> + <summary> + Construct a ParameterSet from an object implementing ITestCaseData + </summary> + <param name="data"></param> + </member> + <member name="P:NUnit.Framework.Internal.TestCaseParameters.ExpectedResult"> + <summary> + The expected result of the test, which + must match the method return type. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestCaseParameters.HasExpectedResult"> + <summary> + Gets a value indicating whether an expected result was specified. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.TestCaseTimeoutException"> + <summary> + TestCaseTimeoutException is thrown when a test running directly + on a TestWorker thread is cancelled due to timeout. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestCaseTimeoutException.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.TestCaseTimeoutException"/> class. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestCaseTimeoutException.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.TestCaseTimeoutException"/> class. + </summary> + <param name="message">The message.</param> + </member> + <member name="M:NUnit.Framework.Internal.TestCaseTimeoutException.#ctor(System.String,System.Exception)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.TestCaseTimeoutException"/> class. + </summary> + <param name="message">The message.</param> + <param name="inner">The inner.</param> + </member> + <member name="M:NUnit.Framework.Internal.TestCaseTimeoutException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)"> + <summary> + Serialization Constructor + </summary> + </member> + <member name="T:NUnit.Framework.Internal.TestExecutionContext"> + <summary> + 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. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TestExecutionContext._priorContext"> + <summary> + Link to a prior saved context + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TestExecutionContext._executionStatus"> + <summary> + Indicates that a stop has been requested + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TestExecutionContext._listener"> + <summary> + The event listener currently receiving notifications + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TestExecutionContext._assertCount"> + <summary> + The number of assertions for the current test + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TestExecutionContext._currentResult"> + <summary> + The current test result + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestExecutionContext.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.TestExecutionContext"/> class. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestExecutionContext.#ctor(NUnit.Framework.Internal.TestExecutionContext)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.TestExecutionContext"/> class. + </summary> + <param name="other">An existing instance of TestExecutionContext.</param> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.CurrentContext"> + <summary> + Gets and sets the current context. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.CurrentTest"> + <summary> + Gets or sets the current test + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.StartTime"> + <summary> + The time the current test started execution + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.StartTicks"> + <summary> + The time the current test started in Ticks + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.Duration"> + <summary> + Gets the elapsed time for running the test in seconds + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.CurrentResult"> + <summary> + Gets or sets the current test result + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.OutWriter"> + <summary> + Gets a TextWriter that will send output to the current test result. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.TestObject"> + <summary> + The current test object - that is the user fixture + object on which tests are being executed. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.StopOnError"> + <summary> + Get or set indicator that run should stop on the first error + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.ExecutionStatus"> + <summary> + Gets an enum indicating whether a stop has been requested. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.Listener"> + <summary> + The current test event listener + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.Dispatcher"> + <summary> + The current WorkItemDispatcher. Made public for + use by nunitlite.tests + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.ParallelScope"> + <summary> + The ParallelScope to be used by tests running in this context. + For builds with out the parallel feature, it has no effect. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.DefaultFloatingPointTolerance"> + <summary> + Default tolerance value used for floating point equality + when no other tolerance is specified. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.TestWorker"> + <summary> + The worker that spawned the context. + For builds without the parallel feature, it is null. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.RandomGenerator"> + <summary> + Gets the RandomGenerator specific to this Test + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.AssertCount"> + <summary> + Gets the assert count. + </summary> + <value>The assert count.</value> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.MultipleAssertLevel"> + <summary> + The current nesting level of multiple assert blocks + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.TestCaseTimeout"> + <summary> + Gets or sets the test case timeout value + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.UpstreamActions"> + <summary> + Gets a list of ITestActions set by upstream tests + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.CurrentCulture"> + <summary> + Saves or restores the CurrentCulture + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.CurrentUICulture"> + <summary> + Saves or restores the CurrentUICulture + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.CurrentPrincipal"> + <summary> + Gets or sets the current <see cref="T:System.Security.Principal.IPrincipal"/> for the Thread. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.CurrentValueFormatter"> + <summary> + The current head of the ValueFormatter chain, copied from MsgUtils.ValueFormatter + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.IsSingleThreaded"> + <summary> + If true, all tests must run on the same thread. No new thread may be spawned. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.CurrentRepeatCount"> + <summary> + The number of times the current test has been scheduled for execution. + Currently only being executed in a test using the <see cref="T:NUnit.Framework.RetryAttribute"/> + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestExecutionContext.UpdateContextFromEnvironment"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestExecutionContext.EstablishExecutionEnvironment"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestExecutionContext.IncrementAssertCount"> + <summary> + Increments the assert count by one. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestExecutionContext.IncrementAssertCount(System.Int32)"> + <summary> + Increments the assert count by a specified amount. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestExecutionContext.AddFormatter(NUnit.Framework.Constraints.ValueFormatterFactory)"> + <summary> + Adds a new ValueFormatterFactory to the chain of formatters + </summary> + <param name="formatterFactory">The new factory</param> + </member> + <member name="M:NUnit.Framework.Internal.TestExecutionContext.SendMessage(System.String,System.String)"> + <summary> + Sends a message from test to listeners. This message is not kind of test output and doesn't go to test result. + </summary> + <param name="destination">A name recognized by the intended listeners.</param> + <param name="message">A message to be sent</param> + </member> + <member name="M:NUnit.Framework.Internal.TestExecutionContext.InitializeLifetimeService"> + <summary> + Obtain lifetime service object + </summary> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Internal.TestExecutionContext.IsolatedContext"> + <summary> + 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. + </summary> + <example> + using (new TestExecutionContext.IsolatedContext()) + { + // Code that should not impact the result + } + </example> + </member> + <member name="M:NUnit.Framework.Internal.TestExecutionContext.IsolatedContext.#ctor"> + <summary> + Save the original current TestExecutionContext and + make a new isolated context current. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestExecutionContext.IsolatedContext.Dispose"> + <summary> + Restore the original TestExecutionContext. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.TestExecutionContext.AdhocContext"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestExecutionContext.AdhocContext.#ctor"> + <summary> + Construct an AdhocTestExecutionContext, which is used + whenever the current TestExecutionContext is found to be null. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.TestExecutionStatus"> + <summary> + Enumeration indicating whether the tests are + running normally or being cancelled. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TestExecutionStatus.Running"> + <summary> + Running normally with no stop requested + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TestExecutionStatus.StopRequested"> + <summary> + A graceful stop has been requested + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TestExecutionStatus.AbortRequested"> + <summary> + A forced stop has been requested + </summary> + </member> + <member name="T:NUnit.Framework.Internal.TestFilter"> + <summary> + 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. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TestFilter.Empty"> + <summary> + Unique Empty filter. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestFilter.IsEmpty"> + <summary> + Indicates whether this is the EmptyFilter + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestFilter.TopLevel"> + <summary> + Indicates whether this is a top-level filter, + not contained in any other filter. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestFilter.Pass(NUnit.Framework.Interfaces.ITest)"> + <summary> + 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. + </summary> + <param name="test">The test to which the filter is applied</param> + <returns>True if the test passes the filter, otherwise false</returns> + </member> + <member name="M:NUnit.Framework.Internal.TestFilter.Pass(NUnit.Framework.Interfaces.ITest,System.Boolean)"> + <summary> + 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. + </summary> + <param name="test">The test to which the filter is applied</param> + <param name="negated">If set to <see langword="true"/> we are carrying a negation through</param> + <returns>True if the test passes the filter, otherwise false</returns> + </member> + <member name="M:NUnit.Framework.Internal.TestFilter.IsExplicitMatch(NUnit.Framework.Interfaces.ITest)"> + <summary> + 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. + </summary> + <param name="test">The test to which the filter is applied</param> + <returns>True if the test matches the filter explicitly, otherwise false</returns> + </member> + <member name="M:NUnit.Framework.Internal.TestFilter.Match(NUnit.Framework.Interfaces.ITest)"> + <summary> + 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. + </summary> + <param name="test">The test to which the filter is applied</param> + <returns>True if the filter matches the any parent of the test</returns> + </member> + <member name="M:NUnit.Framework.Internal.TestFilter.MatchParent(NUnit.Framework.Interfaces.ITest)"> + <summary> + Determine whether any ancestor of the test matches the filter criteria + </summary> + <param name="test">The test to which the filter is applied</param> + <returns>True if the filter matches the an ancestor of the test</returns> + </member> + <member name="M:NUnit.Framework.Internal.TestFilter.MatchDescendant(NUnit.Framework.Interfaces.ITest)"> + <summary> + Determine whether any descendant of the test matches the filter criteria. + </summary> + <param name="test">The test to be matched</param> + <returns>True if at least one descendant matches the filter criteria</returns> + </member> + <member name="M:NUnit.Framework.Internal.TestFilter.FromXml(System.String)"> + <summary> + Create a TestFilter instance from an XML representation. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestFilter.FromXml(NUnit.Framework.Interfaces.TNode)"> + <summary> + Create a TestFilter from its TNode representation + </summary> + </member> + <member name="T:NUnit.Framework.Internal.TestFilter.EmptyFilter"> + <summary> + Nested class provides an empty filter - one that always + returns true when called. It never matches explicitly. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestFilter.ToXml(System.Boolean)"> + <summary> + Adds an XML node + </summary> + <param name="recursive">True if recursive</param> + <returns>The added XML node</returns> + </member> + <member name="M:NUnit.Framework.Internal.TestFilter.AddToXml(NUnit.Framework.Interfaces.TNode,System.Boolean)"> + <summary> + Adds an XML node + </summary> + <param name="parentNode">Parent node</param> + <param name="recursive">True if recursive</param> + <returns>The added XML node</returns> + </member> + <member name="T:NUnit.Framework.Internal.TestFixtureParameters"> + <summary> + The TestCaseParameters class encapsulates method arguments and + other selected parameters needed for constructing + a parameterized test case. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestFixtureParameters.#ctor"> + <summary> + Default Constructor creates an empty parameter set + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestFixtureParameters.#ctor(System.Exception)"> + <summary> + Construct a non-runnable ParameterSet, specifying + the provider exception that made it invalid. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestFixtureParameters.#ctor(System.Object[])"> + <summary> + Construct a parameter set with a list of arguments + </summary> + <param name="args"></param> + </member> + <member name="M:NUnit.Framework.Internal.TestFixtureParameters.#ctor(NUnit.Framework.Interfaces.ITestFixtureData)"> + <summary> + Construct a ParameterSet from an object implementing ITestCaseData + </summary> + <param name="data"></param> + </member> + <member name="P:NUnit.Framework.Internal.TestFixtureParameters.TypeArgs"> + <summary> + Type arguments used to create a generic fixture instance + </summary> + </member> + <member name="T:NUnit.Framework.Internal.TestListener"> + <summary> + TestListener provides an implementation of ITestListener that + does nothing. It is used only through its NULL property. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestListener.TestStarted(NUnit.Framework.Interfaces.ITest)"> + <summary> + Called when a test has just started + </summary> + <param name="test">The test that is starting</param> + </member> + <member name="M:NUnit.Framework.Internal.TestListener.TestFinished(NUnit.Framework.Interfaces.ITestResult)"> + <summary> + Called when a test case has finished + </summary> + <param name="result">The result of the test</param> + </member> + <member name="M:NUnit.Framework.Internal.TestListener.TestOutput(NUnit.Framework.Interfaces.TestOutput)"> + <summary> + Called when a test produces output for immediate display + </summary> + <param name="output">A TestOutput object containing the text to display</param> + </member> + <member name="M:NUnit.Framework.Internal.TestListener.SendMessage(NUnit.Framework.Interfaces.TestMessage)"> + <summary> + Called when a test produces a message to be sent to listeners + </summary> + <param name="message">A <see cref="T:NUnit.Framework.Interfaces.TestMessage"/> object containing the message to send</param> + </member> + <member name="M:NUnit.Framework.Internal.TestListener.#ctor"> + <summary> + Construct a new TestListener - private so it may not be used. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestListener.NULL"> + <summary> + Get a listener that does nothing + </summary> + </member> + <member name="T:NUnit.Framework.Internal.TestNameGenerator"> + <summary> + TestNameGenerator is able to create test names according to + a coded pattern. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TestNameGenerator.DefaultTestNamePattern"> + <summary> + Default pattern used to generate names + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestNameGenerator.#ctor"> + <summary> + Construct a TestNameGenerator + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestNameGenerator.#ctor(System.String)"> + <summary> + Construct a TestNameGenerator + </summary> + <param name="pattern">The pattern used by this generator.</param> + </member> + <member name="M:NUnit.Framework.Internal.TestNameGenerator.GetDisplayName(NUnit.Framework.Internal.TestMethod)"> + <summary> + Get the display name for a TestMethod and its arguments + </summary> + <param name="testMethod">A TestMethod</param> + <returns>The display name</returns> + </member> + <member name="M:NUnit.Framework.Internal.TestNameGenerator.GetDisplayName(NUnit.Framework.Internal.TestMethod,System.Object[])"> + <summary> + Get the display name for a TestMethod and its arguments + </summary> + <param name="testMethod">A TestMethod</param> + <param name="args">Arguments to be used</param> + <returns>The display name</returns> + </member> + <member name="M:NUnit.Framework.Internal.TestNameGenerator.NameFragment.MayNeedEscape(System.String)"> + <summary> + Checks if string contains any character that might need escaping. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestNameGenerator.NameFragment.MayNeedEscape(System.Char)"> + <summary> + Checks whether given char *might* need escaping. + </summary> + <returns>False when absolutely no escaping is needed, otherwise true.</returns> + </member> + <member name="T:NUnit.Framework.Internal.TestParameters"> + <summary> + TestParameters is the abstract base class for all classes + that know how to provide data for constructing a test. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestParameters.#ctor"> + <summary> + Default Constructor creates an empty parameter set + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestParameters.#ctor(System.Object[])"> + <summary> + Construct a parameter set with a list of arguments + </summary> + <param name="args"></param> + </member> + <member name="M:NUnit.Framework.Internal.TestParameters.#ctor(System.Exception)"> + <summary> + Construct a non-runnable ParameterSet, specifying + the provider exception that made it invalid. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestParameters.#ctor(NUnit.Framework.Interfaces.ITestData)"> + <summary> + Construct a ParameterSet from an object implementing ITestData + </summary> + <param name="data"></param> + </member> + <member name="P:NUnit.Framework.Internal.TestParameters.RunState"> + <summary> + The RunState for this set of parameters. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestParameters.Arguments"> + <summary> + The arguments to be used in running the test, + which must match the method signature. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestParameters.TestName"> + <summary> + A name to be used for this test case in lieu + of the standard generated name containing + the argument list. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestParameters.Properties"> + <summary> + Gets the property dictionary for this test + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestParameters.ApplyToTest(NUnit.Framework.Internal.Test)"> + <summary> + Applies ParameterSet values to the test itself. + </summary> + <param name="test">A test.</param> + </member> + <member name="P:NUnit.Framework.Internal.TestParameters.OriginalArguments"> + <summary> + The original arguments provided by the user, + used for display purposes. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestParameters.ArgDisplayNames"> + <summary> + The list of display names to use as the parameters in the test name. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.TestProgressReporter"> + <summary> + TestProgressReporter translates ITestListener events into + the async callbacks that are used to inform the client + software about the progress of a test run. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestProgressReporter.#ctor(System.Web.UI.ICallbackEventHandler)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.TestProgressReporter"/> class. + </summary> + <param name="handler">The callback handler to be used for reporting progress.</param> + </member> + <member name="M:NUnit.Framework.Internal.TestProgressReporter.TestStarted(NUnit.Framework.Interfaces.ITest)"> + <summary> + Called when a test has just started + </summary> + <param name="test">The test that is starting</param> + </member> + <member name="M:NUnit.Framework.Internal.TestProgressReporter.TestFinished(NUnit.Framework.Interfaces.ITestResult)"> + <summary> + Called when a test has finished. Sends a result summary to the callback. + to + </summary> + <param name="result">The result of the test</param> + </member> + <member name="M:NUnit.Framework.Internal.TestProgressReporter.TestOutput(NUnit.Framework.Interfaces.TestOutput)"> + <summary> + Called when a test produces output for immediate display + </summary> + <param name="output">A TestOutput object containing the text to display</param> + </member> + <member name="M:NUnit.Framework.Internal.TestProgressReporter.SendMessage(NUnit.Framework.Interfaces.TestMessage)"> + <summary> + Called when a test produces a message to be sent to listeners + </summary> + <param name="message">A <see cref="T:NUnit.Framework.Interfaces.TestMessage"/> object containing the text to send</param> + </member> + <member name="M:NUnit.Framework.Internal.TestProgressReporter.GetParent(NUnit.Framework.Interfaces.ITest)"> + <summary> + Returns the parent test item for the target test item if it exists + </summary> + <param name="test"></param> + <returns>parent test item</returns> + </member> + <member name="M:NUnit.Framework.Internal.TestProgressReporter.FormatAttributeValue(System.String)"> + <summary> + Makes a string safe for use as an attribute, replacing + characters that can't be used with their + corresponding XML representations. + </summary> + <param name="original">The string to be used</param> + <returns>A new string with the values replaced</returns> + </member> + <member name="T:NUnit.Framework.Internal.ParameterizedFixtureSuite"> + <summary> + ParameterizedFixtureSuite serves as a container for the set of test + fixtures created from a given Type using various parameters. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ParameterizedFixtureSuite.#ctor(NUnit.Framework.Interfaces.ITypeInfo)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.ParameterizedFixtureSuite"/> class. + </summary> + <param name="typeInfo">The ITypeInfo for the type that represents the suite.</param> + </member> + <member name="M:NUnit.Framework.Internal.ParameterizedFixtureSuite.#ctor(NUnit.Framework.Internal.ParameterizedFixtureSuite,NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Creates a copy of the given suite with only the descendants that pass the specified filter. + </summary> + <param name="suite">The <see cref="T:NUnit.Framework.Internal.ParameterizedFixtureSuite"/> to copy.</param> + <param name="filter">Determines which descendants are copied.</param> + </member> + <member name="P:NUnit.Framework.Internal.ParameterizedFixtureSuite.TestType"> + <summary> + Gets a string representing the type of test + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ParameterizedFixtureSuite.Copy(NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Creates a filtered copy of the test suite. + </summary> + <param name="filter">Determines which descendants are copied.</param> + </member> + <member name="T:NUnit.Framework.Internal.ParameterizedMethodSuite"> + <summary> + ParameterizedMethodSuite holds a collection of individual + TestMethods with their arguments applied. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ParameterizedMethodSuite.#ctor(NUnit.Framework.Interfaces.IMethodInfo)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.ParameterizedMethodSuite"/> class. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ParameterizedMethodSuite.#ctor(NUnit.Framework.Internal.ParameterizedMethodSuite,NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Creates a copy of the given suite with only the descendants that pass the specified filter. + </summary> + <param name="suite">The <see cref="T:NUnit.Framework.Internal.ParameterizedMethodSuite"/> to copy.</param> + <param name="filter">Determines which descendants are copied.</param> + </member> + <member name="P:NUnit.Framework.Internal.ParameterizedMethodSuite.Method"> + <summary> + Gets a MethodInfo for the method implementing this test. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.ParameterizedMethodSuite.TestType"> + <summary> + Gets a string representing the type of test + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ParameterizedMethodSuite.Copy(NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Creates a filtered copy of the test suite. + </summary> + <param name="filter">Determines which descendants are copied.</param> + </member> + <member name="T:NUnit.Framework.Internal.SetUpFixture"> + <summary> + SetUpFixture extends TestSuite and supports + Setup and TearDown methods. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.SetUpFixture.#ctor(NUnit.Framework.Interfaces.ITypeInfo)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.SetUpFixture"/> class. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.SetUpFixture.#ctor(NUnit.Framework.Internal.SetUpFixture,NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Creates a copy of the given suite with only the descendants that pass the specified filter. + </summary> + <param name="setUpFixture">The <see cref="T:NUnit.Framework.Internal.SetUpFixture"/> to copy.</param> + <param name="filter">Determines which descendants are copied.</param> + </member> + <member name="P:NUnit.Framework.Internal.SetUpFixture.TypeInfo"> + <summary> + Gets the TypeInfo of the fixture used in running this test. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.SetUpFixture.Copy(NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Creates a filtered copy of the test suite. + </summary> + <param name="filter">Determines which descendants are copied.</param> + </member> + <member name="T:NUnit.Framework.Internal.Test"> + <summary> + The Test abstract class represents a test within the framework. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Test._nextID"> + <summary> + Static value to seed ids. It's started at 1000 so any + uninitialized ids will stand out. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Test._declaringTypeInfo"> + <summary> + Used to cache the declaring type for this MethodInfo + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Test._method"> + <summary> + Method property backing field + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Test.#ctor(System.String)"> + <summary> + Constructs a test given its name + </summary> + <param name="name">The name of the test</param> + </member> + <member name="M:NUnit.Framework.Internal.Test.#ctor(System.String,System.String)"> + <summary> + Constructs a test given the path through the + test hierarchy to its parent and a name. + </summary> + <param name="pathName">The parent tests full name</param> + <param name="name">The name of the test</param> + </member> + <member name="M:NUnit.Framework.Internal.Test.#ctor(NUnit.Framework.Interfaces.ITypeInfo)"> + <summary> + Constructs a test for a specific type. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Test.#ctor(NUnit.Framework.Interfaces.IMethodInfo)"> + <summary> + Constructs a test for a specific method. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Test.Id"> + <summary> + Gets or sets the id of the test + </summary> + <value></value> + </member> + <member name="P:NUnit.Framework.Internal.Test.Name"> + <summary> + Gets or sets the name of the test + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Test.FullName"> + <summary> + Gets or sets the fully qualified name of the test + </summary> + <value></value> + </member> + <member name="P:NUnit.Framework.Internal.Test.ClassName"> + <summary> + Gets the name of the class where this test was declared. + Returns null if the test is not associated with a class. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Test.MethodName"> + <summary> + Gets the name of the method implementing this test. + Returns null if the test is not implemented as a method. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Test.Arguments"> + <summary> + The arguments to use in creating the test or empty array if none required. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Test.TypeInfo"> + <summary> + Gets the TypeInfo of the fixture used in running this test + or null if no fixture type is associated with it. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Test.Method"> + <summary> + Gets a MethodInfo for the method implementing this test. + Returns null if the test is not implemented as a method. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Test.RunState"> + <summary> + Whether or not the test should be run + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Test.XmlElementName"> + <summary> + Gets the name used for the top-level element in the + XML representation of this test + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Test.TestType"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Test.TestCaseCount"> + <summary> + Gets a count of test cases represented by + or contained under this test. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Test.Properties"> + <summary> + Gets the properties for this test + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Test.IsSuite"> + <summary> + Returns true if this is a TestSuite + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Test.HasChildren"> + <summary> + Gets a bool indicating whether the current test + has any descendant tests. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Test.Parent"> + <summary> + Gets the parent as a Test object. + Used by the core to set the parent. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Test.Tests"> + <summary> + Gets this test's child tests + </summary> + <value>A list of child tests</value> + </member> + <member name="P:NUnit.Framework.Internal.Test.Fixture"> + <summary> + Gets or sets a fixture object for running this test. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Test.IdPrefix"> + <summary> + Static prefix used for ids in this AppDomain. + Set by FrameworkController. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Test.Seed"> + <summary> + Gets or Sets the Int value representing the seed for the RandomGenerator + </summary> + <value></value> + </member> + <member name="P:NUnit.Framework.Internal.Test.SetUpMethods"> + <summary> + The SetUp methods. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Test.TearDownMethods"> + <summary> + The teardown methods + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Test.MakeTestResult"> + <summary> + Creates a TestResult for this test. + </summary> + <returns>A TestResult suitable for this type of test.</returns> + </member> + <member name="M:NUnit.Framework.Internal.Test.ApplyAttributesToTest(System.Reflection.ICustomAttributeProvider)"> + <summary> + Modify a newly constructed test by applying any of NUnit's common + attributes, based on a supplied <see cref="T:System.Reflection.ICustomAttributeProvider"/>, 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Test.MakeInvalid(System.String)"> + <summary> + Mark the test as Invalid (not runnable) specifying a reason + </summary> + <param name="reason">The reason the test is not runnable</param> + </member> + <member name="M:NUnit.Framework.Internal.Test.GetCustomAttributes``1(System.Boolean)"> + <summary> + Get custom attributes applied to a test + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Test.PopulateTestNode(NUnit.Framework.Interfaces.TNode,System.Boolean)"> + <summary> + Add standard attributes and members to a test node. + </summary> + <param name="thisNode"></param> + <param name="recursive"></param> + </member> + <member name="M:NUnit.Framework.Internal.Test.ToXml(System.Boolean)"> + <summary> + Returns the XML representation of the test + </summary> + <param name="recursive">If true, include child tests recursively</param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Internal.Test.AddToXml(NUnit.Framework.Interfaces.TNode,System.Boolean)"> + <summary> + Returns an XmlNode representing the current result after + adding it as a child of the supplied parent node. + </summary> + <param name="parentNode">The parent node.</param> + <param name="recursive">If true, descendant results are included</param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Internal.Test.CompareTo(System.Object)"> + <summary>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.</summary> + <param name="obj">An object to compare with this instance. </param> + </member> + <member name="M:NUnit.Framework.Internal.Test.CompareTo(NUnit.Framework.Internal.Test)"> + <summary>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. </summary> + <param name="other">An object to compare with this instance.</param> + </member> + <member name="T:NUnit.Framework.Internal.TestAssembly"> + <summary> + TestAssembly is a TestSuite that represents the execution + of tests in a managed assembly. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestAssembly.#ctor(System.Reflection.Assembly,System.String)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.TestAssembly"/> class + specifying the Assembly and the suite name. + </summary> + <param name="assembly">The assembly this test represents.</param> + <param name="assemblyNameOrPath"> + This becomes the full name of the suite and the filename part is used as the suite name. + </param> + </member> + <member name="M:NUnit.Framework.Internal.TestAssembly.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.TestAssembly"/> class + specifying the suite name for an assembly that could not be loaded. + </summary> + <param name="assemblyNameOrPath"> + This becomes the full name of the suite and the filename part is used as the suite name. + </param> + </member> + <member name="M:NUnit.Framework.Internal.TestAssembly.#ctor(NUnit.Framework.Internal.TestAssembly,NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Creates a copy of the given assembly with only the descendants that pass the specified filter. + </summary> + <param name="assembly">The <see cref="T:NUnit.Framework.Internal.TestAssembly"/> to copy.</param> + <param name="filter">Determines which descendants are copied.</param> + </member> + <member name="P:NUnit.Framework.Internal.TestAssembly.Assembly"> + <summary> + Gets the Assembly represented by this instance. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestAssembly.TestType"> + <summary> + Gets the name used for the top-level element in the + XML representation of this test + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestAssembly.GetCustomAttributes``1(System.Boolean)"> + <summary> + Get custom attributes specified on the assembly + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestAssembly.Copy(NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Creates a filtered copy of the test suite. + </summary> + <param name="filter">Determines which descendants are copied.</param> + </member> + <member name="T:NUnit.Framework.Internal.TestFixture"> + <summary> + TestFixture is a surrogate for a user test fixture class, + containing one or more tests. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestFixture.LifeCycle"> + <summary> + The life cycle specified for the current test fixture. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestFixture.#ctor(NUnit.Framework.Interfaces.ITypeInfo,System.Object[])"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.TestFixture"/> class. + </summary> + <param name="fixtureType">Type of the fixture.</param> + <param name="arguments">Arguments used to instantiate the test fixture, or null if none used</param> + </member> + <member name="M:NUnit.Framework.Internal.TestFixture.#ctor(NUnit.Framework.Internal.TestFixture,NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Creates a copy of the given suite with only the descendants that pass the specified filter. + </summary> + <param name="fixture">The <see cref="T:NUnit.Framework.Internal.TestFixture"/> to copy.</param> + <param name="filter">Determines which descendants are copied.</param> + </member> + <member name="P:NUnit.Framework.Internal.TestFixture.TypeInfo"> + <summary> + Gets the TypeInfo of the fixture used in running this test. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestFixture.Copy(NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Creates a filtered copy of the test suite. + </summary> + <param name="filter">Determines which descendants are copied.</param> + </member> + <member name="T:NUnit.Framework.Internal.TestMethod"> + <summary> + The TestMethod class represents a Test implemented as a method. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TestMethod.parms"> + <summary> + The ParameterSet used to create this test method + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestMethod.#ctor(NUnit.Framework.Interfaces.IMethodInfo)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.TestMethod"/> class. + </summary> + <param name="method">The method to be used as a test.</param> + </member> + <member name="M:NUnit.Framework.Internal.TestMethod.#ctor(NUnit.Framework.Interfaces.IMethodInfo,NUnit.Framework.Internal.Test)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.TestMethod"/> class. + </summary> + <param name="method">The method to be used as a test.</param> + <param name="parentSuite">The suite or fixture to which the new test will be added</param> + </member> + <member name="P:NUnit.Framework.Internal.TestMethod.Method"> + <summary> + Gets a MethodInfo for the method implementing this test. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestMethod.Arguments"> + <summary> + The arguments to use in executing the test method, or empty array if none are provided. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestMethod.MakeTestResult"> + <summary> + Overridden to return a TestCaseResult. + </summary> + <returns>A TestResult for this test.</returns> + </member> + <member name="P:NUnit.Framework.Internal.TestMethod.HasChildren"> + <summary> + Gets a bool indicating whether the current test + has any descendant tests. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestMethod.AddToXml(NUnit.Framework.Interfaces.TNode,System.Boolean)"> + <summary> + Returns a TNode representing the current result after + adding it as a child of the supplied parent node. + </summary> + <param name="parentNode">The parent node.</param> + <param name="recursive">If true, descendant results are included</param> + <returns></returns> + </member> + <member name="P:NUnit.Framework.Internal.TestMethod.Tests"> + <summary> + Gets this test's child tests + </summary> + <value>A list of child tests</value> + </member> + <member name="P:NUnit.Framework.Internal.TestMethod.XmlElementName"> + <summary> + Gets the name used for the top-level element in the + XML representation of this test + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestMethod.MethodName"> + <summary> + Returns the name of the method + </summary> + </member> + <member name="T:NUnit.Framework.Internal.TestSuite"> + <summary> + TestSuite represents a composite test, which contains other tests. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TestSuite.tests"> + <summary> + Our collection of child tests + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestSuite.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.TestSuite"/> class. + </summary> + <param name="name">The name of the suite.</param> + </member> + <member name="M:NUnit.Framework.Internal.TestSuite.#ctor(System.String,System.String)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.TestSuite"/> class. + </summary> + <param name="parentSuiteName">Name of the parent suite.</param> + <param name="name">The name of the suite.</param> + </member> + <member name="M:NUnit.Framework.Internal.TestSuite.#ctor(NUnit.Framework.Interfaces.ITypeInfo,System.Object[])"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.TestSuite"/> class. + </summary> + <param name="fixtureType">Type of the fixture.</param> + <param name="arguments">Arguments used to instantiate the test fixture, or null if none used.</param> + </member> + <member name="M:NUnit.Framework.Internal.TestSuite.#ctor(System.Type)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.TestSuite"/> class. + </summary> + <param name="fixtureType">Type of the fixture.</param> + </member> + <member name="M:NUnit.Framework.Internal.TestSuite.#ctor(NUnit.Framework.Internal.TestSuite,NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Creates a copy of the given suite with only the descendants that pass the specified filter. + </summary> + <param name="suite">The <see cref="T:NUnit.Framework.Internal.TestSuite"/> to copy.</param> + <param name="filter">Determines which descendants are copied.</param> + </member> + <member name="M:NUnit.Framework.Internal.TestSuite.Sort"> + <summary> + Sorts tests under this suite. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestSuite.Add(NUnit.Framework.Internal.Test)"> + <summary> + Adds a test to the suite. + </summary> + <param name="test">The test.</param> + </member> + <member name="M:NUnit.Framework.Internal.TestSuite.Copy(NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Creates a filtered copy of the test suite. + </summary> + <param name="filter">Determines which descendants are copied.</param> + </member> + <member name="P:NUnit.Framework.Internal.TestSuite.Tests"> + <summary> + Gets this test's child tests + </summary> + <value>The list of child tests</value> + </member> + <member name="P:NUnit.Framework.Internal.TestSuite.TestCaseCount"> + <summary> + Gets a count of test cases represented by + or contained under this test. + </summary> + <value></value> + </member> + <member name="P:NUnit.Framework.Internal.TestSuite.Arguments"> + <summary> + The arguments to use in creating the fixture, or empty array if none are provided. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestSuite.MaintainTestOrder"> + <summary> + Set to true to suppress sorting this suite's contents + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestSuite.OneTimeSetUpMethods"> + <summary> + OneTimeSetUp methods for this suite + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestSuite.OneTimeTearDownMethods"> + <summary> + OneTimeTearDown methods for this suite + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestSuite.MakeTestResult"> + <summary> + Overridden to return a TestSuiteResult. + </summary> + <returns>A TestResult for this test.</returns> + </member> + <member name="P:NUnit.Framework.Internal.TestSuite.HasChildren"> + <summary> + Gets a bool indicating whether the current test + has any descendant tests. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestSuite.XmlElementName"> + <summary> + Gets the name used for the top-level element in the + XML representation of this test + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestSuite.AddToXml(NUnit.Framework.Interfaces.TNode,System.Boolean)"> + <summary> + Returns an XmlNode representing the current result after + adding it as a child of the supplied parent node. + </summary> + <param name="parentNode">The parent node.</param> + <param name="recursive">If true, descendant results are included</param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Internal.TestSuite.CheckSetUpTearDownMethods(NUnit.Framework.Interfaces.IMethodInfo[])"> + <summary> + Check that setup and teardown methods marked by certain attributes + meet NUnit's requirements and mark the tests not runnable otherwise. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.ThreadUtility"> + <summary> + ThreadUtility provides a set of static methods convenient + for working with threads. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ThreadUtility.Delay(System.Int32,System.Threading.WaitCallback,System.Object)"> + <summary> + Pre-Task compatibility + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ThreadUtility.Abort(System.Threading.Thread,System.Int32)"> + <summary> + Abort a thread, helping to dislodging it if it is blocked in native code + </summary> + <param name="thread">The thread to abort</param> + <param name="nativeId">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 <see cref="M:NUnit.Framework.Internal.ThreadUtility.GetCurrentThreadNativeId"/> from the running thread itself.</param> + </member> + <member name="M:NUnit.Framework.Internal.ThreadUtility.Kill(System.Threading.Thread,System.Int32)"> + <summary> + Do our best to kill a thread + </summary> + <param name="thread">The thread to kill</param> + <param name="nativeId">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 <see cref="M:NUnit.Framework.Internal.ThreadUtility.GetCurrentThreadNativeId"/> from the running thread itself.</param> + </member> + <member name="M:NUnit.Framework.Internal.ThreadUtility.Kill(System.Threading.Thread,System.Object,System.Int32)"> + <summary> + Do our best to kill a thread, passing state info + </summary> + <param name="thread">The thread to kill</param> + <param name="stateInfo">Info for the ThreadAbortException handler</param> + <param name="nativeId">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 <see cref="M:NUnit.Framework.Internal.ThreadUtility.GetCurrentThreadNativeId"/> from the running thread itself.</param> + </member> + <member name="M:NUnit.Framework.Internal.ThreadUtility.DislodgeThreadInNativeMessageWait(System.Threading.Thread,System.Int32)"> + <summary> + Schedule a thread pool thread to check on the aborting thread in case it's in a message pump native blocking wait + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ThreadUtility.GetCurrentThreadNativeId"> + <summary> + Captures the current thread's native id. If provided to <see cref="M:NUnit.Framework.Internal.ThreadUtility.Kill(System.Threading.Thread,System.Int32)"/> later, allows the thread to be killed if it's in a message pump native blocking wait. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ThreadUtility.PostThreadCloseMessage(System.Int32)"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ThreadUtility.GetCurrentThreadPrincipal"> + <summary>Gets <see cref="P:System.Threading.Thread.CurrentPrincipal"/> or <see langword="null" /> if the current platform does not support it.</summary> + </member> + <member name="M:NUnit.Framework.Internal.ThreadUtility.SetCurrentThreadPrincipal(System.Security.Principal.IPrincipal)"> + <summary>Sets <see cref="P:System.Threading.Thread.CurrentPrincipal"/> if current platform supports it.</summary> + <param name="principal">Value to set. If the current platform does not support <see cref="P:System.Threading.Thread.CurrentPrincipal"/> then the only allowed value is <see langword="null"/>.</param> + </member> + <member name="T:NUnit.Framework.Internal.TypeHelper"> + <summary> + TypeHelper provides static methods that operate on Types. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TypeHelper.GetDisplayName(System.Type)"> + <summary> + Gets the display name for a Type as used by NUnit. + </summary> + <param name="type">The Type for which a display name is needed.</param> + <returns>The display name for the Type</returns> + </member> + <member name="M:NUnit.Framework.Internal.TypeHelper.GetDisplayName(System.Type,System.Object[])"> + <summary> + Gets the display name for a Type as used by NUnit. + </summary> + <param name="type">The Type for which a display name is needed.</param> + <param name="arglist">The arglist provided.</param> + <returns>The display name for the Type</returns> + </member> + <member name="M:NUnit.Framework.Internal.TypeHelper.TryGetBestCommonType(System.Type,System.Type,System.Type@)"> + <summary> + Returns the best fit for a common type to be used in + matching actual arguments to a methods Type parameters. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TypeHelper.IsNumeric(System.Type)"> + <summary> + Determines whether the specified type is numeric. + </summary> + <param name="type">The type to be examined.</param> + <returns> + <see langword="true"/> if the specified type is numeric; otherwise, <see langword="false"/>. + </returns> + </member> + <member name="M:NUnit.Framework.Internal.TypeHelper.ConvertArgumentList(System.Object[],NUnit.Framework.Interfaces.IParameterInfo[])"> + <summary> + Convert an argument list to the required parameter types. + Currently, only widening numeric conversions are performed. + </summary> + <param name="arglist">An array of args to be converted</param> + <param name="parameters">A ParameterInfo[] whose types will be used as targets</param> + </member> + <member name="M:NUnit.Framework.Internal.TypeHelper.CanDeduceTypeArgsFromArgs(System.Type,System.Object[],System.Type[]@)"> + <summary> + Determines whether this instance can deduce type args for a generic type from the supplied arguments. + </summary> + <param name="type">The type to be examined.</param> + <param name="arglist">The arglist.</param> + <param name="typeArgsOut">The type args to be used.</param> + <returns> + <see langword="true"/> if this the provided args give sufficient information to determine the type args to be used; otherwise, <see langword="false"/>. + </returns> + </member> + <member name="M:NUnit.Framework.Internal.TypeHelper.GetDeclaredInterfaces(System.Type)"> + <summary> + Return the interfaces implemented by a Type. + </summary> + <param name="type">The Type to be examined.</param> + <returns>An array of Types for the interfaces.</returns> + </member> + <member name="M:NUnit.Framework.Internal.TypeHelper.IsValueTuple(System.Type)"> + <summary> + Return whether or not the given type is a ValueTuple. + </summary> + <param name="type">Type.</param> + <returns>Whether or not the given type is a ValueTuple.</returns> + </member> + <member name="M:NUnit.Framework.Internal.TypeHelper.IsTuple(System.Type)"> + <summary> + Return whether or not the given type is a Tuple. + </summary> + <param name="type">Type.</param> + <returns>Whether or not the given type is a Tuple.</returns> + </member> + <member name="M:NUnit.Framework.Internal.TypeHelper.CanCast``1(System.Object)"> + <summary> + Determines whether the cast to the given type would succeed. + If <paramref name="obj"/> is <see langword="null"/> and <typeparamref name="T"/> + can be <see langword="null"/>, the cast succeeds just like the C# language feature. + </summary> + <param name="obj">The object to cast.</param> + </member> + <member name="M:NUnit.Framework.Internal.TypeHelper.TryCast``1(System.Object,``0@)"> + <summary> + Casts to a value of the given type if possible. + If <paramref name="obj"/> is <see langword="null"/> and <typeparamref name="T"/> + can be <see langword="null"/>, the cast succeeds just like the C# language feature. + </summary> + <param name="obj">The object to cast.</param> + <param name="value">The value of the object, if the cast succeeded.</param> + </member> + <member name="T:NUnit.Framework.Internal.TypeNameDifferenceResolver"> + <summary> + Used for resolving the type difference between objects. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TypeNameDifferenceResolver.ResolveTypeNameDifference(System.Object,System.Object,System.String@,System.String@)"> + <summary> + Gets the shortened type name difference between <paramref name="expected"/> and <paramref name="actual"/>. + </summary> + <param name="expected">The expected object.</param> + <param name="actual">The actual object.</param> + <param name="expectedTypeShortened">Output of the unique type name for the expected object.</param> + <param name="actualTypeShortened">Output of the unique type name for actual object.</param> + </member> + <member name="M:NUnit.Framework.Internal.TypeNameDifferenceResolver.ResolveTypeNameDifference(System.Type,System.Type,System.String@,System.String@)"> + <summary> + Gets the shortened type name difference between <paramref name="expected"/> and <paramref name="actual"/>. + </summary> + <param name="expected">The expected object <see cref="T:System.Type"/>.</param> + <param name="actual">The actual object <see cref="T:System.Type"/>.</param> + <param name="expectedTypeShortened">Output of the unique type name for the expected object.</param> + <param name="actualTypeShortened">Output of the unique type name for actual object.</param> + </member> + <member name="M:NUnit.Framework.Internal.TypeNameDifferenceResolver.GetShortenedGenericParams(System.Type,System.Type,System.Collections.Generic.List{System.String}@,System.Collections.Generic.List{System.String}@)"> + <summary> + Obtain the shortened generic template parameters of the given <paramref name="expectedFullType"/> and <paramref name="actualFullType"/>, + if they are generic. + </summary> + <param name="expectedFullType">The expected <see cref="T:System.Type"/>.</param> + <param name="actualFullType">The actual <see cref="T:System.Type"/>.</param> + <param name="shortenedParamsExpected">Shortened generic parameters of the expected <see cref="T:System.Type"/>.</param> + <param name="shortenedParamsActual">Shortened generic parameters of the actual <see cref="T:System.Type"/>.</param> + </member> + <member name="M:NUnit.Framework.Internal.TypeNameDifferenceResolver.FullyShortenTypeName(System.Type)"> + <summary> + Obtain a shortened name of the given <see cref="T:System.Type"/>. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TypeNameDifferenceResolver.ShortenTypeNames(System.Type,System.Type,System.String@,System.String@)"> + <summary> + Shorten the given <see cref="T:System.Type"/> names by only including the relevant differing namespaces/types, if they differ. + </summary> + <param name="expectedType">The expected <see cref="T:System.Type"/>.</param> + <param name="actualType">The actual <see cref="T:System.Type"/>.</param> + <param name="expectedTypeShortened">The shortened expected <see cref="T:System.Type"/> name.</param> + <param name="actualTypeShortened">The shortened actual <see cref="T:System.Type"/> name.</param> + </member> + <member name="M:NUnit.Framework.Internal.TypeNameDifferenceResolver.IsTypeGeneric(System.Type)"> + <summary> + Returns whether or not the <see cref="T:System.Type"/> is generic. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TypeNameDifferenceResolver.GetGenericTypeName(System.Type)"> + <summary> + Returns the fully qualified generic <see cref="T:System.Type"/> name of a given <see cref="T:System.Type"/>. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TypeNameDifferenceResolver.ReconstructGenericTypeName(System.String,System.Collections.Generic.List{System.String})"> + <summary> + Reconstruct a generic type name using the provided generic type name, and a + <see cref="T:NUnit.Framework.List"/> of the template parameters. + </summary> + <param name="genericTypeName">The name of the generic type, including the number of template parameters expected.</param> + <param name="templateParamNames">A <see cref="T:NUnit.Framework.List"/> of names of the template parameters of the provided generic type.</param> + </member> + <member name="M:NUnit.Framework.Internal.TypeNameDifferenceResolver.GetShortenedGenericTypes(System.Type,System.Type,System.String@,System.String@)"> + <summary> + Obtain the shortened generic <see cref="T:System.Type"/> names of the given expected and actual <see cref="T:System.Type"/>s. + </summary> + <param name="expected">The expected <see cref="T:System.Type"/>.</param> + <param name="actual">The actual <see cref="T:System.Type"/>.</param> + <param name="shortenedGenericNameExpected">The shortened expected generic name.</param> + <param name="shortenedGenericNameActual">The shortened actual generic name.</param> + </member> + <member name="T:NUnit.Framework.Internal.TypeWrapper"> + <summary> + The TypeWrapper class wraps a Type so it may be used in + a platform-independent manner. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TypeWrapper.#ctor(System.Type)"> + <summary> + Construct a TypeWrapper for a specified Type. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TypeWrapper.Type"> + <summary> + Gets the underlying Type on which this TypeWrapper is based. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TypeWrapper.BaseType"> + <summary> + Gets the base type of this type as an ITypeInfo + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TypeWrapper.Name"> + <summary> + Gets the Name of the Type + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TypeWrapper.FullName"> + <summary> + Gets the FullName of the Type + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TypeWrapper.Assembly"> + <summary> + Gets the assembly in which the type is declared + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TypeWrapper.Namespace"> + <summary> + Gets the namespace of the Type + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TypeWrapper.IsAbstract"> + <summary> + Gets a value indicating whether the type is abstract. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TypeWrapper.IsGenericType"> + <summary> + Gets a value indicating whether the Type is a generic Type + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TypeWrapper.IsType(System.Type)"> + <summary> + Returns true if the Type wrapped is T + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TypeWrapper.ContainsGenericParameters"> + <summary> + Gets a value indicating whether the Type has generic parameters that have not been replaced by specific Types. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TypeWrapper.IsGenericTypeDefinition"> + <summary> + Gets a value indicating whether the Type is a generic Type definition + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TypeWrapper.IsSealed"> + <summary> + Gets a value indicating whether the type is sealed. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TypeWrapper.IsStaticClass"> + <summary> + Gets a value indicating whether this type represents a static class. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TypeWrapper.GetDisplayName"> + <summary> + Get the display name for this type + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TypeWrapper.GetDisplayName(System.Object[])"> + <summary> + Get the display name for an object of this type, constructed with the specified args. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TypeWrapper.MakeGenericType(System.Type[])"> + <summary> + Returns a new ITypeInfo representing an instance of this generic Type using the supplied Type arguments + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TypeWrapper.GetGenericTypeDefinition"> + <summary> + Returns a Type representing a generic type definition from which this Type can be constructed. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TypeWrapper.GetCustomAttributes``1(System.Boolean)"> + <summary> + Returns an array of custom attributes of the specified type applied to this type + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TypeWrapper.IsDefined``1(System.Boolean)"> + <summary> + Returns a value indicating whether the type has an attribute of the specified type. + </summary> + <typeparam name="T"></typeparam> + <param name="inherit"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Internal.TypeWrapper.HasMethodWithAttribute(System.Type)"> + <summary> + Returns a flag indicating whether this type has a method with an attribute of the specified type. + </summary> + <param name="attributeType"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Internal.TypeWrapper.GetMethods(System.Reflection.BindingFlags)"> + <summary> + Returns an array of IMethodInfos for methods of this Type + that match the specified flags. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TypeWrapper.GetConstructor(System.Type[])"> + <summary> + Gets the public constructor taking the specified argument Types + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TypeWrapper.HasConstructor(System.Type[])"> + <summary> + Returns a value indicating whether this Type has a public constructor taking the specified argument Types. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TypeWrapper.Construct(System.Object[])"> + <summary> + Construct an object of this Type, using the specified arguments. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TypeWrapper.ToString"> + <summary> + Override ToString() so that error messages in NUnit's own tests make sense + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TypeWrapper.GetMethodsWithAttribute``1(System.Boolean)"> + <summary> + 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. + </summary> + <param name="inherit">Specifies whether to search the fixture type inheritance chain.</param> + </member> + <member name="T:NUnit.Framework.Internal.ValueGenerator.Step"> + <summary> + Encapsulates the ability to increment a value by an amount which may be of a different type. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ValueGenerator.CreateStep(System.Object)"> + <summary> + Creates a <see cref="T:NUnit.Framework.Internal.ValueGenerator.Step"/> 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, + <see cref="T:System.NotSupportedException"/> is thrown. + </summary> + <exception cref="T:System.NotSupportedException"/> + </member> + <member name="M:NUnit.Framework.Internal.ValueGenerator.TryCreateStep(System.Object,NUnit.Framework.Internal.ValueGenerator.Step@)"> + <summary> + Creates a <see cref="T:NUnit.Framework.Internal.ValueGenerator.Step"/> 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. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.ValueGenerator`1.ComparableStep`1"> + <summary> + Provides a convenient shorthand when <typeparamref name="TStep"/> is <see cref="T:System.IComparable`1"/> + and the default value of <typeparamref name="TStep"/> represents zero. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ValueGenerator`1.ComparableStep`1.#ctor(`1,System.Func{`0,`1,`0})"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.ValueGenerator`1.ComparableStep`1"/> class. + </summary> + <param name="value">The amount by which to increment each time this step is applied.</param> + <param name="apply"> + Must increment the given value and return the result. + If the result is outside the range representable by <typeparamref name="T"/>, + must throw <see cref="T:System.OverflowException"/>. If the result does not change due to lack + of precision representable by <typeparamref name="T"/>, must throw <see cref="T:System.ArithmeticException"/>. + </param> + </member> + <member name="M:NUnit.Framework.Internal.ValueGenerator`1.ComparableStep`1.Apply(`0)"> + <summary> + Increments the given value and returns the result. + If the result is outside the range representable by <typeparamref name="T"/>, + throws <see cref="T:System.OverflowException"/>. If the result does not change due to lack + of precision representable by <typeparamref name="T"/>, throws <see cref="T:System.ArithmeticException"/>. + </summary> + <exception cref="T:System.OverflowException"/> + <exception cref="T:System.ArithmeticException"/> + </member> + <member name="T:NUnit.Framework.Internal.ValueGenerator`1.Step"> + <summary> + Encapsulates the ability to increment a <typeparamref name="T"/> value by an amount + which may be of a different type. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ValueGenerator`1.Step.Apply(`0)"> + <summary> + Increments the given value and returns the result. + If the result is outside the range representable by <typeparamref name="T"/>, + throws <see cref="T:System.OverflowException"/>. If the result does not change due to lack + of precision representable by <typeparamref name="T"/>, throws <see cref="T:System.ArithmeticException"/>. + </summary> + <exception cref="T:System.OverflowException"/> + <exception cref="T:System.ArithmeticException"/> + </member> + <member name="M:NUnit.Framework.Internal.ValueGenerator`1.CreateStep(System.Object)"> + <summary> + Creates a <see cref="T:NUnit.Framework.Internal.ValueGenerator`1.Step"/> from the specified value if the current instance is able to + use it to increment values of type <typeparamref name="T"/>. If the creation fails, + <see cref="T:System.NotSupportedException"/> is thrown. + </summary> + <exception cref="T:System.NotSupportedException"/> + </member> + <member name="M:NUnit.Framework.Internal.ValueGenerator`1.TryCreateStep(System.Object,NUnit.Framework.Internal.ValueGenerator.Step@)"> + <summary> + Creates a <see cref="T:NUnit.Framework.Internal.ValueGenerator`1.Step"/> from the specified value if the current instance is able to + use it to increment values of type <typeparamref name="T"/>. A return value indicates + whether the creation succeeded. + </summary> + </member> + <member name="T:NUnit.Framework.IgnoredTestCaseData"> + <summary> + The IgnoredTestCaseData class represents a ignored TestCaseData. It adds + the ability to set a date until which the test will be ignored. + </summary> + </member> + <member name="F:NUnit.Framework.IgnoredTestCaseData._prevRunState"> + <summary> + The previous RunState + </summary> + </member> + <member name="M:NUnit.Framework.IgnoredTestCaseData.Until(System.DateTimeOffset)"> + <summary> + Set the date that the test is being ignored until + </summary> + <param name="datetime">The date that the test is being ignored until</param> + <returns>A modified TestCaseData.</returns> + </member> + <member name="T:NUnit.Framework.Is"> + <summary> + Helper class with properties and methods that supply + a number of constraints used in Asserts. + </summary> + </member> + <member name="P:NUnit.Framework.Is.Not"> + <summary> + Returns a ConstraintExpression that negates any + following constraint. + </summary> + </member> + <member name="P:NUnit.Framework.Is.All"> + <summary> + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + </summary> + </member> + <member name="P:NUnit.Framework.Is.Null"> + <summary> + Returns a constraint that tests for null + </summary> + </member> + <member name="P:NUnit.Framework.Is.True"> + <summary> + Returns a constraint that tests for True + </summary> + </member> + <member name="P:NUnit.Framework.Is.False"> + <summary> + Returns a constraint that tests for False + </summary> + </member> + <member name="P:NUnit.Framework.Is.Positive"> + <summary> + Returns a constraint that tests for a positive value + </summary> + </member> + <member name="P:NUnit.Framework.Is.Negative"> + <summary> + Returns a constraint that tests for a negative value + </summary> + </member> + <member name="P:NUnit.Framework.Is.Zero"> + <summary> + Returns a constraint that tests for equality with zero + </summary> + </member> + <member name="P:NUnit.Framework.Is.NaN"> + <summary> + Returns a constraint that tests for NaN + </summary> + </member> + <member name="P:NUnit.Framework.Is.Empty"> + <summary> + Returns a constraint that tests for empty + </summary> + </member> + <member name="P:NUnit.Framework.Is.Unique"> + <summary> + Returns a constraint that tests whether a collection + contains all unique items. + </summary> + </member> + <member name="P:NUnit.Framework.Is.BinarySerializable"> + <summary> + Returns a constraint that tests whether an object graph is serializable in binary format. + </summary> + </member> + <member name="P:NUnit.Framework.Is.XmlSerializable"> + <summary> + Returns a constraint that tests whether an object graph is serializable in XML format. + </summary> + </member> + <member name="M:NUnit.Framework.Is.EqualTo(System.Object)"> + <summary> + Returns a constraint that tests two items for equality + </summary> + </member> + <member name="M:NUnit.Framework.Is.SameAs(System.Object)"> + <summary> + Returns a constraint that tests that two references are the same object + </summary> + </member> + <member name="M:NUnit.Framework.Is.GreaterThan(System.Object)"> + <summary> + Returns a constraint that tests whether the + actual value is greater than the supplied argument + </summary> + </member> + <member name="M:NUnit.Framework.Is.GreaterThanOrEqualTo(System.Object)"> + <summary> + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + </summary> + </member> + <member name="M:NUnit.Framework.Is.AtLeast(System.Object)"> + <summary> + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + </summary> + </member> + <member name="M:NUnit.Framework.Is.LessThan(System.Object)"> + <summary> + Returns a constraint that tests whether the + actual value is less than the supplied argument + </summary> + </member> + <member name="M:NUnit.Framework.Is.LessThanOrEqualTo(System.Object)"> + <summary> + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + </summary> + </member> + <member name="M:NUnit.Framework.Is.AtMost(System.Object)"> + <summary> + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + </summary> + </member> + <member name="M:NUnit.Framework.Is.TypeOf(System.Type)"> + <summary> + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Is.TypeOf``1"> + <summary> + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Is.InstanceOf(System.Type)"> + <summary> + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + </summary> + </member> + <member name="M:NUnit.Framework.Is.InstanceOf``1"> + <summary> + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + </summary> + </member> + <member name="M:NUnit.Framework.Is.AssignableFrom(System.Type)"> + <summary> + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Is.AssignableFrom``1"> + <summary> + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Is.AssignableTo(System.Type)"> + <summary> + Returns a constraint that tests whether the actual value + is assignable to the type supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Is.AssignableTo``1"> + <summary> + Returns a constraint that tests whether the actual value + is assignable to the type supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Is.EquivalentTo(System.Collections.IEnumerable)"> + <summary> + Returns a constraint that tests whether the actual value + is a collection containing the same elements as the + collection supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Is.SubsetOf(System.Collections.IEnumerable)"> + <summary> + Returns a constraint that tests whether the actual value + is a subset of the collection supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Is.SupersetOf(System.Collections.IEnumerable)"> + <summary> + Returns a constraint that tests whether the actual value + is a superset of the collection supplied as an argument. + </summary> + </member> + <member name="P:NUnit.Framework.Is.Ordered"> + <summary> + Returns a constraint that tests whether a collection is ordered + </summary> + </member> + <member name="M:NUnit.Framework.Is.SamePath(System.String)"> + <summary> + Returns a constraint that tests whether the path provided + is the same as an expected path after canonicalization. + </summary> + </member> + <member name="M:NUnit.Framework.Is.SubPathOf(System.String)"> + <summary> + Returns a constraint that tests whether the path provided + is a subpath of the expected path after canonicalization. + </summary> + </member> + <member name="M:NUnit.Framework.Is.SamePathOrUnder(System.String)"> + <summary> + Returns a constraint that tests whether the path provided + is the same path or under an expected path after canonicalization. + </summary> + </member> + <member name="M:NUnit.Framework.Is.InRange(System.Object,System.Object)"> + <summary> + Returns a constraint that tests whether the actual value falls + inclusively within a specified range. + </summary> + <param name="from">Inclusive beginning of the range.</param> + <param name="to">Inclusive end of the range.</param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Is.AnyOf(System.Object[])"> + <summary> + Returns a constraint that tests if an item is equal to any of parameters + </summary> + <param name="expected">Expected values</param> + </member> + <member name="T:NUnit.Framework.ITestAction"> + <summary> + When implemented by an attribute, this interface implemented to provide actions to execute before and after tests. + </summary> + </member> + <member name="M:NUnit.Framework.ITestAction.BeforeTest(NUnit.Framework.Interfaces.ITest)"> + <summary> + Executed before each test is run + </summary> + <param name="test">The test that is going to be run.</param> + </member> + <member name="M:NUnit.Framework.ITestAction.AfterTest(NUnit.Framework.Interfaces.ITest)"> + <summary> + Executed after each test is run + </summary> + <param name="test">The test that has just been run.</param> + </member> + <member name="P:NUnit.Framework.ITestAction.Targets"> + <summary> + Provides the target for the action attribute + </summary> + <returns>The target for the action attribute</returns> + </member> + <member name="T:NUnit.Framework.Iz"> + <summary> + The Iz class is a synonym for Is intended for use in VB, + which regards Is as a keyword. + </summary> + </member> + <member name="T:NUnit.Framework.List"> + <summary> + The List class is a helper class with properties and methods + that supply a number of constraints used with lists and collections. + </summary> + </member> + <member name="M:NUnit.Framework.List.Map(System.Collections.ICollection)"> + <summary> + List.Map returns a ListMapper, which can be used to map + the original collection to another collection. + </summary> + <param name="actual"></param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.ListMapper"> + <summary> + ListMapper is used to transform a collection used as an actual argument + producing another collection to be used in the assertion. + </summary> + </member> + <member name="M:NUnit.Framework.ListMapper.#ctor(System.Collections.ICollection)"> + <summary> + Construct a ListMapper based on a collection + </summary> + <param name="original">The collection to be transformed</param> + </member> + <member name="M:NUnit.Framework.ListMapper.Property(System.String)"> + <summary> + Produces a collection containing all the values of a property + </summary> + <param name="name">The collection of property values</param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.StringAssert"> + <summary> + Basic Asserts on strings. + </summary> + </member> + <member name="M:NUnit.Framework.StringAssert.Equals(System.Object,System.Object)"> + <summary> + 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. + </summary> + <param name="a"></param> + <param name="b"></param> + </member> + <member name="M:NUnit.Framework.StringAssert.ReferenceEquals(System.Object,System.Object)"> + <summary> + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + </summary> + <param name="a"></param> + <param name="b"></param> + </member> + <member name="M:NUnit.Framework.StringAssert.Contains(System.String,System.String,System.String,System.Object[])"> + <summary> + Asserts that a string is found within another string. + </summary> + <param name="expected">The expected string</param> + <param name="actual">The string to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Arguments used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.StringAssert.Contains(System.String,System.String)"> + <summary> + Asserts that a string is found within another string. + </summary> + <param name="expected">The expected string</param> + <param name="actual">The string to be examined</param> + </member> + <member name="M:NUnit.Framework.StringAssert.DoesNotContain(System.String,System.String,System.String,System.Object[])"> + <summary> + Asserts that a string is not found within another string. + </summary> + <param name="expected">The expected string</param> + <param name="actual">The string to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Arguments used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.StringAssert.DoesNotContain(System.String,System.String)"> + <summary> + Asserts that a string is found within another string. + </summary> + <param name="expected">The expected string</param> + <param name="actual">The string to be examined</param> + </member> + <member name="M:NUnit.Framework.StringAssert.StartsWith(System.String,System.String,System.String,System.Object[])"> + <summary> + Asserts that a string starts with another string. + </summary> + <param name="expected">The expected string</param> + <param name="actual">The string to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Arguments used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.StringAssert.StartsWith(System.String,System.String)"> + <summary> + Asserts that a string starts with another string. + </summary> + <param name="expected">The expected string</param> + <param name="actual">The string to be examined</param> + </member> + <member name="M:NUnit.Framework.StringAssert.DoesNotStartWith(System.String,System.String,System.String,System.Object[])"> + <summary> + Asserts that a string does not start with another string. + </summary> + <param name="expected">The expected string</param> + <param name="actual">The string to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Arguments used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.StringAssert.DoesNotStartWith(System.String,System.String)"> + <summary> + Asserts that a string does not start with another string. + </summary> + <param name="expected">The expected string</param> + <param name="actual">The string to be examined</param> + </member> + <member name="M:NUnit.Framework.StringAssert.EndsWith(System.String,System.String,System.String,System.Object[])"> + <summary> + Asserts that a string ends with another string. + </summary> + <param name="expected">The expected string</param> + <param name="actual">The string to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Arguments used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.StringAssert.EndsWith(System.String,System.String)"> + <summary> + Asserts that a string ends with another string. + </summary> + <param name="expected">The expected string</param> + <param name="actual">The string to be examined</param> + </member> + <member name="M:NUnit.Framework.StringAssert.DoesNotEndWith(System.String,System.String,System.String,System.Object[])"> + <summary> + Asserts that a string does not end with another string. + </summary> + <param name="expected">The expected string</param> + <param name="actual">The string to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Arguments used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.StringAssert.DoesNotEndWith(System.String,System.String)"> + <summary> + Asserts that a string does not end with another string. + </summary> + <param name="expected">The expected string</param> + <param name="actual">The string to be examined</param> + </member> + <member name="M:NUnit.Framework.StringAssert.AreEqualIgnoringCase(System.String,System.String,System.String,System.Object[])"> + <summary> + Asserts that two strings are equal, without regard to case. + </summary> + <param name="expected">The expected string</param> + <param name="actual">The actual string</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Arguments used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.StringAssert.AreEqualIgnoringCase(System.String,System.String)"> + <summary> + Asserts that two strings are equal, without regard to case. + </summary> + <param name="expected">The expected string</param> + <param name="actual">The actual string</param> + </member> + <member name="M:NUnit.Framework.StringAssert.AreNotEqualIgnoringCase(System.String,System.String,System.String,System.Object[])"> + <summary> + Asserts that two strings are not equal, without regard to case. + </summary> + <param name="expected">The expected string</param> + <param name="actual">The actual string</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Arguments used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.StringAssert.AreNotEqualIgnoringCase(System.String,System.String)"> + <summary> + Asserts that two strings are not equal, without regard to case. + </summary> + <param name="expected">The expected string</param> + <param name="actual">The actual string</param> + </member> + <member name="M:NUnit.Framework.StringAssert.IsMatch(System.String,System.String,System.String,System.Object[])"> + <summary> + Asserts that a string matches an expected regular expression pattern. + </summary> + <param name="pattern">The regex pattern to be matched</param> + <param name="actual">The actual string</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Arguments used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.StringAssert.IsMatch(System.String,System.String)"> + <summary> + Asserts that a string matches an expected regular expression pattern. + </summary> + <param name="pattern">The regex pattern to be matched</param> + <param name="actual">The actual string</param> + </member> + <member name="M:NUnit.Framework.StringAssert.DoesNotMatch(System.String,System.String,System.String,System.Object[])"> + <summary> + Asserts that a string does not match an expected regular expression pattern. + </summary> + <param name="pattern">The regex pattern to be used</param> + <param name="actual">The actual string</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Arguments used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.StringAssert.DoesNotMatch(System.String,System.String)"> + <summary> + Asserts that a string does not match an expected regular expression pattern. + </summary> + <param name="pattern">The regex pattern to be used</param> + <param name="actual">The actual string</param> + </member> + <member name="T:NUnit.Framework.TestCaseData"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.TestCaseData.#ctor(System.Object[])"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.TestCaseData"/> class. + </summary> + <param name="args">The arguments.</param> + </member> + <member name="M:NUnit.Framework.TestCaseData.#ctor(System.Object)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.TestCaseData"/> class. + </summary> + <param name="arg">The argument.</param> + </member> + <member name="M:NUnit.Framework.TestCaseData.#ctor(System.Object,System.Object)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.TestCaseData"/> class. + </summary> + <param name="arg1">The first argument.</param> + <param name="arg2">The second argument.</param> + </member> + <member name="M:NUnit.Framework.TestCaseData.#ctor(System.Object,System.Object,System.Object)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.TestCaseData"/> class. + </summary> + <param name="arg1">The first argument.</param> + <param name="arg2">The second argument.</param> + <param name="arg3">The third argument.</param> + </member> + <member name="M:NUnit.Framework.TestCaseData.Returns(System.Object)"> + <summary> + Sets the expected result for the test + </summary> + <param name="result">The expected result</param> + <returns>A modified TestCaseData</returns> + </member> + <member name="M:NUnit.Framework.TestCaseData.SetName(System.String)"> + <summary> + Sets the name of the test case + </summary> + <returns>The modified TestCaseData instance</returns> + </member> + <member name="M:NUnit.Framework.TestCaseData.SetArgDisplayNames(System.String[])"> + <summary> + Sets the list of display names to use as the parameters in the test name. + </summary> + </member> + <member name="M:NUnit.Framework.TestCaseData.SetDescription(System.String)"> + <summary> + Sets the description for the test case + being constructed. + </summary> + <param name="description">The description.</param> + <returns>The modified TestCaseData instance.</returns> + </member> + <member name="M:NUnit.Framework.TestCaseData.SetCategory(System.String)"> + <summary> + Applies a category to the test + </summary> + <param name="category"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.TestCaseData.SetProperty(System.String,System.String)"> + <summary> + Applies a named property to the test + </summary> + <param name="propName"></param> + <param name="propValue"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.TestCaseData.SetProperty(System.String,System.Int32)"> + <summary> + Applies a named property to the test + </summary> + <param name="propName"></param> + <param name="propValue"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.TestCaseData.SetProperty(System.String,System.Double)"> + <summary> + Applies a named property to the test + </summary> + <param name="propName"></param> + <param name="propValue"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.TestCaseData.Explicit"> + <summary> + Marks the test case as explicit. + </summary> + </member> + <member name="M:NUnit.Framework.TestCaseData.Explicit(System.String)"> + <summary> + Marks the test case as explicit, specifying the reason. + </summary> + </member> + <member name="M:NUnit.Framework.TestCaseData.Ignore(System.String)"> + <summary> + Ignores this TestCase, specifying the reason. + </summary> + <param name="reason">The reason.</param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.TestContext"> + <summary> + Provide the context information of the current test. + This is an adapter for the internal ExecutionContext + class, hiding the internals from the user test. + </summary> + </member> + <member name="M:NUnit.Framework.TestContext.#ctor(NUnit.Framework.Internal.TestExecutionContext)"> + <summary> + Construct a TestContext for an ExecutionContext + </summary> + <param name="testExecutionContext">The ExecutionContext to adapt</param> + </member> + <member name="P:NUnit.Framework.TestContext.CurrentContext"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.Out"> + <summary> + Gets a TextWriter that will send output to the current test result. + </summary> + </member> + <member name="F:NUnit.Framework.TestContext.Error"> + <summary> + Gets a TextWriter that will send output directly to Console.Error + </summary> + </member> + <member name="F:NUnit.Framework.TestContext.Progress"> + <summary> + Gets a TextWriter for use in displaying immediate progress messages + </summary> + </member> + <member name="F:NUnit.Framework.TestContext.Parameters"> + <summary> + TestParameters object holds parameters for the test run, if any are specified + </summary> + </member> + <member name="F:NUnit.Framework.TestContext.DefaultWorkDirectory"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.Test"> + <summary> + Get a representation of the current test. + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.Result"> + <summary> + Gets a Representation of the TestResult for the current test. + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.WorkerId"> + <summary> + Gets the unique name of the Worker that is executing this test. + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.TestDirectory"> + <summary> + Gets the directory containing the current test assembly. + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.WorkDirectory"> + <summary> + Gets the directory to be used for outputting files created + by this test run. + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.Random"> + <summary> + Gets the random generator. + </summary> + <value> + The random generator. + </value> + </member> + <member name="P:NUnit.Framework.TestContext.AssertCount"> + <summary> + Gets the number of assertions executed + up to this point in the test. + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.CurrentRepeatCount"> + <summary> + Get the number of times the current Test has been repeated + when using the <see cref="T:NUnit.Framework.RetryAttribute"/> or <see cref="T:NUnit.Framework.RepeatAttribute"/>. + </summary> + </member> + <member name="M:NUnit.Framework.TestContext.Write(System.Boolean)"> + <summary>Write the string representation of a boolean value to the current result</summary> + </member> + <member name="M:NUnit.Framework.TestContext.Write(System.Char)"> + <summary>Write a char to the current result</summary> + </member> + <member name="M:NUnit.Framework.TestContext.Write(System.Char[])"> + <summary>Write a char array to the current result</summary> + </member> + <member name="M:NUnit.Framework.TestContext.Write(System.Double)"> + <summary>Write the string representation of a double to the current result</summary> + </member> + <member name="M:NUnit.Framework.TestContext.Write(System.Int32)"> + <summary>Write the string representation of an Int32 value to the current result</summary> + </member> + <member name="M:NUnit.Framework.TestContext.Write(System.Int64)"> + <summary>Write the string representation of an Int64 value to the current result</summary> + </member> + <member name="M:NUnit.Framework.TestContext.Write(System.Decimal)"> + <summary>Write the string representation of a decimal value to the current result</summary> + </member> + <member name="M:NUnit.Framework.TestContext.Write(System.Object)"> + <summary>Write the string representation of an object to the current result</summary> + </member> + <member name="M:NUnit.Framework.TestContext.Write(System.Single)"> + <summary>Write the string representation of a Single value to the current result</summary> + </member> + <member name="M:NUnit.Framework.TestContext.Write(System.String)"> + <summary>Write a string to the current result</summary> + </member> + <member name="M:NUnit.Framework.TestContext.Write(System.UInt32)"> + <summary>Write the string representation of a UInt32 value to the current result</summary> + </member> + <member name="M:NUnit.Framework.TestContext.Write(System.UInt64)"> + <summary>Write the string representation of a UInt64 value to the current result</summary> + </member> + <member name="M:NUnit.Framework.TestContext.Write(System.String,System.Object)"> + <summary>Write a formatted string to the current result</summary> + </member> + <member name="M:NUnit.Framework.TestContext.Write(System.String,System.Object,System.Object)"> + <summary>Write a formatted string to the current result</summary> + </member> + <member name="M:NUnit.Framework.TestContext.Write(System.String,System.Object,System.Object,System.Object)"> + <summary>Write a formatted string to the current result</summary> + </member> + <member name="M:NUnit.Framework.TestContext.Write(System.String,System.Object[])"> + <summary>Write a formatted string to the current result</summary> + </member> + <member name="M:NUnit.Framework.TestContext.WriteLine"> + <summary>Write a line terminator to the current result</summary> + </member> + <member name="M:NUnit.Framework.TestContext.WriteLine(System.Boolean)"> + <summary>Write the string representation of a boolean value to the current result followed by a line terminator</summary> + </member> + <member name="M:NUnit.Framework.TestContext.WriteLine(System.Char)"> + <summary>Write a char to the current result followed by a line terminator</summary> + </member> + <member name="M:NUnit.Framework.TestContext.WriteLine(System.Char[])"> + <summary>Write a char array to the current result followed by a line terminator</summary> + </member> + <member name="M:NUnit.Framework.TestContext.WriteLine(System.Double)"> + <summary>Write the string representation of a double to the current result followed by a line terminator</summary> + </member> + <member name="M:NUnit.Framework.TestContext.WriteLine(System.Int32)"> + <summary>Write the string representation of an Int32 value to the current result followed by a line terminator</summary> + </member> + <member name="M:NUnit.Framework.TestContext.WriteLine(System.Int64)"> + <summary>Write the string representation of an Int64 value to the current result followed by a line terminator</summary> + </member> + <member name="M:NUnit.Framework.TestContext.WriteLine(System.Decimal)"> + <summary>Write the string representation of a decimal value to the current result followed by a line terminator</summary> + </member> + <member name="M:NUnit.Framework.TestContext.WriteLine(System.Object)"> + <summary>Write the string representation of an object to the current result followed by a line terminator</summary> + </member> + <member name="M:NUnit.Framework.TestContext.WriteLine(System.Single)"> + <summary>Write the string representation of a Single value to the current result followed by a line terminator</summary> + </member> + <member name="M:NUnit.Framework.TestContext.WriteLine(System.String)"> + <summary>Write a string to the current result followed by a line terminator</summary> + </member> + <member name="M:NUnit.Framework.TestContext.WriteLine(System.UInt32)"> + <summary>Write the string representation of a UInt32 value to the current result followed by a line terminator</summary> + </member> + <member name="M:NUnit.Framework.TestContext.WriteLine(System.UInt64)"> + <summary>Write the string representation of a UInt64 value to the current result followed by a line terminator</summary> + </member> + <member name="M:NUnit.Framework.TestContext.WriteLine(System.String,System.Object)"> + <summary>Write a formatted string to the current result followed by a line terminator</summary> + </member> + <member name="M:NUnit.Framework.TestContext.WriteLine(System.String,System.Object,System.Object)"> + <summary>Write a formatted string to the current result followed by a line terminator</summary> + </member> + <member name="M:NUnit.Framework.TestContext.WriteLine(System.String,System.Object,System.Object,System.Object)"> + <summary>Write a formatted string to the current result followed by a line terminator</summary> + </member> + <member name="M:NUnit.Framework.TestContext.WriteLine(System.String,System.Object[])"> + <summary>Write a formatted string to the current result followed by a line terminator</summary> + </member> + <member name="M:NUnit.Framework.TestContext.AddFormatter(NUnit.Framework.Constraints.ValueFormatterFactory)"> + <summary> + 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. + </summary> + <param name="formatterFactory">The factory delegate</param> + </member> + <member name="M:NUnit.Framework.TestContext.AddTestAttachment(System.String,System.String)"> + <summary> + Attach a file to the current test result + </summary> + <param name="filePath">Relative or absolute file path to attachment</param> + <param name="description">Optional description of attachment</param> + </member> + <member name="M:NUnit.Framework.TestContext.AddFormatter``1(NUnit.Framework.Constraints.ValueFormatter)"> + <summary> + 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. + </summary> + <typeparam name="TSupported">The type supported by this formatter</typeparam> + <param name="formatter">The ValueFormatter delegate</param> + </member> + <member name="T:NUnit.Framework.TestContext.TestAdapter"> + <summary> + TestAdapter adapts a Test for consumption by + the user test code. + </summary> + </member> + <member name="M:NUnit.Framework.TestContext.TestAdapter.#ctor(NUnit.Framework.Internal.Test)"> + <summary> + Construct a TestAdapter for a Test + </summary> + <param name="test">The Test to be adapted</param> + </member> + <member name="P:NUnit.Framework.TestContext.TestAdapter.ID"> + <summary> + Gets the unique Id of a test + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.TestAdapter.Name"> + <summary> + The name of the test, which may or may not be + the same as the method name. + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.TestAdapter.MethodName"> + <summary> + The name of the method representing the test. + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.TestAdapter.FullName"> + <summary> + The FullName of the test + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.TestAdapter.ClassName"> + <summary> + The ClassName of the test + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.TestAdapter.Properties"> + <summary> + A shallow copy of the properties of the test. + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.TestAdapter.Arguments"> + <summary> + The arguments to use in creating the test or empty array if none are required. + </summary> + </member> + <member name="T:NUnit.Framework.TestContext.ResultAdapter"> + <summary> + ResultAdapter adapts a TestResult for consumption by + the user test code. + </summary> + </member> + <member name="M:NUnit.Framework.TestContext.ResultAdapter.#ctor(NUnit.Framework.Internal.TestResult)"> + <summary> + Construct a ResultAdapter for a TestResult + </summary> + <param name="result">The TestResult to be adapted</param> + </member> + <member name="P:NUnit.Framework.TestContext.ResultAdapter.Outcome"> + <summary> + Gets a ResultState representing the outcome of the test + up to this point in its execution. + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.ResultAdapter.Assertions"> + <summary> + Gets a list of the assertion results generated + up to this point in the test. + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.ResultAdapter.Message"> + <summary> + Gets the message associated with a test + failure or with not running the test + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.ResultAdapter.StackTrace"> + <summary> + Gets any stack trace associated with an + error or failure. + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.ResultAdapter.FailCount"> + <summary> + Gets the number of test cases that failed + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.ResultAdapter.WarningCount"> + <summary> + Gets the number of test cases that had warnings + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.ResultAdapter.PassCount"> + <summary> + Gets the number of test cases that passed + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.ResultAdapter.SkipCount"> + <summary> + Gets the number of test cases that were skipped + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.ResultAdapter.InconclusiveCount"> + <summary> + Gets the number of test cases that were inconclusive + when running the test and all its children. + </summary> + </member> + <member name="T:NUnit.Framework.TestContext.PropertyBagAdapter"> + <summary> + <see cref="T:NUnit.Framework.TestContext.PropertyBagAdapter"/> adapts an <see cref="T:NUnit.Framework.Interfaces.IPropertyBag"/> + for consumption by the user. + </summary> + </member> + <member name="M:NUnit.Framework.TestContext.PropertyBagAdapter.#ctor(NUnit.Framework.Interfaces.IPropertyBag)"> + <summary> + Construct a <see cref="T:NUnit.Framework.TestContext.PropertyBagAdapter"/> from a source + <see cref="T:NUnit.Framework.Interfaces.IPropertyBag"/>. + </summary> + </member> + <member name="M:NUnit.Framework.TestContext.PropertyBagAdapter.Get(System.String)"> + <summary> + Get the first property with the given <paramref name="key"/>, if it can be found, otherwise + returns null. + </summary> + </member> + <member name="M:NUnit.Framework.TestContext.PropertyBagAdapter.ContainsKey(System.String)"> + <summary> + Indicates whether <paramref name="key"/> is found in this + <see cref="T:NUnit.Framework.TestContext.PropertyBagAdapter"/>. + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.PropertyBagAdapter.Item(System.String)"> + <summary> + Returns a collection of properties + with the given <paramref name="key"/>. + </summary> + </member> + <member name="M:NUnit.Framework.TestContext.PropertyBagAdapter.Count(System.String)"> + <summary> + Returns the count of elements with the given <paramref name="key"/>. + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.PropertyBagAdapter.Keys"> + <summary> + Returns a collection of the property keys. + </summary> + </member> + <member name="T:NUnit.Framework.TestFixtureData"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.TestFixtureData.#ctor(System.Object[])"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.TestFixtureData"/> class. + </summary> + <param name="args">The arguments.</param> + </member> + <member name="M:NUnit.Framework.TestFixtureData.#ctor(System.Object)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.TestFixtureData"/> class. + </summary> + <param name="arg">The argument.</param> + </member> + <member name="M:NUnit.Framework.TestFixtureData.#ctor(System.Object,System.Object)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.TestFixtureData"/> class. + </summary> + <param name="arg1">The first argument.</param> + <param name="arg2">The second argument.</param> + </member> + <member name="M:NUnit.Framework.TestFixtureData.#ctor(System.Object,System.Object,System.Object)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.TestFixtureData"/> class. + </summary> + <param name="arg1">The first argument.</param> + <param name="arg2">The second argument.</param> + <param name="arg3">The third argument.</param> + </member> + <member name="M:NUnit.Framework.TestFixtureData.SetName(System.String)"> + <summary> + Sets the name of the test fixture + </summary> + <returns>The modified TestFixtureData instance</returns> + </member> + <member name="M:NUnit.Framework.TestFixtureData.SetArgDisplayNames(System.String[])"> + <summary> + Sets the list of display names to use as the parameters in the test name. + </summary> + </member> + <member name="M:NUnit.Framework.TestFixtureData.Explicit"> + <summary> + Marks the test fixture as explicit. + </summary> + </member> + <member name="M:NUnit.Framework.TestFixtureData.Explicit(System.String)"> + <summary> + Marks the test fixture as explicit, specifying the reason. + </summary> + </member> + <member name="M:NUnit.Framework.TestFixtureData.Ignore(System.String)"> + <summary> + Ignores this TestFixture, specifying the reason. + </summary> + <param name="reason">The reason.</param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.TestParameters"> + <summary> + TestParameters class holds any named parameters supplied to the test run + </summary> + </member> + <member name="P:NUnit.Framework.TestParameters.Count"> + <summary> + Gets the number of test parameters + </summary> + </member> + <member name="P:NUnit.Framework.TestParameters.Names"> + <summary> + Gets a collection of the test parameter names + </summary> + </member> + <member name="M:NUnit.Framework.TestParameters.Exists(System.String)"> + <summary> + Gets a flag indicating whether a parameter with the specified name exists. + </summary> + <param name="name">Name of the parameter</param> + <returns>True if it exists, otherwise false</returns> + </member> + <member name="P:NUnit.Framework.TestParameters.Item(System.String)"> + <summary> + Indexer provides access to the internal dictionary + </summary> + <param name="name">Name of the parameter</param> + <returns>Value of the parameter or null if not present</returns> + </member> + <member name="M:NUnit.Framework.TestParameters.Get(System.String)"> + <summary> + Get method is a simple alternative to the indexer + </summary> + <param name="name">Name of the parameter</param> + <returns>Value of the parameter or null if not present</returns> + </member> + <member name="M:NUnit.Framework.TestParameters.Get(System.String,System.String)"> + <summary> + Get the value of a parameter or a default string + </summary> + <param name="name">Name of the parameter</param> + <param name="defaultValue">Default value of the parameter</param> + <returns>Value of the parameter or default value if not present</returns> + </member> + <member name="M:NUnit.Framework.TestParameters.Get``1(System.String,``0)"> + <summary> + Get the value of a parameter or return a default + </summary> + <typeparam name="T">The return Type</typeparam> + <param name="name">Name of the parameter</param> + <param name="defaultValue">Default value of the parameter</param> + <returns>Value of the parameter or default value if not present</returns> + </member> + <member name="M:NUnit.Framework.TestParameters.Add(System.String,System.String)"> + <summary> + Adds a parameter to the list + </summary> + <param name="name">Name of the parameter</param> + <param name="value">Value of the parameter</param> + </member> + <member name="T:NUnit.Framework.Throws"> + <summary> + Helper class with properties and methods that supply + constraints that operate on exceptions. + </summary> + </member> + <member name="P:NUnit.Framework.Throws.Exception"> + <summary> + Creates a constraint specifying an expected exception + </summary> + </member> + <member name="P:NUnit.Framework.Throws.InnerException"> + <summary> + Creates a constraint specifying an exception with a given InnerException + </summary> + </member> + <member name="P:NUnit.Framework.Throws.TargetInvocationException"> + <summary> + Creates a constraint specifying an expected TargetInvocationException + </summary> + </member> + <member name="P:NUnit.Framework.Throws.ArgumentException"> + <summary> + Creates a constraint specifying an expected ArgumentException + </summary> + </member> + <member name="P:NUnit.Framework.Throws.ArgumentNullException"> + <summary> + Creates a constraint specifying an expected ArgumentNullException + </summary> + </member> + <member name="P:NUnit.Framework.Throws.InvalidOperationException"> + <summary> + Creates a constraint specifying an expected InvalidOperationException + </summary> + </member> + <member name="P:NUnit.Framework.Throws.Nothing"> + <summary> + Creates a constraint specifying that no exception is thrown + </summary> + </member> + <member name="M:NUnit.Framework.Throws.TypeOf(System.Type)"> + <summary> + Creates a constraint specifying the exact type of exception expected + </summary> + </member> + <member name="M:NUnit.Framework.Throws.TypeOf``1"> + <summary> + Creates a constraint specifying the exact type of exception expected + </summary> + </member> + <member name="M:NUnit.Framework.Throws.InstanceOf(System.Type)"> + <summary> + Creates a constraint specifying the type of exception expected + </summary> + </member> + <member name="M:NUnit.Framework.Throws.InstanceOf``1"> + <summary> + Creates a constraint specifying the type of exception expected + </summary> + </member> + <member name="T:NUnit.Framework.Warn"> + <summary> + Provides static methods to express conditions + that must be met for the test to succeed. If + any test fails, a warning is issued. + </summary> + </member> + <member name="M:NUnit.Framework.Warn.Equals(System.Object,System.Object)"> + <summary> + DO NOT USE! + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + </summary> + <param name="a">The left object.</param> + <param name="b">The right object.</param> + <returns>Not applicable</returns> + </member> + <member name="M:NUnit.Framework.Warn.ReferenceEquals(System.Object,System.Object)"> + <summary> + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + </summary> + <param name="a">The left object.</param> + <param name="b">The right object.</param> + </member> + <member name="M:NUnit.Framework.Warn.Unless``1(NUnit.Framework.Constraints.ActualValueDelegate{``0},NUnit.Framework.Constraints.IResolveConstraint)"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="del">An ActualValueDelegate returning the value to be tested</param> + <param name="expr">A Constraint expression to be applied</param> + </member> + <member name="M:NUnit.Framework.Warn.Unless``1(NUnit.Framework.Constraints.ActualValueDelegate{``0},NUnit.Framework.Constraints.IResolveConstraint,System.String,System.Object[])"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="del">An ActualValueDelegate returning the value to be tested</param> + <param name="expr">A Constraint expression to be applied</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Warn.Unless``1(NUnit.Framework.Constraints.ActualValueDelegate{``0},NUnit.Framework.Constraints.IResolveConstraint,System.Func{System.String})"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="del">An ActualValueDelegate returning the value to be tested</param> + <param name="expr">A Constraint expression to be applied</param> + <param name="getExceptionMessage">A function to build the message included with the Exception</param> + </member> + <member name="M:NUnit.Framework.Warn.Unless(System.Boolean,System.String,System.Object[])"> + <summary> + Asserts that a condition is true. If the condition is false, a warning is issued. + </summary> + <param name="condition">The evaluated condition</param> + <param name="message">The message to display if the condition is false</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Warn.Unless(System.Boolean)"> + <summary> + Asserts that a condition is true. If the condition is false, a warning is issued. + </summary> + <param name="condition">The evaluated condition</param> + </member> + <member name="M:NUnit.Framework.Warn.Unless(System.Boolean,System.Func{System.String})"> + <summary> + Asserts that a condition is true. If the condition is false, a warning is issued. + </summary> + <param name="condition">The evaluated condition</param> + <param name="getExceptionMessage">A function to build the message included with the Exception</param> + </member> + <member name="M:NUnit.Framework.Warn.Unless(System.Func{System.Boolean},System.String,System.Object[])"> + <summary> + Asserts that a condition is true. If the condition is false, a warning is issued. + </summary> + <param name="condition">A lambda that returns a Boolean</param> + <param name="message">The message to display if the condition is false</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Warn.Unless(System.Func{System.Boolean})"> + <summary> + Asserts that a condition is true. If the condition is false, a warning is issued. + </summary> + <param name="condition">A lambda that returns a Boolean</param> + </member> + <member name="M:NUnit.Framework.Warn.Unless(System.Func{System.Boolean},System.Func{System.String})"> + <summary> + Asserts that a condition is true. If the condition is false, a warning is issued. + </summary> + <param name="condition">A lambda that returns a Boolean</param> + <param name="getExceptionMessage">A function to build the message included with the Exception</param> + </member> + <member name="M:NUnit.Framework.Warn.Unless(NUnit.Framework.TestDelegate,NUnit.Framework.Constraints.IResolveConstraint)"> + <summary> + Asserts that the code represented by a delegate throws an exception + that satisfies the constraint provided. + </summary> + <param name="code">A TestDelegate to be executed</param> + <param name="constraint">A Constraint expression to be applied</param> + </member> + <member name="M:NUnit.Framework.Warn.Unless``1(``0,NUnit.Framework.Constraints.IResolveConstraint)"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="actual">The actual value to test</param> + <param name="expression">A Constraint expression to be applied</param> + </member> + <member name="M:NUnit.Framework.Warn.Unless``1(``0,NUnit.Framework.Constraints.IResolveConstraint,System.String,System.Object[])"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="actual">The actual value to test</param> + <param name="expression">A Constraint expression to be applied</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Warn.Unless``1(``0,NUnit.Framework.Constraints.IResolveConstraint,System.Func{System.String})"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="actual">The actual value to test</param> + <param name="expression">A Constraint expression to be applied</param> + <param name="getExceptionMessage">A function to build the message included with the Exception</param> + </member> + <member name="M:NUnit.Framework.Warn.If``1(NUnit.Framework.Constraints.ActualValueDelegate{``0},NUnit.Framework.Constraints.IResolveConstraint)"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + fails and issuing a warning on success. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="del">An ActualValueDelegate returning the value to be tested</param> + <param name="expr">A Constraint expression to be applied</param> + </member> + <member name="M:NUnit.Framework.Warn.If``1(NUnit.Framework.Constraints.ActualValueDelegate{``0},NUnit.Framework.Constraints.IResolveConstraint,System.String,System.Object[])"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + fails and issuing a warning on success. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="del">An ActualValueDelegate returning the value to be tested</param> + <param name="expr">A Constraint expression to be applied</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Warn.If``1(NUnit.Framework.Constraints.ActualValueDelegate{``0},NUnit.Framework.Constraints.IResolveConstraint,System.Func{System.String})"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + fails and issuing a warning on failure. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="del">An ActualValueDelegate returning the value to be tested</param> + <param name="expr">A Constraint expression to be applied</param> + <param name="getExceptionMessage">A function to build the message included with the Exception</param> + </member> + <member name="M:NUnit.Framework.Warn.If(System.Boolean,System.String,System.Object[])"> + <summary> + Asserts that a condition is true. If the condition is false, a warning is issued. + </summary> + <param name="condition">The evaluated condition</param> + <param name="message">The message to display if the condition is false</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Warn.If(System.Boolean)"> + <summary> + Asserts that a condition is true. If the condition is false, a warning is issued. + </summary> + <param name="condition">The evaluated condition</param> + </member> + <member name="M:NUnit.Framework.Warn.If(System.Boolean,System.Func{System.String})"> + <summary> + Asserts that a condition is true. If the condition is false, a warning is issued. + </summary> + <param name="condition">The evaluated condition</param> + <param name="getExceptionMessage">A function to build the message included with the Exception</param> + </member> + <member name="M:NUnit.Framework.Warn.If(System.Func{System.Boolean},System.String,System.Object[])"> + <summary> + Asserts that a condition is false. If the condition is true a warning is issued. + </summary> + <param name="condition">A lambda that returns a Boolean</param> + <param name="message">The message to display if the condition is true</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Warn.If(System.Func{System.Boolean})"> + <summary> + Asserts that a condition is false. If the condition is true a warning is issued. + </summary> + <param name="condition">A lambda that returns a Boolean</param> + </member> + <member name="M:NUnit.Framework.Warn.If(System.Func{System.Boolean},System.Func{System.String})"> + <summary> + Asserts that a condition is false. If the condition is true a warning is issued. + </summary> + <param name="condition">A lambda that returns a Boolean</param> + <param name="getExceptionMessage">A function to build the message included with the Exception</param> + </member> + <member name="M:NUnit.Framework.Warn.If``1(``0,NUnit.Framework.Constraints.IResolveConstraint)"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + fails and issuing a warning if it succeeds. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="actual">The actual value to test</param> + <param name="expression">A Constraint expression to be applied</param> + </member> + <member name="M:NUnit.Framework.Warn.If``1(``0,NUnit.Framework.Constraints.IResolveConstraint,System.String,System.Object[])"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + fails and issuing a warning if it succeeds. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="actual">The actual value to test</param> + <param name="expression">A Constraint expression to be applied</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Warn.If``1(``0,NUnit.Framework.Constraints.IResolveConstraint,System.Func{System.String})"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="actual">The actual value to test</param> + <param name="expression">A Constraint expression to be applied</param> + <param name="getExceptionMessage">A function to build the message included with the Exception</param> + </member> + <member name="T:NUnit.FrameworkPackageSettings"> + <summary> + 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. + </summary> + </member> + <member name="F:NUnit.FrameworkPackageSettings.DebugTests"> + <summary> + Flag (bool) indicating whether tests are being debugged. + </summary> + </member> + <member name="F:NUnit.FrameworkPackageSettings.PauseBeforeRun"> + <summary> + Flag (bool) indicating whether to pause execution of tests to allow + the user to attach a debugger. + </summary> + </member> + <member name="F:NUnit.FrameworkPackageSettings.InternalTraceLevel"> + <summary> + The InternalTraceLevel for this run. Values are: "Default", + "Off", "Error", "Warning", "Info", "Debug", "Verbose". + Default is "Off". "Debug" and "Verbose" are synonyms. + </summary> + </member> + <member name="F:NUnit.FrameworkPackageSettings.WorkDirectory"> + <summary> + Full path of the directory to be used for work and result files. + This path is provided to tests by the framework TestContext. + </summary> + </member> + <member name="F:NUnit.FrameworkPackageSettings.DefaultTimeout"> + <summary> + 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. + </summary> + </member> + <member name="F:NUnit.FrameworkPackageSettings.DefaultCulture"> + <summary> + 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. + </summary> + </member> + <member name="F:NUnit.FrameworkPackageSettings.DefaultUICulture"> + <summary> + 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. + </summary> + </member> + <member name="F:NUnit.FrameworkPackageSettings.InternalTraceWriter"> + <summary> + A TextWriter to which the internal trace will be sent. + </summary> + </member> + <member name="F:NUnit.FrameworkPackageSettings.LOAD"> + <summary> + A list of tests to be loaded. + </summary> + </member> + <member name="F:NUnit.FrameworkPackageSettings.NumberOfTestWorkers"> + <summary> + 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. + </summary> + </member> + <member name="F:NUnit.FrameworkPackageSettings.RandomSeed"> + <summary> + 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. + </summary> + </member> + <member name="F:NUnit.FrameworkPackageSettings.StopOnError"> + <summary> + If true, execution stops after the first error or failure. + </summary> + </member> + <member name="F:NUnit.FrameworkPackageSettings.SynchronousEvents"> + <summary> + If true, use of the event queue is suppressed and test events are synchronous. + </summary> + </member> + <member name="F:NUnit.FrameworkPackageSettings.DefaultTestNamePattern"> + <summary> + The default naming pattern used in generating test names + </summary> + </member> + <member name="F:NUnit.FrameworkPackageSettings.TestParameters"> + <summary> + Parameters to be passed on to the tests, serialized to a single string which needs parsing. Obsoleted by <see cref="F:NUnit.FrameworkPackageSettings.TestParametersDictionary"/>; kept for backward compatibility. + </summary> + </member> + <member name="F:NUnit.FrameworkPackageSettings.TestParametersDictionary"> + <summary> + Parameters to be passed on to the tests, already parsed into an IDictionary<string, string>. Replaces <see cref="F:NUnit.FrameworkPackageSettings.TestParameters"/>. + </summary> + </member> + <member name="F:NUnit.FrameworkPackageSettings.RunOnMainThread"> + <summary> + If true, the tests will run on the same thread as the NUnit runner itself + </summary> + </member> + <member name="T:NUnit.Compatibility.AttributeHelper"> + <summary> + Provides a platform-independent methods for getting attributes + for use by AttributeConstraint and AttributeExistsConstraint. + </summary> + </member> + <member name="M:NUnit.Compatibility.AttributeHelper.GetCustomAttributes(System.Object,System.Type,System.Boolean)"> + <summary> + Gets the custom attributes from the given object. + </summary> + <param name="actual">The actual.</param> + <param name="attributeType">Type of the attribute.</param> + <param name="inherit">if set to <see langword="true"/> [inherit].</param> + <returns>A list of the given attribute on the given object.</returns> + </member> + <member name="T:NUnit.Compatibility.LongLivedMarshalByRefObject"> + <summary> + A MarshalByRefObject that lives forever + </summary> + </member> + <member name="M:NUnit.Compatibility.LongLivedMarshalByRefObject.InitializeLifetimeService"> + <summary> + Obtains a lifetime service object to control the lifetime policy for this instance. + </summary> + </member> + <member name="T:NUnit.Compatibility.TypeExtensions"> + <summary> + Provides NUnit specific extensions to aid in Reflection + across multiple frameworks + </summary> + <remarks> + This version of the class supplies GetTypeInfo() on platforms + that don't support it. + </remarks> + </member> + <member name="M:NUnit.Compatibility.TypeExtensions.GetTypeInfo(System.Type)"> + <summary> + 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. + </summary> + <param name="type"></param> + <returns></returns> + </member> + <member name="M:NUnit.Compatibility.TypeExtensions.GetMethodInfo(System.Delegate)"> + <summary> + See <see cref="M:System.Delegate.CreateDelegate(System.Type,System.Reflection.MethodInfo)"/>. + </summary> + </member> + <member name="T:NUnit.Compatibility.AssemblyExtensions"> + <summary> + Extensions for Assembly that are not available in pre-4.5 .NET releases + </summary> + </member> + <member name="M:NUnit.Compatibility.AssemblyExtensions.GetCustomAttribute``1(System.Reflection.Assembly)"> + <summary> + An easy way to get a single custom attribute from an assembly + </summary> + <typeparam name="T">The attribute Type</typeparam> + <param name="assembly">The assembly</param> + <returns>An attribute of Type T</returns> + </member> + <member name="T:NUnit.Compatibility.MethodInfoExtensions"> + <summary> + Extensions for MethodInfo that are not available in pre-4.5 .NET releases + </summary> + </member> + <member name="M:NUnit.Compatibility.MethodInfoExtensions.CreateDelegate(System.Reflection.MethodInfo,System.Type)"> + <summary> + See <see cref="M:System.Delegate.CreateDelegate(System.Type,System.Reflection.MethodInfo)"/>. + </summary> + </member> + <member name="M:NUnit.Compatibility.MethodInfoExtensions.CreateDelegate(System.Reflection.MethodInfo,System.Type,System.Object)"> + <summary> + See <see cref="M:System.Delegate.CreateDelegate(System.Type,System.Object,System.Reflection.MethodInfo)"/>. + </summary> + </member> + <member name="T:System.Collections.Concurrent.ConcurrentQueue`1"> + <summary> + Represents a thread-safe first-in, first-out collection of objects. + </summary> + <typeparam name="T">Specifies the type of elements in the queue.</typeparam> + <remarks> + All public and protected members of <see cref="T:System.Collections.Concurrent.ConcurrentQueue`1"/> are thread-safe and may be used + concurrently from multiple threads. + </remarks> + </member> + <member name="M:System.Collections.Concurrent.ConcurrentQueue`1.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:System.Collections.Concurrent.ConcurrentQueue`1"/> class. + </summary> + </member> + <member name="M:System.Collections.Concurrent.ConcurrentQueue`1.InitializeFromCollection(System.Collections.Generic.IEnumerable{`0})"> + <summary> + Initializes the contents of the queue from an existing collection. + </summary> + <param name="collection">A collection from which to copy elements.</param> + </member> + <member name="M:System.Collections.Concurrent.ConcurrentQueue`1.#ctor(System.Collections.Generic.IEnumerable{`0})"> + <summary> + Initializes a new instance of the <see cref="T:System.Collections.Concurrent.ConcurrentQueue`1"/> + class that contains elements copied from the specified collection + </summary> + <param name="collection">The collection whose elements are copied to the new <see + cref="T:System.Collections.Concurrent.ConcurrentQueue`1"/>.</param> + <exception cref="T:System.ArgumentNullException">The <paramref name="collection"/> argument is + null.</exception> + </member> + <member name="M:System.Collections.Concurrent.ConcurrentQueue`1.OnSerializing(System.Runtime.Serialization.StreamingContext)"> + <summary> + Get the data array to be serialized + </summary> + </member> + <member name="M:System.Collections.Concurrent.ConcurrentQueue`1.OnDeserialized(System.Runtime.Serialization.StreamingContext)"> + <summary> + Construct the queue from a previously serialized one. + </summary> + </member> + <member name="M:System.Collections.Concurrent.ConcurrentQueue`1.System#Collections#ICollection#CopyTo(System.Array,System.Int32)"> + <summary> + Copies the elements of the <see cref="T:System.Collections.ICollection"/> to an <see + cref="T:System.Array"/>, starting at a particular + <see cref="T:System.Array"/> index. + </summary> + <param name="array">The one-dimensional <see cref="T:System.Array">Array</see> that is the + destination of the elements copied from the + <see cref="T:System.Collections.Concurrent.ConcurrentBag"/>. The <see + cref="T:System.Array">Array</see> must have zero-based indexing.</param> + <param name="index">The zero-based index in <paramref name="array"/> at which copying + begins.</param> + <exception cref="T:System.ArgumentNullException"><paramref name="array"/> is a null reference (Nothing in + Visual Basic).</exception> + <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="index"/> is less than + zero.</exception> + <exception cref="T:System.ArgumentException"> + <paramref name="array"/> is multidimensional. -or- + <paramref name="array"/> does not have zero-based indexing. -or- + <paramref name="index"/> is equal to or greater than the length of the <paramref name="array"/> + -or- The number of elements in the source <see cref="T:System.Collections.ICollection"/> is + greater than the available space from <paramref name="index"/> to the end of the destination + <paramref name="array"/>. -or- The type of the source <see + cref="T:System.Collections.ICollection"/> cannot be cast automatically to the type of the + destination <paramref name="array"/>. + </exception> + </member> + <member name="P:System.Collections.Concurrent.ConcurrentQueue`1.System#Collections#ICollection#IsSynchronized"> + <summary> + Gets a value indicating whether access to the <see cref="T:System.Collections.ICollection"/> is + synchronized with the SyncRoot. + </summary> + <value>true if access to the <see cref="T:System.Collections.ICollection"/> is synchronized + with the SyncRoot; otherwise, false. For <see cref="T:System.Collections.Concurrent.ConcurrentQueue`1"/>, this property always + returns false.</value> + </member> + <member name="P:System.Collections.Concurrent.ConcurrentQueue`1.System#Collections#ICollection#SyncRoot"> + <summary> + Gets an object that can be used to synchronize access to the <see + cref="T:System.Collections.ICollection"/>. This property is not supported. + </summary> + <exception cref="T:System.NotSupportedException">The SyncRoot property is not supported.</exception> + </member> + <member name="M:System.Collections.Concurrent.ConcurrentQueue`1.System#Collections#IEnumerable#GetEnumerator"> + <summary> + Returns an enumerator that iterates through a collection. + </summary> + <returns>An <see cref="T:System.Collections.IEnumerator"/> that can be used to iterate through the collection.</returns> + </member> + <member name="M:System.Collections.Concurrent.ConcurrentQueue`1.System#Collections#Concurrent#IProducerConsumerCollection{T}#TryAdd(`0)"> + <summary> + Attempts to add an object to the <see + cref="T:System.Collections.Concurrent.IProducerConsumerCollection{T}"/>. + </summary> + <param name="item">The object to add to the <see + cref="T:System.Collections.Concurrent.IProducerConsumerCollection{T}"/>. The value can be a null + reference (Nothing in Visual Basic) for reference types. + </param> + <returns>true if the object was added successfully; otherwise, false.</returns> + <remarks>For <see cref="T:System.Collections.Concurrent.ConcurrentQueue`1"/>, this operation will always add the object to the + end of the <see cref="T:System.Collections.Concurrent.ConcurrentQueue`1"/> + and return true.</remarks> + </member> + <member name="M:System.Collections.Concurrent.ConcurrentQueue`1.System#Collections#Concurrent#IProducerConsumerCollection{T}#TryTake(`0@)"> + <summary> + Attempts to remove and return an object from the <see + cref="T:System.Collections.Concurrent.IProducerConsumerCollection{T}"/>. + </summary> + <param name="item"> + When this method returns, if the operation was successful, <paramref name="item"/> contains the + object removed. If no object was available to be removed, the value is unspecified. + </param> + <returns>true if an element was removed and returned successfully; otherwise, false.</returns> + <remarks>For <see cref="T:System.Collections.Concurrent.ConcurrentQueue`1"/>, this operation will attempt to remove the object + from the beginning of the <see cref="T:System.Collections.Concurrent.ConcurrentQueue`1"/>. + </remarks> + </member> + <member name="P:System.Collections.Concurrent.ConcurrentQueue`1.IsEmpty"> + <summary> + Gets a value that indicates whether the <see cref="T:System.Collections.Concurrent.ConcurrentQueue`1"/> is empty. + </summary> + <value>true if the <see cref="T:System.Collections.Concurrent.ConcurrentQueue`1"/> is empty; otherwise, false.</value> + <remarks> + For determining whether the collection contains any items, use of this property is recommended + rather than retrieving the number of items from the <see cref="P:System.Collections.Concurrent.ConcurrentQueue`1.Count"/> 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 <see cref="P:System.Collections.Concurrent.ConcurrentQueue`1.IsEmpty"/> returns, thus invalidating + the result. + </remarks> + </member> + <member name="M:System.Collections.Concurrent.ConcurrentQueue`1.ToArray"> + <summary> + Copies the elements stored in the <see cref="T:System.Collections.Concurrent.ConcurrentQueue`1"/> to a new array. + </summary> + <returns>A new array containing a snapshot of elements copied from the <see + cref="T:System.Collections.Concurrent.ConcurrentQueue`1"/>.</returns> + </member> + <member name="M:System.Collections.Concurrent.ConcurrentQueue`1.ToList"> + <summary> + Copies the <see cref="T:System.Collections.Concurrent.ConcurrentQueue`1"/> elements to a new <see + cref="T:System.Collections.Generic.List{T}"/>. + </summary> + <returns>A new <see cref="T:System.Collections.Generic.List{T}"/> containing a snapshot of + elements copied from the <see cref="T:System.Collections.Concurrent.ConcurrentQueue`1"/>.</returns> + </member> + <member name="M:System.Collections.Concurrent.ConcurrentQueue`1.GetHeadTailPositions(System.Collections.Concurrent.ConcurrentQueue{`0}.Segment@,System.Collections.Concurrent.ConcurrentQueue{`0}.Segment@,System.Int32@,System.Int32@)"> + <summary> + Store the position of the current head and tail positions. + </summary> + <param name="head">return the head segment</param> + <param name="tail">return the tail segment</param> + <param name="headLow">return the head offset, value range [0, SEGMENT_SIZE]</param> + <param name="tailHigh">return the tail offset, value range [-1, SEGMENT_SIZE-1]</param> + </member> + <member name="P:System.Collections.Concurrent.ConcurrentQueue`1.Count"> + <summary> + Gets the number of elements contained in the <see cref="T:System.Collections.Concurrent.ConcurrentQueue`1"/>. + </summary> + <value>The number of elements contained in the <see cref="T:System.Collections.Concurrent.ConcurrentQueue`1"/>.</value> + <remarks> + For determining whether the collection contains any items, use of the <see cref="P:System.Collections.Concurrent.ConcurrentQueue`1.IsEmpty"/> + property is recommended rather than retrieving the number of items from the <see cref="P:System.Collections.Concurrent.ConcurrentQueue`1.Count"/> + property and comparing it to 0. + </remarks> + </member> + <member name="M:System.Collections.Concurrent.ConcurrentQueue`1.CopyTo(`0[],System.Int32)"> + <summary> + Copies the <see cref="T:System.Collections.Concurrent.ConcurrentQueue`1"/> elements to an existing one-dimensional <see + cref="T:System.Array">Array</see>, starting at the specified array index. + </summary> + <param name="array">The one-dimensional <see cref="T:System.Array">Array</see> that is the + destination of the elements copied from the + <see cref="T:System.Collections.Concurrent.ConcurrentQueue`1"/>. The <see cref="T:System.Array">Array</see> must have zero-based + indexing.</param> + <param name="index">The zero-based index in <paramref name="array"/> at which copying + begins.</param> + <exception cref="T:System.ArgumentNullException"><paramref name="array"/> is a null reference (Nothing in + Visual Basic).</exception> + <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="index"/> is less than + zero.</exception> + <exception cref="T:System.ArgumentException"><paramref name="index"/> is equal to or greater than the + length of the <paramref name="array"/> + -or- The number of elements in the source <see cref="T:System.Collections.Concurrent.ConcurrentQueue`1"/> is greater than the + available space from <paramref name="index"/> to the end of the destination <paramref + name="array"/>. + </exception> + </member> + <member name="M:System.Collections.Concurrent.ConcurrentQueue`1.GetEnumerator"> + <summary> + Returns an enumerator that iterates through the <see + cref="T:System.Collections.Concurrent.ConcurrentQueue`1"/>. + </summary> + <returns>An enumerator for the contents of the <see + cref="T:System.Collections.Concurrent.ConcurrentQueue`1"/>.</returns> + <remarks> + 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. + </remarks> + </member> + <member name="M:System.Collections.Concurrent.ConcurrentQueue`1.GetEnumerator(System.Collections.Concurrent.ConcurrentQueue{`0}.Segment,System.Collections.Concurrent.ConcurrentQueue{`0}.Segment,System.Int32,System.Int32)"> + <summary> + Helper method of GetEnumerator to separate out yield return statement, and prevent lazy evaluation. + </summary> + </member> + <member name="M:System.Collections.Concurrent.ConcurrentQueue`1.Enqueue(`0)"> + <summary> + Adds an object to the end of the <see cref="T:System.Collections.Concurrent.ConcurrentQueue`1"/>. + </summary> + <param name="item">The object to add to the end of the <see + cref="T:System.Collections.Concurrent.ConcurrentQueue`1"/>. The value can be a null reference + (Nothing in Visual Basic) for reference types. + </param> + </member> + <member name="M:System.Collections.Concurrent.ConcurrentQueue`1.TryDequeue(`0@)"> + <summary> + Attempts to remove and return the object at the beginning of the <see + cref="T:System.Collections.Concurrent.ConcurrentQueue`1"/>. + </summary> + <param name="result"> + When this method returns, if the operation was successful, <paramref name="result"/> contains the + object removed. If no object was available to be removed, the value is unspecified. + </param> + <returns>true if an element was removed and returned from the beginning of the <see + cref="T:System.Collections.Concurrent.ConcurrentQueue`1"/> + successfully; otherwise, false.</returns> + </member> + <member name="M:System.Collections.Concurrent.ConcurrentQueue`1.TryPeek(`0@)"> + <summary> + Attempts to return an object from the beginning of the <see cref="T:System.Collections.Concurrent.ConcurrentQueue`1"/> + without removing it. + </summary> + <param name="result">When this method returns, <paramref name="result"/> contains an object from + the beginning of the <see cref="T:System.Collections.Concurrent.ConccurrentQueue{T}"/> or an + unspecified value if the operation failed.</param> + <returns>true if and object was returned successfully; otherwise, false.</returns> + </member> + <member name="T:System.Collections.Concurrent.ConcurrentQueue`1.Segment"> + <summary> + 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. + </summary> + </member> + <member name="M:System.Collections.Concurrent.ConcurrentQueue`1.Segment.#ctor(System.Int64,System.Collections.Concurrent.ConcurrentQueue{`0})"> + <summary> + Create and initialize a segment with the specified index. + </summary> + </member> + <member name="P:System.Collections.Concurrent.ConcurrentQueue`1.Segment.Next"> + <summary> + return the next segment + </summary> + </member> + <member name="P:System.Collections.Concurrent.ConcurrentQueue`1.Segment.IsEmpty"> + <summary> + return true if the current segment is empty (doesn't have any element available to dequeue, + false otherwise + </summary> + </member> + <member name="M:System.Collections.Concurrent.ConcurrentQueue`1.Segment.UnsafeAdd(`0)"> + <summary> + 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. + </summary> + <param name="value"></param> + </member> + <member name="M:System.Collections.Concurrent.ConcurrentQueue`1.Segment.UnsafeGrow"> + <summary> + 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 + </summary> + <returns>the reference to the new Segment</returns> + </member> + <member name="M:System.Collections.Concurrent.ConcurrentQueue`1.Segment.Grow"> + <summary> + Create a new segment and append to the current one + Update the m_tail pointer + This method is called when there is no contention + </summary> + </member> + <member name="M:System.Collections.Concurrent.ConcurrentQueue`1.Segment.TryAppend(`0)"> + <summary> + Try to append an element at the end of this segment. + </summary> + <param name="value">the element to append</param> + <returns>true if the element is appended, false if the current segment is full</returns> + <remarks>if appending the specified element succeeds, and after which the segment is full, + then grow the segment</remarks> + </member> + <member name="M:System.Collections.Concurrent.ConcurrentQueue`1.Segment.TryRemove(`0@)"> + <summary> + try to remove an element from the head of current segment + </summary> + <param name="result">The result.</param> + <returns>return false only if the current segment is empty</returns> + </member> + <member name="M:System.Collections.Concurrent.ConcurrentQueue`1.Segment.TryPeek(`0@)"> + <summary> + try to peek the current segment + </summary> + <param name="result">holds the return value of the element at the head position, + value set to default(T) if there is no such an element</param> + <returns>true if there are elements in the current segment, false otherwise</returns> + </member> + <member name="M:System.Collections.Concurrent.ConcurrentQueue`1.Segment.AddToList(System.Collections.Generic.List{`0},System.Int32,System.Int32)"> + <summary> + Adds part or all of the current segment into a List. + </summary> + <param name="list">the list to which to add</param> + <param name="start">the start position</param> + <param name="end">the end position</param> + </member> + <member name="P:System.Collections.Concurrent.ConcurrentQueue`1.Segment.Low"> + <summary> + 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 + </summary> + </member> + <member name="P:System.Collections.Concurrent.ConcurrentQueue`1.Segment.High"> + <summary> + 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 + </summary> + </member> + <member name="T:System.Collections.Concurrent.VolatileBool"> + <summary> + A wrapper struct for volatile bool. Please note that a copy of the struct itself will not be volatile, e.g. + <c>volatileBool1 = volatileBool2</c>. + </summary> + </member> + <member name="T:System.Collections.Concurrent.IProducerConsumerCollection`1"> + <summary> + Defines methods to manipulate thread-safe collections intended for producer/consumer usage. + </summary> + <typeparam name="T">Specifies the type of elements in the collection.</typeparam> + <remarks> + All implementations of this interface must enable all members of this interface + to be used concurrently from multiple threads. + </remarks> + </member> + <member name="M:System.Collections.Concurrent.IProducerConsumerCollection`1.CopyTo(`0[],System.Int32)"> + <summary> + Copies the elements of the <see cref="T:System.Collections.Concurrent.IProducerConsumerCollection`1"/> to + an + <see cref="T:System.Array"/>, starting at a specified index. + </summary> + <param name="array">The one-dimensional <see cref="T:System.Array"/> that is the destination of + the elements copied from the <see cref="T:System.Collections.Concurrent.IProducerConsumerCollection`1"/>. + The array must have zero-based indexing.</param> + <param name="index">The zero-based index in <paramref name="array"/> at which copying + begins.</param> + <exception cref="T:System.ArgumentNullException"><paramref name="array"/> is a null reference (Nothing in + Visual Basic).</exception> + <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="index"/> is less than + zero.</exception> + <exception cref="T:System.ArgumentException"><paramref name="index"/> is equal to or greater than the + length of the <paramref name="array"/> + -or- The number of elements in the source <see cref="T:System.Collections.Concurrent.ConcurrentQueue`1"/> is greater than the + available space from <paramref name="index"/> to the end of the destination <paramref + name="array"/>. + </exception> + </member> + <member name="M:System.Collections.Concurrent.IProducerConsumerCollection`1.TryAdd(`0)"> + <summary> + Attempts to add an object to the <see + cref="T:System.Collections.Concurrent.IProducerConsumerCollection`1"/>. + </summary> + <param name="item">The object to add to the <see + cref="T:System.Collections.Concurrent.IProducerConsumerCollection`1"/>.</param> + <returns>true if the object was added successfully; otherwise, false.</returns> + <exception cref="T:System.ArgumentException">The <paramref name="item"/> was invalid for this collection.</exception> + </member> + <member name="M:System.Collections.Concurrent.IProducerConsumerCollection`1.TryTake(`0@)"> + <summary> + Attempts to remove and return an object from the <see cref="T:System.Collections.Concurrent.IProducerConsumerCollection`1"/>. + </summary> + <param name="item"> + When this method returns, if the object was removed and returned successfully, <paramref + name="item"/> contains the removed object. If no object was available to be removed, the value is + unspecified. + </param> + <returns>true if an object was removed and returned successfully; otherwise, false.</returns> + </member> + <member name="M:System.Collections.Concurrent.IProducerConsumerCollection`1.ToArray"> + <summary> + Copies the elements contained in the <see cref="T:System.Collections.Concurrent.IProducerConsumerCollection`1"/> to a new array. + </summary> + <returns>A new array containing the elements copied from the <see cref="T:System.Collections.Concurrent.IProducerConsumerCollection`1"/>.</returns> + </member> + <member name="T:System.Collections.Concurrent.SystemCollectionsConcurrent_ProducerConsumerCollectionDebugView`1"> + <summary> + A debugger view of the IProducerConsumerCollection that makes it simple to browse the + collection's contents at a point in time. + </summary> + <typeparam name="T">The type of elements stored within.</typeparam> + </member> + <member name="M:System.Collections.Concurrent.SystemCollectionsConcurrent_ProducerConsumerCollectionDebugView`1.#ctor(System.Collections.Concurrent.IProducerConsumerCollection{`0})"> + <summary> + Constructs a new debugger view object for the provided collection object. + </summary> + <param name="collection">A collection to browse in the debugger.</param> + </member> + <member name="P:System.Collections.Concurrent.SystemCollectionsConcurrent_ProducerConsumerCollectionDebugView`1.Items"> + <summary> + Returns a snapshot of the underlying collection's elements. + </summary> + </member> + <member name="T:System.Diagnostics.CodeAnalysis.AllowNullAttribute"> + <summary>Specifies that null is allowed as an input even if the corresponding type disallows it.</summary> + </member> + <member name="T:System.Diagnostics.CodeAnalysis.DisallowNullAttribute"> + <summary>Specifies that null is disallowed as an input even if the corresponding type allows it.</summary> + </member> + <member name="T:System.Diagnostics.CodeAnalysis.MaybeNullAttribute"> + <summary>Specifies that an output may be null even if the corresponding type disallows it.</summary> + </member> + <member name="T:System.Diagnostics.CodeAnalysis.NotNullAttribute"> + <summary>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.</summary> + </member> + <member name="T:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute"> + <summary>Specifies that when a method returns <see cref="P:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute.ReturnValue"/>, the parameter may be null even if the corresponding type disallows it.</summary> + </member> + <member name="M:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute.#ctor(System.Boolean)"> + <summary>Initializes the attribute with the specified return value condition.</summary> + <param name="returnValue"> + The return value condition. If the method returns this value, the associated parameter may be null. + </param> + </member> + <member name="P:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute.ReturnValue"> + <summary>Gets the return value condition.</summary> + </member> + <member name="T:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute"> + <summary>Specifies that when a method returns <see cref="P:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute.ReturnValue"/>, the parameter will not be null even if the corresponding type allows it.</summary> + </member> + <member name="M:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute.#ctor(System.Boolean)"> + <summary>Initializes the attribute with the specified return value condition.</summary> + <param name="returnValue"> + The return value condition. If the method returns this value, the associated parameter will not be null. + </param> + </member> + <member name="P:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute.ReturnValue"> + <summary>Gets the return value condition.</summary> + </member> + <member name="T:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute"> + <summary>Specifies that the output will be non-null if the named parameter is non-null.</summary> + </member> + <member name="M:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute.#ctor(System.String)"> + <summary>Initializes the attribute with the associated parameter name.</summary> + <param name="parameterName"> + The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null. + </param> + </member> + <member name="P:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute.ParameterName"> + <summary>Gets the associated parameter name.</summary> + </member> + <member name="T:System.Diagnostics.CodeAnalysis.DoesNotReturnAttribute"> + <summary>Applied to a method that will never return under any circumstance.</summary> + </member> + <member name="T:System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute"> + <summary>Specifies that the method will not return if the associated Boolean parameter is passed the specified value.</summary> + </member> + <member name="M:System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute.#ctor(System.Boolean)"> + <summary>Initializes the attribute with the specified parameter value.</summary> + <param name="parameterValue"> + The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to + the associated parameter matches this value. + </param> + </member> + <member name="P:System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute.ParameterValue"> + <summary>Gets the condition parameter value.</summary> + </member> + <member name="T:System.Threading.LazyThreadSafetyMode"> + <summary> + + </summary> + </member> + <member name="F:System.Threading.LazyThreadSafetyMode.None"> + <summary> + + </summary> + </member> + <member name="F:System.Threading.LazyThreadSafetyMode.PublicationOnly"> + <summary> + + </summary> + </member> + <member name="F:System.Threading.LazyThreadSafetyMode.ExecutionAndPublication"> + <summary> + + </summary> + </member> + <member name="T:System.Threading.ManualResetEventSlim"> + <summary> + Compatibility polyfill based on <see cref="T:System.Threading.ManualResetEvent"/>. + </summary> + </member> + <member name="T:System.Threading.SpinWait"> + <summary> + Provides support for spin-based waiting. + </summary> + <remarks> + <para> + <see cref="T:System.Threading.SpinWait"/> 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. + </para> + <para> + <see cref="T:System.Threading.SpinWait"/> 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 + <see cref="T:System.Threading.Monitor"/>. For most purposes where spin waiting is required, however, + the <see cref="T:System.Threading.SpinWait"/> type should be preferred over the <see + cref="M:System.Threading.Thread.SpinWait(System.Int32)"/> method. + </para> + <para> + 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. + </para> + </remarks> + </member> + <member name="P:System.Threading.SpinWait.Count"> + <summary> + Gets the number of times <see cref="M:System.Threading.SpinWait.SpinOnce"/> has been called on this instance. + </summary> + </member> + <member name="P:System.Threading.SpinWait.NextSpinWillYield"> + <summary> + Gets whether the next call to <see cref="M:System.Threading.SpinWait.SpinOnce"/> will yield the processor, triggering a + forced context switch. + </summary> + <value>Whether the next call to <see cref="M:System.Threading.SpinWait.SpinOnce"/> will yield the processor, triggering a + forced context switch.</value> + <remarks> + On a single-CPU machine, <see cref="M:System.Threading.SpinWait.SpinOnce"/> always yields the processor. On machines with + multiple CPUs, <see cref="M:System.Threading.SpinWait.SpinOnce"/> may yield after an unspecified number of calls. + </remarks> + </member> + <member name="M:System.Threading.SpinWait.SpinOnce"> + <summary> + Performs a single spin. + </summary> + <remarks> + This is typically called in a loop, and may change in behavior based on the number of times a + <see cref="M:System.Threading.SpinWait.SpinOnce"/> has been called thus far on this instance. + </remarks> + </member> + <member name="M:System.Threading.SpinWait.Reset"> + <summary> + Resets the spin counter. + </summary> + <remarks> + This makes <see cref="M:System.Threading.SpinWait.SpinOnce"/> and <see cref="P:System.Threading.SpinWait.NextSpinWillYield"/> behave as though no calls + to <see cref="M:System.Threading.SpinWait.SpinOnce"/> had been issued on this instance. If a <see cref="T:System.Threading.SpinWait"/> instance + is reused many times, it may be useful to reset it to avoid yielding too soon. + </remarks> + </member> + <member name="M:System.Threading.SpinWait.SpinUntil(System.Func{System.Boolean})"> + <summary> + Spins until the specified condition is satisfied. + </summary> + <param name="condition">A delegate to be executed over and over until it returns true.</param> + <exception cref="T:System.ArgumentNullException">The <paramref name="condition"/> argument is null.</exception> + </member> + <member name="M:System.Threading.SpinWait.SpinUntil(System.Func{System.Boolean},System.TimeSpan)"> + <summary> + Spins until the specified condition is satisfied or until the specified timeout is expired. + </summary> + <param name="condition">A delegate to be executed over and over until it returns true.</param> + <param name="timeout"> + A <see cref="T:System.TimeSpan"/> that represents the number of milliseconds to wait, + or a TimeSpan that represents -1 milliseconds to wait indefinitely.</param> + <returns>True if the condition is satisfied within the timeout; otherwise, false</returns> + <exception cref="T:System.ArgumentNullException">The <paramref name="condition"/> argument is null.</exception> + <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="timeout"/> is a negative number + other than -1 milliseconds, which represents an infinite time-out -or- timeout is greater than + <see cref="F:System.Int32.MaxValue"/>.</exception> + </member> + <member name="M:System.Threading.SpinWait.SpinUntil(System.Func{System.Boolean},System.Int32)"> + <summary> + Spins until the specified condition is satisfied or until the specified timeout is expired. + </summary> + <param name="condition">A delegate to be executed over and over until it returns true.</param> + <param name="millisecondsTimeout">The number of milliseconds to wait, or <see + cref="F:System.Threading.Timeout.Infinite"/> (-1) to wait indefinitely.</param> + <returns>True if the condition is satisfied within the timeout; otherwise, false</returns> + <exception cref="T:System.ArgumentNullException">The <paramref name="condition"/> argument is null.</exception> + <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="millisecondsTimeout"/> is a + negative number other than -1, which represents an infinite time-out.</exception> + </member> + <member name="T:System.Threading.PlatformHelper"> + <summary> + A helper class to get the number of processors, it updates the numbers of processors every sampling interval. + </summary> + </member> + <member name="P:System.Threading.PlatformHelper.ProcessorCount"> + <summary> + Gets the number of available processors + </summary> + </member> + <member name="P:System.Threading.PlatformHelper.IsSingleProcessor"> + <summary> + Gets whether the current machine has only a single processor. + </summary> + </member> + <member name="T:System.Threading.TimeoutHelper"> + <summary> + 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 + </summary> + </member> + <member name="M:System.Threading.TimeoutHelper.GetTime"> + <summary> + 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 + </summary> + <returns></returns> + </member> + <member name="M:System.Threading.TimeoutHelper.UpdateTimeOut(System.UInt32,System.Int32)"> + <summary> + Helper function to measure and update the elapsed time + </summary> + <param name="startTime"> The first time (in milliseconds) observed when the wait started</param> + <param name="originalWaitMillisecondsTimeout">The original wait timeout in milliseconds</param> + <returns>The new wait time in milliseconds, -1 if the time expired</returns> + </member> + <member name="T:System.Lazy`1"> + <summary> + + </summary> + <typeparam name="T"></typeparam> + </member> + <member name="M:System.Lazy`1.#ctor"> + <summary> + + </summary> + </member> + <member name="M:System.Lazy`1.#ctor(System.Func{`0})"> + <summary> + + </summary> + <param name="valueFactory"></param> + </member> + <member name="M:System.Lazy`1.#ctor(System.Boolean)"> + <summary> + + </summary> + <param name="isThreadSafe"></param> + </member> + <member name="M:System.Lazy`1.#ctor(System.Func{`0},System.Boolean)"> + <summary> + + </summary> + <param name="valueFactory"></param> + <param name="isThreadSafe"></param> + </member> + <member name="M:System.Lazy`1.#ctor(System.Threading.LazyThreadSafetyMode)"> + <summary> + + </summary> + <param name="mode"></param> + </member> + <member name="M:System.Lazy`1.#ctor(System.Func{`0},System.Threading.LazyThreadSafetyMode)"> + <summary> + + </summary> + <param name="valueFactory"></param> + <param name="mode"></param> + </member> + <member name="P:System.Lazy`1.Value"> + <summary> + + </summary> + </member> + <member name="P:System.Lazy`1.IsValueCreated"> + <summary> + + </summary> + </member> + <member name="M:System.Lazy`1.ToString"> + <summary> + + </summary> + <returns></returns> + </member> + </members> +</doc> diff --git a/Aufgabe3/packages/NUnit.3.13.3/lib/net40/nunit.framework.dll b/Aufgabe3/packages/NUnit.3.13.3/lib/net40/nunit.framework.dll new file mode 100644 index 0000000000000000000000000000000000000000..926029c3505c50e72b73cc880731d1ee71a7b5c1 GIT binary patch literal 488960 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%0DlzO#VHsCY>_{-7f#4&_Z6)Bq9vvo8hYH( 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%0DE@x2_e_ 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%0AZNP^_&aY-~9q~H_U zPjg=cIgpsJqcDMQJ#&vn$`7TIahiS`dSgFt4jo0#(nAmVDk69U()Lbpek`3hf&&<o zIt=#;(b4uFhHViv3MKn-G{<L>MTf)gf1(uwHV*+jJCb+M#1`;isyQmC>s`orOv##H z5tIY1AQ$Biv|={+iIx>00QTf@L@N-%o{e>b5K9mt7CAyJ-gyDlg5To#0Wc`V5HBn+ z{g$MUOZupUk4pHWgu5ktLqfsFLq3$kLq67UQsB!F!bl|HZwP_?5RjV@EY)ap1#|Fl zJAjAVNW#)Jzg>u6C=KspVTd|`KgSTnG50M=AD8q|2_Kd4MG1FH_=bdn58_Y?#Ic5x z0$<h|fL9kL@$ijdm`&jk9K+oV@#Xk{YHtr<8gO@P4M3nv(ZdY)A3^Ry{N}d;w+aPP zHaPgWYF8~RKK=m1eNy>eGWO!}#{~X3(|A6^Tw5Ubu)@9T76h=U=PyPD?H90BS}o9b z;vGaoi&$>#w~_^dXq!hCo<a$QuTxSHV_!^a<DkGKP88U~iTJj_4>G;?3DkFiq;5mV z4@CkB^E5)(r4d5=V%qZw!Ro}P3<1EW?AwXhis4#3+3-Qoym$eJ5H?#zcwHLUdm0!p zCgL78Na+`?V`MQ+egN+~?Sp+|UcKk|924?j%wy=MH%J+uR-q5pch)k*5JoVj_chvt zfU9%nE)RJW?ZALpgW*$zz)ZpL7ZScK;TsGmmM}cDi=Cb56i7hAn1s(sNZNTiBYuyB zry333-6eqIL>d3PR3n_5ct_IjHW1;=7v=Y_6Z9t}ZA&O{yk!6iWGtxA0TcQM!;XdQ zn&=C>7jAMdW8RolE|Vv;FhJ4u5?+Xs0^+TYNPCz2qgD2!en0xEA7LVLBscg`iqjHe z8^tI`QFx+L76m0DZ{a@*Asj|AtDoW6iFQNze;RQGUy&Saxpa$bmHV7h@2;#adwHic zIP5wj6$5x}^7`cXHbaeDrD`ef1#_-d)FY0&J?QC*SLrhQtC>PR`*}TjZ739pg?PnM z5~cmSP$&_K2%wf9kHn*~a5PLzfis0)G_181O@=bzbSjp~SqVF=tz;sk!&xg4O2o5T z$HG?FiX_unD-w;RqtTpBCzDnvorpvtSs=!8X&tx1NjsiMrK6#EHen}o;YcW9rQ%jR znvJEh7Mn_ilIgUa&|2pb;cPl(W$bV&nMkH0Njn>g+m^NxnM5vQM|3KYiiJaVI-_+Q ztwk(QZQFJt9kF#bm9t`@SjLLQ(_x*8C9PC87meFG63#~KXfhJbWK(uB8MhLNOgtU4 zY@JCblJRIV8A<1K#EQiL2T^uBX(bex3`XA~j4tFoeV)bVfW^0f#Wyure186(&H1~^ zP@R1@K}?uy>tezT1p9gio9<)5&?*I&d1|qbIpE~H5zEy|bwJ+uu&7dDLv?jK<xw}k zZP+sd*;QsF6p5JK!<JjfYqQ^R3cAbO<Ydf#*Qr)e{F8>d+Ap53n3n0eSZzhi-EKNL zb9z%B!D~q~=~8MDL}N4<js~N_kWx1o>T+T=I@7gTyA=q?Yj>g-5S@#cHL`m0m2$xv z?Sph&GQDO9Qjw!7XsA_#!yvDyy<x{TNAiV&nbD@Ji_T7MoB2|WQdA#QYV4ba8apyL ztj!Jiinq}!m$hqV3s$9K4qFuz)Fso_Wmjh{52dZrtTkF@uIg1?wo=emMF-7(iA`|L z^ia9p<>?Z;RVQm;wBqSva6`VdBiLK27PV_-3OYD|@>vf=BG<A(-|dFd&D}X$M0GnQ z&q6azO}U0Do{Oe>99;?aIbN{VW>b@Q8fx^MH96o}uD2!c4V#W@%1uS?CYkFQ$~kAv zv&WMpOg4Ilp{nPs(cY3>?=h0o`+LquxZeC^Z$}K}p0nO=w7jg0t|WBxWG)+O`#Ecu zL+iIa*-`uzOp8*h4V9=hTg*U`%p!dnvZ83+j)_^97!XCLAc}r0rLztMfLqOaKsZ|~ zeq~9Im;+8xuZQ5NU@f8rNB}QDc<+v?RcM0gU1i82ZLeCjlB;LsI;#?7*`Oc}I)Mhl z%BJN!_6&OPWOM&N5b=YKNd*`}G+)|=?I!CK%h<)h)!{tGopROAXQ@qF?x+coUvfM% z1MzE{PN_>|FAEhYQYm_UuCmX_m*N$TWX{~KM=OxE>kZYjW#)EKg77w{4wiWn<hq6C zhCvOs6}RA6+*;~V8@rKz)&45Vz|<HvREEX+wAa|t8b!>N0E3m-Rg0PYwkoz;^kxJ^ zTAolU`(3xgEv8!X@<ly4FI-*1j%b@i!R}Z8ORN?oFEr?YQsI4^2AH$728NMNG=f&3 zwBRw5Qdb*l-*(*K#Ik5jq2P>ctQNd{xu5}9xW0tmLS?pzwqe<s(JsMk!1peA{%I;q zD72HAP@b5kLDA4yV77*g=~Z6OZcc4z>>-qXkX!qjN=3Vz0_$|)?C$TJQh6Jbz@MX> zlA;Gu@_YGguPh_8uX+O}TG`5Ox3=lVm<zjm$@~A#ZUbDH9c?NX=7z@F$gDFo$}yh3 z(P>QHYp6ZsagXI$Ydp`*XR4k)%No@Bev7)Ur(L!(;8fl0G&W-F&(tG!{M6jg=AW5A ztPPc&sZp|V4%}vKJ!h_sXj~<87`xfgW=t4a`g53mz?<3Vl-fw!>^+@=MuyDZ=oB>8 zHU~7Q?pWjB;QXWdewL>lSM&d@xGzKpxYH`N%upA7dC(ca+9+)ctm-Q5*wZ9}F`{^6 zsK&m=POQxrbnh<oq-lRX%bj8qH@ZD}oM@n3jLv9naud7RP@4uv%TTLEs6=ZhG`5X> z#??8EJtvC{?8dU`R;uN)<MM!n<CVwL7xqLs?qGKv#d?*!8!fxspe{C4hplrK_Lj|7 zp{iwXn(v{h@MJQAnU38HN{SpAxg@bgamQMKl~)1R#tpSwbd9p>K&pGAlUw2kJh6$Y zBywEToxC^NT~j>*(1#{D1e(6^t2-Wk{GR7ut$u&_*o}{U{rNBL`Q@FD{OHrKfA^=$ zk3DkV*osqkFN<xl&DEdX_}(8*_qKFqU+us069>Ojc=Opm{@_H%J?q2&G>`x6*66eG zH!r{c;?<EO|GMJd6%YUX{;@S*eEQMXUjE1DPF#0-;=cCLwa=~j{nn4YGXB!(JForL zlislxLf+p3J3G6t0SW5OUtjb)Wo+yRZ{WcN*H_w<D&kkWD5v0KO0C4NguGHy9#QDb zrTN-4&@=GErw9M~@fY6dJN)e7x8t`xcq{AZzGi5^%?=4;hQz!xRH@%LRGOh&-7GQW zWNshY<R6HKO4^Hs{6bCk&9a?Q1MAjA;t5r2@Xt$X4YE_;+jwc4J@|gtPfneD>KS&b zcD>59S-+baKi`C>)K;iWJ%z$XD1E9}$wGh9LAy|>7kU3GRI|iXR|;?H(5bN@{J9Jh zZaSPifeB*<oOtW-yZNCuwUkn<b}em<A+;H<&9)-+T^z0#|Aku>og%J9n%6U}e|eAE z%py_V<~8E$Bo}{QkC<cKeD&bQK&^DUwHCgG==z6#edwx)SErPsS0Xw;svw^}rhM0T zf}l>ey3iF3Q0F_!qC=yZHT4M&9jf~OVsMBA9;nMv(hzrXMe%k<CrntRa(zZ!)X1Z& zvJ$*C)jgjRVbWn8-M-O3u?L@1><L5zE>~TJ@^xBz0G;Wtk$BDZ%yeXH!s%TQIKA+I zML*%>1pTs2I@OCIKct|W;)<w+O>J%l9(^EA@+%75Fr3c@<wp*1%$K3ebZ<(NJ*A7L zx})9PjP`?Y97S(fO5LeGg?cuiP5SFC2v^JC89hqTJEI32I=Y$)WB;<C-URI-{31wo z1DkxLqd|@Pew6avLeUr3CZsb0rRQzmKNb726RV-QeSg-_trfi&(<!h&vd#SVT}xT0 zjkCuRCs=jty3grm{Mp92U-(D2l<X&6YO(kAapxV!i!yF*d<;PeGSFxC&UYv0{l|G1 zMZF0b^QrjLM}D?(zedW{-53_ZQ{SQ7T*{K)=dTYL2gce|2T1zU>JJ%R=gIlMaNyqt C>-!Y| literal 0 HcmV?d00001 diff --git a/Aufgabe3/packages/NUnit.3.13.3/lib/net40/nunit.framework.xml b/Aufgabe3/packages/NUnit.3.13.3/lib/net40/nunit.framework.xml new file mode 100644 index 0000000..ba193c4 --- /dev/null +++ b/Aufgabe3/packages/NUnit.3.13.3/lib/net40/nunit.framework.xml @@ -0,0 +1,21383 @@ +<?xml version="1.0"?> +<doc> + <assembly> + <name>nunit.framework</name> + </assembly> + <members> + <member name="T:NUnit.Framework.ActionTargets"> + <summary> + The different targets a test action attribute can be applied to + </summary> + </member> + <member name="F:NUnit.Framework.ActionTargets.Default"> + <summary> + Default target, which is determined by where the action attribute is attached + </summary> + </member> + <member name="F:NUnit.Framework.ActionTargets.Test"> + <summary> + Target a individual test case + </summary> + </member> + <member name="F:NUnit.Framework.ActionTargets.Suite"> + <summary> + Target a suite of test cases + </summary> + </member> + <member name="T:NUnit.Framework.Api.DefaultTestAssemblyBuilder"> + <summary> + DefaultTestAssemblyBuilder loads a single assembly and builds a TestSuite + containing test fixtures present in the assembly. + </summary> + </member> + <member name="F:NUnit.Framework.Api.DefaultTestAssemblyBuilder._defaultSuiteBuilder"> + <summary> + The default suite builder used by the test assembly builder. + </summary> + </member> + <member name="M:NUnit.Framework.Api.DefaultTestAssemblyBuilder.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Api.DefaultTestAssemblyBuilder"/> class. + </summary> + </member> + <member name="M:NUnit.Framework.Api.DefaultTestAssemblyBuilder.Build(System.Reflection.Assembly,System.Collections.Generic.IDictionary{System.String,System.Object})"> + <summary> + Build a suite of tests from a provided assembly + </summary> + <param name="assembly">The assembly from which tests are to be built</param> + <param name="options">A dictionary of options to use in building the suite</param> + <returns> + A TestSuite containing the tests found in the assembly + </returns> + </member> + <member name="M:NUnit.Framework.Api.DefaultTestAssemblyBuilder.Build(System.String,System.Collections.Generic.IDictionary{System.String,System.Object})"> + <summary> + Build a suite of tests given the name or the location of an assembly + </summary> + <param name="assemblyNameOrPath">The name or the location of the assembly.</param> + <param name="options">A dictionary of options to use in building the suite</param> + <returns> + A TestSuite containing the tests found in the assembly + </returns> + </member> + <member name="T:NUnit.Framework.Api.FrameworkController"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Api.FrameworkController.#ctor(System.String,System.String,System.Collections.IDictionary)"> + <summary> + Construct a FrameworkController using the default builder and runner. + </summary> + <param name="assemblyNameOrPath">The AssemblyName or path to the test assembly</param> + <param name="idPrefix">A prefix used for all test ids created under this controller.</param> + <param name="settings">A Dictionary of settings to use in loading and running the tests</param> + </member> + <member name="M:NUnit.Framework.Api.FrameworkController.#ctor(System.Reflection.Assembly,System.String,System.Collections.IDictionary)"> + <summary> + Construct a FrameworkController using the default builder and runner. + </summary> + <param name="assembly">The test assembly</param> + <param name="idPrefix">A prefix used for all test ids created under this controller.</param> + <param name="settings">A Dictionary of settings to use in loading and running the tests</param> + </member> + <member name="M:NUnit.Framework.Api.FrameworkController.#ctor(System.String,System.String,System.Collections.IDictionary,System.String,System.String)"> + <summary> + Construct a FrameworkController, specifying the types to be used + for the runner and builder. This constructor is provided for + purposes of development. + </summary> + <param name="assemblyNameOrPath">The full AssemblyName or the path to the test assembly</param> + <param name="idPrefix">A prefix used for all test ids created under this controller.</param> + <param name="settings">A Dictionary of settings to use in loading and running the tests</param> + <param name="runnerType">The Type of the test runner</param> + <param name="builderType">The Type of the test builder</param> + </member> + <member name="M:NUnit.Framework.Api.FrameworkController.#ctor(System.Reflection.Assembly,System.String,System.Collections.IDictionary,System.String,System.String)"> + <summary> + Construct a FrameworkController, specifying the types to be used + for the runner and builder. This constructor is provided for + purposes of development. + </summary> + <param name="assembly">The test assembly</param> + <param name="idPrefix">A prefix used for all test ids created under this controller.</param> + <param name="settings">A Dictionary of settings to use in loading and running the tests</param> + <param name="runnerType">The Type of the test runner</param> + <param name="builderType">The Type of the test builder</param> + </member> + <member name="P:NUnit.Framework.Api.FrameworkController.Builder"> + <summary> + Gets the ITestAssemblyBuilder used by this controller instance. + </summary> + <value>The builder.</value> + </member> + <member name="P:NUnit.Framework.Api.FrameworkController.Runner"> + <summary> + Gets the ITestAssemblyRunner used by this controller instance. + </summary> + <value>The runner.</value> + </member> + <member name="P:NUnit.Framework.Api.FrameworkController.AssemblyNameOrPath"> + <summary> + Gets the AssemblyName or the path for which this FrameworkController was created + </summary> + </member> + <member name="P:NUnit.Framework.Api.FrameworkController.Assembly"> + <summary> + Gets the Assembly for which this + </summary> + </member> + <member name="P:NUnit.Framework.Api.FrameworkController.Settings"> + <summary> + Gets a dictionary of settings for the FrameworkController + </summary> + </member> + <member name="M:NUnit.Framework.Api.FrameworkController.LoadTests"> + <summary> + Loads the tests in the assembly + </summary> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Api.FrameworkController.ExploreTests(System.String)"> + <summary> + Returns info about the tests in an assembly + </summary> + <param name="filter">A string containing the XML representation of the filter to use</param> + <returns>The XML result of exploring the tests</returns> + </member> + <member name="M:NUnit.Framework.Api.FrameworkController.RunTests(System.String)"> + <summary> + Runs the tests in an assembly + </summary> + <param name="filter">A string containing the XML representation of the filter to use</param> + <returns>The XML result of the test run</returns> + </member> + <member name="M:NUnit.Framework.Api.FrameworkController.RunTests(System.Action{System.String},System.String)"> + <summary> + Runs the tests in an assembly synchronously reporting back the test results through the callback + or through the return value + </summary> + <param name="callback">The callback that receives the test results</param> + <param name="filter">A string containing the XML representation of the filter to use</param> + <returns>The XML result of the test run</returns> + </member> + <member name="M:NUnit.Framework.Api.FrameworkController.RunAsync(System.Action{System.String},System.String)"> + <summary> + Runs the tests in an assembly asynchronously reporting back the test results through the callback + </summary> + <param name="callback">The callback that receives the test results</param> + <param name="filter">A string containing the XML representation of the filter to use</param> + </member> + <member name="M:NUnit.Framework.Api.FrameworkController.StopRun(System.Boolean)"> + <summary> + Stops the test run + </summary> + <param name="force">True to force the stop, false for a cooperative stop</param> + </member> + <member name="M:NUnit.Framework.Api.FrameworkController.CountTests(System.String)"> + <summary> + Counts the number of test cases in the loaded TestSuite + </summary> + <param name="filter">A string containing the XML representation of the filter to use</param> + <returns>The number of tests</returns> + </member> + <member name="M:NUnit.Framework.Api.FrameworkController.InsertChildElements(NUnit.Framework.Interfaces.TNode)"> + <summary> + Inserts the environment and settings elements + </summary> + <param name="targetNode">Target node</param> + <returns>The updated target node</returns> + </member> + <member name="M:NUnit.Framework.Api.FrameworkController.InsertEnvironmentElement(NUnit.Framework.Interfaces.TNode)"> + <summary> + Inserts environment element + </summary> + <param name="targetNode">Target node</param> + <returns>The new node</returns> + </member> + <member name="M:NUnit.Framework.Api.FrameworkController.InsertSettingsElement(NUnit.Framework.Interfaces.TNode,System.Collections.Generic.IDictionary{System.String,System.Object})"> + <summary> + Inserts settings element + </summary> + <param name="targetNode">Target node</param> + <param name="settings">Settings dictionary</param> + <returns>The new node</returns> + </member> + <member name="T:NUnit.Framework.Api.FrameworkController.FrameworkControllerAction"> + <summary> + FrameworkControllerAction is the base class for all actions + performed against a FrameworkController. + </summary> + </member> + <member name="T:NUnit.Framework.Api.FrameworkController.LoadTestsAction"> + <summary> + LoadTestsAction loads a test into the FrameworkController + </summary> + </member> + <member name="M:NUnit.Framework.Api.FrameworkController.LoadTestsAction.#ctor(NUnit.Framework.Api.FrameworkController,System.Object)"> + <summary> + LoadTestsAction loads the tests in an assembly. + </summary> + <param name="controller">The controller.</param> + <param name="handler">The callback handler.</param> + </member> + <member name="T:NUnit.Framework.Api.FrameworkController.ExploreTestsAction"> + <summary> + ExploreTestsAction returns info about the tests in an assembly + </summary> + </member> + <member name="M:NUnit.Framework.Api.FrameworkController.ExploreTestsAction.#ctor(NUnit.Framework.Api.FrameworkController,System.String,System.Object)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Api.FrameworkController.ExploreTestsAction"/> class. + </summary> + <param name="controller">The controller for which this action is being performed.</param> + <param name="filter">Filter used to control which tests are included (NYI)</param> + <param name="handler">The callback handler.</param> + </member> + <member name="T:NUnit.Framework.Api.FrameworkController.CountTestsAction"> + <summary> + CountTestsAction counts the number of test cases in the loaded TestSuite + held by the FrameworkController. + </summary> + </member> + <member name="M:NUnit.Framework.Api.FrameworkController.CountTestsAction.#ctor(NUnit.Framework.Api.FrameworkController,System.String,System.Object)"> + <summary> + Construct a CountsTestAction and perform the count of test cases. + </summary> + <param name="controller">A FrameworkController holding the TestSuite whose cases are to be counted</param> + <param name="filter">A string containing the XML representation of the filter to use</param> + <param name="handler">A callback handler used to report results</param> + </member> + <member name="T:NUnit.Framework.Api.FrameworkController.RunTestsAction"> + <summary> + RunTestsAction runs the loaded TestSuite held by the FrameworkController. + </summary> + </member> + <member name="M:NUnit.Framework.Api.FrameworkController.RunTestsAction.#ctor(NUnit.Framework.Api.FrameworkController,System.String,System.Object)"> + <summary> + Construct a RunTestsAction and run all tests in the loaded TestSuite. + </summary> + <param name="controller">A FrameworkController holding the TestSuite to run</param> + <param name="filter">A string containing the XML representation of the filter to use</param> + <param name="handler">A callback handler used to report results</param> + </member> + <member name="T:NUnit.Framework.Api.FrameworkController.RunAsyncAction"> + <summary> + RunAsyncAction initiates an asynchronous test run, returning immediately + </summary> + </member> + <member name="M:NUnit.Framework.Api.FrameworkController.RunAsyncAction.#ctor(NUnit.Framework.Api.FrameworkController,System.String,System.Object)"> + <summary> + Construct a RunAsyncAction and run all tests in the loaded TestSuite. + </summary> + <param name="controller">A FrameworkController holding the TestSuite to run</param> + <param name="filter">A string containing the XML representation of the filter to use</param> + <param name="handler">A callback handler used to report results</param> + </member> + <member name="T:NUnit.Framework.Api.FrameworkController.StopRunAction"> + <summary> + StopRunAction stops an ongoing run. + </summary> + </member> + <member name="M:NUnit.Framework.Api.FrameworkController.StopRunAction.#ctor(NUnit.Framework.Api.FrameworkController,System.Boolean,System.Object)"> + <summary> + Construct a StopRunAction and stop any ongoing run. If no + run is in process, no error is raised. + </summary> + <param name="controller">The FrameworkController for which a run is to be stopped.</param> + <param name="force">True the stop should be forced, false for a cooperative stop.</param> + <param name="handler">>A callback handler used to report results</param> + <remarks>A forced stop will cause threads and processes to be killed as needed.</remarks> + </member> + <member name="T:NUnit.Framework.Api.ITestAssemblyBuilder"> + <summary> + The ITestAssemblyBuilder interface is implemented by a class + that is able to build a suite of tests given an assembly or + an assembly filename. + </summary> + </member> + <member name="M:NUnit.Framework.Api.ITestAssemblyBuilder.Build(System.Reflection.Assembly,System.Collections.Generic.IDictionary{System.String,System.Object})"> + <summary> + Build a suite of tests from a provided assembly + </summary> + <param name="assembly">The assembly from which tests are to be built</param> + <param name="options">A dictionary of options to use in building the suite</param> + <returns>A TestSuite containing the tests found in the assembly</returns> + </member> + <member name="M:NUnit.Framework.Api.ITestAssemblyBuilder.Build(System.String,System.Collections.Generic.IDictionary{System.String,System.Object})"> + <summary> + Build a suite of tests given the filename of an assembly + </summary> + <param name="assemblyName">The filename of the assembly from which tests are to be built</param> + <param name="options">A dictionary of options to use in building the suite</param> + <returns>A TestSuite containing the tests found in the assembly</returns> + </member> + <member name="T:NUnit.Framework.Api.ITestAssemblyRunner"> + <summary> + The ITestAssemblyRunner interface is implemented by classes + that are able to execute a suite of tests loaded + from an assembly. + </summary> + </member> + <member name="P:NUnit.Framework.Api.ITestAssemblyRunner.LoadedTest"> + <summary> + Gets the tree of loaded tests, or null if + no tests have been loaded. + </summary> + </member> + <member name="P:NUnit.Framework.Api.ITestAssemblyRunner.Result"> + <summary> + Gets the tree of test results, if the test + run is completed, otherwise null. + </summary> + </member> + <member name="P:NUnit.Framework.Api.ITestAssemblyRunner.IsTestLoaded"> + <summary> + Indicates whether a test has been loaded + </summary> + </member> + <member name="P:NUnit.Framework.Api.ITestAssemblyRunner.IsTestRunning"> + <summary> + Indicates whether a test is currently running + </summary> + </member> + <member name="P:NUnit.Framework.Api.ITestAssemblyRunner.IsTestComplete"> + <summary> + Indicates whether a test run is complete + </summary> + </member> + <member name="M:NUnit.Framework.Api.ITestAssemblyRunner.Load(System.String,System.Collections.Generic.IDictionary{System.String,System.Object})"> + <summary> + Loads the tests found in an Assembly, returning an + indication of whether or not the load succeeded. + </summary> + <param name="assemblyName">File name of the assembly to load</param> + <param name="settings">Dictionary of options to use in loading the test</param> + <returns>An ITest representing the loaded tests</returns> + </member> + <member name="M:NUnit.Framework.Api.ITestAssemblyRunner.Load(System.Reflection.Assembly,System.Collections.Generic.IDictionary{System.String,System.Object})"> + <summary> + Loads the tests found in an Assembly, returning an + indication of whether or not the load succeeded. + </summary> + <param name="assembly">The assembly to load</param> + <param name="settings">Dictionary of options to use in loading the test</param> + <returns>An ITest representing the loaded tests</returns> + </member> + <member name="M:NUnit.Framework.Api.ITestAssemblyRunner.CountTestCases(NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Count Test Cases using a filter + </summary> + <param name="filter">The filter to apply</param> + <returns>The number of test cases found</returns> + </member> + <member name="M:NUnit.Framework.Api.ITestAssemblyRunner.ExploreTests(NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Explore the test cases using a filter + </summary> + <param name="filter">The filter to apply</param> + <returns>Test Assembly with test cases that matches the filter</returns> + </member> + <member name="M:NUnit.Framework.Api.ITestAssemblyRunner.Run(NUnit.Framework.Interfaces.ITestListener,NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Run selected tests and return a test result. The test is run synchronously, + and the listener interface is notified as it progresses. + </summary> + <param name="listener">Interface to receive ITestListener notifications.</param> + <param name="filter">A test filter used to select tests to be run</param> + </member> + <member name="M:NUnit.Framework.Api.ITestAssemblyRunner.RunAsync(NUnit.Framework.Interfaces.ITestListener,NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Run selected tests asynchronously, notifying the listener interface as it progresses. + </summary> + <param name="listener">Interface to receive EventListener notifications.</param> + <param name="filter">A test filter used to select tests to be run</param> + </member> + <member name="M:NUnit.Framework.Api.ITestAssemblyRunner.WaitForCompletion(System.Int32)"> + <summary> + Wait for the ongoing run to complete. + </summary> + <param name="timeout">Time to wait in milliseconds</param> + <returns>True if the run completed, otherwise false</returns> + </member> + <member name="M:NUnit.Framework.Api.ITestAssemblyRunner.StopRun(System.Boolean)"> + <summary> + Signal any test run that is in process to stop. Return without error if no test is running. + </summary> + <param name="force">If true, kill any test-running threads</param> + </member> + <member name="T:NUnit.Framework.Api.NUnitTestAssemblyRunner"> + <summary> + Implementation of ITestAssemblyRunner + </summary> + </member> + <member name="M:NUnit.Framework.Api.NUnitTestAssemblyRunner.#ctor(NUnit.Framework.Api.ITestAssemblyBuilder)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Api.NUnitTestAssemblyRunner"/> class. + </summary> + <param name="builder">The builder.</param> + </member> + <member name="P:NUnit.Framework.Api.NUnitTestAssemblyRunner.DefaultLevelOfParallelism"> + <summary> + Gets the default level of parallel execution (worker threads) + </summary> + </member> + <member name="P:NUnit.Framework.Api.NUnitTestAssemblyRunner.LoadedTest"> + <summary> + The tree of tests that was loaded by the builder + </summary> + </member> + <member name="P:NUnit.Framework.Api.NUnitTestAssemblyRunner.Result"> + <summary> + The test result, if a run has completed + </summary> + </member> + <member name="P:NUnit.Framework.Api.NUnitTestAssemblyRunner.IsTestLoaded"> + <summary> + Indicates whether a test is loaded + </summary> + </member> + <member name="P:NUnit.Framework.Api.NUnitTestAssemblyRunner.IsTestRunning"> + <summary> + Indicates whether a test is running + </summary> + </member> + <member name="P:NUnit.Framework.Api.NUnitTestAssemblyRunner.IsTestComplete"> + <summary> + Indicates whether a test run is complete + </summary> + </member> + <member name="P:NUnit.Framework.Api.NUnitTestAssemblyRunner.Settings"> + <summary> + Our settings, specified when loading the assembly + </summary> + </member> + <member name="P:NUnit.Framework.Api.NUnitTestAssemblyRunner.TopLevelWorkItem"> + <summary> + The top level WorkItem created for the assembly as a whole + </summary> + </member> + <member name="P:NUnit.Framework.Api.NUnitTestAssemblyRunner.Context"> + <summary> + The TestExecutionContext for the top level WorkItem + </summary> + </member> + <member name="M:NUnit.Framework.Api.NUnitTestAssemblyRunner.Load(System.String,System.Collections.Generic.IDictionary{System.String,System.Object})"> + <summary> + Loads the tests found in an Assembly + </summary> + <param name="assemblyNameOrPath">File name or path of the assembly to load</param> + <param name="settings">Dictionary of option settings for loading the assembly</param> + <returns>A Test Assembly containing all loaded tests</returns> + </member> + <member name="M:NUnit.Framework.Api.NUnitTestAssemblyRunner.Load(System.Reflection.Assembly,System.Collections.Generic.IDictionary{System.String,System.Object})"> + <summary> + Loads the tests found in an Assembly + </summary> + <param name="assembly">The assembly to load</param> + <param name="settings">Dictionary of option settings for loading the assembly</param> + <returns>A Test Assembly containing all loaded tests</returns> + </member> + <member name="M:NUnit.Framework.Api.NUnitTestAssemblyRunner.CountTestCases(NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Count Test Cases using a filter + </summary> + <param name="filter">The filter to apply</param> + <returns>The number of test cases found</returns> + </member> + <member name="M:NUnit.Framework.Api.NUnitTestAssemblyRunner.ExploreTests(NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Explore the test cases using a filter + </summary> + <param name="filter">The filter to apply</param> + <returns>Test Assembly with test cases that matches the filter</returns> + </member> + <member name="M:NUnit.Framework.Api.NUnitTestAssemblyRunner.Run(NUnit.Framework.Interfaces.ITestListener,NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Run selected tests and return a test result. The test is run synchronously, + and the listener interface is notified as it progresses. + </summary> + <param name="listener">Interface to receive EventListener notifications.</param> + <param name="filter">A test filter used to select tests to be run</param> + <returns>The test results from the run</returns> + </member> + <member name="M:NUnit.Framework.Api.NUnitTestAssemblyRunner.RunAsync(NUnit.Framework.Interfaces.ITestListener,NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Run selected tests asynchronously, notifying the listener interface as it progresses. + </summary> + <param name="listener">Interface to receive EventListener notifications.</param> + <param name="filter">A test filter used to select tests to be run</param> + <remarks> + RunAsync is a template method, calling various abstract and + virtual methods to be overridden by derived classes. + </remarks> + </member> + <member name="M:NUnit.Framework.Api.NUnitTestAssemblyRunner.WaitForCompletion(System.Int32)"> + <summary> + Wait for the ongoing run to complete. + </summary> + <param name="timeout">Time to wait in milliseconds</param> + <returns>True if the run completed, otherwise false</returns> + </member> + <member name="M:NUnit.Framework.Api.NUnitTestAssemblyRunner.StopRun(System.Boolean)"> + <summary> + Signal any test run that is in process to stop. Return without error if no test is running. + </summary> + <param name="force">If true, kill any tests that are currently running</param> + </member> + <member name="M:NUnit.Framework.Api.NUnitTestAssemblyRunner.StartRun(NUnit.Framework.Interfaces.ITestListener)"> + <summary> + Initiate the test run. + </summary> + </member> + <member name="M:NUnit.Framework.Api.NUnitTestAssemblyRunner.CreateTestExecutionContext(NUnit.Framework.Interfaces.ITestListener)"> + <summary> + Create the initial TestExecutionContext used to run tests + </summary> + <param name="listener">The ITestListener specified in the RunAsync call</param> + </member> + <member name="M:NUnit.Framework.Api.NUnitTestAssemblyRunner.OnRunCompleted(System.Object,System.EventArgs)"> + <summary> + Handle the Completed event for the top level work item + </summary> + </member> + <member name="M:NUnit.Framework.Api.NUnitTestAssemblyRunner.WrapInNUnitCallContext(System.Action)"> + <summary> + Executes the action within an <see cref="T:NUnit.Framework.Internal.NUnitCallContext" /> + which ensures the <see cref="T:System.Runtime.Remoting.Messaging.CallContext"/> is cleaned up + suitably at the end of the test run. This method only has an effect running + the full .NET Framework. + </summary> + </member> + <member name="T:NUnit.Framework.Assert"> + <summary> + The Assert class contains a collection of static methods that + implement the most common assertions used in NUnit. + </summary> + <summary> + The Assert class contains a collection of static methods that + implement the most common assertions used in NUnit. + </summary> + </member> + <member name="M:NUnit.Framework.Assert.Greater(System.Int32,System.Int32,System.String,System.Object[])"> + <summary> + Verifies that the first int is greater than the second + int. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Greater(System.Int32,System.Int32)"> + <summary> + Verifies that the first int is greater than the second + int. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + </member> + <member name="M:NUnit.Framework.Assert.Greater(System.UInt32,System.UInt32,System.String,System.Object[])"> + <summary> + Verifies that the first value is greater than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Greater(System.UInt32,System.UInt32)"> + <summary> + Verifies that the first value is greater than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + </member> + <member name="M:NUnit.Framework.Assert.Greater(System.Int64,System.Int64,System.String,System.Object[])"> + <summary> + Verifies that the first value is greater than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Greater(System.Int64,System.Int64)"> + <summary> + Verifies that the first value is greater than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + </member> + <member name="M:NUnit.Framework.Assert.Greater(System.UInt64,System.UInt64,System.String,System.Object[])"> + <summary> + Verifies that the first value is greater than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Greater(System.UInt64,System.UInt64)"> + <summary> + Verifies that the first value is greater than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + </member> + <member name="M:NUnit.Framework.Assert.Greater(System.Decimal,System.Decimal,System.String,System.Object[])"> + <summary> + Verifies that the first value is greater than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Greater(System.Decimal,System.Decimal)"> + <summary> + Verifies that the first value is greater than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + </member> + <member name="M:NUnit.Framework.Assert.Greater(System.Double,System.Double,System.String,System.Object[])"> + <summary> + Verifies that the first value is greater than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Greater(System.Double,System.Double)"> + <summary> + Verifies that the first value is greater than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + </member> + <member name="M:NUnit.Framework.Assert.Greater(System.Single,System.Single,System.String,System.Object[])"> + <summary> + Verifies that the first value is greater than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Greater(System.Single,System.Single)"> + <summary> + Verifies that the first value is greater than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + </member> + <member name="M:NUnit.Framework.Assert.Greater(System.IComparable,System.IComparable,System.String,System.Object[])"> + <summary> + Verifies that the first value is greater than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Greater(System.IComparable,System.IComparable)"> + <summary> + Verifies that the first value is greater than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + </member> + <member name="M:NUnit.Framework.Assert.Less(System.Int32,System.Int32,System.String,System.Object[])"> + <summary> + Verifies that the first value is less than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Less(System.Int32,System.Int32)"> + <summary> + Verifies that the first value is less than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + </member> + <member name="M:NUnit.Framework.Assert.Less(System.UInt32,System.UInt32,System.String,System.Object[])"> + <summary> + Verifies that the first value is less than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Less(System.UInt32,System.UInt32)"> + <summary> + Verifies that the first value is less than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + </member> + <member name="M:NUnit.Framework.Assert.Less(System.Int64,System.Int64,System.String,System.Object[])"> + <summary> + Verifies that the first value is less than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Less(System.Int64,System.Int64)"> + <summary> + Verifies that the first value is less than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + </member> + <member name="M:NUnit.Framework.Assert.Less(System.UInt64,System.UInt64,System.String,System.Object[])"> + <summary> + Verifies that the first value is less than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Less(System.UInt64,System.UInt64)"> + <summary> + Verifies that the first value is less than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + </member> + <member name="M:NUnit.Framework.Assert.Less(System.Decimal,System.Decimal,System.String,System.Object[])"> + <summary> + Verifies that the first value is less than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Less(System.Decimal,System.Decimal)"> + <summary> + Verifies that the first value is less than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + </member> + <member name="M:NUnit.Framework.Assert.Less(System.Double,System.Double,System.String,System.Object[])"> + <summary> + Verifies that the first value is less than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Less(System.Double,System.Double)"> + <summary> + Verifies that the first value is less than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + </member> + <member name="M:NUnit.Framework.Assert.Less(System.Single,System.Single,System.String,System.Object[])"> + <summary> + Verifies that the first value is less than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Less(System.Single,System.Single)"> + <summary> + Verifies that the first value is less than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + </member> + <member name="M:NUnit.Framework.Assert.Less(System.IComparable,System.IComparable,System.String,System.Object[])"> + <summary> + Verifies that the first value is less than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Less(System.IComparable,System.IComparable)"> + <summary> + Verifies that the first value is less than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + </member> + <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.Int32,System.Int32,System.String,System.Object[])"> + <summary> + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.Int32,System.Int32)"> + <summary> + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + </member> + <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.UInt32,System.UInt32,System.String,System.Object[])"> + <summary> + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.UInt32,System.UInt32)"> + <summary> + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + </member> + <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.Int64,System.Int64,System.String,System.Object[])"> + <summary> + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.Int64,System.Int64)"> + <summary> + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + </member> + <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.UInt64,System.UInt64,System.String,System.Object[])"> + <summary> + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.UInt64,System.UInt64)"> + <summary> + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + </member> + <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.Decimal,System.Decimal,System.String,System.Object[])"> + <summary> + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.Decimal,System.Decimal)"> + <summary> + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + </member> + <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.Double,System.Double,System.String,System.Object[])"> + <summary> + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.Double,System.Double)"> + <summary> + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + </member> + <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.Single,System.Single,System.String,System.Object[])"> + <summary> + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.Single,System.Single)"> + <summary> + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + </member> + <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.IComparable,System.IComparable,System.String,System.Object[])"> + <summary> + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.IComparable,System.IComparable)"> + <summary> + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + </member> + <member name="M:NUnit.Framework.Assert.LessOrEqual(System.Int32,System.Int32,System.String,System.Object[])"> + <summary> + Verifies that the first value is less than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.LessOrEqual(System.Int32,System.Int32)"> + <summary> + Verifies that the first value is less than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + </member> + <member name="M:NUnit.Framework.Assert.LessOrEqual(System.UInt32,System.UInt32,System.String,System.Object[])"> + <summary> + Verifies that the first value is less than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.LessOrEqual(System.UInt32,System.UInt32)"> + <summary> + Verifies that the first value is less than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + </member> + <member name="M:NUnit.Framework.Assert.LessOrEqual(System.Int64,System.Int64,System.String,System.Object[])"> + <summary> + Verifies that the first value is less than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.LessOrEqual(System.Int64,System.Int64)"> + <summary> + Verifies that the first value is less than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + </member> + <member name="M:NUnit.Framework.Assert.LessOrEqual(System.UInt64,System.UInt64,System.String,System.Object[])"> + <summary> + Verifies that the first value is less than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.LessOrEqual(System.UInt64,System.UInt64)"> + <summary> + Verifies that the first value is less than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + </member> + <member name="M:NUnit.Framework.Assert.LessOrEqual(System.Decimal,System.Decimal,System.String,System.Object[])"> + <summary> + Verifies that the first value is less than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.LessOrEqual(System.Decimal,System.Decimal)"> + <summary> + Verifies that the first value is less than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + </member> + <member name="M:NUnit.Framework.Assert.LessOrEqual(System.Double,System.Double,System.String,System.Object[])"> + <summary> + Verifies that the first value is less than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.LessOrEqual(System.Double,System.Double)"> + <summary> + Verifies that the first value is less than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + </member> + <member name="M:NUnit.Framework.Assert.LessOrEqual(System.Single,System.Single,System.String,System.Object[])"> + <summary> + Verifies that the first value is less than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.LessOrEqual(System.Single,System.Single)"> + <summary> + Verifies that the first value is less than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + </member> + <member name="M:NUnit.Framework.Assert.LessOrEqual(System.IComparable,System.IComparable,System.String,System.Object[])"> + <summary> + Verifies that the first value is less than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.LessOrEqual(System.IComparable,System.IComparable)"> + <summary> + Verifies that the first value is less than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + </member> + <member name="M:NUnit.Framework.Assert.True(System.Nullable{System.Boolean},System.String,System.Object[])"> + <summary> + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="condition">The evaluated condition</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.True(System.Boolean,System.String,System.Object[])"> + <summary> + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="condition">The evaluated condition</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.True(System.Nullable{System.Boolean})"> + <summary> + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="condition">The evaluated condition</param> + </member> + <member name="M:NUnit.Framework.Assert.True(System.Boolean)"> + <summary> + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="condition">The evaluated condition</param> + </member> + <member name="M:NUnit.Framework.Assert.IsTrue(System.Nullable{System.Boolean},System.String,System.Object[])"> + <summary> + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="condition">The evaluated condition</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsTrue(System.Boolean,System.String,System.Object[])"> + <summary> + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="condition">The evaluated condition</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsTrue(System.Nullable{System.Boolean})"> + <summary> + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="condition">The evaluated condition</param> + </member> + <member name="M:NUnit.Framework.Assert.IsTrue(System.Boolean)"> + <summary> + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="condition">The evaluated condition</param> + </member> + <member name="M:NUnit.Framework.Assert.False(System.Nullable{System.Boolean},System.String,System.Object[])"> + <summary> + Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <param name="condition">The evaluated condition</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.False(System.Boolean,System.String,System.Object[])"> + <summary> + Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <param name="condition">The evaluated condition</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.False(System.Nullable{System.Boolean})"> + <summary> + Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="condition">The evaluated condition</param> + </member> + <member name="M:NUnit.Framework.Assert.False(System.Boolean)"> + <summary> + Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <param name="condition">The evaluated condition</param> + </member> + <member name="M:NUnit.Framework.Assert.IsFalse(System.Nullable{System.Boolean},System.String,System.Object[])"> + <summary> + Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <param name="condition">The evaluated condition</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsFalse(System.Boolean,System.String,System.Object[])"> + <summary> + Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <param name="condition">The evaluated condition</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsFalse(System.Nullable{System.Boolean})"> + <summary> + Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <param name="condition">The evaluated condition</param> + </member> + <member name="M:NUnit.Framework.Assert.IsFalse(System.Boolean)"> + <summary> + Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <param name="condition">The evaluated condition</param> + </member> + <member name="M:NUnit.Framework.Assert.NotNull(System.Object,System.String,System.Object[])"> + <summary> + Verifies that the object that is passed in is not equal to <see langword="null"/>. Returns without throwing an + exception when inside a multiple assert block. + </summary> + <param name="anObject">The object that is to be tested</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.NotNull(System.Object)"> + <summary> + Verifies that the object that is passed in is not equal to <see langword="null"/>. Returns without throwing an + exception when inside a multiple assert block. + </summary> + <param name="anObject">The object that is to be tested</param> + </member> + <member name="M:NUnit.Framework.Assert.IsNotNull(System.Object,System.String,System.Object[])"> + <summary> + Verifies that the object that is passed in is not equal to <see langword="null"/>. Returns without throwing an + exception when inside a multiple assert block. + </summary> + <param name="anObject">The object that is to be tested</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsNotNull(System.Object)"> + <summary> + Verifies that the object that is passed in is not equal to <see langword="null"/>. Returns without throwing an + exception when inside a multiple assert block. + </summary> + <param name="anObject">The object that is to be tested</param> + </member> + <member name="M:NUnit.Framework.Assert.Null(System.Object,System.String,System.Object[])"> + <summary> + Verifies that the object that is passed in is equal to <see langword="null"/>. Returns without throwing an + exception when inside a multiple assert block. + </summary> + <param name="anObject">The object that is to be tested</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Null(System.Object)"> + <summary> + Verifies that the object that is passed in is equal to <see langword="null"/>. Returns without throwing an + exception when inside a multiple assert block. + </summary> + <param name="anObject">The object that is to be tested</param> + </member> + <member name="M:NUnit.Framework.Assert.IsNull(System.Object,System.String,System.Object[])"> + <summary> + Verifies that the object that is passed in is equal to <see langword="null"/>. Returns without throwing an + exception when inside a multiple assert block. + </summary> + <param name="anObject">The object that is to be tested</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsNull(System.Object)"> + <summary> + Verifies that the object that is passed in is equal to <see langword="null"/>. Returns without throwing an + exception when inside a multiple assert block. + </summary> + <param name="anObject">The object that is to be tested</param> + </member> + <member name="M:NUnit.Framework.Assert.IsNaN(System.Double,System.String,System.Object[])"> + <summary> + Verifies that the double that is passed in is an <c>NaN</c>. Returns without throwing an + exception when inside a multiple assert block. + </summary> + <param name="aDouble">The value that is to be tested</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsNaN(System.Double)"> + <summary> + Verifies that the double that is passed in is an <c>NaN</c> value. Returns without throwing an + exception when inside a multiple assert block. + </summary> + <param name="aDouble">The value that is to be tested</param> + </member> + <member name="M:NUnit.Framework.Assert.IsNaN(System.Nullable{System.Double},System.String,System.Object[])"> + <summary> + Verifies that the double that is passed in is an <c>NaN</c> value. Returns without throwing an + exception when inside a multiple assert block. + </summary> + <param name="aDouble">The value that is to be tested</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsNaN(System.Nullable{System.Double})"> + <summary> + Verifies that the double that is passed in is an <c>NaN</c> value. Returns without throwing an + exception when inside a multiple assert block. + </summary> + <param name="aDouble">The value that is to be tested</param> + </member> + <member name="M:NUnit.Framework.Assert.IsEmpty(System.String,System.String,System.Object[])"> + <summary> + Assert that a string is empty. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="aString">The string to be tested</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsEmpty(System.String)"> + <summary> + Assert that a string is empty. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="aString">The string to be tested</param> + </member> + <member name="M:NUnit.Framework.Assert.IsEmpty(System.Collections.IEnumerable,System.String,System.Object[])"> + <summary> + Assert that an array, list or other collection is empty. Returns without throwing an exception when inside a + multiple assert block. + </summary> + <param name="collection">An array, list or other collection implementing ICollection</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsEmpty(System.Collections.IEnumerable)"> + <summary> + Assert that an array, list or other collection is empty. Returns without throwing an exception when inside a + multiple assert block. + </summary> + <param name="collection">An array, list or other collection implementing ICollection</param> + </member> + <member name="M:NUnit.Framework.Assert.IsNotEmpty(System.String,System.String,System.Object[])"> + <summary> + Assert that a string is not empty. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <param name="aString">The string to be tested</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsNotEmpty(System.String)"> + <summary> + Assert that a string is not empty. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <param name="aString">The string to be tested</param> + </member> + <member name="M:NUnit.Framework.Assert.IsNotEmpty(System.Collections.IEnumerable,System.String,System.Object[])"> + <summary> + Assert that an array, list or other collection is not empty. Returns without throwing an exception when + inside a multiple assert block. + </summary> + <param name="collection">An array, list or other collection implementing ICollection</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsNotEmpty(System.Collections.IEnumerable)"> + <summary> + Assert that an array, list or other collection is not empty. Returns without throwing an exception when + inside a multiple assert block. + </summary> + <param name="collection">An array, list or other collection implementing ICollection</param> + </member> + <member name="M:NUnit.Framework.Assert.Zero(System.Int32)"> + <summary> + Asserts that an int is zero. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Zero(System.Int32,System.String,System.Object[])"> + <summary> + Asserts that an int is zero. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Zero(System.UInt32)"> + <summary> + Asserts that an unsigned int is zero. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Zero(System.UInt32,System.String,System.Object[])"> + <summary> + Asserts that an unsigned int is zero. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Zero(System.Int64)"> + <summary> + Asserts that a Long is zero. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Zero(System.Int64,System.String,System.Object[])"> + <summary> + Asserts that a Long is zero. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Zero(System.UInt64)"> + <summary> + Asserts that an unsigned Long is zero. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Zero(System.UInt64,System.String,System.Object[])"> + <summary> + Asserts that an unsigned Long is zero. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Zero(System.Decimal)"> + <summary> + Asserts that a decimal is zero. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Zero(System.Decimal,System.String,System.Object[])"> + <summary> + Asserts that a decimal is zero. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Zero(System.Double)"> + <summary> + Asserts that a double is zero. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Zero(System.Double,System.String,System.Object[])"> + <summary> + Asserts that a double is zero. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Zero(System.Single)"> + <summary> + Asserts that a float is zero. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Zero(System.Single,System.String,System.Object[])"> + <summary> + Asserts that a float is zero. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.NotZero(System.Int32)"> + <summary> + Asserts that an int is not zero. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.NotZero(System.Int32,System.String,System.Object[])"> + <summary> + Asserts that an int is not zero. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.NotZero(System.UInt32)"> + <summary> + Asserts that an unsigned int is not zero. Returns without throwing an exception when inside a multiple + assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.NotZero(System.UInt32,System.String,System.Object[])"> + <summary> + Asserts that an unsigned int is not zero. Returns without throwing an exception when inside a multiple + assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.NotZero(System.Int64)"> + <summary> + Asserts that a Long is not zero. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.NotZero(System.Int64,System.String,System.Object[])"> + <summary> + Asserts that a Long is not zero. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.NotZero(System.UInt64)"> + <summary> + Asserts that an unsigned Long is not zero. Returns without throwing an exception when inside a multiple + assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.NotZero(System.UInt64,System.String,System.Object[])"> + <summary> + Asserts that an unsigned Long is not zero. Returns without throwing an exception when inside a multiple + assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.NotZero(System.Decimal)"> + <summary> + Asserts that a decimal is zero. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.NotZero(System.Decimal,System.String,System.Object[])"> + <summary> + Asserts that a decimal is zero. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.NotZero(System.Double)"> + <summary> + Asserts that a double is zero. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.NotZero(System.Double,System.String,System.Object[])"> + <summary> + Asserts that a double is zero. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.NotZero(System.Single)"> + <summary> + Asserts that a float is zero. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.NotZero(System.Single,System.String,System.Object[])"> + <summary> + Asserts that a float is zero. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Positive(System.Int32)"> + <summary> + Asserts that an int is positive. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Positive(System.Int32,System.String,System.Object[])"> + <summary> + Asserts that an int is positive. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Positive(System.UInt32)"> + <summary> + Asserts that an unsigned int is positive. Returns without throwing an exception when inside a multiple + assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Positive(System.UInt32,System.String,System.Object[])"> + <summary> + Asserts that an unsigned int is positive. Returns without throwing an exception when inside a multiple + assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Positive(System.Int64)"> + <summary> + Asserts that a Long is positive. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Positive(System.Int64,System.String,System.Object[])"> + <summary> + Asserts that a Long is positive. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Positive(System.UInt64)"> + <summary> + Asserts that an unsigned Long is positive. Returns without throwing an exception when inside a multiple + assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Positive(System.UInt64,System.String,System.Object[])"> + <summary> + Asserts that an unsigned Long is positive. Returns without throwing an exception when inside a multiple + assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Positive(System.Decimal)"> + <summary> + Asserts that a decimal is positive. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Positive(System.Decimal,System.String,System.Object[])"> + <summary> + Asserts that a decimal is positive. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Positive(System.Double)"> + <summary> + Asserts that a double is positive. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Positive(System.Double,System.String,System.Object[])"> + <summary> + Asserts that a double is positive. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Positive(System.Single)"> + <summary> + Asserts that a float is positive. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Positive(System.Single,System.String,System.Object[])"> + <summary> + Asserts that a float is positive. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Negative(System.Int32)"> + <summary> + Asserts that an int is negative. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Negative(System.Int32,System.String,System.Object[])"> + <summary> + Asserts that an int is negative. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Negative(System.UInt32)"> + <summary> + Asserts that an unsigned int is negative. Returns without throwing an exception when inside a multiple + assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Negative(System.UInt32,System.String,System.Object[])"> + <summary> + Asserts that an unsigned int is negative. Returns without throwing an exception when inside a multiple + assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Negative(System.Int64)"> + <summary> + Asserts that a Long is negative. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Negative(System.Int64,System.String,System.Object[])"> + <summary> + Asserts that a Long is negative. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Negative(System.UInt64)"> + <summary> + Asserts that an unsigned Long is negative. Returns without throwing an exception when inside a multiple + assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Negative(System.UInt64,System.String,System.Object[])"> + <summary> + Asserts that an unsigned Long is negative. Returns without throwing an exception when inside a multiple + assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Negative(System.Decimal)"> + <summary> + Asserts that a decimal is negative. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Negative(System.Decimal,System.String,System.Object[])"> + <summary> + Asserts that a decimal is negative. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Negative(System.Double)"> + <summary> + Asserts that a double is negative. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Negative(System.Double,System.String,System.Object[])"> + <summary> + Asserts that a double is negative. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Negative(System.Single)"> + <summary> + Asserts that a float is negative. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Negative(System.Single,System.String,System.Object[])"> + <summary> + Asserts that a float is negative. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Equals(System.Object,System.Object)"> + <summary> + 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. + </summary> + <param name="a"></param> + <param name="b"></param> + </member> + <member name="M:NUnit.Framework.Assert.ReferenceEquals(System.Object,System.Object)"> + <summary> + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + </summary> + <param name="a"></param> + <param name="b"></param> + </member> + <member name="M:NUnit.Framework.Assert.Pass(System.String,System.Object[])"> + <summary> + Throws a <see cref="T:NUnit.Framework.SuccessException"/> 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. + </summary> + <param name="message">The message to initialize the <see cref="T:NUnit.Framework.AssertionException"/> with.</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Pass(System.String)"> + <summary> + Throws a <see cref="T:NUnit.Framework.SuccessException"/> 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. + </summary> + <param name="message">The message to initialize the <see cref="T:NUnit.Framework.AssertionException"/> with.</param> + </member> + <member name="M:NUnit.Framework.Assert.Pass"> + <summary> + Throws a <see cref="T:NUnit.Framework.SuccessException"/> 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. + </summary> + </member> + <member name="M:NUnit.Framework.Assert.Fail(System.String,System.Object[])"> + <summary> + 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. + </summary> + <param name="message">The message to initialize the <see cref="T:NUnit.Framework.AssertionException"/> with.</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Fail(System.String)"> + <summary> + Marks the test as failed with the message that is passed in. Returns without throwing an exception when + inside a multiple assert block. + </summary> + <param name="message">The message to initialize the <see cref="T:NUnit.Framework.AssertionException"/> with.</param> + </member> + <member name="M:NUnit.Framework.Assert.Fail"> + <summary> + Marks the test as failed. Returns without throwing an exception when inside a multiple assert block. + </summary> + </member> + <member name="M:NUnit.Framework.Assert.Warn(System.String,System.Object[])"> + <summary> + Issues a warning using the message and arguments provided. + </summary> + <param name="message">The message to display.</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Warn(System.String)"> + <summary> + Issues a warning using the message provided. + </summary> + <param name="message">The message to display.</param> + </member> + <member name="M:NUnit.Framework.Assert.Ignore(System.String,System.Object[])"> + <summary> + Throws an <see cref="T:NUnit.Framework.IgnoreException"/> with the message and arguments + that are passed in. This causes the test to be reported as ignored. + </summary> + <param name="message">The message to initialize the <see cref="T:NUnit.Framework.AssertionException"/> with.</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Ignore(System.String)"> + <summary> + Throws an <see cref="T:NUnit.Framework.IgnoreException"/> with the message that is + passed in. This causes the test to be reported as ignored. + </summary> + <param name="message">The message to initialize the <see cref="T:NUnit.Framework.AssertionException"/> with.</param> + </member> + <member name="M:NUnit.Framework.Assert.Ignore"> + <summary> + Throws an <see cref="T:NUnit.Framework.IgnoreException"/>. + This causes the test to be reported as ignored. + </summary> + </member> + <member name="M:NUnit.Framework.Assert.Inconclusive(System.String,System.Object[])"> + <summary> + Throws an <see cref="T:NUnit.Framework.InconclusiveException"/> with the message and arguments + that are passed in. This causes the test to be reported as inconclusive. + </summary> + <param name="message">The message to initialize the <see cref="T:NUnit.Framework.InconclusiveException"/> with.</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Inconclusive(System.String)"> + <summary> + Throws an <see cref="T:NUnit.Framework.InconclusiveException"/> with the message that is + passed in. This causes the test to be reported as inconclusive. + </summary> + <param name="message">The message to initialize the <see cref="T:NUnit.Framework.InconclusiveException"/> with.</param> + </member> + <member name="M:NUnit.Framework.Assert.Inconclusive"> + <summary> + Throws an <see cref="T:NUnit.Framework.InconclusiveException"/>. + This causes the test to be reported as Inconclusive. + </summary> + </member> + <member name="M:NUnit.Framework.Assert.Contains(System.Object,System.Collections.ICollection,System.String,System.Object[])"> + <summary> + Asserts that an object is contained in a collection. Returns without throwing an exception when inside a + multiple assert block. + </summary> + <param name="expected">The expected object</param> + <param name="actual">The collection to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Contains(System.Object,System.Collections.ICollection)"> + <summary> + Asserts that an object is contained in a collection. Returns without throwing an exception when inside a + multiple assert block. + </summary> + <param name="expected">The expected object</param> + <param name="actual">The collection to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Multiple(NUnit.Framework.TestDelegate)"> + <summary> + 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. + </summary> + <param name="testDelegate">A TestDelegate to be executed in Multiple Assertion mode.</param> + </member> + <member name="M:NUnit.Framework.Assert.Multiple(NUnit.Framework.AsyncTestDelegate)"> + <summary> + 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. + </summary> + <param name="testDelegate">A TestDelegate to be executed in Multiple Assertion mode.</param> + </member> + <member name="M:NUnit.Framework.Assert.GetEnvironmentStackTraceWithoutThrowing"> + <summary> + If <see cref="P:System.Exception.StackTrace"/> throws, returns "SomeException was thrown by the + Environment.StackTrace property." See also <see cref="M:NUnit.Framework.ExceptionExtensions.GetStackTraceWithoutThrowing(System.Exception)"/>. + </summary> + </member> + <member name="M:NUnit.Framework.Assert.AreEqual(System.Double,System.Double,System.Double,System.String,System.Object[])"> + <summary> + 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. + </summary> + <param name="expected">The expected value</param> + <param name="actual">The actual value</param> + <param name="delta">The maximum acceptable difference between the the expected and the actual</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.AreEqual(System.Double,System.Double,System.Double)"> + <summary> + 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. + </summary> + <param name="expected">The expected value</param> + <param name="actual">The actual value</param> + <param name="delta">The maximum acceptable difference between the the expected and the actual</param> + </member> + <member name="M:NUnit.Framework.Assert.AreEqual(System.Double,System.Nullable{System.Double},System.Double,System.String,System.Object[])"> + <summary> + 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. + </summary> + <param name="expected">The expected value</param> + <param name="actual">The actual value</param> + <param name="delta">The maximum acceptable difference between the the expected and the actual</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.AreEqual(System.Double,System.Nullable{System.Double},System.Double)"> + <summary> + 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. + </summary> + <param name="expected">The expected value</param> + <param name="actual">The actual value</param> + <param name="delta">The maximum acceptable difference between the the expected and the actual</param> + </member> + <member name="M:NUnit.Framework.Assert.AreEqual(System.Object,System.Object,System.String,System.Object[])"> + <summary> + 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. + </summary> + <param name="expected">The value that is expected</param> + <param name="actual">The actual value</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.AreEqual(System.Object,System.Object)"> + <summary> + 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. + </summary> + <param name="expected">The value that is expected</param> + <param name="actual">The actual value</param> + </member> + <member name="M:NUnit.Framework.Assert.AreNotEqual(System.Object,System.Object,System.String,System.Object[])"> + <summary> + 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. + </summary> + <param name="expected">The value that is expected</param> + <param name="actual">The actual value</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.AreNotEqual(System.Object,System.Object)"> + <summary> + 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. + </summary> + <param name="expected">The value that is expected</param> + <param name="actual">The actual value</param> + </member> + <member name="M:NUnit.Framework.Assert.AreSame(System.Object,System.Object,System.String,System.Object[])"> + <summary> + Asserts that two objects refer to the same object. Returns without throwing an exception when inside a + multiple assert block. + </summary> + <param name="expected">The expected object</param> + <param name="actual">The actual object</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.AreSame(System.Object,System.Object)"> + <summary> + Asserts that two objects refer to the same object. Returns without throwing an exception when inside a + multiple assert block. + </summary> + <param name="expected">The expected object</param> + <param name="actual">The actual object</param> + </member> + <member name="M:NUnit.Framework.Assert.AreNotSame(System.Object,System.Object,System.String,System.Object[])"> + <summary> + Asserts that two objects do not refer to the same object. Returns without throwing an exception when inside + a multiple assert block. + </summary> + <param name="expected">The expected object</param> + <param name="actual">The actual object</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.AreNotSame(System.Object,System.Object)"> + <summary> + Asserts that two objects do not refer to the same object. Returns without throwing an exception when inside + a multiple assert block. + </summary> + <param name="expected">The expected object</param> + <param name="actual">The actual object</param> + </member> + <member name="M:NUnit.Framework.Assert.AssertDoublesAreEqual(System.Double,System.Double,System.Double,System.String,System.Object[])"> + <summary> + Helper for Assert.AreEqual(double expected, double actual, ...) + allowing code generation to work consistently. + </summary> + <param name="expected">The expected value</param> + <param name="actual">The actual value</param> + <param name="delta">The maximum acceptable difference between the + the expected and the actual</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.ThrowsAsync(NUnit.Framework.Constraints.IResolveConstraint,NUnit.Framework.AsyncTestDelegate,System.String,System.Object[])"> + <summary> + Verifies that an async delegate throws a particular exception when called. The returned exception may be + <see langword="null"/> when inside a multiple assert block. + </summary> + <param name="expression">A constraint to be satisfied by the exception</param> + <param name="code">A TestSnippet delegate</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.ThrowsAsync(NUnit.Framework.Constraints.IResolveConstraint,NUnit.Framework.AsyncTestDelegate)"> + <summary> + Verifies that an async delegate throws a particular exception when called. The returned exception may be + <see langword="null"/> when inside a multiple assert block. + </summary> + <param name="expression">A constraint to be satisfied by the exception</param> + <param name="code">A TestSnippet delegate</param> + </member> + <member name="M:NUnit.Framework.Assert.ThrowsAsync(System.Type,NUnit.Framework.AsyncTestDelegate,System.String,System.Object[])"> + <summary> + Verifies that an async delegate throws a particular exception when called. The returned exception may be + <see langword="null"/> when inside a multiple assert block. + </summary> + <param name="expectedExceptionType">The exception Type expected</param> + <param name="code">A TestDelegate</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.ThrowsAsync(System.Type,NUnit.Framework.AsyncTestDelegate)"> + <summary> + Verifies that an async delegate throws a particular exception when called. The returned exception may be + <see langword="null"/> when inside a multiple assert block. + </summary> + <param name="expectedExceptionType">The exception Type expected</param> + <param name="code">A TestDelegate</param> + </member> + <member name="M:NUnit.Framework.Assert.ThrowsAsync``1(NUnit.Framework.AsyncTestDelegate,System.String,System.Object[])"> + <summary> + Verifies that an async delegate throws a particular exception when called. The returned exception may be + <see langword="null"/> when inside a multiple assert block. + </summary> + <typeparam name="TActual">Type of the expected exception</typeparam> + <param name="code">A TestDelegate</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.ThrowsAsync``1(NUnit.Framework.AsyncTestDelegate)"> + <summary> + Verifies that an async delegate throws a particular exception when called. The returned exception may be + <see langword="null"/> when inside a multiple assert block. + </summary> + <typeparam name="TActual">Type of the expected exception</typeparam> + <param name="code">A TestDelegate</param> + </member> + <member name="M:NUnit.Framework.Assert.CatchAsync(NUnit.Framework.AsyncTestDelegate,System.String,System.Object[])"> + <summary> + Verifies that an async delegate throws an exception when called and returns it. The returned exception may + be <see langword="null"/> when inside a multiple assert block. + </summary> + <param name="code">A TestDelegate</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.CatchAsync(NUnit.Framework.AsyncTestDelegate)"> + <summary> + Verifies that an async delegate throws an exception when called and returns it. The returned exception may + be <see langword="null"/> when inside a multiple assert block. + </summary> + <param name="code">A TestDelegate</param> + </member> + <member name="M:NUnit.Framework.Assert.CatchAsync(System.Type,NUnit.Framework.AsyncTestDelegate,System.String,System.Object[])"> + <summary> + Verifies that an async delegate throws an exception of a certain Type or one derived from it when called and + returns it. The returned exception may be <see langword="null"/> when inside a multiple assert block. + </summary> + <param name="expectedExceptionType">The expected Exception Type</param> + <param name="code">A TestDelegate</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.CatchAsync(System.Type,NUnit.Framework.AsyncTestDelegate)"> + <summary> + Verifies that an async delegate throws an exception of a certain Type or one derived from it when called and + returns it. The returned exception may be <see langword="null"/> when inside a multiple assert block. + </summary> + <param name="expectedExceptionType">The expected Exception Type</param> + <param name="code">A TestDelegate</param> + </member> + <member name="M:NUnit.Framework.Assert.CatchAsync``1(NUnit.Framework.AsyncTestDelegate,System.String,System.Object[])"> + <summary> + Verifies that an async delegate throws an exception of a certain Type or one derived from it when called and + returns it. The returned exception may be <see langword="null"/> when inside a multiple assert block. + </summary> + <param name="code">A TestDelegate</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.CatchAsync``1(NUnit.Framework.AsyncTestDelegate)"> + <summary> + Verifies that an async delegate throws an exception of a certain Type or one derived from it when called and + returns it. The returned exception may be <see langword="null"/> when inside a multiple assert block. + </summary> + <param name="code">A TestDelegate</param> + </member> + <member name="M:NUnit.Framework.Assert.DoesNotThrowAsync(NUnit.Framework.AsyncTestDelegate,System.String,System.Object[])"> + <summary> + Verifies that an async delegate does not throw an exception + </summary> + <param name="code">A TestDelegate</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.DoesNotThrowAsync(NUnit.Framework.AsyncTestDelegate)"> + <summary> + Verifies that an async delegate does not throw an exception. + </summary> + <param name="code">A TestDelegate</param> + </member> + <member name="M:NUnit.Framework.Assert.Throws(NUnit.Framework.Constraints.IResolveConstraint,NUnit.Framework.TestDelegate,System.String,System.Object[])"> + <summary> + Verifies that a delegate throws a particular exception when called. The returned exception may be <see + langword="null"/> when inside a multiple assert block. + </summary> + <param name="expression">A constraint to be satisfied by the exception</param> + <param name="code">A TestSnippet delegate</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Throws(NUnit.Framework.Constraints.IResolveConstraint,NUnit.Framework.TestDelegate)"> + <summary> + Verifies that a delegate throws a particular exception when called. The returned exception may be <see + langword="null"/> when inside a multiple assert block. + </summary> + <param name="expression">A constraint to be satisfied by the exception</param> + <param name="code">A TestSnippet delegate</param> + </member> + <member name="M:NUnit.Framework.Assert.Throws(System.Type,NUnit.Framework.TestDelegate,System.String,System.Object[])"> + <summary> + Verifies that a delegate throws a particular exception when called. The returned exception may be <see + langword="null"/> when inside a multiple assert block. + </summary> + <param name="expectedExceptionType">The exception Type expected</param> + <param name="code">A TestDelegate</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Throws(System.Type,NUnit.Framework.TestDelegate)"> + <summary> + Verifies that a delegate throws a particular exception when called. The returned exception may be <see + langword="null"/> when inside a multiple assert block. + </summary> + <param name="expectedExceptionType">The exception Type expected</param> + <param name="code">A TestDelegate</param> + </member> + <member name="M:NUnit.Framework.Assert.Throws``1(NUnit.Framework.TestDelegate,System.String,System.Object[])"> + <summary> + Verifies that a delegate throws a particular exception when called. The returned exception may be <see + langword="null"/> when inside a multiple assert block. + </summary> + <typeparam name="TActual">Type of the expected exception</typeparam> + <param name="code">A TestDelegate</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Throws``1(NUnit.Framework.TestDelegate)"> + <summary> + Verifies that a delegate throws a particular exception when called. The returned exception may be <see + langword="null"/> when inside a multiple assert block. + </summary> + <typeparam name="TActual">Type of the expected exception</typeparam> + <param name="code">A TestDelegate</param> + </member> + <member name="M:NUnit.Framework.Assert.Catch(NUnit.Framework.TestDelegate,System.String,System.Object[])"> + <summary> + Verifies that a delegate throws an exception when called and returns it. The returned exception may be <see + langword="null"/> when inside a multiple assert block. + </summary> + <param name="code">A TestDelegate</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Catch(NUnit.Framework.TestDelegate)"> + <summary> + Verifies that a delegate throws an exception when called and returns it. The returned exception may be <see + langword="null"/> when inside a multiple assert block. + </summary> + <param name="code">A TestDelegate</param> + </member> + <member name="M:NUnit.Framework.Assert.Catch(System.Type,NUnit.Framework.TestDelegate,System.String,System.Object[])"> + <summary> + 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 <see langword="null"/> when inside a multiple assert block. + </summary> + <param name="expectedExceptionType">The expected Exception Type</param> + <param name="code">A TestDelegate</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Catch(System.Type,NUnit.Framework.TestDelegate)"> + <summary> + 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 <see langword="null"/> when inside a multiple assert block. + </summary> + <param name="expectedExceptionType">The expected Exception Type</param> + <param name="code">A TestDelegate</param> + </member> + <member name="M:NUnit.Framework.Assert.Catch``1(NUnit.Framework.TestDelegate,System.String,System.Object[])"> + <summary> + 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 <see langword="null"/> when inside a multiple assert block. + </summary> + <param name="code">A TestDelegate</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Catch``1(NUnit.Framework.TestDelegate)"> + <summary> + 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 <see langword="null"/> when inside a multiple assert block. + </summary> + <param name="code">A TestDelegate</param> + </member> + <member name="M:NUnit.Framework.Assert.DoesNotThrow(NUnit.Framework.TestDelegate,System.String,System.Object[])"> + <summary> + Verifies that a delegate does not throw an exception + </summary> + <param name="code">A TestDelegate</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.DoesNotThrow(NUnit.Framework.TestDelegate)"> + <summary> + Verifies that a delegate does not throw an exception. + </summary> + <param name="code">A TestDelegate</param> + </member> + <member name="M:NUnit.Framework.Assert.That(System.Boolean,System.String,System.Object[])"> + <summary> + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="condition">The evaluated condition</param> + <param name="message">The message to display if the condition is false</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.That(System.Boolean)"> + <summary> + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="condition">The evaluated condition</param> + </member> + <member name="M:NUnit.Framework.Assert.That(System.Boolean,System.Func{System.String})"> + <summary> + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="condition">The evaluated condition</param> + <param name="getExceptionMessage">A function to build the message included with the Exception</param> + </member> + <member name="M:NUnit.Framework.Assert.That(System.Func{System.Boolean},System.String,System.Object[])"> + <summary> + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="condition">A lambda that returns a Boolean</param> + <param name="message">The message to display if the condition is false</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.That(System.Func{System.Boolean})"> + <summary> + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="condition">A lambda that returns a Boolean</param> + </member> + <member name="M:NUnit.Framework.Assert.That(System.Func{System.Boolean},System.Func{System.String})"> + <summary> + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="condition">A lambda that returns a Boolean</param> + <param name="getExceptionMessage">A function to build the message included with the Exception</param> + </member> + <member name="M:NUnit.Framework.Assert.That``1(NUnit.Framework.Constraints.ActualValueDelegate{``0},NUnit.Framework.Constraints.IResolveConstraint)"> + <summary> + Apply a constraint to a delegate. Returns without throwing an exception when inside a multiple assert block. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="del">An ActualValueDelegate returning the value to be tested</param> + <param name="expr">A Constraint expression to be applied</param> + </member> + <member name="M:NUnit.Framework.Assert.That``1(NUnit.Framework.Constraints.ActualValueDelegate{``0},NUnit.Framework.Constraints.IResolveConstraint,System.String,System.Object[])"> + <summary> + Apply a constraint to a delegate. Returns without throwing an exception when inside a multiple assert block. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="del">An ActualValueDelegate returning the value to be tested</param> + <param name="expr">A Constraint expression to be applied</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.That``1(NUnit.Framework.Constraints.ActualValueDelegate{``0},NUnit.Framework.Constraints.IResolveConstraint,System.Func{System.String})"> + <summary> + Apply a constraint to a delegate. Returns without throwing an exception when inside a multiple assert block. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="del">An ActualValueDelegate returning the value to be tested</param> + <param name="expr">A Constraint expression to be applied</param> + <param name="getExceptionMessage">A function to build the message included with the Exception</param> + </member> + <member name="M:NUnit.Framework.Assert.That(NUnit.Framework.TestDelegate,NUnit.Framework.Constraints.IResolveConstraint)"> + <summary> + Apply a constraint to a delegate. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="code">A TestDelegate to be executed</param> + <param name="constraint">A Constraint expression to be applied</param> + </member> + <member name="M:NUnit.Framework.Assert.That(NUnit.Framework.TestDelegate,NUnit.Framework.Constraints.IResolveConstraint,System.String,System.Object[])"> + <summary> + Apply a constraint to a delegate. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="code">A TestDelegate to be executed</param> + <param name="constraint">A Constraint expression to be applied</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.That(NUnit.Framework.TestDelegate,NUnit.Framework.Constraints.IResolveConstraint,System.Func{System.String})"> + <summary> + Apply a constraint to a delegate. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="code">A TestDelegate to be executed</param> + <param name="constraint">A Constraint expression to be applied</param> + <param name="getExceptionMessage">A function to build the message included with the Exception</param> + </member> + <member name="M:NUnit.Framework.Assert.That``1(``0,NUnit.Framework.Constraints.IResolveConstraint)"> + <summary> + Apply a constraint to an actual value. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="actual">The actual value to test</param> + <param name="expression">A Constraint expression to be applied</param> + </member> + <member name="M:NUnit.Framework.Assert.That``1(``0,NUnit.Framework.Constraints.IResolveConstraint,System.String,System.Object[])"> + <summary> + Apply a constraint to an actual value. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="actual">The actual value to test</param> + <param name="expression">A Constraint expression to be applied</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.That``1(``0,NUnit.Framework.Constraints.IResolveConstraint,System.Func{System.String})"> + <summary> + Apply a constraint to an actual value. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="actual">The actual value to test</param> + <param name="expression">A Constraint expression to be applied</param> + <param name="getExceptionMessage">A function to build the message included with the Exception</param> + </member> + <member name="M:NUnit.Framework.Assert.ByVal(System.Object,NUnit.Framework.Constraints.IResolveConstraint)"> + <summary> + 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. + </summary> + <param name="actual">The actual value to test</param> + <param name="expression">A Constraint expression to be applied</param> + </member> + <member name="M:NUnit.Framework.Assert.ByVal(System.Object,NUnit.Framework.Constraints.IResolveConstraint,System.String,System.Object[])"> + <summary> + 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. + </summary> + <remarks> + This method is provided for use by VB developers needing to test the value of properties with private + setters. + </remarks> + <param name="actual">The actual value to test</param> + <param name="expression">A Constraint expression to be applied</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsAssignableFrom(System.Type,System.Object,System.String,System.Object[])"> + <summary> + Asserts that an object may be assigned a value of a given Type. Returns without throwing an exception when + inside a multiple assert block. + </summary> + <param name="expected">The expected Type.</param> + <param name="actual">The object under examination</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsAssignableFrom(System.Type,System.Object)"> + <summary> + Asserts that an object may be assigned a value of a given Type. Returns without throwing an exception when + inside a multiple assert block. + </summary> + <param name="expected">The expected Type.</param> + <param name="actual">The object under examination</param> + </member> + <member name="M:NUnit.Framework.Assert.IsAssignableFrom``1(System.Object,System.String,System.Object[])"> + <summary> + Asserts that an object may be assigned a value of a given Type. Returns without throwing an exception when + inside a multiple assert block. + </summary> + <typeparam name="TExpected">The expected Type.</typeparam> + <param name="actual">The object under examination</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsAssignableFrom``1(System.Object)"> + <summary> + Asserts that an object may be assigned a value of a given Type. Returns without throwing an exception when + inside a multiple assert block. + </summary> + <typeparam name="TExpected">The expected Type.</typeparam> + <param name="actual">The object under examination</param> + </member> + <member name="M:NUnit.Framework.Assert.IsNotAssignableFrom(System.Type,System.Object,System.String,System.Object[])"> + <summary> + 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. + </summary> + <param name="expected">The expected Type.</param> + <param name="actual">The object under examination</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsNotAssignableFrom(System.Type,System.Object)"> + <summary> + 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. + </summary> + <param name="expected">The expected Type.</param> + <param name="actual">The object under examination</param> + </member> + <member name="M:NUnit.Framework.Assert.IsNotAssignableFrom``1(System.Object,System.String,System.Object[])"> + <summary> + 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. + </summary> + <typeparam name="TExpected">The expected Type.</typeparam> + <param name="actual">The object under examination</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsNotAssignableFrom``1(System.Object)"> + <summary> + 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. + </summary> + <typeparam name="TExpected">The expected Type.</typeparam> + <param name="actual">The object under examination</param> + </member> + <member name="M:NUnit.Framework.Assert.IsInstanceOf(System.Type,System.Object,System.String,System.Object[])"> + <summary> + Asserts that an object is an instance of a given type. Returns without throwing an exception when inside a + multiple assert block. + </summary> + <param name="expected">The expected Type</param> + <param name="actual">The object being examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsInstanceOf(System.Type,System.Object)"> + <summary> + Asserts that an object is an instance of a given type. Returns without throwing an exception when inside a + multiple assert block. + </summary> + <param name="expected">The expected Type</param> + <param name="actual">The object being examined</param> + </member> + <member name="M:NUnit.Framework.Assert.IsInstanceOf``1(System.Object,System.String,System.Object[])"> + <summary> + Asserts that an object is an instance of a given type. Returns without throwing an exception when inside a + multiple assert block. + </summary> + <typeparam name="TExpected">The expected Type</typeparam> + <param name="actual">The object being examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsInstanceOf``1(System.Object)"> + <summary> + Asserts that an object is an instance of a given type. Returns without throwing an exception when inside a + multiple assert block. + </summary> + <typeparam name="TExpected">The expected Type</typeparam> + <param name="actual">The object being examined</param> + </member> + <member name="M:NUnit.Framework.Assert.IsNotInstanceOf(System.Type,System.Object,System.String,System.Object[])"> + <summary> + Asserts that an object is not an instance of a given type. Returns without throwing an exception when inside + a multiple assert block. + </summary> + <param name="expected">The expected Type</param> + <param name="actual">The object being examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsNotInstanceOf(System.Type,System.Object)"> + <summary> + Asserts that an object is not an instance of a given type. Returns without throwing an exception when inside + a multiple assert block. + </summary> + <param name="expected">The expected Type</param> + <param name="actual">The object being examined</param> + </member> + <member name="M:NUnit.Framework.Assert.IsNotInstanceOf``1(System.Object,System.String,System.Object[])"> + <summary> + Asserts that an object is not an instance of a given type. Returns without throwing an exception when inside + a multiple assert block. + </summary> + <typeparam name="TExpected">The expected Type</typeparam> + <param name="actual">The object being examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsNotInstanceOf``1(System.Object)"> + <summary> + Asserts that an object is not an instance of a given type. Returns without throwing an exception when inside + a multiple assert block. + </summary> + <typeparam name="TExpected">The expected Type</typeparam> + <param name="actual">The object being examined</param> + </member> + <member name="T:NUnit.Framework.TestDelegate"> + <summary> + Delegate used by tests that execute code and + capture any thrown exception. + </summary> + </member> + <member name="T:NUnit.Framework.AsyncTestDelegate"> + <summary> + Delegate used by tests that execute async code and + capture any thrown exception. + </summary> + </member> + <member name="T:NUnit.Framework.AssertionHelper"> + <summary> + AssertionHelper is an optional base class for user tests, + allowing the use of shorter names in making asserts. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.Expect(System.Boolean,System.String,System.Object[])"> + <summary> + Asserts that a condition is true. If the condition is false the method throws + an <see cref="T:NUnit.Framework.AssertionException"/>. Works Identically to + <see cref="M:NUnit.Framework.Assert.That(System.Boolean,System.String,System.Object[])"/>. + </summary> + <param name="condition">The evaluated condition</param> + <param name="message">The message to display if the condition is false</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.AssertionHelper.Expect(System.Boolean)"> + <summary> + Asserts that a condition is true. If the condition is false the method throws + an <see cref="T:NUnit.Framework.AssertionException"/>. Works Identically to <see cref="M:NUnit.Framework.Assert.That(System.Boolean)"/>. + </summary> + <param name="condition">The evaluated condition</param> + </member> + <member name="M:NUnit.Framework.AssertionHelper.Expect``1(NUnit.Framework.Constraints.ActualValueDelegate{``0},NUnit.Framework.Constraints.IResolveConstraint)"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + </summary> + <param name="expr">A Constraint expression to be applied</param> + <param name="del">An ActualValueDelegate returning the value to be tested</param> + </member> + <member name="M:NUnit.Framework.AssertionHelper.Expect``1(NUnit.Framework.Constraints.ActualValueDelegate{``0},NUnit.Framework.Constraints.IResolveConstraint,System.String,System.Object[])"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + </summary> + <param name="del">An ActualValueDelegate returning the value to be tested</param> + <param name="expr">A Constraint expression to be applied</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.AssertionHelper.Expect(NUnit.Framework.TestDelegate,NUnit.Framework.Constraints.IResolveConstraint)"> + <summary> + Asserts that the code represented by a delegate throws an exception + that satisfies the constraint provided. + </summary> + <param name="code">A TestDelegate to be executed</param> + <param name="constraint">A Constraint expression to be applied</param> + </member> + <member name="M:NUnit.Framework.AssertionHelper.Expect``1(``0,NUnit.Framework.Constraints.IResolveConstraint)"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + </summary> + <param name="expression">A Constraint expression to be applied</param> + <param name="actual">The actual value to test</param> + </member> + <member name="M:NUnit.Framework.AssertionHelper.Expect``1(``0,NUnit.Framework.Constraints.IResolveConstraint,System.String,System.Object[])"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + </summary> + <param name="expression">A Constraint expression to be applied</param> + <param name="actual">The actual value to test</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.AssertionHelper.Map(System.Collections.ICollection)"> + <summary> + Returns a ListMapper based on a collection. + </summary> + <param name="original">The original collection</param> + </member> + <member name="P:NUnit.Framework.AssertionHelper.Not"> + <summary> + Returns a ConstraintExpression that negates any + following constraint. + </summary> + </member> + <member name="P:NUnit.Framework.AssertionHelper.No"> + <summary> + Returns a ConstraintExpression that negates any + following constraint. + </summary> + </member> + <member name="P:NUnit.Framework.AssertionHelper.All"> + <summary> + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + </summary> + </member> + <member name="P:NUnit.Framework.AssertionHelper.Some"> + <summary> + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if at least one of them succeeds. + </summary> + </member> + <member name="P:NUnit.Framework.AssertionHelper.None"> + <summary> + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them fail. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.Exactly(System.Int32)"> + <summary> + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding only if a specified number of them succeed. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.Property(System.String)"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.AssertionHelper.Length"> + <summary> + Returns a new ConstraintExpression, which will apply the following + constraint to the Length property of the object being tested. + </summary> + </member> + <member name="P:NUnit.Framework.AssertionHelper.Count"> + <summary> + Returns a new ConstraintExpression, which will apply the following + constraint to the Count property of the object being tested. + </summary> + </member> + <member name="P:NUnit.Framework.AssertionHelper.Message"> + <summary> + Returns a new ConstraintExpression, which will apply the following + constraint to the Message property of the object being tested. + </summary> + </member> + <member name="P:NUnit.Framework.AssertionHelper.InnerException"> + <summary> + Returns a new ConstraintExpression, which will apply the following + constraint to the InnerException property of the object being tested. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.Attribute(System.Type)"> + <summary> + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.Attribute``1"> + <summary> + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + </summary> + </member> + <member name="P:NUnit.Framework.AssertionHelper.Null"> + <summary> + Returns a constraint that tests for null + </summary> + </member> + <member name="P:NUnit.Framework.AssertionHelper.True"> + <summary> + Returns a constraint that tests for True + </summary> + </member> + <member name="P:NUnit.Framework.AssertionHelper.False"> + <summary> + Returns a constraint that tests for False + </summary> + </member> + <member name="P:NUnit.Framework.AssertionHelper.Positive"> + <summary> + Returns a constraint that tests for a positive value + </summary> + </member> + <member name="P:NUnit.Framework.AssertionHelper.Negative"> + <summary> + Returns a constraint that tests for a negative value + </summary> + </member> + <member name="P:NUnit.Framework.AssertionHelper.Zero"> + <summary> + Returns a constraint that tests for equality with zero + </summary> + </member> + <member name="P:NUnit.Framework.AssertionHelper.NaN"> + <summary> + Returns a constraint that tests for NaN + </summary> + </member> + <member name="P:NUnit.Framework.AssertionHelper.Empty"> + <summary> + Returns a constraint that tests for empty + </summary> + </member> + <member name="P:NUnit.Framework.AssertionHelper.Unique"> + <summary> + Returns a constraint that tests whether a collection + contains all unique items. + </summary> + </member> + <member name="P:NUnit.Framework.AssertionHelper.BinarySerializable"> + <summary> + Returns a constraint that tests whether an object graph is serializable in binary format. + </summary> + </member> + <member name="P:NUnit.Framework.AssertionHelper.XmlSerializable"> + <summary> + Returns a constraint that tests whether an object graph is serializable in XML format. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.EqualTo(System.Object)"> + <summary> + Returns a constraint that tests two items for equality + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.SameAs(System.Object)"> + <summary> + Returns a constraint that tests that two references are the same object + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.GreaterThan(System.Object)"> + <summary> + Returns a constraint that tests whether the + actual value is greater than the supplied argument + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.GreaterThanOrEqualTo(System.Object)"> + <summary> + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.AtLeast(System.Object)"> + <summary> + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.LessThan(System.Object)"> + <summary> + Returns a constraint that tests whether the + actual value is less than the supplied argument + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.LessThanOrEqualTo(System.Object)"> + <summary> + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.AtMost(System.Object)"> + <summary> + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.TypeOf(System.Type)"> + <summary> + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.TypeOf``1"> + <summary> + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.InstanceOf(System.Type)"> + <summary> + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.InstanceOf``1"> + <summary> + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.AssignableFrom(System.Type)"> + <summary> + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.AssignableFrom``1"> + <summary> + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.AssignableTo(System.Type)"> + <summary> + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.AssignableTo``1"> + <summary> + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.EquivalentTo(System.Collections.IEnumerable)"> + <summary> + Returns a constraint that tests whether the actual value + is a collection containing the same elements as the + collection supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.SubsetOf(System.Collections.IEnumerable)"> + <summary> + Returns a constraint that tests whether the actual value + is a subset of the collection supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.SupersetOf(System.Collections.IEnumerable)"> + <summary> + Returns a constraint that tests whether the actual value + is a superset of the collection supplied as an argument. + </summary> + </member> + <member name="P:NUnit.Framework.AssertionHelper.Ordered"> + <summary> + Returns a constraint that tests whether a collection is ordered + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.Member(System.Object)"> + <summary> + Returns a new <see cref="T:NUnit.Framework.Constraints.SomeItemsConstraint"/> checking for the + presence of a particular object in the collection. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.Contains(System.Object)"> + <summary> + <para> + Returns a new <see cref="T:NUnit.Framework.Constraints.SomeItemsConstraint"/> checking for the + presence of a particular object in the collection. + </para> + <para> + To search for a substring instead of a collection element, use the + <see cref="M:NUnit.Framework.AssertionHelper.Contains(System.String)"/> overload. + </para> + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.Contains(System.String)"> + <summary> + <para> + 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. + </para> + <para> + To search for a collection element instead of a substring, use the + <see cref="M:NUnit.Framework.AssertionHelper.Contains(System.Object)"/> overload. + </para> + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.StringContaining(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.ContainsSubstring(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.DoesNotContain(System.String)"> + <summary> + Returns a constraint that fails if the actual + value contains the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.StartWith(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.StartsWith(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.StringStarting(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.DoesNotStartWith(System.String)"> + <summary> + Returns a constraint that fails if the actual + value starts with the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.EndWith(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.EndsWith(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.StringEnding(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.DoesNotEndWith(System.String)"> + <summary> + Returns a constraint that fails if the actual + value ends with the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.Match(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.Matches(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.StringMatching(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.DoesNotMatch(System.String)"> + <summary> + Returns a constraint that fails if the actual + value matches the pattern supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.SamePath(System.String)"> + <summary> + Returns a constraint that tests whether the path provided + is the same as an expected path after canonicalization. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.SubPathOf(System.String)"> + <summary> + Returns a constraint that tests whether the path provided + is a subpath of the expected path after canonicalization. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.SamePathOrUnder(System.String)"> + <summary> + Returns a constraint that tests whether the path provided + is the same path or under an expected path after canonicalization. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.InRange(System.Object,System.Object)"> + <summary> + Returns a constraint that tests whether the actual value falls + within a specified range. + </summary> + </member> + <member name="T:NUnit.Framework.Assume"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Assume.Equals(System.Object,System.Object)"> + <summary> + DO NOT USE! + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + </summary> + <param name="a">The left object.</param> + <param name="b">The right object.</param> + <returns>Not applicable</returns> + </member> + <member name="M:NUnit.Framework.Assume.ReferenceEquals(System.Object,System.Object)"> + <summary> + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + </summary> + <param name="a">The left object.</param> + <param name="b">The right object.</param> + </member> + <member name="M:NUnit.Framework.Assume.That``1(NUnit.Framework.Constraints.ActualValueDelegate{``0},NUnit.Framework.Constraints.IResolveConstraint)"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="del">An ActualValueDelegate returning the value to be tested</param> + <param name="expr">A Constraint expression to be applied</param> + </member> + <member name="M:NUnit.Framework.Assume.That``1(NUnit.Framework.Constraints.ActualValueDelegate{``0},NUnit.Framework.Constraints.IResolveConstraint,System.String,System.Object[])"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="del">An ActualValueDelegate returning the value to be tested</param> + <param name="expr">A Constraint expression to be applied</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assume.That``1(NUnit.Framework.Constraints.ActualValueDelegate{``0},NUnit.Framework.Constraints.IResolveConstraint,System.Func{System.String})"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="del">An ActualValueDelegate returning the value to be tested</param> + <param name="expr">A Constraint expression to be applied</param> + <param name="getExceptionMessage">A function to build the message included with the Exception</param> + </member> + <member name="M:NUnit.Framework.Assume.That(System.Boolean,System.String,System.Object[])"> + <summary> + Asserts that a condition is true. If the condition is false, the method throws + an <see cref="T:NUnit.Framework.InconclusiveException"/>. + </summary> + <param name="condition">The evaluated condition</param> + <param name="message">The message to display if the condition is false</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assume.That(System.Boolean)"> + <summary> + Asserts that a condition is true. If the condition is false, the + method throws an <see cref="T:NUnit.Framework.InconclusiveException"/>. + </summary> + <param name="condition">The evaluated condition</param> + </member> + <member name="M:NUnit.Framework.Assume.That(System.Boolean,System.Func{System.String})"> + <summary> + Asserts that a condition is true. If the condition is false, the method throws + an <see cref="T:NUnit.Framework.InconclusiveException"/>. + </summary> + <param name="condition">The evaluated condition</param> + <param name="getExceptionMessage">A function to build the message included with the Exception</param> + </member> + <member name="M:NUnit.Framework.Assume.That(System.Func{System.Boolean},System.String,System.Object[])"> + <summary> + Asserts that a condition is true. If the condition is false, the method throws + an <see cref="T:NUnit.Framework.InconclusiveException"/>. + </summary> + <param name="condition">A lambda that returns a Boolean</param> + <param name="message">The message to display if the condition is false</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assume.That(System.Func{System.Boolean})"> + <summary> + Asserts that a condition is true. If the condition is false, the method throws + an <see cref="T:NUnit.Framework.InconclusiveException"/>. + </summary> + <param name="condition">A lambda that returns a Boolean</param> + </member> + <member name="M:NUnit.Framework.Assume.That(System.Func{System.Boolean},System.Func{System.String})"> + <summary> + Asserts that a condition is true. If the condition is false, the method throws + an <see cref="T:NUnit.Framework.InconclusiveException"/>. + </summary> + <param name="condition">A lambda that returns a Boolean</param> + <param name="getExceptionMessage">A function to build the message included with the Exception</param> + </member> + <member name="M:NUnit.Framework.Assume.That(NUnit.Framework.TestDelegate,NUnit.Framework.Constraints.IResolveConstraint)"> + <summary> + Asserts that the code represented by a delegate throws an exception + that satisfies the constraint provided. + </summary> + <param name="code">A TestDelegate to be executed</param> + <param name="constraint">A ThrowsConstraint used in the test</param> + </member> + <member name="M:NUnit.Framework.Assume.That``1(``0,NUnit.Framework.Constraints.IResolveConstraint)"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="actual">The actual value to test</param> + <param name="expression">A Constraint expression to be applied</param> + </member> + <member name="M:NUnit.Framework.Assume.That``1(``0,NUnit.Framework.Constraints.IResolveConstraint,System.String,System.Object[])"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="actual">The actual value to test</param> + <param name="expression">A Constraint expression to be applied</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assume.That``1(``0,NUnit.Framework.Constraints.IResolveConstraint,System.Func{System.String})"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="actual">The actual value to test</param> + <param name="expression">A Constraint expression to be applied</param> + <param name="getExceptionMessage">A function to build the message included with the Exception</param> + </member> + <member name="T:NUnit.Framework.ApartmentAttribute"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.ApartmentAttribute.#ctor(System.Threading.ApartmentState)"> + <summary> + Construct an ApartmentAttribute + </summary> + <param name="apartmentState">The apartment state that this test must be run under. You must pass in a valid apartment state.</param> + </member> + <member name="T:NUnit.Framework.AuthorAttribute"> + <summary> + Provides the author of a test or test fixture. + </summary> + </member> + <member name="M:NUnit.Framework.AuthorAttribute.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.AuthorAttribute"/> class. + </summary> + <param name="name">The name of the author.</param> + </member> + <member name="M:NUnit.Framework.AuthorAttribute.#ctor(System.String,System.String)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.AuthorAttribute"/> class. + </summary> + <param name="name">The name of the author.</param> + <param name="email">The email address of the author.</param> + </member> + <member name="T:NUnit.Framework.CategoryAttribute"> + <summary> + Applies a category to a test + </summary> + </member> + <member name="F:NUnit.Framework.CategoryAttribute.categoryName"> + <summary> + The name of the category + </summary> + </member> + <member name="M:NUnit.Framework.CategoryAttribute.#ctor(System.String)"> + <summary> + 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. + </summary> + <param name="name">The name of the category</param> + </member> + <member name="M:NUnit.Framework.CategoryAttribute.#ctor"> + <summary> + Protected constructor uses the Type name as the name + of the category. + </summary> + </member> + <member name="P:NUnit.Framework.CategoryAttribute.Name"> + <summary> + The name of the category + </summary> + </member> + <member name="M:NUnit.Framework.CategoryAttribute.ApplyToTest(NUnit.Framework.Internal.Test)"> + <summary> + Modifies a test by adding a category to it. + </summary> + <param name="test">The test to modify</param> + </member> + <member name="T:NUnit.Framework.CombinatorialAttribute"> + <summary> + Marks a test to use a combinatorial join of any argument data provided. + Since this is the default, the attribute is optional. + </summary> + </member> + <member name="M:NUnit.Framework.CombinatorialAttribute.#ctor"> + <summary> + Default constructor + </summary> + </member> + <member name="T:NUnit.Framework.CombiningStrategyAttribute"> + <summary> + Marks a test as using a particular CombiningStrategy to join any supplied parameter data. + Since this is the default, the attribute is optional. + </summary> + </member> + <member name="M:NUnit.Framework.CombiningStrategyAttribute.#ctor(NUnit.Framework.Interfaces.ICombiningStrategy,NUnit.Framework.Interfaces.IParameterDataProvider)"> + <summary> + Construct a CombiningStrategyAttribute incorporating an + ICombiningStrategy and an IParameterDataProvider. + </summary> + <param name="strategy">Combining strategy to be used in combining data</param> + <param name="provider">An IParameterDataProvider to supply data</param> + </member> + <member name="M:NUnit.Framework.CombiningStrategyAttribute.#ctor(System.Object,System.Object)"> + <summary> + Construct a CombiningStrategyAttribute incorporating an object + that implements ICombiningStrategy and an IParameterDataProvider. + This constructor is provided for CLS compliance. + </summary> + <param name="strategy">Combining strategy to be used in combining data</param> + <param name="provider">An IParameterDataProvider to supply data</param> + </member> + <member name="M:NUnit.Framework.CombiningStrategyAttribute.BuildFrom(NUnit.Framework.Interfaces.IMethodInfo,NUnit.Framework.Internal.Test)"> + <summary> + Builds any number of tests from the specified method and context. + </summary> + <param name="method">The MethodInfo for which tests are to be constructed.</param> + <param name="suite">The suite to which the tests will be added.</param> + </member> + <member name="M:NUnit.Framework.CombiningStrategyAttribute.ApplyToTest(NUnit.Framework.Internal.Test)"> + <summary> + Modify the test by adding the name of the combining strategy + to the properties. + </summary> + <param name="test">The test to modify</param> + </member> + <member name="T:NUnit.Framework.CultureAttribute"> + <summary> + Marks an assembly, test fixture or test method as applying to a specific Culture. + </summary> + </member> + <member name="M:NUnit.Framework.CultureAttribute.#ctor"> + <summary> + Constructor with no cultures specified, for use + with named property syntax. + </summary> + </member> + <member name="M:NUnit.Framework.CultureAttribute.#ctor(System.String)"> + <summary> + Constructor taking one or more cultures + </summary> + <param name="cultures">Comma-delimited list of cultures</param> + </member> + <member name="M:NUnit.Framework.CultureAttribute.ApplyToTest(NUnit.Framework.Internal.Test)"> + <summary> + Causes a test to be skipped if this CultureAttribute is not satisfied. + </summary> + <param name="test">The test to modify</param> + </member> + <member name="M:NUnit.Framework.CultureAttribute.IsCultureSupported(System.String@)"> + <summary> + Tests to determine if the current culture is supported + based on the properties of this attribute. + </summary> + <returns>True, if the current culture is supported</returns> + </member> + <member name="M:NUnit.Framework.CultureAttribute.IsCultureSupported(System.String)"> + <summary> + Test to determine if the a particular culture or comma- + delimited set of cultures is in use. + </summary> + <param name="culture">Name of the culture or comma-separated list of culture ids</param> + <returns>True if the culture is in use on the system</returns> + </member> + <member name="M:NUnit.Framework.CultureAttribute.IsCultureSupported(System.String[])"> + <summary> + Test to determine if one of a collection of cultures + is being used currently. + </summary> + <param name="cultures"></param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.DataAttribute"> + <summary> + Abstract base class for all data-providing attributes defined by NUnit. + Used to select all data sources for a method, class or parameter. + </summary> + </member> + <member name="M:NUnit.Framework.DataAttribute.#ctor"> + <summary> + Default constructor + </summary> + </member> + <member name="T:NUnit.Framework.DatapointAttribute"> + <summary> + 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. + </summary> + </member> + <member name="T:NUnit.Framework.DatapointsAttribute"> + <summary> + 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 <see cref="T:System.Collections.Generic.IEnumerable`1"/>. Synonymous with <see cref="T:NUnit.Framework.DatapointSourceAttribute"/>. + </summary> + </member> + <member name="T:NUnit.Framework.DatapointSourceAttribute"> + <summary> + 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 <see cref="T:System.Collections.Generic.IEnumerable`1"/>. Synonymous with <see cref="T:NUnit.Framework.DatapointsAttribute"/>. + </summary> + </member> + <member name="T:NUnit.Framework.DefaultFloatingPointToleranceAttribute"> + <summary> + Sets the tolerance used by default when checking the equality of floating point values + within the test assembly, fixture or method. + </summary> + </member> + <member name="M:NUnit.Framework.DefaultFloatingPointToleranceAttribute.#ctor(System.Double)"> + <summary> + Construct specifying an amount + </summary> + <param name="amount"></param> + </member> + <member name="M:NUnit.Framework.DefaultFloatingPointToleranceAttribute.ApplyToContext(NUnit.Framework.Internal.TestExecutionContext)"> + <summary> + Apply changes to the TestExecutionContext + </summary> + <param name="context">The TestExecutionContext</param> + </member> + <member name="T:NUnit.Framework.DescriptionAttribute"> + <summary> + Provides the descriptive text relating to the assembly, test fixture or test method. + </summary> + </member> + <member name="M:NUnit.Framework.DescriptionAttribute.#ctor(System.String)"> + <summary> + Construct a description Attribute + </summary> + <param name="description">The text of the description</param> + </member> + <member name="T:NUnit.Framework.ExplicitAttribute"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.ExplicitAttribute.#ctor"> + <summary> + Default constructor + </summary> + </member> + <member name="M:NUnit.Framework.ExplicitAttribute.#ctor(System.String)"> + <summary> + Constructor with a reason + </summary> + <param name="reason">The reason test is marked explicit</param> + </member> + <member name="M:NUnit.Framework.ExplicitAttribute.ApplyToTest(NUnit.Framework.Internal.Test)"> + <summary> + Modifies a test by marking it as explicit. + </summary> + <param name="test">The test to modify</param> + </member> + <member name="T:NUnit.Framework.FixtureLifeCycleAttribute"> + <summary> + Specify the life cycle of a Fixture + </summary> + </member> + <member name="M:NUnit.Framework.FixtureLifeCycleAttribute.#ctor(NUnit.Framework.LifeCycle)"> + <summary> + Construct a FixtureLifeCycleAttribute with a specified <see cref="P:NUnit.Framework.FixtureLifeCycleAttribute.LifeCycle"/>. + </summary> + </member> + <member name="P:NUnit.Framework.FixtureLifeCycleAttribute.LifeCycle"> + <summary> + Defines the life cycle for this test fixture or assembly. + </summary> + </member> + <member name="M:NUnit.Framework.FixtureLifeCycleAttribute.ApplyToTest(NUnit.Framework.Internal.Test)"> + <summary> + Overridden to set a TestFixture's <see cref="P:NUnit.Framework.FixtureLifeCycleAttribute.LifeCycle"/>. + </summary> + </member> + <member name="T:NUnit.Framework.IgnoreAttribute"> + <summary> + Marks an assembly, test fixture or test method as being ignored. Ignored tests result in a warning message when the tests are run. + </summary> + </member> + <member name="M:NUnit.Framework.IgnoreAttribute.#ctor(System.String)"> + <summary> + Constructs the attribute giving a reason for ignoring the test + </summary> + <param name="reason">The reason for ignoring the test</param> + </member> + <member name="P:NUnit.Framework.IgnoreAttribute.Until"> + <summary> + 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. + </summary> + <remarks> + 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. + </remarks> + <exception cref="T:System.FormatException">The string does not contain a valid string representation of a date and time.</exception> + </member> + <member name="M:NUnit.Framework.IgnoreAttribute.ApplyToTest(NUnit.Framework.Internal.Test)"> + <summary> + Modifies a test by marking it as Ignored. + </summary> + <param name="test">The test to modify</param> + </member> + <member name="T:NUnit.Framework.IncludeExcludeAttribute"> + <summary> + Abstract base for attributes that are used to include tests in + the test run based on environmental settings. + </summary> + </member> + <member name="M:NUnit.Framework.IncludeExcludeAttribute.#ctor"> + <summary> + Constructor with no included items specified, for use + with named property syntax. + </summary> + </member> + <member name="M:NUnit.Framework.IncludeExcludeAttribute.#ctor(System.String)"> + <summary> + Constructor taking one or more included items + </summary> + <param name="include">Comma-delimited list of included items</param> + </member> + <member name="P:NUnit.Framework.IncludeExcludeAttribute.Include"> + <summary> + Name of the item that is needed in order for + a test to run. Multiple items may be given, + separated by a comma. + </summary> + </member> + <member name="P:NUnit.Framework.IncludeExcludeAttribute.Exclude"> + <summary> + Name of the item to be excluded. Multiple items + may be given, separated by a comma. + </summary> + </member> + <member name="P:NUnit.Framework.IncludeExcludeAttribute.Reason"> + <summary> + The reason for including or excluding the test + </summary> + </member> + <member name="T:NUnit.Framework.LevelOfParallelismAttribute"> + <summary> + Sets the number of worker threads that may be allocated by the framework + for running tests. + </summary> + </member> + <member name="M:NUnit.Framework.LevelOfParallelismAttribute.#ctor(System.Int32)"> + <summary> + Construct a LevelOfParallelismAttribute. + </summary> + <param name="level">The number of worker threads to be created by the framework.</param> + </member> + <member name="T:NUnit.Framework.LifeCycle"> + <summary> + Specifies the life cycle for a test fixture. + </summary> + </member> + <member name="F:NUnit.Framework.LifeCycle.SingleInstance"> + <summary> + A single instance is created and shared for all test cases. + </summary> + </member> + <member name="F:NUnit.Framework.LifeCycle.InstancePerTestCase"> + <summary> + A new instance is created for each test case. + </summary> + </member> + <member name="T:NUnit.Framework.MaxTimeAttribute"> + <summary> + Specifies the maximum time (in milliseconds) for a test case to succeed. + </summary> + </member> + <member name="M:NUnit.Framework.MaxTimeAttribute.#ctor(System.Int32)"> + <summary> + Construct a MaxTimeAttribute, given a time in milliseconds. + </summary> + <param name="milliseconds">The maximum elapsed time in milliseconds</param> + </member> + <member name="T:NUnit.Framework.NonParallelizableAttribute"> + <summary> + Marks tests that should NOT be run in parallel. + </summary> + </member> + <member name="M:NUnit.Framework.NonParallelizableAttribute.#ctor"> + <summary> + Construct a NonParallelizableAttribute. + </summary> + </member> + <member name="T:NUnit.Framework.NonTestAssemblyAttribute"> + <summary> + 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. + </summary> + </member> + <member name="T:NUnit.Framework.NUnitAttribute"> + <summary> + Abstract base class for all custom attributes defined by NUnit. + </summary> + </member> + <member name="M:NUnit.Framework.NUnitAttribute.#ctor"> + <summary> + Default constructor + </summary> + </member> + <member name="T:NUnit.Framework.OneTimeSetUpAttribute"> + <summary> + Identifies a method that is called once to perform setup before any child tests are run. + </summary> + </member> + <member name="T:NUnit.Framework.OneTimeTearDownAttribute"> + <summary> + 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. + </summary> + </member> + <member name="T:NUnit.Framework.OrderAttribute"> + <summary> + Defines the order that the test will run in + </summary> + </member> + <member name="F:NUnit.Framework.OrderAttribute.Order"> + <summary> + Defines the order that the test will run in + </summary> + </member> + <member name="M:NUnit.Framework.OrderAttribute.#ctor(System.Int32)"> + <summary> + Defines the order that the test will run in + </summary> + <param name="order"></param> + </member> + <member name="M:NUnit.Framework.OrderAttribute.ApplyToTest(NUnit.Framework.Internal.Test)"> + <summary> + Modifies a test as defined for the specific attribute. + </summary> + <param name="test">The test to modify</param> + </member> + <member name="T:NUnit.Framework.PairwiseAttribute"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.PairwiseAttribute.#ctor"> + <summary> + Default constructor + </summary> + </member> + <member name="T:NUnit.Framework.ParallelizableAttribute"> + <summary> + Marks a test assembly, fixture or method that may be run in parallel. + </summary> + </member> + <member name="M:NUnit.Framework.ParallelizableAttribute.#ctor"> + <summary> + Construct a ParallelizableAttribute using default ParallelScope.Self. + </summary> + </member> + <member name="M:NUnit.Framework.ParallelizableAttribute.#ctor(NUnit.Framework.ParallelScope)"> + <summary> + Construct a ParallelizableAttribute with a specified scope. + </summary> + <param name="scope">The ParallelScope associated with this attribute.</param> + </member> + <member name="P:NUnit.Framework.ParallelizableAttribute.Scope"> + <summary> + Defines the degree to which this test and its descendants may be run in parallel + </summary> + </member> + <member name="M:NUnit.Framework.ParallelizableAttribute.ApplyToTest(NUnit.Framework.Internal.Test)"> + <summary> + Overridden to check for invalid combinations of settings + </summary> + <param name="test"></param> + </member> + <member name="M:NUnit.Framework.ParallelizableAttribute.ApplyToContext(NUnit.Framework.Internal.TestExecutionContext)"> + <summary> + Modify the context to be used for child tests + </summary> + <param name="context">The current TestExecutionContext</param> + </member> + <member name="T:NUnit.Framework.ParallelScope"> + <summary> + Specifies the degree to which a test, and its descendants, + may be run in parallel. + </summary> + </member> + <member name="F:NUnit.Framework.ParallelScope.Default"> + <summary> + No ParallelScope was specified on the test + </summary> + </member> + <member name="F:NUnit.Framework.ParallelScope.Self"> + <summary> + The test may be run in parallel with others at the same level. + Valid on classes and methods but has no effect on assemblies. + </summary> + </member> + <member name="F:NUnit.Framework.ParallelScope.None"> + <summary> + Test may not be run in parallel with any others. Valid on + classes and methods but not assemblies. + </summary> + </member> + <member name="F:NUnit.Framework.ParallelScope.ItemMask"> + <summary> + Mask used to extract the flags that apply to the item on which a + ParallelizableAttribute has been placed, as opposed to descendants. + </summary> + </member> + <member name="F:NUnit.Framework.ParallelScope.Children"> + <summary> + Descendants of the test may be run in parallel with one another. + Valid on assemblies and classes but not on non-parameterized methods. + </summary> + </member> + <member name="F:NUnit.Framework.ParallelScope.Fixtures"> + <summary> + 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. + </summary> + </member> + <member name="F:NUnit.Framework.ParallelScope.ContextMask"> + <summary> + Mask used to extract all the flags that impact descendants of a + test and place them in the TestExecutionContext. + </summary> + </member> + <member name="F:NUnit.Framework.ParallelScope.All"> + <summary> + 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 <see cref="F:NUnit.Framework.ParallelScope.Children"/> + instead, as <see cref="F:NUnit.Framework.ParallelScope.Self"/> has no effect on assemblies. + </summary> + </member> + <member name="T:NUnit.Framework.PlatformAttribute"> + <summary> + Marks an assembly, test fixture or test method as applying to a specific platform. + </summary> + </member> + <member name="M:NUnit.Framework.PlatformAttribute.#ctor"> + <summary> + Constructor with no platforms specified, for use + with named property syntax. + </summary> + </member> + <member name="M:NUnit.Framework.PlatformAttribute.#ctor(System.String)"> + <summary> + Constructor taking one or more platforms + </summary> + <param name="platforms">Comma-delimited list of platforms</param> + </member> + <member name="M:NUnit.Framework.PlatformAttribute.ApplyToTest(NUnit.Framework.Internal.Test)"> + <summary> + Causes a test to be skipped if this PlatformAttribute is not satisfied. + </summary> + <param name="test">The test to modify</param> + </member> + <member name="T:NUnit.Framework.PropertyAttribute"> + <summary> + Attaches information to a test assembly, fixture or method as a name/value pair. + </summary> + </member> + <member name="M:NUnit.Framework.PropertyAttribute.#ctor(System.String,System.String)"> + <summary> + Construct a PropertyAttribute with a name and string value + </summary> + <param name="propertyName">The name of the property</param> + <param name="propertyValue">The property value</param> + </member> + <member name="M:NUnit.Framework.PropertyAttribute.#ctor(System.String,System.Int32)"> + <summary> + Construct a PropertyAttribute with a name and int value + </summary> + <param name="propertyName">The name of the property</param> + <param name="propertyValue">The property value</param> + </member> + <member name="M:NUnit.Framework.PropertyAttribute.#ctor(System.String,System.Double)"> + <summary> + Construct a PropertyAttribute with a name and double value + </summary> + <param name="propertyName">The name of the property</param> + <param name="propertyValue">The property value</param> + </member> + <member name="M:NUnit.Framework.PropertyAttribute.#ctor"> + <summary> + Constructor for derived classes that set the + property dictionary directly. + </summary> + </member> + <member name="M:NUnit.Framework.PropertyAttribute.#ctor(System.Object)"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.PropertyAttribute.Properties"> + <summary> + Gets the property dictionary for this attribute + </summary> + </member> + <member name="M:NUnit.Framework.PropertyAttribute.ApplyToTest(NUnit.Framework.Internal.Test)"> + <summary> + Modifies a test by adding properties to it. + </summary> + <param name="test">The test to modify</param> + </member> + <member name="T:NUnit.Framework.RandomAttribute"> + <summary> + Supplies a set of random values to a single parameter of a parameterized test. + </summary> + </member> + <member name="P:NUnit.Framework.RandomAttribute.Distinct"> + <summary> + If true, no value will be repeated. + </summary> + </member> + <member name="M:NUnit.Framework.RandomAttribute.#ctor(System.Int32)"> + <summary> + Construct a random set of values appropriate for the Type of the + parameter on which the attribute appears, specifying only the count. + </summary> + <param name="count"></param> + </member> + <member name="M:NUnit.Framework.RandomAttribute.#ctor(System.Int32,System.Int32,System.Int32)"> + <summary> + Generates <see cref="T:System.Int32"/> values within a specified range. + </summary> + </member> + <member name="M:NUnit.Framework.RandomAttribute.#ctor(System.UInt32,System.UInt32,System.Int32)"> + <summary> + Generates <see cref="T:System.UInt32"/> values within a specified range. + </summary> + </member> + <member name="M:NUnit.Framework.RandomAttribute.#ctor(System.Int64,System.Int64,System.Int32)"> + <summary> + Generates <see cref="T:System.Int64"/> values within a specified range. + </summary> + </member> + <member name="M:NUnit.Framework.RandomAttribute.#ctor(System.UInt64,System.UInt64,System.Int32)"> + <summary> + Generates <see cref="T:System.UInt64"/> values within a specified range. + </summary> + </member> + <member name="M:NUnit.Framework.RandomAttribute.#ctor(System.Int16,System.Int16,System.Int32)"> + <summary> + Generates <see cref="T:System.Int16"/> values within a specified range. + </summary> + </member> + <member name="M:NUnit.Framework.RandomAttribute.#ctor(System.UInt16,System.UInt16,System.Int32)"> + <summary> + Generates <see cref="T:System.UInt16"/> values within a specified range. + </summary> + </member> + <member name="M:NUnit.Framework.RandomAttribute.#ctor(System.Double,System.Double,System.Int32)"> + <summary> + Generates <see cref="T:System.Double"/> values within a specified range. + </summary> + </member> + <member name="M:NUnit.Framework.RandomAttribute.#ctor(System.Single,System.Single,System.Int32)"> + <summary> + Generates <see cref="T:System.Single"/> values within a specified range. + </summary> + </member> + <member name="M:NUnit.Framework.RandomAttribute.#ctor(System.Byte,System.Byte,System.Int32)"> + <summary> + Generates <see cref="T:System.Byte"/> values within a specified range. + </summary> + </member> + <member name="M:NUnit.Framework.RandomAttribute.#ctor(System.SByte,System.SByte,System.Int32)"> + <summary> + Generates <see cref="T:System.SByte"/> values within a specified range. + </summary> + </member> + <member name="M:NUnit.Framework.RandomAttribute.GetData(NUnit.Framework.Interfaces.IParameterInfo)"> + <summary> + Retrieves a list of arguments which can be passed to the specified parameter. + </summary> + <param name="parameter">The parameter of a parameterized test.</param> + </member> + <member name="T:NUnit.Framework.RangeAttribute"> + <summary> + Supplies a range of values to an individual parameter of a parameterized test. + </summary> + </member> + <member name="M:NUnit.Framework.RangeAttribute.#ctor(System.Int32,System.Int32)"> + <summary> + Constructs a range of <see cref="T:System.Int32"/> values using the default step of 1. + </summary> + </member> + <member name="M:NUnit.Framework.RangeAttribute.#ctor(System.Int32,System.Int32,System.Int32)"> + <summary> + Constructs a range of <see cref="T:System.Int32"/> values with the specified step size. + </summary> + </member> + <member name="M:NUnit.Framework.RangeAttribute.#ctor(System.UInt32,System.UInt32)"> + <summary> + Constructs a range of <see cref="T:System.UInt32"/> values using the default step of 1. + </summary> + </member> + <member name="M:NUnit.Framework.RangeAttribute.#ctor(System.UInt32,System.UInt32,System.UInt32)"> + <summary> + Constructs a range of <see cref="T:System.UInt32"/> values with the specified step size. + </summary> + </member> + <member name="M:NUnit.Framework.RangeAttribute.#ctor(System.Int64,System.Int64)"> + <summary> + Constructs a range of <see cref="T:System.Int64"/> values using a default step of 1. + </summary> + </member> + <member name="M:NUnit.Framework.RangeAttribute.#ctor(System.Int64,System.Int64,System.Int64)"> + <summary> + Constructs a range of <see cref="T:System.Int64"/> values with the specified step size. + </summary> + </member> + <member name="M:NUnit.Framework.RangeAttribute.#ctor(System.UInt64,System.UInt64)"> + <summary> + Constructs a range of <see cref="T:System.UInt64"/> values using the default step of 1. + </summary> + </member> + <member name="M:NUnit.Framework.RangeAttribute.#ctor(System.UInt64,System.UInt64,System.UInt64)"> + <summary> + Constructs a range of <see cref="T:System.UInt64"/> values with the specified step size. + </summary> + </member> + <member name="M:NUnit.Framework.RangeAttribute.#ctor(System.Double,System.Double,System.Double)"> + <summary> + Constructs a range of <see cref="T:System.Double"/> values with the specified step size. + </summary> + </member> + <member name="M:NUnit.Framework.RangeAttribute.#ctor(System.Single,System.Single,System.Single)"> + <summary> + Constructs a range of <see cref="T:System.Single"/> values with the specified step size. + </summary> + </member> + <member name="M:NUnit.Framework.RangeAttribute.GetData(NUnit.Framework.Interfaces.IParameterInfo)"> + <summary> + Retrieves a list of arguments which can be passed to the specified parameter. + </summary> + <param name="parameter">The parameter of a parameterized test.</param> + </member> + <member name="M:NUnit.Framework.RangeAttribute.ToString"> + <summary>Returns a string that represents the current object.</summary> + </member> + <member name="T:NUnit.Framework.RepeatAttribute"> + <summary> + Specifies that a test should be run multiple times. + </summary> + </member> + <member name="M:NUnit.Framework.RepeatAttribute.#ctor(System.Int32)"> + <summary> + Construct a RepeatAttribute + </summary> + <param name="count">The number of times to run the test</param> + </member> + <member name="M:NUnit.Framework.RepeatAttribute.Wrap(NUnit.Framework.Internal.Commands.TestCommand)"> + <summary> + Wrap a command and return the result. + </summary> + <param name="command">The command to be wrapped</param> + <returns>The wrapped command</returns> + </member> + <member name="T:NUnit.Framework.RepeatAttribute.RepeatedTestCommand"> + <summary> + The test command for the RepeatAttribute + </summary> + </member> + <member name="M:NUnit.Framework.RepeatAttribute.RepeatedTestCommand.#ctor(NUnit.Framework.Internal.Commands.TestCommand,System.Int32)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.RepeatAttribute.RepeatedTestCommand"/> class. + </summary> + <param name="innerCommand">The inner command.</param> + <param name="repeatCount">The number of repetitions</param> + </member> + <member name="M:NUnit.Framework.RepeatAttribute.RepeatedTestCommand.Execute(NUnit.Framework.Internal.TestExecutionContext)"> + <summary> + Runs the test, saving a TestResult in the supplied TestExecutionContext. + </summary> + <param name="context">The context in which the test should run.</param> + <returns>A TestResult</returns> + </member> + <member name="T:NUnit.Framework.RequiresThreadAttribute"> + <summary> + Marks a test that must run on a separate thread. + </summary> + </member> + <member name="M:NUnit.Framework.RequiresThreadAttribute.#ctor"> + <summary> + Construct a RequiresThreadAttribute + </summary> + </member> + <member name="M:NUnit.Framework.RequiresThreadAttribute.#ctor(System.Threading.ApartmentState)"> + <summary> + Construct a RequiresThreadAttribute, specifying the apartment + </summary> + </member> + <member name="T:NUnit.Framework.RetryAttribute"> + <summary> + Specifies that a test method should be rerun on failure up to the specified + maximum number of times. + </summary> + </member> + <member name="M:NUnit.Framework.RetryAttribute.#ctor(System.Int32)"> + <summary> + Construct a <see cref="T:NUnit.Framework.RetryAttribute" /> + </summary> + <param name="tryCount">The maximum number of times the test should be run if it fails</param> + </member> + <member name="M:NUnit.Framework.RetryAttribute.Wrap(NUnit.Framework.Internal.Commands.TestCommand)"> + <summary> + Wrap a command and return the result. + </summary> + <param name="command">The command to be wrapped</param> + <returns>The wrapped command</returns> + </member> + <member name="T:NUnit.Framework.RetryAttribute.RetryCommand"> + <summary> + The test command for the <see cref="T:NUnit.Framework.RetryAttribute"/> + </summary> + </member> + <member name="M:NUnit.Framework.RetryAttribute.RetryCommand.#ctor(NUnit.Framework.Internal.Commands.TestCommand,System.Int32)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.RetryAttribute.RetryCommand"/> class. + </summary> + <param name="innerCommand">The inner command.</param> + <param name="tryCount">The maximum number of repetitions</param> + </member> + <member name="M:NUnit.Framework.RetryAttribute.RetryCommand.Execute(NUnit.Framework.Internal.TestExecutionContext)"> + <summary> + Runs the test, saving a TestResult in the supplied TestExecutionContext. + </summary> + <param name="context">The context in which the test should run.</param> + <returns>A TestResult</returns> + </member> + <member name="T:NUnit.Framework.SequentialAttribute"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.SequentialAttribute.#ctor"> + <summary> + Default constructor + </summary> + </member> + <member name="T:NUnit.Framework.SetCultureAttribute"> + <summary> + 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. + </summary> + <seealso cref="T:NUnit.Framework.SetUICultureAttribute"/> + </member> + <member name="M:NUnit.Framework.SetCultureAttribute.#ctor(System.String)"> + <summary> + Construct given the name of a culture + </summary> + <param name="culture"></param> + </member> + <member name="T:NUnit.Framework.SetUICultureAttribute"> + <summary> + 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. + </summary> + <seealso cref="T:NUnit.Framework.SetCultureAttribute"/> + </member> + <member name="M:NUnit.Framework.SetUICultureAttribute.#ctor(System.String)"> + <summary> + Construct given the name of a culture + </summary> + <param name="culture"></param> + </member> + <member name="T:NUnit.Framework.SetUpAttribute"> + <summary> + Identifies a method to be called immediately before each test is run. + </summary> + </member> + <member name="T:NUnit.Framework.SetUpFixtureAttribute"> + <summary> + Identifies a class as containing <see cref="T:NUnit.Framework.OneTimeSetUpAttribute" /> or + <see cref="T:NUnit.Framework.OneTimeTearDownAttribute" /> methods for all the test fixtures + under a given namespace. + </summary> + </member> + <member name="M:NUnit.Framework.SetUpFixtureAttribute.BuildFrom(NUnit.Framework.Interfaces.ITypeInfo)"> + <summary> + Builds a <see cref="T:NUnit.Framework.Internal.SetUpFixture"/> from the specified type. + </summary> + <param name="typeInfo">The type info of the fixture to be used.</param> + </member> + <member name="T:NUnit.Framework.SingleThreadedAttribute"> + <summary> + 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 + <see cref="T:NUnit.Framework.Internal.TestExecutionContext"/> is set forcing all child tests + to be run sequentially on the current thread. + Any <see cref="T:NUnit.Framework.ParallelScope"/> setting is ignored. + </summary> + </member> + <member name="M:NUnit.Framework.SingleThreadedAttribute.ApplyToContext(NUnit.Framework.Internal.TestExecutionContext)"> + <summary> + Apply changes to the TestExecutionContext + </summary> + <param name="context">The TestExecutionContext</param> + </member> + <member name="T:NUnit.Framework.TearDownAttribute"> + <summary> + 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. + </summary> + </member> + <member name="T:NUnit.Framework.TestActionAttribute"> + <summary> + Abstract attribute providing actions to execute before and after tests. + </summary> + </member> + <member name="M:NUnit.Framework.TestActionAttribute.BeforeTest(NUnit.Framework.Interfaces.ITest)"> + <summary> + Executed before each test is run + </summary> + <param name="test">The test that is going to be run.</param> + </member> + <member name="M:NUnit.Framework.TestActionAttribute.AfterTest(NUnit.Framework.Interfaces.ITest)"> + <summary> + Executed after each test is run + </summary> + <param name="test">The test that has just been run.</param> + </member> + <member name="P:NUnit.Framework.TestActionAttribute.Targets"> + <summary> + Provides the target for the action attribute + </summary> + </member> + <member name="T:NUnit.Framework.TestAssemblyDirectoryResolveAttribute"> + <summary> + 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. + </summary> + </member> + <member name="T:NUnit.Framework.TestAttribute"> + <summary> + Marks the method as callable from the NUnit test runner. + </summary> + + <example> + [TestFixture] + public class Fixture + { + [Test] + public void MethodToTest() + {} + + [Test(Description = "more detailed description")] + public void TestDescriptionMethod() + {} + } + </example> + + </member> + <member name="P:NUnit.Framework.TestAttribute.Description"> + <summary> + Descriptive text for this test + </summary> + </member> + <member name="P:NUnit.Framework.TestAttribute.Author"> + <summary> + The author of this test + </summary> + </member> + <member name="P:NUnit.Framework.TestAttribute.TestOf"> + <summary> + The type that this test is testing + </summary> + </member> + <member name="P:NUnit.Framework.TestAttribute.ExpectedResult"> + <summary> + Gets or sets the expected result. Not valid if the test + method has parameters. + </summary> + <value>The result.</value> + </member> + <member name="M:NUnit.Framework.TestAttribute.ApplyToTest(NUnit.Framework.Internal.Test)"> + <summary> + Modifies a test by adding a description, if not already set. + </summary> + <param name="test">The test to modify</param> + </member> + <member name="M:NUnit.Framework.TestAttribute.BuildFrom(NUnit.Framework.Interfaces.IMethodInfo,NUnit.Framework.Internal.Test)"> + <summary> + Builds a single test from the specified method and context. + </summary> + <param name="method">The method for which a test is to be constructed.</param> + <param name="suite">The suite to which the test will be added.</param> + </member> + <member name="T:NUnit.Framework.TestCaseAttribute"> + <summary> + Marks a method as a parameterized test suite and provides arguments for each test case. + </summary> + </member> + <member name="M:NUnit.Framework.TestCaseAttribute.#ctor(System.Object[])"> + <summary> + Construct a TestCaseAttribute with a list of arguments. + This constructor is not CLS-Compliant + </summary> + <param name="arguments"></param> + </member> + <member name="M:NUnit.Framework.TestCaseAttribute.#ctor(System.Object)"> + <summary> + Construct a TestCaseAttribute with a single argument + </summary> + <param name="arg"></param> + </member> + <member name="M:NUnit.Framework.TestCaseAttribute.#ctor(System.Object,System.Object)"> + <summary> + Construct a TestCaseAttribute with a two arguments + </summary> + <param name="arg1"></param> + <param name="arg2"></param> + </member> + <member name="M:NUnit.Framework.TestCaseAttribute.#ctor(System.Object,System.Object,System.Object)"> + <summary> + Construct a TestCaseAttribute with a three arguments + </summary> + <param name="arg1"></param> + <param name="arg2"></param> + <param name="arg3"></param> + </member> + <member name="P:NUnit.Framework.TestCaseAttribute.TestName"> + <summary> + Gets or sets the name of the test. + </summary> + <value>The name of the test.</value> + </member> + <member name="P:NUnit.Framework.TestCaseAttribute.RunState"> + <summary> + Gets or sets the RunState of this test case. + </summary> + </member> + <member name="P:NUnit.Framework.TestCaseAttribute.Arguments"> + <summary> + Gets the list of arguments to a test case + </summary> + </member> + <member name="P:NUnit.Framework.TestCaseAttribute.Properties"> + <summary> + Gets the properties of the test case + </summary> + </member> + <member name="P:NUnit.Framework.TestCaseAttribute.ExpectedResult"> + <summary> + Gets or sets the expected result. + </summary> + <value>The result.</value> + </member> + <member name="P:NUnit.Framework.TestCaseAttribute.HasExpectedResult"> + <summary> + Returns true if the expected result has been set + </summary> + </member> + <member name="P:NUnit.Framework.TestCaseAttribute.Description"> + <summary> + Gets or sets the description. + </summary> + <value>The description.</value> + </member> + <member name="P:NUnit.Framework.TestCaseAttribute.Author"> + <summary> + The author of this test + </summary> + </member> + <member name="P:NUnit.Framework.TestCaseAttribute.TestOf"> + <summary> + The type that this test is testing + </summary> + </member> + <member name="P:NUnit.Framework.TestCaseAttribute.Ignore"> + <summary> + Gets or sets the reason for ignoring the test + </summary> + </member> + <member name="P:NUnit.Framework.TestCaseAttribute.Explicit"> + <summary> + Gets or sets a value indicating whether this <see cref="T:NUnit.Framework.TestCaseAttribute"/> is explicit. + </summary> + <value> + <see langword="true"/> if explicit; otherwise, <see langword="false"/>. + </value> + </member> + <member name="P:NUnit.Framework.TestCaseAttribute.Reason"> + <summary> + Gets or sets the reason for not running the test. + </summary> + <value>The reason.</value> + </member> + <member name="P:NUnit.Framework.TestCaseAttribute.IgnoreReason"> + <summary> + Gets or sets the ignore reason. When set to a non-null + non-empty value, the test is marked as ignored. + </summary> + <value>The ignore reason.</value> + </member> + <member name="P:NUnit.Framework.TestCaseAttribute.IncludePlatform"> + <summary> + Comma-delimited list of platforms to run the test for + </summary> + </member> + <member name="P:NUnit.Framework.TestCaseAttribute.ExcludePlatform"> + <summary> + Comma-delimited list of platforms to not run the test for + </summary> + </member> + <member name="P:NUnit.Framework.TestCaseAttribute.Category"> + <summary> + Gets and sets the category for this test case. + May be a comma-separated list of categories. + </summary> + </member> + <member name="P:NUnit.Framework.TestCaseAttribute.Until"> + <summary> + Gets and sets the ignore until date for this test case. + </summary> + </member> + <member name="M:NUnit.Framework.TestCaseAttribute.PerformSpecialConversions(System.Object[],NUnit.Framework.Interfaces.IParameterInfo[])"> + <summary> + 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. + </summary> + <param name="arglist">The arguments to be converted</param> + <param name="parameters">The ParameterInfo array for the method</param> + </member> + <member name="M:NUnit.Framework.TestCaseAttribute.BuildFrom(NUnit.Framework.Interfaces.IMethodInfo,NUnit.Framework.Internal.Test)"> + <summary> + Builds a single test from the specified method and context. + </summary> + <param name="method">The MethodInfo for which tests are to be constructed.</param> + <param name="suite">The suite to which the tests will be added.</param> + </member> + <member name="T:NUnit.Framework.TestCaseSourceAttribute"> + <summary> + Indicates the source to be used to provide test fixture instances for a test class. + </summary> + </member> + <member name="M:NUnit.Framework.TestCaseSourceAttribute.#ctor(System.String)"> + <summary> + Construct with the name of the method, property or field that will provide data + </summary> + <param name="sourceName">The name of a static method, property or field that will provide data.</param> + </member> + <member name="M:NUnit.Framework.TestCaseSourceAttribute.#ctor(System.Type,System.String,System.Object[])"> + <summary> + Construct with a Type and name + </summary> + <param name="sourceType">The Type that will provide data</param> + <param name="sourceName">The name of a static method, property or field that will provide data.</param> + <param name="methodParams">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.</param> + </member> + <member name="M:NUnit.Framework.TestCaseSourceAttribute.#ctor(System.Type,System.String)"> + <summary> + Construct with a Type and name + </summary> + <param name="sourceType">The Type that will provide data</param> + <param name="sourceName">The name of a static method, property or field that will provide data.</param> + </member> + <member name="M:NUnit.Framework.TestCaseSourceAttribute.#ctor(System.String,System.Object[])"> + <summary> + Construct with a name + </summary> + <param name="sourceName">The name of a static method, property or field that will provide data.</param> + <param name="methodParams">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.</param> + </member> + <member name="M:NUnit.Framework.TestCaseSourceAttribute.#ctor(System.Type)"> + <summary> + Construct with a Type + </summary> + <param name="sourceType">The type that will provide data</param> + </member> + <member name="P:NUnit.Framework.TestCaseSourceAttribute.MethodParams"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.TestCaseSourceAttribute.SourceName"> + <summary> + The name of a the method, property or field to be used as a source + </summary> + </member> + <member name="P:NUnit.Framework.TestCaseSourceAttribute.SourceType"> + <summary> + A Type to be used as a source + </summary> + </member> + <member name="P:NUnit.Framework.TestCaseSourceAttribute.Category"> + <summary> + Gets or sets the category associated with every fixture created from + this attribute. May be a single category or a comma-separated list. + </summary> + </member> + <member name="M:NUnit.Framework.TestCaseSourceAttribute.BuildFrom(NUnit.Framework.Interfaces.IMethodInfo,NUnit.Framework.Internal.Test)"> + <summary> + Builds any number of tests from the specified method and context. + </summary> + <param name="method">The IMethod for which tests are to be constructed.</param> + <param name="suite">The suite to which the tests will be added.</param> + </member> + <member name="T:NUnit.Framework.TestFixtureAttribute"> + <summary> + Marks the class as a TestFixture. + </summary> + </member> + <member name="M:NUnit.Framework.TestFixtureAttribute.#ctor"> + <summary> + Default constructor + </summary> + </member> + <member name="M:NUnit.Framework.TestFixtureAttribute.#ctor(System.Object[])"> + <summary> + Construct with a object[] representing a set of arguments. + The arguments may later be separated into type arguments and constructor arguments. + </summary> + <param name="arguments"></param> + </member> + <member name="P:NUnit.Framework.TestFixtureAttribute.TestName"> + <summary> + Gets or sets the name of the test. + </summary> + <value>The name of the test.</value> + </member> + <member name="P:NUnit.Framework.TestFixtureAttribute.RunState"> + <summary> + Gets or sets the RunState of this test fixture. + </summary> + </member> + <member name="P:NUnit.Framework.TestFixtureAttribute.Arguments"> + <summary> + The arguments originally provided to the attribute + </summary> + </member> + <member name="P:NUnit.Framework.TestFixtureAttribute.Properties"> + <summary> + Properties pertaining to this fixture + </summary> + </member> + <member name="P:NUnit.Framework.TestFixtureAttribute.TypeArgs"> + <summary> + Get or set the type arguments. If not set + explicitly, any leading arguments that are + Types are taken as type arguments. + </summary> + </member> + <member name="P:NUnit.Framework.TestFixtureAttribute.Description"> + <summary> + Descriptive text for this fixture + </summary> + </member> + <member name="P:NUnit.Framework.TestFixtureAttribute.Author"> + <summary> + The author of this fixture + </summary> + </member> + <member name="P:NUnit.Framework.TestFixtureAttribute.TestOf"> + <summary> + The type that this fixture is testing + </summary> + </member> + <member name="P:NUnit.Framework.TestFixtureAttribute.Ignore"> + <summary> + Gets or sets the ignore reason. May set RunState as a side effect. + </summary> + <value>The ignore reason.</value> + </member> + <member name="P:NUnit.Framework.TestFixtureAttribute.Reason"> + <summary> + Gets or sets the reason for not running the fixture. + </summary> + <value>The reason.</value> + </member> + <member name="P:NUnit.Framework.TestFixtureAttribute.IgnoreReason"> + <summary> + Gets or sets the ignore reason. When set to a non-null + non-empty value, the test is marked as ignored. + </summary> + <value>The ignore reason.</value> + </member> + <member name="P:NUnit.Framework.TestFixtureAttribute.Explicit"> + <summary> + Gets or sets a value indicating whether this <see cref="T:NUnit.Framework.TestFixtureAttribute"/> is explicit. + </summary> + <value> + <see langword="true"/> if explicit; otherwise, <see langword="false"/>. + </value> + </member> + <member name="P:NUnit.Framework.TestFixtureAttribute.Category"> + <summary> + Gets and sets the category for this fixture. + May be a comma-separated list of categories. + </summary> + </member> + <member name="M:NUnit.Framework.TestFixtureAttribute.BuildFrom(NUnit.Framework.Interfaces.ITypeInfo)"> + <summary> + Builds a single test fixture from the specified type. + </summary> + </member> + <member name="M:NUnit.Framework.TestFixtureAttribute.BuildFrom(NUnit.Framework.Interfaces.ITypeInfo,NUnit.Framework.Interfaces.IPreFilter)"> + <summary> + Builds a single test fixture from the specified type. + </summary> + <param name="typeInfo">The type info of the fixture to be used.</param> + <param name="filter">Filter used to select methods as tests.</param> + </member> + <member name="T:NUnit.Framework.TestFixtureSourceAttribute"> + <summary> + Identifies the source used to provide test fixture instances for a test class. + </summary> + </member> + <member name="F:NUnit.Framework.TestFixtureSourceAttribute.MUST_BE_STATIC"> + <summary> + Error message string is public so the tests can use it + </summary> + </member> + <member name="M:NUnit.Framework.TestFixtureSourceAttribute.#ctor(System.String)"> + <summary> + Construct with the name of the method, property or field that will provide data + </summary> + <param name="sourceName">The name of a static method, property or field that will provide data.</param> + </member> + <member name="M:NUnit.Framework.TestFixtureSourceAttribute.#ctor(System.Type,System.String)"> + <summary> + Construct with a Type and name + </summary> + <param name="sourceType">The Type that will provide data</param> + <param name="sourceName">The name of a static method, property or field that will provide data.</param> + </member> + <member name="M:NUnit.Framework.TestFixtureSourceAttribute.#ctor(System.Type)"> + <summary> + Construct with a Type + </summary> + <param name="sourceType">The type that will provide data</param> + </member> + <member name="P:NUnit.Framework.TestFixtureSourceAttribute.SourceName"> + <summary> + The name of a the method, property or field to be used as a source + </summary> + </member> + <member name="P:NUnit.Framework.TestFixtureSourceAttribute.SourceType"> + <summary> + A Type to be used as a source + </summary> + </member> + <member name="P:NUnit.Framework.TestFixtureSourceAttribute.Category"> + <summary> + Gets or sets the category associated with every fixture created from + this attribute. May be a single category or a comma-separated list. + </summary> + </member> + <member name="M:NUnit.Framework.TestFixtureSourceAttribute.BuildFrom(NUnit.Framework.Interfaces.ITypeInfo)"> + <summary> + Builds any number of test fixtures from the specified type. + </summary> + <param name="typeInfo">The TypeInfo for which fixtures are to be constructed.</param> + </member> + <member name="M:NUnit.Framework.TestFixtureSourceAttribute.BuildFrom(NUnit.Framework.Interfaces.ITypeInfo,NUnit.Framework.Interfaces.IPreFilter)"> + <summary> + Builds any number of test fixtures from the specified type. + </summary> + <param name="typeInfo">The TypeInfo for which fixtures are to be constructed.</param> + <param name="filter">PreFilter used to select methods as tests.</param> + </member> + <member name="M:NUnit.Framework.TestFixtureSourceAttribute.GetParametersFor(System.Type)"> + <summary> + Returns a set of ITestFixtureData items for use as arguments + to a parameterized test fixture. + </summary> + <param name="sourceType">The type for which data is needed.</param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.TestOfAttribute"> + <summary> + Indicates the method or class the assembly, test fixture or test method is testing. + </summary> + </member> + <member name="M:NUnit.Framework.TestOfAttribute.#ctor(System.Type)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.TestOfAttribute"/> class. + </summary> + <param name="type">The type that is being tested.</param> + </member> + <member name="M:NUnit.Framework.TestOfAttribute.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.TestOfAttribute"/> class. + </summary> + <param name="typeName">The type that is being tested.</param> + </member> + <member name="T:NUnit.Framework.TheoryAttribute"> + <summary> + Adding this attribute to a method within a <seealso cref="T:NUnit.Framework.TestFixtureAttribute"/> + 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. + </summary> + + <example> + [TestFixture] + public class Fixture + { + [Test] + public void MethodToTest() + {} + + [Test(Description = "more detailed description")] + public void TestDescriptionMethod() + {} + } + </example> + + </member> + <member name="M:NUnit.Framework.TheoryAttribute.#ctor"> + <summary> + Construct the attribute, specifying a combining strategy and source of parameter data. + </summary> + </member> + <member name="T:NUnit.Framework.TimeoutAttribute"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.TimeoutAttribute.#ctor(System.Int32)"> + <summary> + Construct a TimeoutAttribute given a time in milliseconds + </summary> + <param name="timeout">The timeout value in milliseconds</param> + </member> + <member name="T:NUnit.Framework.ValuesAttribute"> + <summary> + Provides literal arguments for an individual parameter of a test. + </summary> + </member> + <member name="F:NUnit.Framework.ValuesAttribute.data"> + <summary> + 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 + </summary> + </member> + <member name="M:NUnit.Framework.ValuesAttribute.#ctor"> + <summary> + Constructs for use with an Enum parameter. Will pass every enum + value in to the test. + </summary> + </member> + <member name="M:NUnit.Framework.ValuesAttribute.#ctor(System.Object)"> + <summary> + Construct with one argument + </summary> + <param name="arg1"></param> + </member> + <member name="M:NUnit.Framework.ValuesAttribute.#ctor(System.Object,System.Object)"> + <summary> + Construct with two arguments + </summary> + <param name="arg1"></param> + <param name="arg2"></param> + </member> + <member name="M:NUnit.Framework.ValuesAttribute.#ctor(System.Object,System.Object,System.Object)"> + <summary> + Construct with three arguments + </summary> + <param name="arg1"></param> + <param name="arg2"></param> + <param name="arg3"></param> + </member> + <member name="M:NUnit.Framework.ValuesAttribute.#ctor(System.Object[])"> + <summary> + Construct with an array of arguments + </summary> + <param name="args"></param> + </member> + <member name="M:NUnit.Framework.ValuesAttribute.GetData(NUnit.Framework.Interfaces.IParameterInfo)"> + <summary> + Retrieves a list of arguments which can be passed to the specified parameter. + </summary> + <param name="parameter">The parameter of a parameterized test.</param> + </member> + <member name="M:NUnit.Framework.ValuesAttribute.GenerateData(System.Type)"> + <summary> + To generate data for Values attribute, in case no data is provided. + </summary> + </member> + <member name="M:NUnit.Framework.ValuesAttribute.IsNullableEnum(System.Type)"> + <summary> + To Check if type is nullable enum. + </summary> + </member> + <member name="T:NUnit.Framework.ValueSourceAttribute"> + <summary> + Indicates the source used to provide data for one parameter of a test method. + </summary> + </member> + <member name="M:NUnit.Framework.ValueSourceAttribute.#ctor(System.String)"> + <summary> + Construct with the name of the factory - for use with languages + that don't support params arrays. + </summary> + <param name="sourceName">The name of a static method, property or field that will provide data.</param> + </member> + <member name="M:NUnit.Framework.ValueSourceAttribute.#ctor(System.Type,System.String)"> + <summary> + Construct with a Type and name - for use with languages + that don't support params arrays. + </summary> + <param name="sourceType">The Type that will provide data</param> + <param name="sourceName">The name of a static method, property or field that will provide data.</param> + </member> + <member name="P:NUnit.Framework.ValueSourceAttribute.SourceName"> + <summary> + The name of a the method, property or field to be used as a source + </summary> + </member> + <member name="P:NUnit.Framework.ValueSourceAttribute.SourceType"> + <summary> + A Type to be used as a source + </summary> + </member> + <member name="M:NUnit.Framework.ValueSourceAttribute.GetData(NUnit.Framework.Interfaces.IParameterInfo)"> + <summary> + Retrieves a list of arguments which can be passed to the specified parameter. + </summary> + <param name="parameter">The parameter of a parameterized test.</param> + </member> + <member name="T:NUnit.Framework.CollectionAssert"> + <summary> + A set of Assert methods operating on one or more collections + </summary> + </member> + <member name="M:NUnit.Framework.CollectionAssert.Equals(System.Object,System.Object)"> + <summary> + 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. + </summary> + <param name="a"></param> + <param name="b"></param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.ReferenceEquals(System.Object,System.Object)"> + <summary> + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + </summary> + <param name="a"></param> + <param name="b"></param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.AllItemsAreInstancesOfType(System.Collections.IEnumerable,System.Type)"> + <summary> + Asserts that all items contained in collection are of the type specified by expectedType. + </summary> + <param name="collection">IEnumerable containing objects to be considered</param> + <param name="expectedType">System.Type that all objects in collection must be instances of</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.AllItemsAreInstancesOfType(System.Collections.IEnumerable,System.Type,System.String,System.Object[])"> + <summary> + Asserts that all items contained in collection are of the type specified by expectedType. + </summary> + <param name="collection">IEnumerable containing objects to be considered</param> + <param name="expectedType">System.Type that all objects in collection must be instances of</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.AllItemsAreNotNull(System.Collections.IEnumerable)"> + <summary> + Asserts that all items contained in collection are not equal to null. + </summary> + <param name="collection">IEnumerable containing objects to be considered</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.AllItemsAreNotNull(System.Collections.IEnumerable,System.String,System.Object[])"> + <summary> + Asserts that all items contained in collection are not equal to null. + </summary> + <param name="collection">IEnumerable of objects to be considered</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.AllItemsAreUnique(System.Collections.IEnumerable)"> + <summary> + Ensures that every object contained in collection exists within the collection + once and only once. + </summary> + <param name="collection">IEnumerable of objects to be considered</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.AllItemsAreUnique(System.Collections.IEnumerable,System.String,System.Object[])"> + <summary> + Ensures that every object contained in collection exists within the collection + once and only once. + </summary> + <param name="collection">IEnumerable of objects to be considered</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.AreEqual(System.Collections.IEnumerable,System.Collections.IEnumerable)"> + <summary> + 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. + </summary> + <param name="expected">The first IEnumerable of objects to be considered</param> + <param name="actual">The second IEnumerable of objects to be considered</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.AreEqual(System.Collections.IEnumerable,System.Collections.IEnumerable,System.Collections.IComparer)"> + <summary> + 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. + </summary> + <param name="expected">The first IEnumerable of objects to be considered</param> + <param name="actual">The second IEnumerable of objects to be considered</param> + <param name="comparer">The IComparer to use in comparing objects from each IEnumerable</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.AreEqual(System.Collections.IEnumerable,System.Collections.IEnumerable,System.String,System.Object[])"> + <summary> + 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. + </summary> + <param name="expected">The first IEnumerable of objects to be considered</param> + <param name="actual">The second IEnumerable of objects to be considered</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.AreEqual(System.Collections.IEnumerable,System.Collections.IEnumerable,System.Collections.IComparer,System.String,System.Object[])"> + <summary> + 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. + </summary> + <param name="expected">The first IEnumerable of objects to be considered</param> + <param name="actual">The second IEnumerable of objects to be considered</param> + <param name="comparer">The IComparer to use in comparing objects from each IEnumerable</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.AreEquivalent(System.Collections.IEnumerable,System.Collections.IEnumerable)"> + <summary> + Asserts that expected and actual are equivalent, containing the same objects but the match may be in any order. + </summary> + <param name="expected">The first IEnumerable of objects to be considered</param> + <param name="actual">The second IEnumerable of objects to be considered</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.AreEquivalent(System.Collections.IEnumerable,System.Collections.IEnumerable,System.String,System.Object[])"> + <summary> + Asserts that expected and actual are equivalent, containing the same objects but the match may be in any order. + </summary> + <param name="expected">The first IEnumerable of objects to be considered</param> + <param name="actual">The second IEnumerable of objects to be considered</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.AreNotEqual(System.Collections.IEnumerable,System.Collections.IEnumerable)"> + <summary> + Asserts that expected and actual are not exactly equal. + </summary> + <param name="expected">The first IEnumerable of objects to be considered</param> + <param name="actual">The second IEnumerable of objects to be considered</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.AreNotEqual(System.Collections.IEnumerable,System.Collections.IEnumerable,System.Collections.IComparer)"> + <summary> + Asserts that expected and actual are not exactly equal. + If comparer is not null then it will be used to compare the objects. + </summary> + <param name="expected">The first IEnumerable of objects to be considered</param> + <param name="actual">The second IEnumerable of objects to be considered</param> + <param name="comparer">The IComparer to use in comparing objects from each IEnumerable</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.AreNotEqual(System.Collections.IEnumerable,System.Collections.IEnumerable,System.String,System.Object[])"> + <summary> + Asserts that expected and actual are not exactly equal. + </summary> + <param name="expected">The first IEnumerable of objects to be considered</param> + <param name="actual">The second IEnumerable of objects to be considered</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.AreNotEqual(System.Collections.IEnumerable,System.Collections.IEnumerable,System.Collections.IComparer,System.String,System.Object[])"> + <summary> + Asserts that expected and actual are not exactly equal. + If comparer is not null then it will be used to compare the objects. + </summary> + <param name="expected">The first IEnumerable of objects to be considered</param> + <param name="actual">The second IEnumerable of objects to be considered</param> + <param name="comparer">The IComparer to use in comparing objects from each IEnumerable</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.AreNotEquivalent(System.Collections.IEnumerable,System.Collections.IEnumerable)"> + <summary> + Asserts that expected and actual are not equivalent. + </summary> + <param name="expected">The first IEnumerable of objects to be considered</param> + <param name="actual">The second IEnumerable of objects to be considered</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.AreNotEquivalent(System.Collections.IEnumerable,System.Collections.IEnumerable,System.String,System.Object[])"> + <summary> + Asserts that expected and actual are not equivalent. + </summary> + <param name="expected">The first IEnumerable of objects to be considered</param> + <param name="actual">The second IEnumerable of objects to be considered</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.Contains(System.Collections.IEnumerable,System.Object)"> + <summary> + Asserts that collection contains actual as an item. + </summary> + <param name="collection">IEnumerable of objects to be considered</param> + <param name="actual">Object to be found within collection</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.Contains(System.Collections.IEnumerable,System.Object,System.String,System.Object[])"> + <summary> + Asserts that collection contains actual as an item. + </summary> + <param name="collection">IEnumerable of objects to be considered</param> + <param name="actual">Object to be found within collection</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.DoesNotContain(System.Collections.IEnumerable,System.Object)"> + <summary> + Asserts that collection does not contain actual as an item. + </summary> + <param name="collection">IEnumerable of objects to be considered</param> + <param name="actual">Object that cannot exist within collection</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.DoesNotContain(System.Collections.IEnumerable,System.Object,System.String,System.Object[])"> + <summary> + Asserts that collection does not contain actual as an item. + </summary> + <param name="collection">IEnumerable of objects to be considered</param> + <param name="actual">Object that cannot exist within collection</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.IsNotSubsetOf(System.Collections.IEnumerable,System.Collections.IEnumerable)"> + <summary> + Asserts that the superset does not contain the subset + </summary> + <param name="subset">The IEnumerable subset to be considered</param> + <param name="superset">The IEnumerable superset to be considered</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.IsNotSubsetOf(System.Collections.IEnumerable,System.Collections.IEnumerable,System.String,System.Object[])"> + <summary> + Asserts that the superset does not contain the subset + </summary> + <param name="subset">The IEnumerable subset to be considered</param> + <param name="superset">The IEnumerable superset to be considered</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.IsSubsetOf(System.Collections.IEnumerable,System.Collections.IEnumerable)"> + <summary> + Asserts that the superset contains the subset. + </summary> + <param name="subset">The IEnumerable subset to be considered</param> + <param name="superset">The IEnumerable superset to be considered</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.IsSubsetOf(System.Collections.IEnumerable,System.Collections.IEnumerable,System.String,System.Object[])"> + <summary> + Asserts that the superset contains the subset. + </summary> + <param name="subset">The IEnumerable subset to be considered</param> + <param name="superset">The IEnumerable superset to be considered</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.IsNotSupersetOf(System.Collections.IEnumerable,System.Collections.IEnumerable)"> + <summary> + Asserts that the subset does not contain the superset + </summary> + <param name="superset">The IEnumerable superset to be considered</param> + <param name="subset">The IEnumerable subset to be considered</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.IsNotSupersetOf(System.Collections.IEnumerable,System.Collections.IEnumerable,System.String,System.Object[])"> + <summary> + Asserts that the subset does not contain the superset + </summary> + <param name="superset">The IEnumerable superset to be considered</param> + <param name="subset">The IEnumerable subset to be considered</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.IsSupersetOf(System.Collections.IEnumerable,System.Collections.IEnumerable)"> + <summary> + Asserts that the subset contains the superset. + </summary> + <param name="superset">The IEnumerable superset to be considered</param> + <param name="subset">The IEnumerable subset to be considered</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.IsSupersetOf(System.Collections.IEnumerable,System.Collections.IEnumerable,System.String,System.Object[])"> + <summary> + Asserts that the subset contains the superset. + </summary> + <param name="superset">The IEnumerable superset to be considered</param> + <param name="subset">The IEnumerable subset to be considered</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.IsEmpty(System.Collections.IEnumerable,System.String,System.Object[])"> + <summary> + Assert that an array, list or other collection is empty + </summary> + <param name="collection">An array, list or other collection implementing IEnumerable</param> + <param name="message">The message to be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.IsEmpty(System.Collections.IEnumerable)"> + <summary> + Assert that an array,list or other collection is empty + </summary> + <param name="collection">An array, list or other collection implementing IEnumerable</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.IsNotEmpty(System.Collections.IEnumerable,System.String,System.Object[])"> + <summary> + Assert that an array, list or other collection is empty + </summary> + <param name="collection">An array, list or other collection implementing IEnumerable</param> + <param name="message">The message to be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.IsNotEmpty(System.Collections.IEnumerable)"> + <summary> + Assert that an array,list or other collection is empty + </summary> + <param name="collection">An array, list or other collection implementing IEnumerable</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.IsOrdered(System.Collections.IEnumerable,System.String,System.Object[])"> + <summary> + Assert that an array, list or other collection is ordered + </summary> + <param name="collection">An array, list or other collection implementing IEnumerable</param> + <param name="message">The message to be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.IsOrdered(System.Collections.IEnumerable)"> + <summary> + Assert that an array, list or other collection is ordered + </summary> + <param name="collection">An array, list or other collection implementing IEnumerable</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.IsOrdered(System.Collections.IEnumerable,System.Collections.IComparer,System.String,System.Object[])"> + <summary> + Assert that an array, list or other collection is ordered + </summary> + <param name="collection">An array, list or other collection implementing IEnumerable</param> + <param name="comparer">A custom comparer to perform the comparisons</param> + <param name="message">The message to be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.IsOrdered(System.Collections.IEnumerable,System.Collections.IComparer)"> + <summary> + Assert that an array, list or other collection is ordered + </summary> + <param name="collection">An array, list or other collection implementing IEnumerable</param> + <param name="comparer">A custom comparer to perform the comparisons</param> + </member> + <member name="T:NUnit.Framework.Constraints.AllItemsConstraint"> + <summary> + AllItemsConstraint applies another constraint to each + item in a collection, succeeding if they all succeed. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.AllItemsConstraint.#ctor(NUnit.Framework.Constraints.IConstraint)"> + <summary> + Construct an AllItemsConstraint on top of an existing constraint + </summary> + <param name="itemConstraint"></param> + </member> + <member name="P:NUnit.Framework.Constraints.AllItemsConstraint.DisplayName"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.AllItemsConstraint.ApplyTo``1(``0)"> + <summary> + Apply the item constraint to each item in the collection, + failing if any item fails. + </summary> + <param name="actual"></param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Constraints.AndConstraint"> + <summary> + AndConstraint succeeds only if both members succeed. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.AndConstraint.#ctor(NUnit.Framework.Constraints.IConstraint,NUnit.Framework.Constraints.IConstraint)"> + <summary> + Create an AndConstraint from two other constraints + </summary> + <param name="left">The first constraint</param> + <param name="right">The second constraint</param> + </member> + <member name="P:NUnit.Framework.Constraints.AndConstraint.Description"> + <summary> + Gets text describing a constraint + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.AndConstraint.ApplyTo``1(``0)"> + <summary> + Apply both member constraints to an actual value, succeeding + succeeding only if both of them succeed. + </summary> + <param name="actual">The actual value</param> + <returns>True if the constraints both succeeded</returns> + </member> + <member name="M:NUnit.Framework.Constraints.AndConstraint.AndConstraintResult.WriteActualValueTo(NUnit.Framework.Constraints.MessageWriter)"> + <summary> + 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. + </summary> + <param name="writer">The writer on which the actual value is displayed</param> + </member> + <member name="T:NUnit.Framework.Constraints.AnyOfConstraint"> + <summary> + <see cref="T:NUnit.Framework.Constraints.AnyOfConstraint"/> is used to determine whether the value is equal to any of the expected values. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.AnyOfConstraint.#ctor(System.Object[])"> + <summary> + Construct a <see cref="T:NUnit.Framework.Constraints.AnyOfConstraint"/> + </summary> + <param name="expected">Collection of expected values</param> + </member> + <member name="P:NUnit.Framework.Constraints.AnyOfConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.AnyOfConstraint.ApplyTo``1(``0)"> + <summary> + Test whether item is present in expected collection + </summary> + <typeparam name="TActual">Actual item type</typeparam> + <param name="actual">Actual item</param> + </member> + <member name="P:NUnit.Framework.Constraints.AnyOfConstraint.IgnoreCase"> + <summary> + Flag the constraint to ignore case and return self. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.AnyOfConstraint.Using(System.Collections.IComparer)"> + <summary> + Flag the constraint to use the supplied IComparer object. + </summary> + <param name="comparer">The IComparer object to use.</param> + </member> + <member name="M:NUnit.Framework.Constraints.AnyOfConstraint.Using``1(System.Collections.Generic.IComparer{``0})"> + <summary> + Flag the constraint to use the supplied IComparer object. + </summary> + <param name="comparer">The IComparer object to use.</param> + </member> + <member name="M:NUnit.Framework.Constraints.AnyOfConstraint.Using``1(System.Comparison{``0})"> + <summary> + Flag the constraint to use the supplied Comparison object. + </summary> + <param name="comparer">The Comparison object to use.</param> + </member> + <member name="M:NUnit.Framework.Constraints.AnyOfConstraint.Using(System.Collections.IEqualityComparer)"> + <summary> + Flag the constraint to use the supplied IEqualityComparer object. + </summary> + <param name="comparer">The IEqualityComparer object to use.</param> + </member> + <member name="M:NUnit.Framework.Constraints.AnyOfConstraint.Using``1(System.Collections.Generic.IEqualityComparer{``0})"> + <summary> + Flag the constraint to use the supplied IEqualityComparer object. + </summary> + <param name="comparer">The IComparer object to use.</param> + </member> + <member name="M:NUnit.Framework.Constraints.AnyOfConstraint.Using``1(System.Func{``0,``0,System.Boolean})"> + <summary> + Flag the constraint to use the supplied boolean-returning delegate. + </summary> + <param name="comparer">The supplied boolean-returning delegate to use.</param> + </member> + <member name="T:NUnit.Framework.Constraints.AssignableFromConstraint"> + <summary> + AssignableFromConstraint is used to test that an object + can be assigned from a given Type. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.AssignableFromConstraint.#ctor(System.Type)"> + <summary> + Construct an AssignableFromConstraint for the type provided + </summary> + <param name="type"></param> + </member> + <member name="M:NUnit.Framework.Constraints.AssignableFromConstraint.Matches(System.Object)"> + <summary> + Apply the constraint to an actual value, returning true if it succeeds + </summary> + <param name="actual">The actual argument</param> + <returns>True if the constraint succeeds, otherwise false.</returns> + </member> + <member name="T:NUnit.Framework.Constraints.AssignableToConstraint"> + <summary> + AssignableToConstraint is used to test that an object + can be assigned to a given Type. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.AssignableToConstraint.#ctor(System.Type)"> + <summary> + Construct an AssignableToConstraint for the type provided + </summary> + <param name="type"></param> + </member> + <member name="M:NUnit.Framework.Constraints.AssignableToConstraint.Matches(System.Object)"> + <summary> + Apply the constraint to an actual value, returning true if it succeeds + </summary> + <param name="actual">The actual argument</param> + <returns>True if the constraint succeeds, otherwise false.</returns> + </member> + <member name="T:NUnit.Framework.Constraints.AttributeConstraint"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.AttributeConstraint.#ctor(System.Type,NUnit.Framework.Constraints.IConstraint)"> + <summary> + Constructs an AttributeConstraint for a specified attribute + Type and base constraint. + </summary> + <param name="type"></param> + <param name="baseConstraint"></param> + </member> + <member name="M:NUnit.Framework.Constraints.AttributeConstraint.ApplyTo``1(``0)"> + <summary> + Determines whether the Type or other provider has the + expected attribute and if its value matches the + additional constraint specified. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.AttributeConstraint.GetStringRepresentation"> + <summary> + Returns a string representation of the constraint. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.AttributeExistsConstraint"> + <summary> + AttributeExistsConstraint tests for the presence of a + specified attribute on a Type. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.AttributeExistsConstraint.#ctor(System.Type)"> + <summary> + Constructs an AttributeExistsConstraint for a specific attribute Type + </summary> + <param name="type"></param> + </member> + <member name="P:NUnit.Framework.Constraints.AttributeExistsConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.AttributeExistsConstraint.ApplyTo``1(``0)"> + <summary> + Tests whether the object provides the expected attribute. + </summary> + <param name="actual">A Type, MethodInfo, or other ICustomAttributeProvider</param> + <returns>True if the expected attribute is present, otherwise false</returns> + </member> + <member name="T:NUnit.Framework.Constraints.BinaryConstraint"> + <summary> + BinaryConstraint is the abstract base of all constraints + that combine two other constraints in some fashion. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.BinaryConstraint.Left"> + <summary> + The first constraint being combined + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.BinaryConstraint.Right"> + <summary> + The second constraint being combined + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.BinaryConstraint.#ctor(NUnit.Framework.Constraints.IConstraint,NUnit.Framework.Constraints.IConstraint)"> + <summary> + Construct a BinaryConstraint from two other constraints + </summary> + <param name="left">The first constraint</param> + <param name="right">The second constraint</param> + </member> + <member name="T:NUnit.Framework.Constraints.BinarySerializableConstraint"> + <summary> + BinarySerializableConstraint tests whether + an object is serializable in binary format. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.BinarySerializableConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.BinarySerializableConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="M:NUnit.Framework.Constraints.BinarySerializableConstraint.GetStringRepresentation"> + <summary> + Returns the string representation + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.CollectionConstraint"> + <summary> + CollectionConstraint is the abstract base class for + constraints that operate on collections. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionConstraint.#ctor"> + <summary> + Construct an empty CollectionConstraint + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionConstraint.#ctor(System.Object)"> + <summary> + Construct a CollectionConstraint + </summary> + <param name="arg"></param> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionConstraint.IsEmpty(System.Collections.IEnumerable)"> + <summary> + Determines whether the specified enumerable is empty. + </summary> + <param name="enumerable">The enumerable.</param> + <returns> + <see langword="true"/> if the specified enumerable is empty; otherwise, <see langword="false"/>. + </returns> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionConstraint.Matches(System.Collections.IEnumerable)"> + <summary> + Protected method to be implemented by derived classes + </summary> + <param name="collection"></param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Constraints.CollectionContainsConstraint"> + <summary> + CollectionContainsConstraint is used to test whether a collection + contains an expected object as a member. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionContainsConstraint.#ctor(System.Object)"> + <summary> + Construct a CollectionContainsConstraint + </summary> + <param name="expected"></param> + </member> + <member name="P:NUnit.Framework.Constraints.CollectionContainsConstraint.DisplayName"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.CollectionContainsConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.CollectionContainsConstraint.Expected"> + <summary> + Gets the expected object + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionContainsConstraint.Matches(System.Collections.IEnumerable)"> + <summary> + Test whether the expected item is contained in the collection + </summary> + <param name="actual"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionContainsConstraint.Using``2(System.Func{``0,``1,System.Boolean})"> + <summary> + Flag the constraint to use the supplied predicate function + </summary> + <param name="comparison">The comparison function to use.</param> + <returns>Self.</returns> + </member> + <member name="T:NUnit.Framework.Constraints.CollectionEquivalentConstraint"> + <summary> + CollectionEquivalentConstraint is used to determine whether two + collections are equivalent. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.CollectionEquivalentConstraint._tallyResult"> + <summary>The result of the <see cref="T:NUnit.Framework.Constraints.CollectionTally"/> from the collections + under comparison.</summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionEquivalentConstraint.#ctor(System.Collections.IEnumerable)"> + <summary>Construct a CollectionEquivalentConstraint</summary> + <param name="expected">Expected collection.</param> + </member> + <member name="P:NUnit.Framework.Constraints.CollectionEquivalentConstraint.DisplayName"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.CollectionEquivalentConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionEquivalentConstraint.Matches(System.Collections.IEnumerable)"> + <summary> + Test whether two collections are equivalent + </summary> + <param name="actual"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionEquivalentConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the collection is equivalent to the expected. + </summary> + <typeparam name="TActual"> + Actual collection type. + </typeparam> + <param name="actual"> + Actual collection to compare. + </param> + <returns> + A <see cref="T:NUnit.Framework.Constraints.CollectionEquivalentConstraintResult"/> indicating whether or not + the two collections are equivalent. + </returns> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionEquivalentConstraint.Using``2(System.Func{``0,``1,System.Boolean})"> + <summary> + Flag the constraint to use the supplied predicate function + </summary> + <param name="comparison">The comparison function to use.</param> + <returns>Self.</returns> + </member> + <member name="T:NUnit.Framework.Constraints.CollectionEquivalentConstraintResult"> + <summary>Provides a <see cref="T:NUnit.Framework.Constraints.ConstraintResult"/> for the <see cref="T:NUnit.Framework.Constraints.CollectionEquivalentConstraint"/>.</summary> + </member> + <member name="F:NUnit.Framework.Constraints.CollectionEquivalentConstraintResult._tallyResult"> + <summary>Result of a <see cref="T:NUnit.Framework.Constraints.CollectionTally"/> of the collections to compare for equivalence.</summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionEquivalentConstraintResult.#ctor(NUnit.Framework.Constraints.CollectionEquivalentConstraint,NUnit.Framework.Constraints.CollectionTally.CollectionTallyResult,System.Object,System.Boolean)"> + <summary>Construct a <see cref="T:NUnit.Framework.Constraints.CollectionEquivalentConstraintResult"/> using a <see cref="T:NUnit.Framework.Constraints.CollectionTally.CollectionTallyResult"/>.</summary> + <param name="constraint">Source <see cref="T:NUnit.Framework.Constraints.CollectionEquivalentConstraint"/>.</param> + <param name="tallyResult">Result of the collection comparison.</param> + <param name="actual">Actual collection to compare.</param> + <param name="isSuccess">Whether or not the <see cref="T:NUnit.Framework.Constraints.CollectionEquivalentConstraint"/> succeeded.</param> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionEquivalentConstraintResult.WriteAdditionalLinesTo(NUnit.Framework.Constraints.MessageWriter)"> + <summary>Write any additional lines (following <c>Expected:</c> and <c>But was:</c>) for a failing constraint.</summary> + <param name="writer">The <see cref="T:NUnit.Framework.Constraints.MessageWriter"/> to write the failure message to.</param> + </member> + <member name="T:NUnit.Framework.Constraints.CollectionItemsEqualConstraint"> + <summary> + CollectionItemsEqualConstraint is the abstract base class for all + collection constraints that apply some notion of item equality + as a part of their operation. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.CollectionItemsEqualConstraint._comparer"> + <summary> + The NUnitEqualityComparer in use for this constraint + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionItemsEqualConstraint.#ctor"> + <summary> + Construct an empty CollectionConstraint + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionItemsEqualConstraint.#ctor(System.Object)"> + <summary> + Construct a CollectionConstraint + </summary> + <param name="arg"></param> + </member> + <member name="P:NUnit.Framework.Constraints.CollectionItemsEqualConstraint.IgnoringCase"> + <summary> + Get a flag indicating whether the user requested us to ignore case. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.CollectionItemsEqualConstraint.UsingExternalComparer"> + <summary> + Get a flag indicating whether any external comparers are in use. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.CollectionItemsEqualConstraint.IgnoreCase"> + <summary> + Flag the constraint to ignore case and return self. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionItemsEqualConstraint.Using(System.Collections.IComparer)"> + <summary> + Flag the constraint to use the supplied IComparer object. + </summary> + <param name="comparer">The IComparer object to use.</param> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionItemsEqualConstraint.Using``1(System.Collections.Generic.IComparer{``0})"> + <summary> + Flag the constraint to use the supplied IComparer object. + </summary> + <param name="comparer">The IComparer object to use.</param> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionItemsEqualConstraint.Using``1(System.Comparison{``0})"> + <summary> + Flag the constraint to use the supplied Comparison object. + </summary> + <param name="comparison">The Comparison object to use.</param> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionItemsEqualConstraint.Using(System.Collections.IEqualityComparer)"> + <summary> + Flag the constraint to use the supplied IEqualityComparer object. + </summary> + <param name="comparer">The IComparer object to use.</param> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionItemsEqualConstraint.Using``1(System.Collections.Generic.IEqualityComparer{``0})"> + <summary> + Flag the constraint to use the supplied IEqualityComparer object. + </summary> + <param name="comparer">The IComparer object to use.</param> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionItemsEqualConstraint.Using``1(System.Func{``0,``0,System.Boolean})"> + <summary> + Flag the constraint to use the supplied boolean-returning delegate. + </summary> + <param name="comparer">The supplied boolean-returning delegate to use.</param> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionItemsEqualConstraint.ItemsEqual(System.Object,System.Object)"> + <summary> + Compares two collection members for equality + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionItemsEqualConstraint.Tally(System.Collections.IEnumerable)"> + <summary> + Return a new CollectionTally for use in making tests + </summary> + <param name="c">The collection to be included in the tally</param> + </member> + <member name="T:NUnit.Framework.Constraints.CollectionOrderedConstraint"> + <summary> + CollectionOrderedConstraint is used to test whether a collection is ordered. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionOrderedConstraint.#ctor"> + <summary> + Construct a CollectionOrderedConstraint + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.CollectionOrderedConstraint.DisplayName"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.CollectionOrderedConstraint.Ascending"> + <summary> + If used performs a default ascending comparison + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.CollectionOrderedConstraint.Descending"> + <summary> + If used performs a reverse comparison + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionOrderedConstraint.Using(System.Collections.IComparer)"> + <summary> + Modifies the constraint to use an <see cref="T:System.Collections.IComparer"/> and returns self. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionOrderedConstraint.Using``1(System.Collections.Generic.IComparer{``0})"> + <summary> + Modifies the constraint to use an <see cref="T:System.Collections.Generic.IComparer`1"/> and returns self. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionOrderedConstraint.Using``1(System.Comparison{``0})"> + <summary> + Modifies the constraint to use a <see cref="T:System.Comparison`1"/> and returns self. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionOrderedConstraint.By(System.String)"> + <summary> + Modifies the constraint to test ordering by the value of + a specified property and returns self. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.CollectionOrderedConstraint.Then"> + <summary> + Then signals a break between two ordering steps + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.CollectionOrderedConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionOrderedConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionOrderedConstraint.Matches(System.Collections.IEnumerable)"> + <summary> + Test whether the collection is ordered + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionOrderedConstraint.GetStringRepresentation"> + <summary> + Returns the string representation of the constraint. + </summary> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Constraints.CollectionOrderedConstraint.OrderingStep"> + <summary> + An OrderingStep represents one stage of the sort + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionOrderedConstraint.CollectionOrderedConstraintResult.#ctor(NUnit.Framework.Constraints.IConstraint,System.Collections.IEnumerable)"> + <summary> + Constructor for success result. + </summary> + <param name="constraint">The Constraint to which this result applies.</param> + <param name="actualValue">The actual value to which the Constraint was applied.</param> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionOrderedConstraint.CollectionOrderedConstraintResult.#ctor(NUnit.Framework.Constraints.IConstraint,System.Collections.IEnumerable,System.Int32,System.Object)"> + <summary> + Constructor for failure result. + </summary> + <param name="constraint">The Constraint to which this result applies.</param> + <param name="actualValue">The actual value to which the Constraint was applied.</param> + <param name="breakingIndex">Index at which collection order breaks.</param> + <param name="breakingValue">Value at which collection order breaks.</param> + </member> + <member name="T:NUnit.Framework.Constraints.CollectionSubsetConstraint"> + <summary> + CollectionSubsetConstraint is used to determine whether + one collection is a subset of another + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionSubsetConstraint.#ctor(System.Collections.IEnumerable)"> + <summary> + Construct a CollectionSubsetConstraint + </summary> + <param name="expected">The collection that the actual value is expected to be a subset of</param> + </member> + <member name="P:NUnit.Framework.Constraints.CollectionSubsetConstraint.DisplayName"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.CollectionSubsetConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionSubsetConstraint.Matches(System.Collections.IEnumerable)"> + <summary> + Test whether the actual collection is a subset of + the expected collection provided. + </summary> + <param name="actual"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionSubsetConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionSubsetConstraint.Using``2(System.Func{``0,``1,System.Boolean})"> + <summary> + Flag the constraint to use the supplied predicate function + </summary> + <param name="comparison">The comparison function to use.</param> + <returns>Self.</returns> + </member> + <member name="T:NUnit.Framework.Constraints.CollectionSupersetConstraint"> + <summary> + CollectionSupersetConstraint is used to determine whether + one collection is a superset of another + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionSupersetConstraint.#ctor(System.Collections.IEnumerable)"> + <summary> + Construct a CollectionSupersetConstraint + </summary> + <param name="expected">The collection that the actual value is expected to be a superset of</param> + </member> + <member name="P:NUnit.Framework.Constraints.CollectionSupersetConstraint.DisplayName"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.CollectionSupersetConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionSupersetConstraint.Matches(System.Collections.IEnumerable)"> + <summary> + Test whether the actual collection is a superset of + the expected collection provided. + </summary> + <param name="actual"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionSupersetConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionSupersetConstraint.Using``2(System.Func{``0,``1,System.Boolean})"> + <summary> + Flag the constraint to use the supplied predicate function + </summary> + <param name="comparison">The comparison function to use.</param> + <returns>Self.</returns> + </member> + <member name="T:NUnit.Framework.Constraints.CollectionTally"> + <summary><see cref="T:NUnit.Framework.Constraints.CollectionTally"/> counts (tallies) the number of occurrences + of each object in one or more enumerations.</summary> + </member> + <member name="T:NUnit.Framework.Constraints.CollectionTally.CollectionTallyResult"> + <summary>The result of a <see cref="T:NUnit.Framework.Constraints.CollectionTally"/>.</summary> + </member> + <member name="P:NUnit.Framework.Constraints.CollectionTally.CollectionTallyResult.ExtraItems"> + <summary>Items that were not in the expected collection.</summary> + </member> + <member name="P:NUnit.Framework.Constraints.CollectionTally.CollectionTallyResult.MissingItems"> + <summary>Items that were not accounted for in the expected collection.</summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionTally.CollectionTallyResult.#ctor(System.Collections.Generic.List{System.Object},System.Collections.Generic.List{System.Object})"> + <summary>Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.CollectionTally.CollectionTallyResult"/> class with the given fields.</summary> + </member> + <member name="P:NUnit.Framework.Constraints.CollectionTally.Result"> + <summary>The result of the comparison between the two collections.</summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionTally.#ctor(NUnit.Framework.Constraints.NUnitEqualityComparer,System.Collections.IEnumerable)"> + <summary>Construct a CollectionTally object from a comparer and a collection.</summary> + <param name="comparer">The comparer to use for equality.</param> + <param name="c">The expected collection to compare against.</param> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionTally.TryRemove(System.Object)"> + <summary>Try to remove an object from the tally.</summary> + <param name="o">The object to remove.</param> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionTally.TryRemove(System.Collections.IEnumerable)"> + <summary>Try to remove a set of objects from the tally.</summary> + <param name="c">The objects to remove.</param> + </member> + <member name="T:NUnit.Framework.Constraints.Comparers.ArraysComparer"> + <summary> + Comparator for two <see cref="T:System.Array"/>s. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.Comparers.CharsComparer"> + <summary> + Comparator for two <see cref="T:System.Char"/>s. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Comparers.ComparisonState.TopLevelComparison"> + <summary> + Flag indicating whether or not this is the top level comparison. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.Comparers.ComparisonState._comparisons"> + <summary> + A list of tracked comparisons + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.Comparers.DateTimeOffsetsComparer"> + <summary> + Comparator for two <see cref="T:System.DateTimeOffset"/>s. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.Comparers.DictionariesComparer"> + <summary> + Comparator for two <see cref="T:System.Collections.IDictionary"/>s. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.Comparers.DictionaryEntriesComparer"> + <summary> + Comparator for two <see cref="T:System.Collections.DictionaryEntry"/>s. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.Comparers.DirectoriesComparer"> + <summary> + Comparator for two <see cref="T:System.IO.DirectoryInfo"/>s. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.Comparers.EnumerablesComparer"> + <summary> + Comparator for two <see cref="T:System.Collections.IEnumerable"/>s. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.Comparers.EquatablesComparer"> + <summary> + Comparator for two types related by <see cref="T:System.IEquatable`1"/>. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.Comparers.IChainComparer"> + <summary> + Interface for comparing two <see cref="T:System.Object"/>s. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.Comparers.IChainComparer.Equal(System.Object,System.Object,NUnit.Framework.Constraints.Tolerance@,NUnit.Framework.Constraints.Comparers.ComparisonState)"> + <summary> + Method for comparing two objects with a tolerance. + </summary> + <param name="x">The first object to compare.</param> + <param name="y">The second object to compare.</param> + <param name="tolerance">The tolerance to use when comparing the objects.</param> + <param name="state">The evaluation state of the comparison.</param> + <returns> + <see langword="null"/> if the objects cannot be compared using the method. + Otherwise the result of the comparison is returned. + </returns> + </member> + <member name="T:NUnit.Framework.Constraints.Comparers.KeyValuePairsComparer"> + <summary> + Comparator for two <see cref="T:System.Collections.Generic.KeyValuePair`2"/>s. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.Comparers.NumericsComparer"> + <summary> + Comparator for two <see cref="T:NUnit.Framework.Constraints.Numerics"/>s. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.Comparers.StreamsComparer"> + <summary> + Comparator for two <see cref="T:System.IO.Stream"/>s. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.Comparers.StringsComparer"> + <summary> + Comparator for two <see cref="T:System.String"/>s. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.Comparers.StructuralComparer"> + <summary> + Comparator for two types related by <see cref="T:System.Collections.IStructuralEquatable"/>. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.Comparers.TimeSpanToleranceComparer"> + <summary> + Comparator for two <see cref="T:System.DateTime"/>s or <see cref="T:System.TimeSpan"/>s. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.Comparers.TupleComparer"> + <summary> + Comparator for two <c>Tuple</c>s. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.Comparers.TupleComparerBase"> + <summary> + Base class for comparators for tuples (both regular Tuples and ValueTuples). + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.Comparers.ValueTupleComparer"> + <summary> + Comparator for two <c>ValueTuple</c>s. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.ComparisonAdapter"> + <summary> + ComparisonAdapter class centralizes all comparisons of + values in NUnit, adapting to the use of any provided + <see cref="T:System.Collections.IComparer"/>, <see cref="T:System.Collections.Generic.IComparer`1"/> + or <see cref="T:System.Comparison`1"/>. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ComparisonAdapter.Default"> + <summary> + Gets the default ComparisonAdapter, which wraps an + NUnitComparer object. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ComparisonAdapter.For(System.Collections.IComparer)"> + <summary> + Returns a ComparisonAdapter that wraps an <see cref="T:System.Collections.IComparer"/> + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ComparisonAdapter.For``1(System.Collections.Generic.IComparer{``0})"> + <summary> + Returns a ComparisonAdapter that wraps an <see cref="T:System.Collections.Generic.IComparer`1"/> + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ComparisonAdapter.For``1(System.Comparison{``0})"> + <summary> + Returns a ComparisonAdapter that wraps a <see cref="T:System.Comparison`1"/> + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ComparisonAdapter.Compare(System.Object,System.Object)"> + <summary> + Compares two objects + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ComparisonAdapter.DefaultComparisonAdapter.#ctor"> + <summary> + Construct a default ComparisonAdapter + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ComparisonAdapter.ComparerAdapter.#ctor(System.Collections.IComparer)"> + <summary> + Construct a ComparisonAdapter for an <see cref="T:System.Collections.IComparer"/> + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ComparisonAdapter.ComparerAdapter.Compare(System.Object,System.Object)"> + <summary> + Compares two objects + </summary> + <param name="expected"></param> + <param name="actual"></param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Constraints.ComparisonAdapter.ComparerAdapter`1"> + <summary> + ComparerAdapter extends <see cref="T:NUnit.Framework.Constraints.ComparisonAdapter"/> and + allows use of an <see cref="T:System.Collections.Generic.IComparer`1"/> or <see cref="T:System.Comparison`1"/> + to actually perform the comparison. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ComparisonAdapter.ComparerAdapter`1.#ctor(System.Collections.Generic.IComparer{`0})"> + <summary> + Construct a ComparisonAdapter for an <see cref="T:System.Collections.Generic.IComparer`1"/> + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ComparisonAdapter.ComparerAdapter`1.Compare(System.Object,System.Object)"> + <summary> + Compare a Type T to an object + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ComparisonAdapter.ComparisonAdapterForComparison`1.#ctor(System.Comparison{`0})"> + <summary> + Construct a ComparisonAdapter for a <see cref="T:System.Comparison`1"/> + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ComparisonAdapter.ComparisonAdapterForComparison`1.Compare(System.Object,System.Object)"> + <summary> + Compare a Type T to an object + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.ComparisonConstraint"> + <summary> + Abstract base class for constraints that compare values to + determine if one is greater than, equal to or less than + the other. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.ComparisonConstraint._expected"> + <summary> + The value against which a comparison is to be made + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.ComparisonConstraint._tolerance"> + <summary> + Tolerance used in making the comparison + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.ComparisonConstraint._comparer"> + <summary> + ComparisonAdapter to be used in making the comparison + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ComparisonConstraint.#ctor(System.Object)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.ComparisonConstraint"/> class. + </summary> + <param name="expected">The value against which to make a comparison.</param> + </member> + <member name="M:NUnit.Framework.Constraints.ComparisonConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>A ConstraintResult</returns> + </member> + <member name="M:NUnit.Framework.Constraints.ComparisonConstraint.PerformComparison(NUnit.Framework.Constraints.ComparisonAdapter,System.Object,System.Object,NUnit.Framework.Constraints.Tolerance)"> + <summary> + Protected function overridden by derived class to actually perform the comparison + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ComparisonConstraint.Using(System.Collections.IComparer)"> + <summary> + Modifies the constraint to use an <see cref="T:System.Collections.IComparer"/> and returns self + </summary> + <param name="comparer">The comparer used for comparison tests</param> + <returns>A constraint modified to use the given comparer</returns> + </member> + <member name="M:NUnit.Framework.Constraints.ComparisonConstraint.Using``1(System.Collections.Generic.IComparer{``0})"> + <summary> + Modifies the constraint to use an <see cref="T:System.Collections.Generic.IComparer`1"/> and returns self + </summary> + <param name="comparer">The comparer used for comparison tests</param> + <returns>A constraint modified to use the given comparer</returns> + </member> + <member name="M:NUnit.Framework.Constraints.ComparisonConstraint.Using``1(System.Comparison{``0})"> + <summary> + Modifies the constraint to use a <see cref="T:System.Comparison`1"/> and returns self + </summary> + <param name="comparer">The comparer used for comparison tests</param> + <returns>A constraint modified to use the given comparer</returns> + </member> + <member name="M:NUnit.Framework.Constraints.ComparisonConstraint.Within(System.Object)"> + <summary> + Set the tolerance for use in this comparison + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ComparisonConstraint.Percent"> + <summary> + Switches the .Within() modifier to interpret its tolerance as + a percentage that the actual values is allowed to deviate from + the expected value. + </summary> + <returns>Self</returns> + </member> + <member name="M:NUnit.Framework.Constraints.ComparisonConstraint.DefaultDescription(System.String)"> + <summary> + Provides standard description of what the constraint tests + based on comparison text. + </summary> + <param name="comparisonText">Describes the comparison being tested, throws <see cref="T:System.ArgumentNullException"/> + if null</param> + <exception cref="T:System.ArgumentNullException">Is thrown when null passed to a method</exception> + </member> + <member name="T:NUnit.Framework.Constraints.ActualValueDelegate`1"> + <summary> + Delegate used to delay evaluation of the actual value + to be used in evaluating a constraint + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.Constraint"> + <summary> + The Constraint class is the base of all built-in constraints + within NUnit. It provides the operator overloads used to combine + constraints. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.Constraint.#ctor(System.Object[])"> + <summary> + Construct a constraint with optional arguments + </summary> + <param name="args">Arguments to be saved</param> + </member> + <member name="P:NUnit.Framework.Constraints.Constraint.DisplayName"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Constraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Constraint.Arguments"> + <summary> + Arguments provided to this Constraint, for use in + formatting the description. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Constraint.Builder"> + <summary> + The ConstraintBuilder holding this constraint + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.Constraint.ApplyTo``1(``0)"> + <summary> + Applies the constraint to an actual value, returning a ConstraintResult. + </summary> + <param name="actual">The value to be tested</param> + <returns>A ConstraintResult</returns> + </member> + <member name="M:NUnit.Framework.Constraints.Constraint.ApplyTo``1(NUnit.Framework.Constraints.ActualValueDelegate{``0})"> + <summary> + 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. + </summary> + <param name="del">An ActualValueDelegate</param> + <returns>A ConstraintResult</returns> + </member> + <member name="M:NUnit.Framework.Constraints.Constraint.ApplyTo``1(``0@)"> + <summary> + 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. + </summary> + <param name="actual">A reference to the value to be tested</param> + <returns>A ConstraintResult</returns> + </member> + <member name="M:NUnit.Framework.Constraints.Constraint.GetTestObject``1(NUnit.Framework.Constraints.ActualValueDelegate{``0})"> + <summary> + 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. + </summary> + <param name="del">An ActualValueDelegate</param> + <returns>Delegate evaluation result</returns> + </member> + <member name="M:NUnit.Framework.Constraints.Constraint.ToString"> + <summary> + Default override of ToString returns the constraint DisplayName + followed by any arguments within angle brackets. + </summary> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Constraints.Constraint.GetStringRepresentation"> + <summary> + Returns the string representation of this constraint + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.Constraint.op_BitwiseAnd(NUnit.Framework.Constraints.Constraint,NUnit.Framework.Constraints.Constraint)"> + <summary> + This operator creates a constraint that is satisfied only if both + argument constraints are satisfied. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.Constraint.op_BitwiseOr(NUnit.Framework.Constraints.Constraint,NUnit.Framework.Constraints.Constraint)"> + <summary> + This operator creates a constraint that is satisfied if either + of the argument constraints is satisfied. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.Constraint.op_LogicalNot(NUnit.Framework.Constraints.Constraint)"> + <summary> + This operator creates a constraint that is satisfied if the + argument constraint is not satisfied. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Constraint.And"> + <summary> + Returns a ConstraintExpression by appending And + to the current constraint. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Constraint.With"> + <summary> + Returns a ConstraintExpression by appending And + to the current constraint. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Constraint.Or"> + <summary> + Returns a ConstraintExpression by appending Or + to the current constraint. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.Constraint.After(System.Int32)"> + <summary> + Returns a DelayedConstraint.WithRawDelayInterval with the specified delay time. + </summary> + <param name="delay">The delay, which defaults to milliseconds.</param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Constraints.Constraint.After(System.Int32,System.Int32)"> + <summary> + Returns a DelayedConstraint with the specified delay time + and polling interval. + </summary> + <param name="delayInMilliseconds">The delay in milliseconds.</param> + <param name="pollingInterval">The interval at which to test the constraint.</param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Constraints.Constraint.NUnit#Framework#Constraints#IResolveConstraint#Resolve"> + <summary> + Resolves any pending operators and returns the resolved constraint. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.ConstraintBuilder"> + <summary> + 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. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.ConstraintBuilder.OperatorStack"> + <summary> + OperatorStack is a type-safe stack for holding ConstraintOperators + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.OperatorStack.#ctor(NUnit.Framework.Constraints.ConstraintBuilder)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.ConstraintBuilder.OperatorStack"/> class. + </summary> + <param name="builder">The ConstraintBuilder using this stack.</param> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintBuilder.OperatorStack.Empty"> + <summary> + Gets a value indicating whether this <see cref="T:NUnit.Framework.Constraints.ConstraintBuilder.OperatorStack"/> is empty. + </summary> + <value><see langword="true"/> if empty; otherwise, <see langword="false"/>.</value> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintBuilder.OperatorStack.Top"> + <summary> + Gets the topmost operator without modifying the stack. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.OperatorStack.Push(NUnit.Framework.Constraints.ConstraintOperator)"> + <summary> + Pushes the specified operator onto the stack. + </summary> + <param name="op">The operator to put onto the stack.</param> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.OperatorStack.Pop"> + <summary> + Pops the topmost operator from the stack. + </summary> + <returns>The topmost operator on the stack</returns> + </member> + <member name="T:NUnit.Framework.Constraints.ConstraintBuilder.ConstraintStack"> + <summary> + ConstraintStack is a type-safe stack for holding Constraints + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.ConstraintStack.#ctor(NUnit.Framework.Constraints.ConstraintBuilder)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.ConstraintBuilder.ConstraintStack"/> class. + </summary> + <param name="builder">The ConstraintBuilder using this stack.</param> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintBuilder.ConstraintStack.Empty"> + <summary> + Gets a value indicating whether this <see cref="T:NUnit.Framework.Constraints.ConstraintBuilder.ConstraintStack"/> is empty. + </summary> + <value><see langword="true"/> if empty; otherwise, <see langword="false"/>.</value> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.ConstraintStack.Push(NUnit.Framework.Constraints.IConstraint)"> + <summary> + Pushes the specified constraint. As a side effect, + the constraint's Builder field is set to the + ConstraintBuilder owning this stack. + </summary> + <param name="constraint">The constraint to put onto the stack</param> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.ConstraintStack.Pop"> + <summary> + Pops this topmost constraint from the stack. + As a side effect, the constraint's Builder + field is set to null. + </summary> + <returns>The topmost constraint on the stack</returns> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.ConstraintBuilder"/> class. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.Append(NUnit.Framework.Constraints.ConstraintOperator)"> + <summary> + Appends the specified operator to the expression by first + reducing the operator stack and then pushing the new + operator on the stack. + </summary> + <param name="op">The operator to push.</param> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.Append(NUnit.Framework.Constraints.Constraint)"> + <summary> + Appends the specified constraint to the expression by pushing + it on the constraint stack. + </summary> + <param name="constraint">The constraint to push.</param> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.SetTopOperatorRightContext(System.Object)"> + <summary> + Sets the top operator right context. + </summary> + <param name="rightContext">The right context.</param> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.ReduceOperatorStack(System.Int32)"> + <summary> + Reduces the operator stack until the topmost item + precedence is greater than or equal to the target precedence. + </summary> + <param name="targetPrecedence">The target precedence.</param> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.Resolve"> + <summary> + Resolves this instance, returning a Constraint. If the Builder + is not currently in a resolvable state, an exception is thrown. + </summary> + <returns>The resolved constraint</returns> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintBuilder.IsResolvable"> + <summary> + Gets a value indicating whether this instance is resolvable. + </summary> + <value> + <see langword="true"/> if this instance is resolvable; otherwise, <see langword="false"/>. + </value> + </member> + <member name="T:NUnit.Framework.Constraints.ConstraintExpression"> + <summary> + 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. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.ConstraintExpression.builder"> + <summary> + The ConstraintBuilder holding the elements recognized so far + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.ConstraintExpression"/> class. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.#ctor(NUnit.Framework.Constraints.ConstraintBuilder)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.ConstraintExpression"/> + class passing in a ConstraintBuilder, which may be pre-populated. + </summary> + <param name="builder">The builder.</param> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.ToString"> + <summary> + 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. + </summary> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Append(NUnit.Framework.Constraints.ConstraintOperator)"> + <summary> + Appends an operator to the expression and returns the + resulting expression itself. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Append(NUnit.Framework.Constraints.SelfResolvingOperator)"> + <summary> + Appends a self-resolving operator to the expression and + returns a new ResolvableConstraintExpression. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Append(NUnit.Framework.Constraints.Constraint)"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.Not"> + <summary> + Returns a ConstraintExpression that negates any + following constraint. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.No"> + <summary> + Returns a ConstraintExpression that negates any + following constraint. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.All"> + <summary> + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.Some"> + <summary> + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if at least one of them succeeds. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.None"> + <summary> + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them fail. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Exactly(System.Int32)"> + <summary> + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding only if a specified number of them succeed. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.One"> + <summary> + Returns a <see cref="T:NUnit.Framework.Constraints.ItemsConstraintExpression"/>, which will + apply the following constraint to a collection of length one, succeeding + only if exactly one of them succeeds. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Property(System.String)"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.Length"> + <summary> + Returns a new ConstraintExpression, which will apply the following + constraint to the Length property of the object being tested. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.Count"> + <summary> + Returns a new ConstraintExpression, which will apply the following + constraint to the Count property of the object being tested. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.Message"> + <summary> + Returns a new ConstraintExpression, which will apply the following + constraint to the Message property of the object being tested. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.InnerException"> + <summary> + Returns a new ConstraintExpression, which will apply the following + constraint to the InnerException property of the object being tested. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Attribute(System.Type)"> + <summary> + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Attribute``1"> + <summary> + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.With"> + <summary> + With is currently a NOP - reserved for future use. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Matches(NUnit.Framework.Constraints.IResolveConstraint)"> + <summary> + Returns the constraint provided as an argument - used to allow custom + custom constraints to easily participate in the syntax. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Matches``1(System.Predicate{``0})"> + <summary> + Returns the constraint provided as an argument - used to allow custom + custom constraints to easily participate in the syntax. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.Null"> + <summary> + Returns a constraint that tests for null + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.True"> + <summary> + Returns a constraint that tests for True + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.False"> + <summary> + Returns a constraint that tests for False + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.Positive"> + <summary> + Returns a constraint that tests for a positive value + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.Negative"> + <summary> + Returns a constraint that tests for a negative value + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.Zero"> + <summary> + Returns a constraint that tests if item is equal to zero + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.NaN"> + <summary> + Returns a constraint that tests for NaN + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.Empty"> + <summary> + Returns a constraint that tests for empty + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.Unique"> + <summary> + Returns a constraint that tests whether a collection + contains all unique items. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.BinarySerializable"> + <summary> + Returns a constraint that tests whether an object graph is serializable in binary format. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.XmlSerializable"> + <summary> + Returns a constraint that tests whether an object graph is serializable in XML format. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.EqualTo(System.Object)"> + <summary> + Returns a constraint that tests two items for equality + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.SameAs(System.Object)"> + <summary> + Returns a constraint that tests that two references are the same object + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.GreaterThan(System.Object)"> + <summary> + Returns a constraint that tests whether the + actual value is greater than the supplied argument + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.GreaterThanOrEqualTo(System.Object)"> + <summary> + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.AtLeast(System.Object)"> + <summary> + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.LessThan(System.Object)"> + <summary> + Returns a constraint that tests whether the + actual value is less than the supplied argument + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.LessThanOrEqualTo(System.Object)"> + <summary> + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.AtMost(System.Object)"> + <summary> + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.TypeOf(System.Type)"> + <summary> + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.TypeOf``1"> + <summary> + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.InstanceOf(System.Type)"> + <summary> + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.InstanceOf``1"> + <summary> + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.AssignableFrom(System.Type)"> + <summary> + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.AssignableFrom``1"> + <summary> + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.AssignableTo(System.Type)"> + <summary> + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.AssignableTo``1"> + <summary> + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.EquivalentTo(System.Collections.IEnumerable)"> + <summary> + Returns a constraint that tests whether the actual value + is a collection containing the same elements as the + collection supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.SubsetOf(System.Collections.IEnumerable)"> + <summary> + Returns a constraint that tests whether the actual value + is a subset of the collection supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.SupersetOf(System.Collections.IEnumerable)"> + <summary> + Returns a constraint that tests whether the actual value + is a superset of the collection supplied as an argument. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.Ordered"> + <summary> + Returns a constraint that tests whether a collection is ordered + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Member(System.Object)"> + <summary> + Returns a new <see cref="T:NUnit.Framework.Constraints.SomeItemsConstraint"/> checking for the + presence of a particular object in the collection. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Contains(System.Object)"> + <summary> + <para> + Returns a new <see cref="T:NUnit.Framework.Constraints.SomeItemsConstraint"/> checking for the + presence of a particular object in the collection. + </para> + <para> + To search for a substring instead of a collection element, use the + <see cref="M:NUnit.Framework.Constraints.ConstraintExpression.Contains(System.String)"/> overload. + </para> + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Contains(System.String)"> + <summary> + <para> + 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. + </para> + <para> + To search for a collection element instead of a substring, use the + <see cref="M:NUnit.Framework.Constraints.ConstraintExpression.Contains(System.Object)"/> overload. + </para> + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Contain(System.Object)"> + <summary> + Returns a new <see cref="T:NUnit.Framework.Constraints.SomeItemsConstraint"/> checking for the + presence of a particular object in the collection. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Contain(System.String)"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.ContainKey(System.Object)"> + <summary> + Returns a new DictionaryContainsKeyConstraint checking for the + presence of a particular key in the Dictionary key collection. + </summary> + <param name="expected">The key to be matched in the Dictionary key collection</param> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.ContainValue(System.Object)"> + <summary> + Returns a new DictionaryContainsValueConstraint checking for the + presence of a particular value in the Dictionary value collection. + </summary> + <param name="expected">The value to be matched in the Dictionary value collection</param> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.StringContaining(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.ContainsSubstring(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.StartWith(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.StartsWith(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.StringStarting(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.EndWith(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.EndsWith(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.StringEnding(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Match(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Match(System.Text.RegularExpressions.Regex)"> + <summary> + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Matches(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Matches(System.Text.RegularExpressions.Regex)"> + <summary> + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.StringMatching(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.SamePath(System.String)"> + <summary> + Returns a constraint that tests whether the path provided + is the same as an expected path after canonicalization. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.SubPathOf(System.String)"> + <summary> + Returns a constraint that tests whether the path provided + is the a subpath of the expected path after canonicalization. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.SamePathOrUnder(System.String)"> + <summary> + Returns a constraint that tests whether the path provided + is the same path or under an expected path after canonicalization. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.InRange(System.Object,System.Object)"> + <summary> + Returns a constraint that tests whether the actual value falls + inclusively within a specified range. + </summary> + <param name="from">Inclusive beginning of the range.</param> + <param name="to">Inclusive end of the range.</param> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.Exist"> + <summary> + Returns a constraint that succeeds if the value + is a file or directory and it exists. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.AnyOf(System.Object[])"> + <summary> + Returns a constraint that tests if an item is equal to any of parameters + </summary> + <param name="expected">Expected values</param> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.ItemAt(System.Object[])"> + <summary> + Returns a new IndexerConstraintExpression, which will + apply any following constraint to that indexer value. + </summary> + <param name="indexArgs">Index accessor values.</param> + </member> + <member name="T:NUnit.Framework.Constraints.ConstraintStatus"> + <summary> + ConstraintStatus represents the status of a ConstraintResult + returned by a Constraint being applied to an actual value. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.ConstraintStatus.Unknown"> + <summary> + The status has not yet been set + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.ConstraintStatus.Success"> + <summary> + The constraint succeeded + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.ConstraintStatus.Failure"> + <summary> + The constraint failed + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.ConstraintStatus.Error"> + <summary> + An error occurred in applying the constraint (reserved for future use) + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.ConstraintResult"> + <summary> + Contains the result of matching a <see cref="T:NUnit.Framework.Constraints.Constraint"/> against an actual value. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintResult.#ctor(NUnit.Framework.Constraints.IConstraint,System.Object)"> + <summary> + Constructs a <see cref="T:NUnit.Framework.Constraints.ConstraintResult"/> for a particular <see cref="T:NUnit.Framework.Constraints.Constraint"/>. + </summary> + <param name="constraint">The Constraint to which this result applies.</param> + <param name="actualValue">The actual value to which the Constraint was applied.</param> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintResult.#ctor(NUnit.Framework.Constraints.IConstraint,System.Object,NUnit.Framework.Constraints.ConstraintStatus)"> + <summary> + Constructs a <see cref="T:NUnit.Framework.Constraints.ConstraintResult"/> for a particular <see cref="T:NUnit.Framework.Constraints.Constraint"/>. + </summary> + <param name="constraint">The Constraint to which this result applies.</param> + <param name="actualValue">The actual value to which the Constraint was applied.</param> + <param name="status">The status of the new ConstraintResult.</param> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintResult.#ctor(NUnit.Framework.Constraints.IConstraint,System.Object,System.Boolean)"> + <summary> + Constructs a <see cref="T:NUnit.Framework.Constraints.ConstraintResult"/> for a particular <see cref="T:NUnit.Framework.Constraints.Constraint"/>. + </summary> + <param name="constraint">The Constraint to which this result applies.</param> + <param name="actualValue">The actual value to which the Constraint was applied.</param> + <param name="isSuccess">If true, applies a status of Success to the result, otherwise Failure.</param> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintResult.ActualValue"> + <summary> + The actual value that was passed to the <see cref="M:NUnit.Framework.Constraints.Constraint.ApplyTo``1(``0)"/> method. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintResult.Status"> + <summary> + Gets and sets the ResultStatus for this result. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintResult.IsSuccess"> + <summary> + True if actual value meets the Constraint criteria otherwise false. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintResult.Name"> + <summary> + Display friendly name of the constraint. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintResult.Description"> + <summary> + Description of the constraint may be affected by the state the constraint had + when <see cref="M:NUnit.Framework.Constraints.Constraint.ApplyTo``1(``0)"/> was performed against the actual value. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintResult.WriteMessageTo(NUnit.Framework.Constraints.MessageWriter)"> + <summary> + 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. + </summary> + <param name="writer">The MessageWriter on which to display the message</param> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintResult.WriteAdditionalLinesTo(NUnit.Framework.Constraints.MessageWriter)"> + <summary> + Write some additional failure message. + </summary> + <param name="writer">The MessageWriter on which to display the message</param> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintResult.WriteActualValueTo(NUnit.Framework.Constraints.MessageWriter)"> + <summary> + 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. + </summary> + <param name="writer">The writer on which the actual value is displayed</param> + </member> + <member name="T:NUnit.Framework.Constraints.ContainsConstraint"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ContainsConstraint.#ctor(System.Object)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.ContainsConstraint"/> class. + </summary> + <param name="expected">The expected value contained within the string/collection.</param> + </member> + <member name="P:NUnit.Framework.Constraints.ContainsConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ContainsConstraint.IgnoreCase"> + <summary> + Flag the constraint to ignore case and return self. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ContainsConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="T:NUnit.Framework.Constraints.CountZeroConstraint"> + <summary> + CountZeroConstraint tests whether an instance has a property .Count with value zero. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.CountZeroConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CountZeroConstraint.HasCountProperty(System.Type)"> + <summary> + Checks if the specified <paramref name="type"/> has a int Count property. + </summary> + <param name="type">Type to check.</param> + <returns><see langword="true"/> when <paramref name="type"/> has a 'int Count' property, <see langword="false"/> otherwise.</returns> + </member> + <member name="M:NUnit.Framework.Constraints.CountZeroConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="T:NUnit.Framework.Constraints.DateTimes"> + <summary> + The DateTimes class contains common operations on Date and Time values. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.DelayedConstraint"> + <summary> + Applies a delay to the match so that a match can be evaluated in the future. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.DelayedConstraint.WithRawDelayInterval"> + <summary> + Allows only changing the time dimension of delay interval and setting a polling interval of a DelayedConstraint + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.DelayedConstraint.WithRawDelayInterval.#ctor(NUnit.Framework.Constraints.DelayedConstraint)"> + <summary> + Creates a new DelayedConstraint.WithRawDelayInterval + </summary> + <param name="parent">Parent DelayedConstraint on which delay interval dimension is required to be set</param> + </member> + <member name="P:NUnit.Framework.Constraints.DelayedConstraint.WithRawDelayInterval.Minutes"> + <summary> + Changes delay interval dimension to minutes + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.DelayedConstraint.WithRawDelayInterval.Seconds"> + <summary> + Changes delay interval dimension to seconds + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.DelayedConstraint.WithRawDelayInterval.MilliSeconds"> + <summary> + Changes delay interval dimension to milliseconds + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.DelayedConstraint.WithRawDelayInterval.PollEvery(System.Int32)"> + <summary> + Set polling interval, in milliseconds + </summary> + <param name="milliSeconds">A time interval, in milliseconds</param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Constraints.DelayedConstraint.WithDimensionedDelayInterval"> + <summary> + Allows only setting the polling interval of a DelayedConstraint + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.DelayedConstraint.WithDimensionedDelayInterval.#ctor(NUnit.Framework.Constraints.DelayedConstraint)"> + <summary> + Creates a new DelayedConstraint.WithDimensionedDelayInterval + </summary> + <param name="parent">Parent DelayedConstraint on which polling interval is required to be set</param> + </member> + <member name="M:NUnit.Framework.Constraints.DelayedConstraint.WithDimensionedDelayInterval.PollEvery(System.Int32)"> + <summary> + Set polling interval, in milliseconds + </summary> + <param name="milliSeconds">A time interval, in milliseconds</param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Constraints.DelayedConstraint.WithRawPollingInterval"> + <summary> + Allows only changing the time dimension of the polling interval of a DelayedConstraint + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.DelayedConstraint.WithRawPollingInterval.#ctor(NUnit.Framework.Constraints.DelayedConstraint)"> + <summary> + Creates a new DelayedConstraint.WithRawPollingInterval + </summary> + <param name="parent">Parent DelayedConstraint on which polling dimension is required to be set</param> + </member> + <member name="P:NUnit.Framework.Constraints.DelayedConstraint.WithRawPollingInterval.Minutes"> + <summary> + Changes polling interval dimension to minutes + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.DelayedConstraint.WithRawPollingInterval.Seconds"> + <summary> + Changes polling interval dimension to seconds + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.DelayedConstraint.WithRawPollingInterval.MilliSeconds"> + <summary> + Changes polling interval dimension to milliseconds + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.DelayedConstraint.DelayInterval"> + <summary> + Delay value store as an Interval object + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.DelayedConstraint.PollingInterval"> + <summary> + Polling value stored as an Interval object + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.DelayedConstraint.#ctor(NUnit.Framework.Constraints.IConstraint,System.Int32)"> + <summary> + Creates a new DelayedConstraint + </summary> + <param name="baseConstraint">The inner constraint to decorate</param> + <param name="delayInMilliseconds">The time interval after which the match is performed</param> + <exception cref="T:System.InvalidOperationException">If the value of <paramref name="delayInMilliseconds"/> is less than 0</exception> + </member> + <member name="M:NUnit.Framework.Constraints.DelayedConstraint.#ctor(NUnit.Framework.Constraints.IConstraint,System.Int32,System.Int32)"> + <summary> + Creates a new DelayedConstraint + </summary> + <param name="baseConstraint">The inner constraint to decorate</param> + <param name="delayInMilliseconds">The time interval after which the match is performed, in milliseconds</param> + <param name="pollingIntervalInMilliseconds">The time interval used for polling, in milliseconds</param> + <exception cref="T:System.InvalidOperationException">If the value of <paramref name="delayInMilliseconds"/> is less than 0</exception> + </member> + <member name="P:NUnit.Framework.Constraints.DelayedConstraint.Description"> + <summary> + Gets text describing a constraint + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.DelayedConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for if the base constraint fails, false if it succeeds</returns> + </member> + <member name="M:NUnit.Framework.Constraints.DelayedConstraint.ApplyTo``1(NUnit.Framework.Constraints.ActualValueDelegate{``0})"> + <summary> + Test whether the constraint is satisfied by a delegate + </summary> + <param name="del">The delegate whose value is to be tested</param> + <returns>A ConstraintResult</returns> + </member> + <member name="M:NUnit.Framework.Constraints.DelayedConstraint.ApplyTo``1(``0@)"> + <summary> + 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. + </summary> + <param name="actual">A reference to the value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="M:NUnit.Framework.Constraints.DelayedConstraint.GetStringRepresentation"> + <summary> + Returns the string representation of the constraint. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.DelayedConstraint.TimestampOffset(System.Int64,System.TimeSpan)"> + <summary> + Adjusts a Timestamp by a given TimeSpan + </summary> + <param name="timestamp"></param> + <param name="offset"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Constraints.DelayedConstraint.TimestampDiff(System.Int64,System.Int64)"> + <summary> + Returns the difference between two Timestamps as a TimeSpan + </summary> + <param name="timestamp1"></param> + <param name="timestamp2"></param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Constraints.DictionaryContainsKeyConstraint"> + <summary> + DictionaryContainsKeyConstraint is used to test whether a dictionary + contains an expected object as a key. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.DictionaryContainsKeyConstraint.#ctor(System.Object)"> + <summary> + Construct a DictionaryContainsKeyConstraint + </summary> + <param name="expected"></param> + </member> + <member name="P:NUnit.Framework.Constraints.DictionaryContainsKeyConstraint.DisplayName"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.DictionaryContainsKeyConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.DictionaryContainsKeyConstraint.Expected"> + <summary> + Gets the expected object + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.DictionaryContainsKeyConstraint.WithValue(System.Object)"> + <summary> + Returns a new DictionaryContainsKeyValuePairConstraint checking for the + presence of a particular key-value-pair in the dictionary. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.DictionaryContainsKeyConstraint.IgnoreCase"> + <summary> + Flag the constraint to ignore case and return self. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.DictionaryContainsKeyConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + </member> + <member name="M:NUnit.Framework.Constraints.DictionaryContainsKeyConstraint.Matches(System.Collections.IEnumerable)"> + <summary> + Test whether the expected key is contained in the dictionary + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.DictionaryContainsKeyConstraint.Using``2(System.Func{``0,``1,System.Boolean})"> + <summary> + Flag the constraint to use the supplied predicate function + </summary> + <param name="comparison">The comparison function to use.</param> + </member> + <member name="M:NUnit.Framework.Constraints.DictionaryContainsKeyConstraint.Using``1(System.Comparison{``0})"> + <summary> + Flag the constraint to use the supplied Comparison object. + </summary> + <param name="comparison">The Comparison object to use.</param> + </member> + <member name="M:NUnit.Framework.Constraints.DictionaryContainsKeyConstraint.Using(System.Collections.IComparer)"> + <summary> + Flag the constraint to use the supplied IComparer object. + </summary> + <param name="comparer">The IComparer object to use.</param> + </member> + <member name="M:NUnit.Framework.Constraints.DictionaryContainsKeyConstraint.Using``1(System.Collections.Generic.IComparer{``0})"> + <summary> + Flag the constraint to use the supplied IComparer object. + </summary> + <param name="comparer">The IComparer object to use.</param> + </member> + <member name="M:NUnit.Framework.Constraints.DictionaryContainsKeyConstraint.Using(System.Collections.IEqualityComparer)"> + <summary> + Flag the constraint to use the supplied IEqualityComparer object. + </summary> + <param name="comparer">The IComparer object to use.</param> + </member> + <member name="M:NUnit.Framework.Constraints.DictionaryContainsKeyConstraint.Using``1(System.Collections.Generic.IEqualityComparer{``0})"> + <summary> + Flag the constraint to use the supplied IEqualityComparer object. + </summary> + <param name="comparer">The IComparer object to use.</param> + </member> + <member name="M:NUnit.Framework.Constraints.DictionaryContainsKeyConstraint.Using``1(System.Func{``0,``0,System.Boolean})"> + <summary> + Flag the constraint to use the supplied boolean-returning delegate. + </summary> + <param name="comparer">The supplied boolean-returning delegate to use.</param> + </member> + <member name="T:NUnit.Framework.Constraints.DictionaryContainsKeyValuePairConstraint"> + <summary> + DictionaryContainsKeyValuePairConstraint is used to test whether a dictionary + contains an expected object as a key-value-pair. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.DictionaryContainsKeyValuePairConstraint.#ctor(System.Object,System.Object)"> + <summary> + Construct a DictionaryContainsKeyValuePairConstraint + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.DictionaryContainsKeyValuePairConstraint.DisplayName"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.DictionaryContainsKeyValuePairConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.DictionaryContainsKeyValuePairConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + </member> + <member name="M:NUnit.Framework.Constraints.DictionaryContainsKeyValuePairConstraint.Matches(System.Collections.IEnumerable)"> + <summary> + Test whether the expected key is contained in the dictionary + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.DictionaryContainsValueConstraint"> + <summary> + DictionaryContainsValueConstraint is used to test whether a dictionary + contains an expected object as a value. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.DictionaryContainsValueConstraint.#ctor(System.Object)"> + <summary> + Construct a DictionaryContainsValueConstraint + </summary> + <param name="expected"></param> + </member> + <member name="P:NUnit.Framework.Constraints.DictionaryContainsValueConstraint.DisplayName"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.DictionaryContainsValueConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.DictionaryContainsValueConstraint.Expected"> + <summary> + Gets the expected object + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.DictionaryContainsValueConstraint.Matches(System.Collections.IEnumerable)"> + <summary> + Test whether the expected value is contained in the dictionary + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.DictionaryContainsValueConstraint.Using``2(System.Func{``0,``1,System.Boolean})"> + <summary> + Flag the constraint to use the supplied predicate function + </summary> + <param name="comparison">The comparison function to use.</param> + <returns>Self.</returns> + </member> + <member name="T:NUnit.Framework.Constraints.EachItemConstraintResult"> + <summary> + Provides a <see cref="T:NUnit.Framework.Constraints.ConstraintResult"/> for the constraints + that are applied to each item in the collection + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EachItemConstraintResult.#ctor(NUnit.Framework.Constraints.IConstraint,System.Object,System.Object,System.Int32)"> + <summary> + Constructs a <see cref="T:NUnit.Framework.Constraints.EachItemConstraintResult" /> for a particular <see cref="T:NUnit.Framework.Constraints.Constraint" /> + Only used for Failure + </summary> + <param name="constraint">The Constraint to which this result applies</param> + <param name="actualValue">The actual value to which the Constraint was applied</param> + <param name="nonMatchingItem">Actual item that does not match expected condition</param> + <param name="nonMatchingIndex">Non matching item index</param> + </member> + <member name="M:NUnit.Framework.Constraints.EachItemConstraintResult.WriteAdditionalLinesTo(NUnit.Framework.Constraints.MessageWriter)"> + <summary> + Write constraint description, actual items, and non-matching item + </summary> + <param name="writer">The MessageWriter on which to display the message</param> + </member> + <member name="T:NUnit.Framework.Constraints.EmptyCollectionConstraint"> + <summary> + EmptyCollectionConstraint tests whether a collection is empty. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.EmptyCollectionConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EmptyCollectionConstraint.Matches(System.Collections.IEnumerable)"> + <summary> + Check that the collection is empty + </summary> + <param name="collection"></param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Constraints.EmptyConstraint"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.EmptyConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EmptyConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="T:NUnit.Framework.Constraints.EmptyDirectoryConstraint"> + <summary> + EmptyDirectoryConstraint is used to test that a directory is empty + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.EmptyDirectoryConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EmptyDirectoryConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="T:NUnit.Framework.Constraints.EmptyGuidConstraint"> + <summary> + EmptyGuidConstraint tests whether a Guid is empty. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.EmptyGuidConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EmptyGuidConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="T:NUnit.Framework.Constraints.EmptyStringConstraint"> + <summary> + EmptyStringConstraint tests whether a string is empty. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.EmptyStringConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EmptyStringConstraint.Matches(System.String)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="T:NUnit.Framework.Constraints.EndsWithConstraint"> + <summary> + EndsWithConstraint can test whether a string ends + with an expected substring. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EndsWithConstraint.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.EndsWithConstraint"/> class. + </summary> + <param name="expected">The expected string</param> + </member> + <member name="M:NUnit.Framework.Constraints.EndsWithConstraint.Matches(System.String)"> + <summary> + Test whether the constraint is matched by the actual value. + This is a template method, which calls the IsMatch method + of the derived class. + </summary> + <param name="actual"></param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Constraints.EqualConstraint"> + <summary> + 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. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.EqualConstraint._comparer"> + <summary> + NUnitEqualityComparer used to test equality. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EqualConstraint.#ctor(System.Object)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.EqualConstraint"/> class. + </summary> + <param name="expected">The expected value.</param> + </member> + <member name="P:NUnit.Framework.Constraints.EqualConstraint.Tolerance"> + <summary> + Gets the tolerance for this comparison. + </summary> + <value> + The tolerance. + </value> + </member> + <member name="P:NUnit.Framework.Constraints.EqualConstraint.CaseInsensitive"> + <summary> + Gets a value indicating whether to compare case insensitive. + </summary> + <value> + <see langword="true"/> if comparing case insensitive; otherwise, <see langword="false"/>. + </value> + </member> + <member name="P:NUnit.Framework.Constraints.EqualConstraint.ClipStrings"> + <summary> + Gets a value indicating whether or not to clip strings. + </summary> + <value> + <see langword="true"/> if set to clip strings otherwise, <see langword="false"/>. + </value> + </member> + <member name="P:NUnit.Framework.Constraints.EqualConstraint.FailurePoints"> + <summary> + Gets the failure points. + </summary> + <value> + The failure points. + </value> + </member> + <member name="P:NUnit.Framework.Constraints.EqualConstraint.IgnoreCase"> + <summary> + Flag the constraint to ignore case and return self. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.EqualConstraint.NoClip"> + <summary> + Flag the constraint to suppress string clipping + and return self. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.EqualConstraint.AsCollection"> + <summary> + Flag the constraint to compare arrays as collections + and return self. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EqualConstraint.Within(System.Object)"> + <summary> + Flag the constraint to use a tolerance when determining equality. + </summary> + <param name="amount">Tolerance value to be used</param> + <returns>Self.</returns> + </member> + <member name="P:NUnit.Framework.Constraints.EqualConstraint.WithSameOffset"> + <summary> + Flags the constraint to include <see cref="P:System.DateTimeOffset.Offset"/> + property in comparison of two <see cref="T:System.DateTimeOffset"/> values. + </summary> + <remarks> + Using this modifier does not allow to use the <see cref="M:NUnit.Framework.Constraints.EqualConstraint.Within(System.Object)"/> + constraint modifier. + </remarks> + </member> + <member name="P:NUnit.Framework.Constraints.EqualConstraint.Ulps"> + <summary> + Switches the .Within() modifier to interpret its tolerance as + a distance in representable values (see remarks). + </summary> + <returns>Self.</returns> + <remarks> + 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. + </remarks> + </member> + <member name="P:NUnit.Framework.Constraints.EqualConstraint.Percent"> + <summary> + Switches the .Within() modifier to interpret its tolerance as + a percentage that the actual values is allowed to deviate from + the expected value. + </summary> + <returns>Self</returns> + </member> + <member name="P:NUnit.Framework.Constraints.EqualConstraint.Days"> + <summary> + Causes the tolerance to be interpreted as a TimeSpan in days. + </summary> + <returns>Self</returns> + </member> + <member name="P:NUnit.Framework.Constraints.EqualConstraint.Hours"> + <summary> + Causes the tolerance to be interpreted as a TimeSpan in hours. + </summary> + <returns>Self</returns> + </member> + <member name="P:NUnit.Framework.Constraints.EqualConstraint.Minutes"> + <summary> + Causes the tolerance to be interpreted as a TimeSpan in minutes. + </summary> + <returns>Self</returns> + </member> + <member name="P:NUnit.Framework.Constraints.EqualConstraint.Seconds"> + <summary> + Causes the tolerance to be interpreted as a TimeSpan in seconds. + </summary> + <returns>Self</returns> + </member> + <member name="P:NUnit.Framework.Constraints.EqualConstraint.Milliseconds"> + <summary> + Causes the tolerance to be interpreted as a TimeSpan in milliseconds. + </summary> + <returns>Self</returns> + </member> + <member name="P:NUnit.Framework.Constraints.EqualConstraint.Ticks"> + <summary> + Causes the tolerance to be interpreted as a TimeSpan in clock ticks. + </summary> + <returns>Self</returns> + </member> + <member name="M:NUnit.Framework.Constraints.EqualConstraint.Using(System.Collections.IComparer)"> + <summary> + Flag the constraint to use the supplied IComparer object. + </summary> + <param name="comparer">The IComparer object to use.</param> + <returns>Self.</returns> + </member> + <member name="M:NUnit.Framework.Constraints.EqualConstraint.Using``1(System.Collections.Generic.IComparer{``0})"> + <summary> + Flag the constraint to use the supplied IComparer object. + </summary> + <param name="comparer">The IComparer object to use.</param> + <returns>Self.</returns> + </member> + <member name="M:NUnit.Framework.Constraints.EqualConstraint.Using``1(System.Func{``0,``0,System.Boolean})"> + <summary> + Flag the constraint to use the supplied boolean-returning delegate. + </summary> + <param name="comparer">The boolean-returning delegate to use.</param> + <returns>Self.</returns> + </member> + <member name="M:NUnit.Framework.Constraints.EqualConstraint.Using``1(System.Comparison{``0})"> + <summary> + Flag the constraint to use the supplied Comparison object. + </summary> + <param name="comparer">The IComparer object to use.</param> + <returns>Self.</returns> + </member> + <member name="M:NUnit.Framework.Constraints.EqualConstraint.Using(System.Collections.IEqualityComparer)"> + <summary> + Flag the constraint to use the supplied IEqualityComparer object. + </summary> + <param name="comparer">The IComparer object to use.</param> + <returns>Self.</returns> + </member> + <member name="M:NUnit.Framework.Constraints.EqualConstraint.Using``1(System.Collections.Generic.IEqualityComparer{``0})"> + <summary> + Flag the constraint to use the supplied IEqualityComparer object. + </summary> + <param name="comparer">The IComparer object to use.</param> + <returns>Self.</returns> + </member> + <member name="M:NUnit.Framework.Constraints.EqualConstraint.Using``2(System.Func{``0,``1,System.Boolean})"> + <summary> + Flag the constraint to use the supplied predicate function + </summary> + <param name="comparison">The comparison function to use.</param> + <returns>Self.</returns> + </member> + <member name="M:NUnit.Framework.Constraints.EqualConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="P:NUnit.Framework.Constraints.EqualConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.EqualConstraintResult"> + <summary> + The EqualConstraintResult class is tailored for formatting + and displaying the result of an EqualConstraint. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EqualConstraintResult.#ctor(NUnit.Framework.Constraints.EqualConstraint,System.Object,System.Boolean)"> + <summary> + Construct an EqualConstraintResult + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EqualConstraintResult.WriteMessageTo(NUnit.Framework.Constraints.MessageWriter)"> + <summary> + Write a failure message. Overridden to provide custom + failure messages for EqualConstraint. + </summary> + <param name="writer">The MessageWriter to write to</param> + </member> + <member name="M:NUnit.Framework.Constraints.EqualConstraintResult.DisplayCollectionDifferences(NUnit.Framework.Constraints.MessageWriter,System.Collections.ICollection,System.Collections.ICollection,System.Int32)"> + <summary> + Display the failure information for two collections that did not match. + </summary> + <param name="writer">The MessageWriter on which to display</param> + <param name="expected">The expected collection.</param> + <param name="actual">The actual collection</param> + <param name="depth">The depth of this failure in a set of nested collections</param> + </member> + <member name="M:NUnit.Framework.Constraints.EqualConstraintResult.DisplayTypesAndSizes(NUnit.Framework.Constraints.MessageWriter,System.Collections.IEnumerable,System.Collections.IEnumerable,System.Int32)"> + <summary> + 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. + </summary> + <param name="writer">The MessageWriter on which to display</param> + <param name="expected">The expected collection or array</param> + <param name="actual">The actual collection or array</param> + <param name="indent">The indentation level for the message line</param> + </member> + <member name="M:NUnit.Framework.Constraints.EqualConstraintResult.DisplayFailurePoint(NUnit.Framework.Constraints.MessageWriter,System.Collections.IEnumerable,System.Collections.IEnumerable,NUnit.Framework.Constraints.NUnitEqualityComparer.FailurePoint,System.Int32)"> + <summary> + 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. + </summary> + <param name="writer">The MessageWriter on which to display</param> + <param name="expected">The expected array</param> + <param name="actual">The actual array</param> + <param name="failurePoint">Index of the failure point in the underlying collections</param> + <param name="indent">The indentation level for the message line</param> + </member> + <member name="M:NUnit.Framework.Constraints.EqualConstraintResult.DisplayEnumerableDifferences(NUnit.Framework.Constraints.MessageWriter,System.Collections.IEnumerable,System.Collections.IEnumerable,System.Int32)"> + <summary> + Display the failure information for two IEnumerables that did not match. + </summary> + <param name="writer">The MessageWriter on which to display</param> + <param name="expected">The expected enumeration.</param> + <param name="actual">The actual enumeration</param> + <param name="depth">The depth of this failure in a set of nested collections</param> + </member> + <member name="T:NUnit.Framework.Constraints.EqualityAdapter"> + <summary> + EqualityAdapter class handles all equality comparisons + that use an <see cref="T:System.Collections.IEqualityComparer"/>, <see cref="T:System.Collections.Generic.IEqualityComparer`1"/> + or a <see cref="T:NUnit.Framework.Constraints.ComparisonAdapter"/>. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EqualityAdapter.AreEqual(System.Object,System.Object)"> + <summary> + Compares two objects, returning true if they are equal + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EqualityAdapter.CanCompare(System.Object,System.Object)"> + <summary> + Returns true if the two objects can be compared by this adapter. + The base adapter cannot handle IEnumerables except for strings. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EqualityAdapter.For(System.Collections.IComparer)"> + <summary> + Returns an <see cref="T:NUnit.Framework.Constraints.EqualityAdapter"/> that wraps an <see cref="T:System.Collections.IComparer"/>. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.EqualityAdapter.ComparerAdapter"> + <summary> + <see cref="T:NUnit.Framework.Constraints.EqualityAdapter"/> that wraps an <see cref="T:System.Collections.IComparer"/>. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EqualityAdapter.For(System.Collections.IEqualityComparer)"> + <summary> + Returns an <see cref="T:NUnit.Framework.Constraints.EqualityAdapter"/> that wraps an <see cref="T:System.Collections.IEqualityComparer"/>. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EqualityAdapter.For``2(System.Func{``0,``1,System.Boolean})"> + <summary> + Returns an EqualityAdapter that uses a predicate function for items comparison. + </summary> + <typeparam name="TExpected"></typeparam> + <typeparam name="TActual"></typeparam> + <param name="comparison"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Constraints.EqualityAdapter.PredicateEqualityAdapter`2.CanCompare(System.Object,System.Object)"> + <summary> + Returns true if the two objects can be compared by this adapter. + The base adapter cannot handle IEnumerables except for strings. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EqualityAdapter.PredicateEqualityAdapter`2.AreEqual(System.Object,System.Object)"> + <summary> + Compares two objects, returning true if they are equal + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EqualityAdapter.GenericEqualityAdapter`1.CanCompare(System.Object,System.Object)"> + <summary> + Returns true if the two objects can be compared by this adapter. + Generic adapter requires objects of the specified type. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EqualityAdapter.For``1(System.Collections.Generic.IEqualityComparer{``0})"> + <summary> + Returns an <see cref="T:NUnit.Framework.Constraints.EqualityAdapter"/> that wraps an <see cref="T:System.Collections.Generic.IEqualityComparer`1"/>. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EqualityAdapter.For``1(System.Collections.Generic.IComparer{``0})"> + <summary> + Returns an <see cref="T:NUnit.Framework.Constraints.EqualityAdapter"/> that wraps an <see cref="T:System.Collections.Generic.IComparer`1"/>. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.EqualityAdapter.ComparerAdapter`1"> + <summary> + <see cref="T:NUnit.Framework.Constraints.EqualityAdapter"/> that wraps an <see cref="T:System.Collections.IComparer"/>. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EqualityAdapter.For``1(System.Comparison{``0})"> + <summary> + Returns an <see cref="T:NUnit.Framework.Constraints.EqualityAdapter"/> that wraps a <see cref="T:System.Comparison`1"/>. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.ExactCountConstraint"> + <summary> + ExactCountConstraint applies another constraint to each + item in a collection, succeeding only if a specified + number of items succeed. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ExactCountConstraint.#ctor(System.Int32)"> + <summary> + Construct a standalone ExactCountConstraint + </summary> + <param name="expectedCount"></param> + </member> + <member name="M:NUnit.Framework.Constraints.ExactCountConstraint.#ctor(System.Int32,NUnit.Framework.Constraints.IConstraint)"> + <summary> + Construct an ExactCountConstraint on top of an existing constraint + </summary> + <param name="expectedCount"></param> + <param name="itemConstraint"></param> + </member> + <member name="M:NUnit.Framework.Constraints.ExactCountConstraint.ApplyTo``1(``0)"> + <summary> + Apply the item constraint to each item in the collection, + succeeding only if the expected number of items pass. + </summary> + <param name="actual">The value to be tested</param> + <returns>A ConstraintResult</returns> + </member> + <member name="P:NUnit.Framework.Constraints.ExactCountConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.ExactCountConstraintResult"> + <summary> + Contain the result of matching a <see cref="T:NUnit.Framework.Constraints.ExactCountConstraint"/> against an actual value. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.ExactCountConstraintResult._matchCount"> + <summary> + The count of matched items of the <see cref="T:NUnit.Framework.Constraints.ExactCountConstraint"/> + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.ExactCountConstraintResult._itemList"> + <summary> + A list with maximum count (+1) of items of the <see cref="T:NUnit.Framework.Constraints.ExactCountConstraint"/> + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ExactCountConstraintResult.#ctor(NUnit.Framework.Constraints.IConstraint,System.Object,System.Boolean,System.Int32,System.Collections.Generic.ICollection{System.Object})"> + <summary> + Constructs a <see cref="T:NUnit.Framework.Constraints.ConstraintResult"/> for a <see cref="T:NUnit.Framework.Constraints.ExactCountConstraint"/>. + </summary> + <param name="constraint">The Constraint to which this result applies.</param> + <param name="actualValue">The actual value to which the Constraint was applied.</param> + <param name="isSuccess">If true, applies a status of Success to the result, otherwise Failure.</param> + <param name="matchCount">Count of matched items of the <see cref="T:NUnit.Framework.Constraints.ExactCountConstraint"/></param> + <param name="itemList">A list with maximum count (+1) of items of the <see cref="T:NUnit.Framework.Constraints.ExactCountConstraint"/></param> + </member> + <member name="M:NUnit.Framework.Constraints.ExactCountConstraintResult.WriteActualValueTo(NUnit.Framework.Constraints.MessageWriter)"> + <summary> + Write the actual value for a failing constraint test to a MessageWriter. + </summary> + <param name="writer">The writer on which the actual value is displayed</param> + </member> + <member name="T:NUnit.Framework.Constraints.ExactTypeConstraint"> + <summary> + ExactTypeConstraint is used to test that an object + is of the exact type provided in the constructor + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ExactTypeConstraint.#ctor(System.Type)"> + <summary> + Construct an ExactTypeConstraint for a given Type + </summary> + <param name="type">The expected Type.</param> + </member> + <member name="P:NUnit.Framework.Constraints.ExactTypeConstraint.DisplayName"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ExactTypeConstraint.Matches(System.Object)"> + <summary> + Apply the constraint to an actual value, returning true if it succeeds + </summary> + <param name="actual">The actual argument</param> + <returns>True if the constraint succeeds, otherwise false.</returns> + </member> + <member name="P:NUnit.Framework.Constraints.ExceptionNotThrownConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ExceptionNotThrownConstraint.ApplyTo``1(``0)"> + <summary> + Applies the constraint to an actual value, returning a ConstraintResult. + </summary> + <param name="actual">The value to be tested</param> + <returns>A ConstraintResult</returns> + </member> + <member name="T:NUnit.Framework.Constraints.ExceptionTypeConstraint"> + <summary> + ExceptionTypeConstraint is a special version of ExactTypeConstraint + used to provided detailed info about the exception thrown in + an error message. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ExceptionTypeConstraint.#ctor(System.Type)"> + <summary> + Constructs an ExceptionTypeConstraint + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ExceptionTypeConstraint.ApplyTo``1(``0)"> + <summary> + Applies the constraint to an actual value, returning a ConstraintResult. + </summary> + <param name="actual">The value to be tested</param> + <returns>A ConstraintResult</returns> + </member> + <member name="T:NUnit.Framework.Constraints.FalseConstraint"> + <summary> + FalseConstraint tests that the actual value is false + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.FalseConstraint.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.FalseConstraint"/> class. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.FalseConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="T:NUnit.Framework.Constraints.FileExistsConstraint"> + <summary> + FileExistsConstraint is used to determine if a file exists + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.FileExistsConstraint.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.FileExistsConstraint"/> class. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.FileExistsConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.FileOrDirectoryExistsConstraint"> + <summary> + FileOrDirectoryExistsConstraint is used to determine if a file or directory exists + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.FileOrDirectoryExistsConstraint.IgnoreDirectories"> + <summary> + If true, the constraint will only check if files exist, not directories + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.FileOrDirectoryExistsConstraint.IgnoreFiles"> + <summary> + If true, the constraint will only check if directories exist, not files + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.FileOrDirectoryExistsConstraint.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.FileOrDirectoryExistsConstraint"/> class that + will check files and directories. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.FileOrDirectoryExistsConstraint.#ctor(System.Boolean)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.FileOrDirectoryExistsConstraint"/> class that + will only check files if ignoreDirectories is true. + </summary> + <param name="ignoreDirectories">if set to <see langword="true"/> [ignore directories].</param> + </member> + <member name="P:NUnit.Framework.Constraints.FileOrDirectoryExistsConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.FileOrDirectoryExistsConstraint.ApplyTo``1(``0)"> + <summary> + Applies the constraint to an actual value, returning a ConstraintResult. + </summary> + <param name="actual">The value to be tested</param> + <returns>A ConstraintResult</returns> + </member> + <member name="T:NUnit.Framework.Constraints.FloatingPointNumerics"> + <summary>Helper routines for working with floating point numbers</summary> + <remarks> + <para> + The floating point comparison code is based on this excellent article: + https://randomascii.wordpress.com/2012/02/25/comparing-floating-point-numbers-2012-edition/ + </para> + <para> + "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. + </para> + <para> + 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. + </para> + </remarks> + </member> + <member name="T:NUnit.Framework.Constraints.FloatingPointNumerics.FloatIntUnion"> + <summary>Union of a floating point variable and an integer</summary> + </member> + <member name="F:NUnit.Framework.Constraints.FloatingPointNumerics.FloatIntUnion.Float"> + <summary>The union's value as a floating point variable</summary> + </member> + <member name="F:NUnit.Framework.Constraints.FloatingPointNumerics.FloatIntUnion.Int"> + <summary>The union's value as an integer</summary> + </member> + <member name="F:NUnit.Framework.Constraints.FloatingPointNumerics.FloatIntUnion.UInt"> + <summary>The union's value as an unsigned integer</summary> + </member> + <member name="T:NUnit.Framework.Constraints.FloatingPointNumerics.DoubleLongUnion"> + <summary>Union of a double precision floating point variable and a long</summary> + </member> + <member name="F:NUnit.Framework.Constraints.FloatingPointNumerics.DoubleLongUnion.Double"> + <summary>The union's value as a double precision floating point variable</summary> + </member> + <member name="F:NUnit.Framework.Constraints.FloatingPointNumerics.DoubleLongUnion.Long"> + <summary>The union's value as a long</summary> + </member> + <member name="F:NUnit.Framework.Constraints.FloatingPointNumerics.DoubleLongUnion.ULong"> + <summary>The union's value as an unsigned long</summary> + </member> + <member name="M:NUnit.Framework.Constraints.FloatingPointNumerics.AreAlmostEqualUlps(System.Single,System.Single,System.Int32)"> + <summary>Compares two floating point values for equality</summary> + <param name="left">First floating point value to be compared</param> + <param name="right">Second floating point value t be compared</param> + <param name="maxUlps"> + Maximum number of representable floating point values that are allowed to + be between the left and the right floating point values + </param> + <returns>True if both numbers are equal or close to being equal</returns> + <remarks> + <para> + 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. + </para> + <para> + 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. + </para> + <para> + Implementation partially follows the code outlined here: + http://www.anttirt.net/2007/08/19/proper-floating-point-comparisons/ + </para> + </remarks> + </member> + <member name="M:NUnit.Framework.Constraints.FloatingPointNumerics.AreAlmostEqualUlps(System.Double,System.Double,System.Int64)"> + <summary>Compares two double precision floating point values for equality</summary> + <param name="left">First double precision floating point value to be compared</param> + <param name="right">Second double precision floating point value t be compared</param> + <param name="maxUlps"> + 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 + </param> + <returns>True if both numbers are equal or close to being equal</returns> + <remarks> + <para> + 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. + </para> + <para> + 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. + </para> + <para> + Implementation partially follows the code outlined here: + http://www.anttirt.net/2007/08/19/proper-floating-point-comparisons/ + </para> + </remarks> + </member> + <member name="T:NUnit.Framework.Constraints.GreaterThanConstraint"> + <summary> + Tests whether a value is greater than the value supplied to its constructor + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.GreaterThanConstraint.#ctor(System.Object)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.GreaterThanConstraint"/> class. + </summary> + <param name="expected">The expected value.</param> + </member> + <member name="P:NUnit.Framework.Constraints.GreaterThanConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.GreaterThanConstraint.PerformComparison(NUnit.Framework.Constraints.ComparisonAdapter,System.Object,System.Object,NUnit.Framework.Constraints.Tolerance)"> + <summary> + Perform the comparison + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.GreaterThanOrEqualConstraint"> + <summary> + Tests whether a value is greater than or equal to the value supplied to its constructor + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.GreaterThanOrEqualConstraint.#ctor(System.Object)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.GreaterThanOrEqualConstraint"/> class. + </summary> + <param name="expected">The expected value.</param> + </member> + <member name="P:NUnit.Framework.Constraints.GreaterThanOrEqualConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.GreaterThanOrEqualConstraint.PerformComparison(NUnit.Framework.Constraints.ComparisonAdapter,System.Object,System.Object,NUnit.Framework.Constraints.Tolerance)"> + <summary> + Perform the comparison + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.IConstraint"> + <summary> + Interface for all constraints + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.IConstraint.DisplayName"> + <summary> + The display name of this Constraint for use by ToString(). + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.IConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.IConstraint.Arguments"> + <summary> + Arguments provided to this Constraint, for use in + formatting the description. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.IConstraint.Builder"> + <summary> + The ConstraintBuilder holding this constraint + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.IConstraint.ApplyTo``1(``0)"> + <summary> + Applies the constraint to an actual value, returning a ConstraintResult. + </summary> + <param name="actual">The value to be tested</param> + <returns>A ConstraintResult</returns> + </member> + <member name="M:NUnit.Framework.Constraints.IConstraint.ApplyTo``1(NUnit.Framework.Constraints.ActualValueDelegate{``0})"> + <summary> + 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. + </summary> + <param name="del">An ActualValueDelegate</param> + <returns>A ConstraintResult</returns> + </member> + <member name="M:NUnit.Framework.Constraints.IConstraint.ApplyTo``1(``0@)"> + <summary> + 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. + </summary> + <param name="actual">A reference to the value to be tested</param> + <returns>A ConstraintResult</returns> + </member> + <member name="T:NUnit.Framework.Constraints.IndexerConstraint"> + <summary> + IndexerConstraint extracts a named property and uses + its value as the actual value for a chained constraint. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.IndexerConstraint.#ctor(System.Collections.Generic.IEnumerable{System.Object},NUnit.Framework.Constraints.IConstraint)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.IndexerConstraint"/> class. + </summary> + <param name="indexerArguments">The argument list for the indexer.</param> + <param name="baseConstraint">The constraint to apply to the indexer.</param> + </member> + <member name="M:NUnit.Framework.Constraints.IndexerConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + </member> + <member name="M:NUnit.Framework.Constraints.IndexerConstraint.GetStringRepresentation"> + <summary> + Returns the string representation of the constraint. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.InstanceOfTypeConstraint"> + <summary> + InstanceOfTypeConstraint is used to test that an object + is of the same type provided or derived from it. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.InstanceOfTypeConstraint.#ctor(System.Type)"> + <summary> + Construct an InstanceOfTypeConstraint for the type provided + </summary> + <param name="type">The expected Type</param> + </member> + <member name="P:NUnit.Framework.Constraints.InstanceOfTypeConstraint.DisplayName"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.InstanceOfTypeConstraint.Matches(System.Object)"> + <summary> + Apply the constraint to an actual value, returning true if it succeeds + </summary> + <param name="actual">The actual argument</param> + <returns>True if the constraint succeeds, otherwise false.</returns> + </member> + <member name="T:NUnit.Framework.Constraints.Interval"> + <summary> + Keeps track of an interval time which can be represented in + Minutes, Seconds or Milliseconds + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.Interval.#ctor(System.Int32)"> + <summary> + Constructs a interval given an value in milliseconds + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Interval.AsTimeSpan"> + <summary> + Gets Interval value represented as a TimeSpan object + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Interval.InMinutes"> + <summary> + Returns the interval with the current value as a number of minutes. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Interval.InSeconds"> + <summary> + Returns the interval with the current value as a number of seconds. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Interval.InMilliseconds"> + <summary> + Returns the interval with the current value as a number of milliseconds. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Interval.IsNotZero"> + <summary> + Is true for intervals created with a non-zero value + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.Interval.ToString"> + <summary> + Returns a string that represents the current object. + </summary> + <returns> + A string that represents the current object. + </returns> + </member> + <member name="T:NUnit.Framework.Constraints.Interval.IntervalUnit"> + <summary> + IntervalUnit provides the semantics to the value stored in Interval class. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.Interval.IntervalUnit.Minute"> + <summary> + Unit representing an Interval in minutes + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.Interval.IntervalUnit.Second"> + <summary> + Unit representing an Interval in seconds + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.Interval.IntervalUnit.Millisecond"> + <summary> + Unit representing an Interval in milliseconds + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.IResolveConstraint"> + <summary> + The IResolveConstraint interface is implemented by all + complete and resolvable constraints and expressions. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.IResolveConstraint.Resolve"> + <summary> + Return the top-level constraint for this expression + </summary> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Constraints.ItemsConstraintExpression"> + <summary> + An extension of ResolvableConstraintExpression that adds a no-op Items property for readability. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ItemsConstraintExpression.#ctor"> + <summary> + Create a new instance of ItemsConstraintExpression + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ItemsConstraintExpression.#ctor(NUnit.Framework.Constraints.ConstraintBuilder)"> + <summary> + Create a new instance of ResolvableConstraintExpression, + passing in a pre-populated ConstraintBuilder. + </summary> + <param name="builder"></param> + </member> + <member name="P:NUnit.Framework.Constraints.ItemsConstraintExpression.Items"> + <summary> + No-op property for readability. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.LessThanConstraint"> + <summary> + Tests whether a value is less than the value supplied to its constructor + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.LessThanConstraint.#ctor(System.Object)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.LessThanConstraint"/> class. + </summary> + <param name="expected">The expected value.</param> + </member> + <member name="P:NUnit.Framework.Constraints.LessThanConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.LessThanConstraint.PerformComparison(NUnit.Framework.Constraints.ComparisonAdapter,System.Object,System.Object,NUnit.Framework.Constraints.Tolerance)"> + <summary> + Perform the comparison + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.LessThanOrEqualConstraint"> + <summary> + Tests whether a value is less than or equal to the value supplied to its constructor + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.LessThanOrEqualConstraint.#ctor(System.Object)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.LessThanOrEqualConstraint"/> class. + </summary> + <param name="expected">The expected value.</param> + </member> + <member name="P:NUnit.Framework.Constraints.LessThanOrEqualConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.LessThanOrEqualConstraint.PerformComparison(NUnit.Framework.Constraints.ComparisonAdapter,System.Object,System.Object,NUnit.Framework.Constraints.Tolerance)"> + <summary> + Perform the comparison + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.MessageWriter"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.MessageWriter.#ctor"> + <summary> + Construct a MessageWriter given a culture + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.MessageWriter.MaxLineLength"> + <summary> + Abstract method to get the max line length + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.MessageWriter.WriteMessageLine(System.String,System.Object[])"> + <summary> + Method to write single line message with optional args, usually + written to precede the general failure message. + </summary> + <param name="message">The message to be written</param> + <param name="args">Any arguments used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Constraints.MessageWriter.WriteMessageLine(System.Int32,System.String,System.Object[])"> + <summary> + Method to write single line message with optional args, usually + written to precede the general failure message, at a given + indentation level. + </summary> + <param name="level">The indentation level of the message</param> + <param name="message">The message to be written</param> + <param name="args">Any arguments used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Constraints.MessageWriter.DisplayDifferences(NUnit.Framework.Constraints.ConstraintResult)"> + <summary> + 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. + </summary> + <param name="result">The failing constraint result</param> + </member> + <member name="M:NUnit.Framework.Constraints.MessageWriter.DisplayDifferences(System.Object,System.Object)"> + <summary> + 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. + </summary> + <param name="expected">The expected value</param> + <param name="actual">The actual value causing the failure</param> + </member> + <member name="M:NUnit.Framework.Constraints.MessageWriter.DisplayDifferences(System.Object,System.Object,NUnit.Framework.Constraints.Tolerance)"> + <summary> + Display Expected and Actual lines for given values, including + a tolerance value on the Expected line. + </summary> + <param name="expected">The expected value</param> + <param name="actual">The actual value causing the failure</param> + <param name="tolerance">The tolerance within which the test was made</param> + </member> + <member name="M:NUnit.Framework.Constraints.MessageWriter.DisplayStringDifferences(System.String,System.String,System.Int32,System.Boolean,System.Boolean)"> + <summary> + 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. + </summary> + <param name="expected">The expected string value</param> + <param name="actual">The actual string value</param> + <param name="mismatch">The point at which the strings don't match or -1</param> + <param name="ignoreCase">If true, case is ignored in locating the point where the strings differ</param> + <param name="clipping">If true, the strings should be clipped to fit the line</param> + </member> + <member name="M:NUnit.Framework.Constraints.MessageWriter.WriteActualValue(System.Object)"> + <summary> + Writes the text for an actual value. + </summary> + <param name="actual">The actual value.</param> + </member> + <member name="M:NUnit.Framework.Constraints.MessageWriter.WriteValue(System.Object)"> + <summary> + Writes the text for a generalized value. + </summary> + <param name="val">The value.</param> + </member> + <member name="M:NUnit.Framework.Constraints.MessageWriter.WriteCollectionElements(System.Collections.IEnumerable,System.Int64,System.Int32)"> + <summary> + Writes the text for a collection value, + starting at a particular point, to a max length + </summary> + <param name="collection">The collection containing elements to write.</param> + <param name="start">The starting point of the elements to write</param> + <param name="max">The maximum number of elements to write</param> + </member> + <member name="T:NUnit.Framework.Constraints.ValueFormatter"> + <summary> + Custom value formatter function + </summary> + <param name="val">The value</param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Constraints.ValueFormatterFactory"> + <summary> + Custom value formatter factory function + </summary> + <param name="next">The next formatter function</param> + <returns>ValueFormatter</returns> + <remarks>If the given formatter is unable to handle a certain format, it must call the next formatter in the chain</remarks> + </member> + <member name="T:NUnit.Framework.Constraints.MsgUtils"> + <summary> + Static methods used in creating messages + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.MsgUtils.DefaultMaxItems"> + <summary> + Default amount of items used by <see cref="M:NUnit.Framework.Constraints.MsgUtils.FormatCollection(System.Collections.IEnumerable,System.Int64,System.Int32)"/> method. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.MsgUtils.ELLIPSIS"> + <summary> + Static string used when strings are clipped + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.MsgUtils.Fmt_Null"> + <summary> + Formatting strings used for expected and actual values + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.MsgUtils.DefaultValueFormatter"> + <summary> + Current head of chain of value formatters. Public for testing. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.MsgUtils.AddFormatter(NUnit.Framework.Constraints.ValueFormatterFactory)"> + <summary> + Add a formatter to the chain of responsibility. + </summary> + <param name="formatterFactory"></param> + </member> + <member name="M:NUnit.Framework.Constraints.MsgUtils.FormatValue(System.Object)"> + <summary> + Formats text to represent a generalized value. + </summary> + <param name="val">The value</param> + <returns>The formatted text</returns> + </member> + <member name="M:NUnit.Framework.Constraints.MsgUtils.FormatCollection(System.Collections.IEnumerable,System.Int64,System.Int32)"> + <summary> + Formats text for a collection value, + starting at a particular point, to a max length + </summary> + <param name="collection">The collection containing elements to write.</param> + <param name="start">The starting point of the elements to write</param> + <param name="max">The maximum number of elements to write</param> + </member> + <member name="M:NUnit.Framework.Constraints.MsgUtils.GetTypeRepresentation(System.Object)"> + <summary> + 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. + </summary> + <param name="obj"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Constraints.MsgUtils.EscapeControlChars(System.String)"> + <summary> + Converts any control characters in a string + to their escaped representation. + </summary> + <param name="s">The string to be converted</param> + <returns>The converted string</returns> + </member> + <member name="M:NUnit.Framework.Constraints.MsgUtils.EscapeNullCharacters(System.String)"> + <summary> + Converts any null characters in a string + to their escaped representation. + </summary> + <param name="s">The string to be converted</param> + <returns>The converted string</returns> + </member> + <member name="M:NUnit.Framework.Constraints.MsgUtils.GetArrayIndicesAsString(System.Int32[])"> + <summary> + Return the a string representation for a set of indices into an array + </summary> + <param name="indices">Array of indices for which a string is needed</param> + </member> + <member name="M:NUnit.Framework.Constraints.MsgUtils.GetArrayIndicesFromCollectionIndex(System.Collections.IEnumerable,System.Int64)"> + <summary> + Get an array of indices representing the point in a collection or + array corresponding to a single int index into the collection. + </summary> + <param name="collection">The collection to which the indices apply</param> + <param name="index">Index in the collection</param> + <returns>Array of indices</returns> + </member> + <member name="M:NUnit.Framework.Constraints.MsgUtils.ClipString(System.String,System.Int32,System.Int32)"> + <summary> + Clip a string to a given length, starting at a particular offset, returning the clipped + string with ellipses representing the removed parts + </summary> + <param name="s">The string to be clipped</param> + <param name="maxStringLength">The maximum permitted length of the result string</param> + <param name="clipStart">The point at which to start clipping</param> + <returns>The clipped string</returns> + </member> + <member name="M:NUnit.Framework.Constraints.MsgUtils.ClipExpectedAndActual(System.String@,System.String@,System.Int32,System.Int32)"> + <summary> + Clip the expected and actual strings in a coordinated fashion, + so that they may be displayed together. + </summary> + <param name="expected"></param> + <param name="actual"></param> + <param name="maxDisplayLength"></param> + <param name="mismatch"></param> + </member> + <member name="M:NUnit.Framework.Constraints.MsgUtils.FindMismatchPosition(System.String,System.String,System.Int32,System.Boolean)"> + <summary> + Shows the position two strings start to differ. Comparison + starts at the start index. + </summary> + <param name="expected">The expected string</param> + <param name="actual">The actual string</param> + <param name="istart">The index in the strings at which comparison should start</param> + <param name="ignoreCase">Boolean indicating whether case should be ignored</param> + <returns>-1 if no mismatch found, or the index where mismatch found</returns> + </member> + <member name="T:NUnit.Framework.Constraints.NaNConstraint"> + <summary> + NaNConstraint tests that the actual value is a double or float NaN + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.NaNConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.NaNConstraint.ApplyTo``1(``0)"> + <summary> + Test that the actual value is an NaN + </summary> + <param name="actual"></param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Constraints.NoItemConstraint"> + <summary> + NoItemConstraint applies another constraint to each + item in a collection, failing if any of them succeeds. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.NoItemConstraint.#ctor(NUnit.Framework.Constraints.IConstraint)"> + <summary> + Construct a SomeItemsConstraint on top of an existing constraint + </summary> + <param name="itemConstraint"></param> + </member> + <member name="P:NUnit.Framework.Constraints.NoItemConstraint.DisplayName"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.NoItemConstraint.ApplyTo``1(``0)"> + <summary> + Apply the item constraint to each item in the collection, + failing if any item fails. + </summary> + <param name="actual"></param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Constraints.NotConstraint"> + <summary> + NotConstraint negates the effect of some other constraint + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.NotConstraint.#ctor(NUnit.Framework.Constraints.IConstraint)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.NotConstraint"/> class. + </summary> + <param name="baseConstraint">The base constraint to be negated.</param> + </member> + <member name="M:NUnit.Framework.Constraints.NotConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for if the base constraint fails, false if it succeeds</returns> + </member> + <member name="T:NUnit.Framework.Constraints.NullConstraint"> + <summary> + NullConstraint tests that the actual value is null + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.NullConstraint.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.NullConstraint"/> class. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.NullConstraint.ApplyTo``1(``0)"> + <summary> + Applies the constraint to an actual value, returning a ConstraintResult. + </summary> + <param name="actual">The value to be tested</param> + <returns>A ConstraintResult</returns> + </member> + <member name="T:NUnit.Framework.Constraints.Numerics"> + <summary> + The Numerics class contains common operations on numeric values. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.Numerics.IsNumericType(System.Object)"> + <summary> + Checks the type of the object, returning true if + the object is a numeric type. + </summary> + <param name="obj">The object to check</param> + <returns>true if the object is a numeric type</returns> + </member> + <member name="M:NUnit.Framework.Constraints.Numerics.IsFloatingPointNumeric(System.Object)"> + <summary> + Checks the type of the object, returning true if + the object is a floating point numeric type. + </summary> + <param name="obj">The object to check</param> + <returns>true if the object is a floating point numeric type</returns> + </member> + <member name="M:NUnit.Framework.Constraints.Numerics.IsFixedPointNumeric(System.Object)"> + <summary> + Checks the type of the object, returning true if + the object is a fixed point numeric type. + </summary> + <param name="obj">The object to check</param> + <returns>true if the object is a fixed point numeric type</returns> + </member> + <member name="M:NUnit.Framework.Constraints.Numerics.AreEqual(System.Object,System.Object,NUnit.Framework.Constraints.Tolerance@)"> + <summary> + 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. + </summary> + <param name="expected">The expected value</param> + <param name="actual">The actual value</param> + <param name="tolerance">A reference to the tolerance in effect</param> + <returns>True if the values are equal</returns> + </member> + <member name="M:NUnit.Framework.Constraints.Numerics.Compare(System.Object,System.Object)"> + <summary> + Compare two numeric values, performing the usual numeric conversions. + </summary> + <param name="expected">The expected value</param> + <param name="actual">The actual value</param> + <returns>The relationship of the values to each other</returns> + </member> + <member name="M:NUnit.Framework.Constraints.Numerics.Difference(System.Object,System.Object,NUnit.Framework.Constraints.ToleranceMode)"> + <summary> + Calculates the difference between 2 values in absolute/percent mode. + </summary> + <param name="expected">The expected value</param> + <param name="actual">The actual value</param> + <param name="toleranceMode">Tolerance mode to specify difference representation</param> + <returns>The difference between the values</returns> + </member> + <member name="T:NUnit.Framework.Constraints.NUnitComparer"> + <summary> + NUnitComparer encapsulates NUnit's default behavior + in comparing two objects. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.NUnitComparer.Default"> + <summary> + Returns the default NUnitComparer. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.NUnitComparer.Compare(System.Object,System.Object)"> + <summary> + Compares two objects + </summary> + <param name="x"></param> + <param name="y"></param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Constraints.NUnitEqualityComparer"> + <summary> + NUnitEqualityComparer encapsulates NUnit's handling of + equality tests between objects. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.NUnitEqualityComparer.caseInsensitive"> + <summary> + If true, all string comparisons will ignore case + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.NUnitEqualityComparer.compareAsCollection"> + <summary> + If true, arrays will be treated as collections, allowing + those of different dimensions to be compared + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.NUnitEqualityComparer.externalComparers"> + <summary> + Comparison objects used in comparisons for some constraints. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.NUnitEqualityComparer.failurePoints"> + <summary> + List of points at which a failure occurred. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.NUnitEqualityComparer._comparers"> + <summary> + List of comparers used to compare pairs of objects. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.NUnitEqualityComparer.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.NUnitEqualityComparer"/> class. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.NUnitEqualityComparer.Default"> + <summary> + Returns the default NUnitEqualityComparer + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.NUnitEqualityComparer.IgnoreCase"> + <summary> + Gets and sets a flag indicating whether case should + be ignored in determining equality. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.NUnitEqualityComparer.CompareAsCollection"> + <summary> + Gets and sets a flag indicating that arrays should be + compared as collections, without regard to their shape. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.NUnitEqualityComparer.ExternalComparers"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.NUnitEqualityComparer.FailurePoints"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.NUnitEqualityComparer.WithSameOffset"> + <summary> + Flags the comparer to include <see cref="P:System.DateTimeOffset.Offset"/> + property in comparison of two <see cref="T:System.DateTimeOffset"/> values. + </summary> + <remarks> + Using this modifier does not allow to use the <see cref="T:NUnit.Framework.Constraints.Tolerance"/> + modifier. + </remarks> + </member> + <member name="M:NUnit.Framework.Constraints.NUnitEqualityComparer.AreEqual(System.Object,System.Object,NUnit.Framework.Constraints.Tolerance@)"> + <summary> + Compares two objects for equality within a tolerance. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.NUnitEqualityComparer.AreEqual(System.Object,System.Object,NUnit.Framework.Constraints.Tolerance@,System.Boolean)"> + <summary> + Compares two objects for equality within a tolerance. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.NUnitEqualityComparer.FailurePoint"> + <summary> + FailurePoint class represents one point of failure + in an equality test. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.NUnitEqualityComparer.FailurePoint.Position"> + <summary> + The location of the failure + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.NUnitEqualityComparer.FailurePoint.ExpectedValue"> + <summary> + The expected value + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.NUnitEqualityComparer.FailurePoint.ActualValue"> + <summary> + The actual value + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.NUnitEqualityComparer.FailurePoint.ExpectedHasData"> + <summary> + Indicates whether the expected value is valid + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.NUnitEqualityComparer.FailurePoint.ActualHasData"> + <summary> + Indicates whether the actual value is valid + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.AllOperator"> + <summary> + Represents a constraint that succeeds if all the + members of a collection match a base constraint. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.AllOperator.ApplyPrefix(NUnit.Framework.Constraints.IConstraint)"> + <summary> + Returns a constraint that will apply the argument + to the members of a collection, succeeding if + they all succeed. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.AndOperator"> + <summary> + Operator that requires both its arguments to succeed + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.AndOperator.#ctor"> + <summary> + Construct an AndOperator + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.AndOperator.ApplyOperator(NUnit.Framework.Constraints.IConstraint,NUnit.Framework.Constraints.IConstraint)"> + <summary> + Apply the operator to produce an AndConstraint + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.AttributeOperator"> + <summary> + Operator that tests for the presence of a particular attribute + on a type and optionally applies further tests to the attribute. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.AttributeOperator.#ctor(System.Type)"> + <summary> + Construct an AttributeOperator for a particular Type + </summary> + <param name="type">The Type of attribute tested</param> + </member> + <member name="M:NUnit.Framework.Constraints.AttributeOperator.Reduce(NUnit.Framework.Constraints.ConstraintBuilder.ConstraintStack)"> + <summary> + 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. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.BinaryOperator"> + <summary> + Abstract base class for all binary operators + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.BinaryOperator.Reduce(NUnit.Framework.Constraints.ConstraintBuilder.ConstraintStack)"> + <summary> + 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. + </summary> + <param name="stack"></param> + </member> + <member name="P:NUnit.Framework.Constraints.BinaryOperator.LeftPrecedence"> + <summary> + Gets the left precedence of the operator + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.BinaryOperator.RightPrecedence"> + <summary> + Gets the right precedence of the operator + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.BinaryOperator.ApplyOperator(NUnit.Framework.Constraints.IConstraint,NUnit.Framework.Constraints.IConstraint)"> + <summary> + Abstract method that produces a constraint by applying + the operator to its left and right constraint arguments. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.CollectionOperator"> + <summary> + Abstract base for operators that indicate how to + apply a constraint to items in a collection. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionOperator.#ctor"> + <summary> + Constructs a CollectionOperator + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.ConstraintOperator"> + <summary> + 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. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.ConstraintOperator.left_precedence"> + <summary> + The precedence value used when the operator + is about to be pushed to the stack. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.ConstraintOperator.right_precedence"> + <summary> + The precedence value used when the operator + is on the top of the stack. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintOperator.LeftContext"> + <summary> + The syntax element preceding this operator + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintOperator.RightContext"> + <summary> + The syntax element following this operator + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintOperator.LeftPrecedence"> + <summary> + The precedence value used when the operator + is about to be pushed to the stack. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintOperator.RightPrecedence"> + <summary> + The precedence value used when the operator + is on the top of the stack. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintOperator.Reduce(NUnit.Framework.Constraints.ConstraintBuilder.ConstraintStack)"> + <summary> + 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. + </summary> + <param name="stack"></param> + </member> + <member name="T:NUnit.Framework.Constraints.ExactCountOperator"> + <summary> + Represents a constraint that succeeds if the specified + count of members of a collection match a base constraint. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ExactCountOperator.#ctor(System.Int32)"> + <summary> + Construct an ExactCountOperator for a specified count + </summary> + <param name="expectedCount">The expected count</param> + </member> + <member name="M:NUnit.Framework.Constraints.ExactCountOperator.Reduce(NUnit.Framework.Constraints.ConstraintBuilder.ConstraintStack)"> + <summary> + 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. + </summary> + <param name="stack"></param> + </member> + <member name="T:NUnit.Framework.Constraints.IndexerOperator"> + <summary> + Operator used to test for the presence of a Indexer + on an object and optionally apply further tests to the + value of that indexer. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.IndexerOperator.#ctor(System.Object[])"> + <summary> + Constructs a IndexerOperator for a particular set of indexer + parameters + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.IndexerOperator.ApplyPrefix(NUnit.Framework.Constraints.IConstraint)"> + <summary> + Returns a IndexerConstraint applied to its argument. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.NoneOperator"> + <summary> + Represents a constraint that succeeds if none of the + members of a collection match a base constraint. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.NoneOperator.ApplyPrefix(NUnit.Framework.Constraints.IConstraint)"> + <summary> + Returns a constraint that will apply the argument + to the members of a collection, succeeding if + none of them succeed. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.NotOperator"> + <summary> + Negates the test of the constraint it wraps. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.NotOperator.#ctor"> + <summary> + Constructs a new NotOperator + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.NotOperator.ApplyPrefix(NUnit.Framework.Constraints.IConstraint)"> + <summary> + Returns a NotConstraint applied to its argument. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.OrOperator"> + <summary> + Operator that requires at least one of its arguments to succeed + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.OrOperator.#ctor"> + <summary> + Construct an OrOperator + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.OrOperator.ApplyOperator(NUnit.Framework.Constraints.IConstraint,NUnit.Framework.Constraints.IConstraint)"> + <summary> + Apply the operator to produce an OrConstraint + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.PrefixOperator"> + <summary> + PrefixOperator takes a single constraint and modifies + its action in some way. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.PrefixOperator.Reduce(NUnit.Framework.Constraints.ConstraintBuilder.ConstraintStack)"> + <summary> + 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. + </summary> + <param name="stack"></param> + </member> + <member name="M:NUnit.Framework.Constraints.PrefixOperator.ApplyPrefix(NUnit.Framework.Constraints.IConstraint)"> + <summary> + Returns the constraint created by applying this + prefix to another constraint. + </summary> + <param name="constraint"></param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Constraints.PropOperator"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.PropOperator.Name"> + <summary> + Gets the name of the property to which the operator applies + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.PropOperator.#ctor(System.String)"> + <summary> + Constructs a PropOperator for a particular named property + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.PropOperator.Reduce(NUnit.Framework.Constraints.ConstraintBuilder.ConstraintStack)"> + <summary> + 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. + </summary> + <param name="stack"></param> + </member> + <member name="T:NUnit.Framework.Constraints.SelfResolvingOperator"> + <summary> + Abstract base class for operators that are able to reduce to a + constraint whether or not another syntactic element follows. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.SomeOperator"> + <summary> + Represents a constraint that succeeds if any of the + members of a collection match a base constraint. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.SomeOperator.ApplyPrefix(NUnit.Framework.Constraints.IConstraint)"> + <summary> + Returns a constraint that will apply the argument + to the members of a collection, succeeding if + any of them succeed. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.ThrowsOperator"> + <summary> + Operator that tests that an exception is thrown and + optionally applies further tests to the exception. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ThrowsOperator.#ctor"> + <summary> + Construct a ThrowsOperator + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ThrowsOperator.Reduce(NUnit.Framework.Constraints.ConstraintBuilder.ConstraintStack)"> + <summary> + 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. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.WithOperator"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.WithOperator.#ctor"> + <summary> + Constructor for the WithOperator + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.WithOperator.ApplyPrefix(NUnit.Framework.Constraints.IConstraint)"> + <summary> + Returns a constraint that wraps its argument + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.OrConstraint"> + <summary> + OrConstraint succeeds if either member succeeds + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.OrConstraint.#ctor(NUnit.Framework.Constraints.IConstraint,NUnit.Framework.Constraints.IConstraint)"> + <summary> + Create an OrConstraint from two other constraints + </summary> + <param name="left">The first constraint</param> + <param name="right">The second constraint</param> + </member> + <member name="P:NUnit.Framework.Constraints.OrConstraint.Description"> + <summary> + Gets text describing a constraint + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.OrConstraint.ApplyTo``1(``0)"> + <summary> + Apply the member constraints to an actual value, succeeding + succeeding as soon as one of them succeeds. + </summary> + <param name="actual">The actual value</param> + <returns>True if either constraint succeeded</returns> + </member> + <member name="T:NUnit.Framework.Constraints.PathConstraint"> + <summary> + PathConstraint serves as the abstract base of constraints + that operate on paths and provides several helper methods. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.PathConstraint.#ctor(System.String)"> + <summary> + Construct a PathConstraint for a give expected path + </summary> + <param name="expected">The expected path</param> + </member> + <member name="P:NUnit.Framework.Constraints.PathConstraint.RespectCase"> + <summary> + Modifies the current instance to be case-sensitive + and returns it. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.PathConstraint.GetStringRepresentation"> + <summary> + Returns the string representation of this constraint + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.PathConstraint.Canonicalize(System.String)"> + <summary> + Canonicalize the provided path + </summary> + <param name="path"></param> + <returns>The path in standardized form</returns> + </member> + <member name="M:NUnit.Framework.Constraints.PathConstraint.IsSubPath(System.String,System.String)"> + <summary> + Test whether one path in canonical form is a subpath of another path + </summary> + <param name="path1">The first path - supposed to be the parent path</param> + <param name="path2">The second path - supposed to be the child path</param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Constraints.PredicateConstraint`1"> + <summary> + Predicate constraint wraps a Predicate in a constraint, + returning success if the predicate is true. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.PredicateConstraint`1.#ctor(System.Predicate{`0})"> + <summary> + Construct a PredicateConstraint from a predicate + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.PredicateConstraint`1.Description"> + <summary> + Gets text describing a constraint + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.PredicateConstraint`1.ApplyTo``1(``0)"> + <summary> + Determines whether the predicate succeeds when applied + to the actual value. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.PrefixConstraint"> + <summary> + Abstract base class used for prefixes + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.PrefixConstraint.BaseConstraint"> + <summary> + The base constraint + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.PrefixConstraint.DescriptionPrefix"> + <summary> + Prefix used in forming the constraint description + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.PrefixConstraint.#ctor(NUnit.Framework.Constraints.IResolveConstraint)"> + <summary> + Construct given a base constraint + </summary> + <param name="baseConstraint"></param> + </member> + <member name="P:NUnit.Framework.Constraints.PrefixConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.PrefixConstraint.FormatDescription(System.String,NUnit.Framework.Constraints.IConstraint)"> + <summary> + Formats a prefix constraint's description. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.PropertyConstraint"> + <summary> + PropertyConstraint extracts a named property and uses + its value as the actual value for a chained constraint. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.PropertyConstraint.#ctor(System.String,NUnit.Framework.Constraints.IConstraint)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.PropertyConstraint"/> class. + </summary> + <param name="name">The name.</param> + <param name="baseConstraint">The constraint to apply to the property.</param> + </member> + <member name="M:NUnit.Framework.Constraints.PropertyConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + </member> + <member name="M:NUnit.Framework.Constraints.PropertyConstraint.GetStringRepresentation"> + <summary> + Returns the string representation of the constraint. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.PropertyConstraintResult"> + <summary> + Contains the result of matching a <see cref="T:NUnit.Framework.Constraints.PropertyConstraint"/> against an actual value. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.PropertyConstraintResult.#ctor(NUnit.Framework.Constraints.IConstraint,NUnit.Framework.Constraints.ConstraintResult)"> + <summary> + Constructs a <see cref="T:NUnit.Framework.Constraints.PropertyConstraintResult"/> for a particular <see cref="T:NUnit.Framework.Constraints.PropertyConstraint"/>. + </summary> + <param name="constraint">The Constraint to which this result applies.</param> + <param name="baseResult">The base result with actual value to which the Constraint was applied.</param> + </member> + <member name="M:NUnit.Framework.Constraints.PropertyConstraintResult.WriteAdditionalLinesTo(NUnit.Framework.Constraints.MessageWriter)"> + <summary> + Write the additional failure message for a failing constraint to a + MessageWriter. + </summary> + <param name="writer">The writer on which the actual value is displayed</param> + </member> + <member name="T:NUnit.Framework.Constraints.PropertyExistsConstraint"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.PropertyExistsConstraint.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.PropertyExistsConstraint"/> class. + </summary> + <param name="name">The name of the property.</param> + </member> + <member name="P:NUnit.Framework.Constraints.PropertyExistsConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.PropertyExistsConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the property exists for a given object + </summary> + <param name="actual">The object to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="M:NUnit.Framework.Constraints.PropertyExistsConstraint.GetStringRepresentation"> + <summary> + Returns the string representation of the constraint. + </summary> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Constraints.RangeConstraint"> + <summary> + RangeConstraint tests whether two values are within a + specified range. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.RangeConstraint.#ctor(System.Object,System.Object)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.RangeConstraint"/> class. + </summary> + <param name="from">Inclusive beginning of the range.</param> + <param name="to">Inclusive end of the range.</param> + </member> + <member name="P:NUnit.Framework.Constraints.RangeConstraint.Description"> + <summary> + Gets text describing a constraint + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.RangeConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="M:NUnit.Framework.Constraints.RangeConstraint.Using(System.Collections.IComparer)"> + <summary> + Modifies the constraint to use an <see cref="T:System.Collections.IComparer"/> and returns self. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.RangeConstraint.Using``1(System.Collections.Generic.IComparer{``0})"> + <summary> + Modifies the constraint to use an <see cref="T:System.Collections.Generic.IComparer`1"/> and returns self. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.RangeConstraint.Using``1(System.Comparison{``0})"> + <summary> + Modifies the constraint to use a <see cref="T:System.Comparison`1"/> and returns self. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.RegexConstraint"> + <summary> + RegexConstraint can test whether a string matches + the pattern provided. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.RegexConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.RegexConstraint.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.RegexConstraint"/> class. + </summary> + <param name="pattern">The pattern.</param> + </member> + <member name="M:NUnit.Framework.Constraints.RegexConstraint.#ctor(System.Text.RegularExpressions.Regex)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.RegexConstraint"/> class. + </summary> + <param name="regex">The Regex pattern object.</param> + </member> + <member name="P:NUnit.Framework.Constraints.RegexConstraint.IgnoreCase"> + <summary> + Modify the constraint to ignore case in matching. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.RegexConstraint.ApplyTo``1(``0)"> + <summary> + Applies the regex constraint to an actual value, returning a ConstraintResult. + </summary> + <param name="actual">The string to be tested.</param> + <returns>True for success, false for failure.</returns> + </member> + <member name="T:NUnit.Framework.Constraints.ResolvableConstraintExpression"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ResolvableConstraintExpression.#ctor"> + <summary> + Create a new instance of ResolvableConstraintExpression + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ResolvableConstraintExpression.#ctor(NUnit.Framework.Constraints.ConstraintBuilder)"> + <summary> + Create a new instance of ResolvableConstraintExpression, + passing in a pre-populated ConstraintBuilder. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ResolvableConstraintExpression.And"> + <summary> + Appends an And Operator to the expression + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ResolvableConstraintExpression.Or"> + <summary> + Appends an Or operator to the expression. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ResolvableConstraintExpression.NUnit#Framework#Constraints#IResolveConstraint#Resolve"> + <summary> + Resolve the current expression to a Constraint + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.ReusableConstraint"> + <summary> + ReusableConstraint wraps a constraint expression after + resolving it so that it can be reused consistently. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ReusableConstraint.#ctor(NUnit.Framework.Constraints.IResolveConstraint)"> + <summary> + Construct a ReusableConstraint from a constraint expression + </summary> + <param name="c">The expression to be resolved and reused</param> + </member> + <member name="M:NUnit.Framework.Constraints.ReusableConstraint.op_Implicit(NUnit.Framework.Constraints.Constraint)~NUnit.Framework.Constraints.ReusableConstraint"> + <summary> + Converts a constraint to a ReusableConstraint + </summary> + <param name="c">The constraint to be converted</param> + <returns>A ReusableConstraint</returns> + </member> + <member name="M:NUnit.Framework.Constraints.ReusableConstraint.ToString"> + <summary> + Returns a <see cref="T:System.String"/> that represents this instance. + </summary> + <returns> + A <see cref="T:System.String"/> that represents this instance. + </returns> + </member> + <member name="M:NUnit.Framework.Constraints.ReusableConstraint.Resolve"> + <summary> + Return the top-level constraint for this expression + </summary> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Constraints.SameAsConstraint"> + <summary> + SameAsConstraint tests whether an object is identical to + the object passed to its constructor + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.SameAsConstraint.#ctor(System.Object)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.SameAsConstraint"/> class. + </summary> + <param name="expected">The expected object.</param> + </member> + <member name="P:NUnit.Framework.Constraints.SameAsConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.SameAsConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="T:NUnit.Framework.Constraints.SamePathConstraint"> + <summary> + Summary description for SamePathConstraint. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.SamePathConstraint.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.SamePathConstraint"/> class. + </summary> + <param name="expected">The expected path</param> + </member> + <member name="P:NUnit.Framework.Constraints.SamePathConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.SamePathConstraint.Matches(System.String)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="T:NUnit.Framework.Constraints.SamePathOrUnderConstraint"> + <summary> + SamePathOrUnderConstraint tests that one path is under another + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.SamePathOrUnderConstraint.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.SamePathOrUnderConstraint"/> class. + </summary> + <param name="expected">The expected path</param> + </member> + <member name="P:NUnit.Framework.Constraints.SamePathOrUnderConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.SamePathOrUnderConstraint.Matches(System.String)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="T:NUnit.Framework.Constraints.SomeItemsConstraint"> + <summary> + SomeItemsConstraint applies another constraint to each + item in a collection, succeeding if any of them succeeds. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.SomeItemsConstraint.#ctor(NUnit.Framework.Constraints.IConstraint)"> + <summary> + Construct a SomeItemsConstraint on top of an existing constraint + </summary> + <param name="itemConstraint"></param> + </member> + <member name="P:NUnit.Framework.Constraints.SomeItemsConstraint.DisplayName"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.SomeItemsConstraint.ApplyTo``1(``0)"> + <summary> + Apply the item constraint to each item in the collection, + succeeding if any item succeeds. + </summary> + <param name="actual"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Constraints.SomeItemsConstraint.Using``2(System.Func{``0,``1,System.Boolean})"> + <summary> + Flag the constraint to use the supplied <see cref="T:System.Func`3"/> object. + </summary> + <typeparam name="TCollectionType">The type of the elements in the collection.</typeparam> + <typeparam name="TMemberType">The type of the member.</typeparam> + <param name="comparison">The comparison function to use.</param> + <returns>Self.</returns> + </member> + <member name="M:NUnit.Framework.Constraints.SomeItemsConstraint.Using(System.Collections.IComparer)"> + <summary> + Flag the constraint to use the supplied <see cref="T:System.Collections.IComparer"/> object. + </summary> + <param name="comparer">The IComparer object to use.</param> + <returns>Self.</returns> + </member> + <member name="M:NUnit.Framework.Constraints.SomeItemsConstraint.Using``1(System.Collections.Generic.IComparer{``0})"> + <summary> + Flag the constraint to use the supplied <see cref="T:System.Collections.Generic.IComparer`1"/> object. + </summary> + <param name="comparer">The IComparer object to use.</param> + <returns>Self.</returns> + </member> + <member name="M:NUnit.Framework.Constraints.SomeItemsConstraint.Using``1(System.Comparison{``0})"> + <summary> + Flag the constraint to use the supplied <see cref="T:System.Comparison`1"/> object. + </summary> + <param name="comparer">The IComparer object to use.</param> + <returns>Self.</returns> + </member> + <member name="M:NUnit.Framework.Constraints.SomeItemsConstraint.Using(System.Collections.IEqualityComparer)"> + <summary> + Flag the constraint to use the supplied <see cref="T:System.Collections.IEqualityComparer"/> object. + </summary> + <param name="comparer">The IComparer object to use.</param> + <returns>Self.</returns> + </member> + <member name="M:NUnit.Framework.Constraints.SomeItemsConstraint.Using``1(System.Collections.Generic.IEqualityComparer{``0})"> + <summary> + Flag the constraint to use the supplied <see cref="T:System.Collections.Generic.IEqualityComparer`1"/> object. + </summary> + <param name="comparer">The IComparer object to use.</param> + <returns>Self.</returns> + </member> + <member name="T:NUnit.Framework.Constraints.StartsWithConstraint"> + <summary> + StartsWithConstraint can test whether a string starts + with an expected substring. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.StartsWithConstraint.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.StartsWithConstraint"/> class. + </summary> + <param name="expected">The expected string</param> + </member> + <member name="M:NUnit.Framework.Constraints.StartsWithConstraint.Matches(System.String)"> + <summary> + Test whether the constraint is matched by the actual value. + This is a template method, which calls the IsMatch method + of the derived class. + </summary> + <param name="actual"></param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Constraints.StringConstraint"> + <summary> + StringConstraint is the abstract base for constraints + that operate on strings. It supports the IgnoreCase + modifier for string operations. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.StringConstraint.expected"> + <summary> + The expected value + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.StringConstraint.caseInsensitive"> + <summary> + Indicates whether tests should be case-insensitive + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.StringConstraint.descriptionText"> + <summary> + Description of this constraint + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.StringConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.StringConstraint.#ctor"> + <summary> + Constructs a StringConstraint without an expected value + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.StringConstraint.#ctor(System.String)"> + <summary> + Constructs a StringConstraint given an expected value + </summary> + <param name="expected">The expected value</param> + </member> + <member name="P:NUnit.Framework.Constraints.StringConstraint.IgnoreCase"> + <summary> + Modify the constraint to ignore case in matching. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.StringConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="M:NUnit.Framework.Constraints.StringConstraint.Matches(System.String)"> + <summary> + Test whether the constraint is satisfied by a given string + </summary> + <param name="actual">The string to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="T:NUnit.Framework.Constraints.SubPathConstraint"> + <summary> + SubPathConstraint tests that the actual path is under the expected path + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.SubPathConstraint.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.SubPathConstraint"/> class. + </summary> + <param name="expected">The expected path</param> + </member> + <member name="P:NUnit.Framework.Constraints.SubPathConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.SubPathConstraint.Matches(System.String)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="T:NUnit.Framework.Constraints.SubstringConstraint"> + <summary> + SubstringConstraint can test whether a string contains + the expected substring. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.SubstringConstraint.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.SubstringConstraint"/> class. + </summary> + <param name="expected">The expected.</param> + </member> + <member name="P:NUnit.Framework.Constraints.SubstringConstraint.IgnoreCase"> + <summary> + Modify the constraint to ignore case in matching. + This will call Using(StringComparison.CurrentCultureIgnoreCase). + </summary> + <exception cref="T:System.InvalidOperationException">Thrown when a comparison type different + than <see cref="F:System.StringComparison.CurrentCultureIgnoreCase"/> was already set.</exception> + </member> + <member name="M:NUnit.Framework.Constraints.SubstringConstraint.Matches(System.String)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="M:NUnit.Framework.Constraints.SubstringConstraint.Using(System.StringComparison)"> + <summary> + Modify the constraint to the specified comparison. + </summary> + <exception cref="T:System.InvalidOperationException">Thrown when a comparison type different + than <paramref name="comparisonType"/> was already set.</exception> + </member> + <member name="T:NUnit.Framework.Constraints.ThrowsConstraint"> + <summary> + ThrowsConstraint is used to test the exception thrown by + a delegate by applying a constraint to it. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ThrowsConstraint.#ctor(NUnit.Framework.Constraints.IConstraint)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.ThrowsConstraint"/> class, + using a constraint to be applied to the exception. + </summary> + <param name="baseConstraint">A constraint to apply to the caught exception.</param> + </member> + <member name="P:NUnit.Framework.Constraints.ThrowsConstraint.ActualException"> + <summary> + Get the actual exception thrown - used by Assert.Throws. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ThrowsConstraint.Description"> + <summary> + Gets text describing a constraint + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ThrowsConstraint.ApplyTo``1(``0)"> + <summary> + 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. + </summary> + <param name="actual">A delegate representing the code to be tested</param> + <returns>True if an exception is thrown and the constraint succeeds, otherwise false</returns> + </member> + <member name="M:NUnit.Framework.Constraints.ThrowsConstraint.ApplyTo``1(NUnit.Framework.Constraints.ActualValueDelegate{``0})"> + <summary> + Converts an ActualValueDelegate to a TestDelegate + before calling the primary overload. + </summary> + <param name="del"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Constraints.ThrowsConstraint.ThrowsConstraintResult.WriteActualValueTo(NUnit.Framework.Constraints.MessageWriter)"> + <summary> + 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. + </summary> + <param name="writer">The writer on which the actual value is displayed</param> + </member> + <member name="T:NUnit.Framework.Constraints.ThrowsExceptionConstraint"> + <summary> + ThrowsExceptionConstraint tests that an exception has + been thrown, without any further tests. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ThrowsExceptionConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ThrowsExceptionConstraint.ApplyTo``1(``0)"> + <summary> + Executes the code and returns success if an exception is thrown. + </summary> + <param name="actual">A delegate representing the code to be tested</param> + <returns>True if an exception is thrown, otherwise false</returns> + </member> + <member name="M:NUnit.Framework.Constraints.ThrowsExceptionConstraint.ApplyTo``1(NUnit.Framework.Constraints.ActualValueDelegate{``0})"> + <summary> + 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. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.ThrowsNothingConstraint"> + <summary> + ThrowsNothingConstraint tests that a delegate does not + throw an exception. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ThrowsNothingConstraint.Description"> + <summary> + Gets text describing a constraint + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ThrowsNothingConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True if no exception is thrown, otherwise false</returns> + </member> + <member name="M:NUnit.Framework.Constraints.ThrowsNothingConstraint.ApplyTo``1(NUnit.Framework.Constraints.ActualValueDelegate{``0})"> + <summary> + 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. + </summary> + <param name="del">An ActualValueDelegate</param> + <returns>A ConstraintResult</returns> + </member> + <member name="T:NUnit.Framework.Constraints.Tolerance"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Tolerance.Default"> + <summary> + Returns a default Tolerance object, equivalent to an exact match. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Tolerance.Exact"> + <summary> + Returns an empty Tolerance object, equivalent to an exact match. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.Tolerance.#ctor(System.Object)"> + <summary> + Constructs a linear tolerance of a specified amount + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.Tolerance.#ctor(System.Object,NUnit.Framework.Constraints.ToleranceMode)"> + <summary> + Constructs a tolerance given an amount and <see cref="T:NUnit.Framework.Constraints.ToleranceMode"/> + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Tolerance.Percent"> + <summary> + Returns a new tolerance, using the current amount as a percentage. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Tolerance.Ulps"> + <summary> + Returns a new tolerance, using the current amount in Ulps + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Tolerance.Days"> + <summary> + Returns a new tolerance with a <see cref="T:System.TimeSpan"/> as the amount, using + the current amount as a number of days. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Tolerance.Hours"> + <summary> + Returns a new tolerance with a <see cref="T:System.TimeSpan"/> as the amount, using + the current amount as a number of hours. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Tolerance.Minutes"> + <summary> + Returns a new tolerance with a <see cref="T:System.TimeSpan"/> as the amount, using + the current amount as a number of minutes. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Tolerance.Seconds"> + <summary> + Returns a new tolerance with a <see cref="T:System.TimeSpan"/> as the amount, using + the current amount as a number of seconds. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Tolerance.Milliseconds"> + <summary> + Returns a new tolerance with a <see cref="T:System.TimeSpan"/> as the amount, using + the current amount as a number of milliseconds. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Tolerance.Ticks"> + <summary> + Returns a new tolerance with a <see cref="T:System.TimeSpan"/> as the amount, using + the current amount as a number of clock ticks. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Tolerance.Mode"> + <summary> + Gets the <see cref="T:NUnit.Framework.Constraints.ToleranceMode"/> for the current Tolerance + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Tolerance.Amount"> + <summary> + Gets the magnitude of the current Tolerance instance. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Tolerance.IsUnsetOrDefault"> + <summary> + Returns true if the current tolerance has not been set or is using the . + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.Tolerance.ApplyToValue(System.Object)"> + <summary> + Apply the tolerance to an expected value and return + a Tolerance.Range that represents the acceptable values. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.Tolerance.CheckLinearAndNumeric"> + <summary> + Tests that the current Tolerance is linear with a + numeric value, throwing an exception if it is not. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.Tolerance.Range"> + <summary> + Tolerance.Range represents the range of values that match + a specific tolerance, when applied to a specific value. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.Tolerance.Range.LowerBound"> + <summary> + The lower bound of the range + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.Tolerance.Range.UpperBound"> + <summary> + The upper bound of the range + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.Tolerance.Range.#ctor(System.Object,System.Object)"> + <summary> + Constructs a range + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.ToleranceMode"> + <summary> + Modes in which the tolerance value for a comparison can be interpreted. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.ToleranceMode.Unset"> + <summary> + 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. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.ToleranceMode.Linear"> + <summary> + The tolerance is used as a numeric range within which + two compared values are considered to be equal. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.ToleranceMode.Percent"> + <summary> + Interprets the tolerance as the percentage by which + the two compared values my deviate from each other. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.ToleranceMode.Ulps"> + <summary> + Compares two values based in their distance in + representable numbers. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.TrueConstraint"> + <summary> + TrueConstraint tests that the actual value is true + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.TrueConstraint.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.TrueConstraint"/> class. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.TrueConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="T:NUnit.Framework.Constraints.TypeConstraint"> + <summary> + TypeConstraint is the abstract base for constraints + that take a Type as their expected value. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.TypeConstraint.expectedType"> + <summary> + The expected Type used by the constraint + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.TypeConstraint.actualType"> + <summary> + The type of the actual argument to which the constraint was applied + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.TypeConstraint.#ctor(System.Type,System.String)"> + <summary> + Construct a TypeConstraint for a given Type + </summary> + <param name="type">The expected type for the constraint</param> + <param name="descriptionPrefix">Prefix used in forming the constraint description</param> + </member> + <member name="M:NUnit.Framework.Constraints.TypeConstraint.ApplyTo``1(``0)"> + <summary> + Applies the constraint to an actual value, returning a ConstraintResult. + </summary> + <param name="actual">The value to be tested</param> + <returns>A ConstraintResult</returns> + </member> + <member name="M:NUnit.Framework.Constraints.TypeConstraint.Matches(System.Object)"> + <summary> + Apply the constraint to an actual value, returning true if it succeeds + </summary> + <param name="actual">The actual argument</param> + <returns>True if the constraint succeeds, otherwise false.</returns> + </member> + <member name="T:NUnit.Framework.Constraints.UniqueItemsConstraint"> + <summary> + UniqueItemsConstraint tests whether all the items in a + collection are unique. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.UniqueItemsConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.UniqueItemsConstraint.Matches(System.Collections.IEnumerable)"> + <summary> + Check that all items are unique. + </summary> + <param name="actual"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Constraints.UniqueItemsConstraint.ApplyTo``1(``0)"> + <inheritdoc /> + </member> + <member name="T:NUnit.Framework.Constraints.XmlSerializableConstraint"> + <summary> + XmlSerializableConstraint tests whether + an object is serializable in XML format. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.XmlSerializableConstraint.Description"> + <summary> + Gets text describing a constraint + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.XmlSerializableConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="M:NUnit.Framework.Constraints.XmlSerializableConstraint.GetStringRepresentation"> + <summary> + Returns the string representation of this constraint + </summary> + </member> + <member name="T:NUnit.Framework.Contains"> + <summary> + Helper class with properties and methods that supply + a number of constraints used in Asserts. + </summary> + </member> + <member name="M:NUnit.Framework.Contains.Item(System.Object)"> + <summary> + Returns a new <see cref="T:NUnit.Framework.Constraints.SomeItemsConstraint"/> checking for the + presence of a particular object in the collection. + </summary> + </member> + <member name="M:NUnit.Framework.Contains.Key(System.Object)"> + <summary> + Returns a new DictionaryContainsKeyConstraint checking for the + presence of a particular key in the dictionary. + </summary> + </member> + <member name="M:NUnit.Framework.Contains.Value(System.Object)"> + <summary> + Returns a new DictionaryContainsValueConstraint checking for the + presence of a particular value in the dictionary. + </summary> + </member> + <member name="M:NUnit.Framework.Contains.Substring(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + </summary> + </member> + <member name="T:NUnit.Framework.DirectoryAssert"> + <summary> + Asserts on Directories + </summary> + </member> + <member name="M:NUnit.Framework.DirectoryAssert.Equals(System.Object,System.Object)"> + <summary> + 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. + </summary> + <param name="a"></param> + <param name="b"></param> + </member> + <member name="M:NUnit.Framework.DirectoryAssert.ReferenceEquals(System.Object,System.Object)"> + <summary> + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + </summary> + <param name="a"></param> + <param name="b"></param> + </member> + <member name="M:NUnit.Framework.DirectoryAssert.AreEqual(System.IO.DirectoryInfo,System.IO.DirectoryInfo,System.String,System.Object[])"> + <summary> + 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 <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="expected">A directory containing the value that is expected</param> + <param name="actual">A directory containing the actual value</param> + <param name="message">The message to display if the directories are not equal</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.DirectoryAssert.AreEqual(System.IO.DirectoryInfo,System.IO.DirectoryInfo)"> + <summary> + 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 <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="expected">A directory containing the value that is expected</param> + <param name="actual">A directory containing the actual value</param> + </member> + <member name="M:NUnit.Framework.DirectoryAssert.AreNotEqual(System.IO.DirectoryInfo,System.IO.DirectoryInfo,System.String,System.Object[])"> + <summary> + Asserts that two directories are not equal. If they are equal + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="expected">A directory containing the value that is expected</param> + <param name="actual">A directory containing the actual value</param> + <param name="message">The message to display if directories are not equal</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.DirectoryAssert.AreNotEqual(System.IO.DirectoryInfo,System.IO.DirectoryInfo)"> + <summary> + Asserts that two directories are not equal. If they are equal + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="expected">A directory containing the value that is expected</param> + <param name="actual">A directory containing the actual value</param> + </member> + <member name="M:NUnit.Framework.DirectoryAssert.Exists(System.IO.DirectoryInfo,System.String,System.Object[])"> + <summary> + Asserts that the directory exists. If it does not exist + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="actual">A directory containing the actual value</param> + <param name="message">The message to display if directories are not equal</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.DirectoryAssert.Exists(System.IO.DirectoryInfo)"> + <summary> + Asserts that the directory exists. If it does not exist + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="actual">A directory containing the actual value</param> + </member> + <member name="M:NUnit.Framework.DirectoryAssert.Exists(System.String,System.String,System.Object[])"> + <summary> + Asserts that the directory exists. If it does not exist + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="actual">The path to a directory containing the actual value</param> + <param name="message">The message to display if directories are not equal</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.DirectoryAssert.Exists(System.String)"> + <summary> + Asserts that the directory exists. If it does not exist + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="actual">The path to a directory containing the actual value</param> + </member> + <member name="M:NUnit.Framework.DirectoryAssert.DoesNotExist(System.IO.DirectoryInfo,System.String,System.Object[])"> + <summary> + Asserts that the directory does not exist. If it does exist + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="actual">A directory containing the actual value</param> + <param name="message">The message to display if directories are not equal</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.DirectoryAssert.DoesNotExist(System.IO.DirectoryInfo)"> + <summary> + Asserts that the directory does not exist. If it does exist + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="actual">A directory containing the actual value</param> + </member> + <member name="M:NUnit.Framework.DirectoryAssert.DoesNotExist(System.String,System.String,System.Object[])"> + <summary> + Asserts that the directory does not exist. If it does exist + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="actual">The path to a directory containing the actual value</param> + <param name="message">The message to display if directories are not equal</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.DirectoryAssert.DoesNotExist(System.String)"> + <summary> + Asserts that the directory does not exist. If it does exist + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="actual">The path to a directory containing the actual value</param> + </member> + <member name="T:NUnit.Framework.Does"> + <summary> + Helper class with properties and methods that supply + a number of constraints used in Asserts. + </summary> + </member> + <member name="P:NUnit.Framework.Does.Not"> + <summary> + Returns a ConstraintExpression that negates any + following constraint. + </summary> + </member> + <member name="P:NUnit.Framework.Does.Exist"> + <summary> + Returns a constraint that succeeds if the value + is a file or directory and it exists. + </summary> + </member> + <member name="M:NUnit.Framework.Does.Contain(System.Object)"> + <summary> + Returns a new <see cref="T:NUnit.Framework.Constraints.SomeItemsConstraint"/> checking for the + presence of a particular object in the collection. + </summary> + </member> + <member name="M:NUnit.Framework.Does.Contain(System.String)"> + <summary> + Returns a new <see cref="T:NUnit.Framework.Constraints.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. + </summary> + </member> + <member name="M:NUnit.Framework.Does.ContainKey(System.Object)"> + <summary> + Returns a new DictionaryContainsKeyConstraint checking for the + presence of a particular key in the Dictionary key collection. + </summary> + <param name="expected">The key to be matched in the Dictionary key collection</param> + </member> + <member name="M:NUnit.Framework.Does.ContainValue(System.Object)"> + <summary> + Returns a new DictionaryContainsValueConstraint checking for the + presence of a particular value in the Dictionary value collection. + </summary> + <param name="expected">The value to be matched in the Dictionary value collection</param> + </member> + <member name="M:NUnit.Framework.Does.StartWith(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Does.EndWith(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Does.Match(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Does.Match(System.Text.RegularExpressions.Regex)"> + <summary> + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.ExceptionExtensions.GetStackTraceWithoutThrowing(System.Exception)"> + <summary> + If <see cref="P:System.Exception.StackTrace"/> throws, returns "SomeException was thrown by the Exception.StackTrace + property." See also <see cref="M:NUnit.Framework.Assert.GetEnvironmentStackTraceWithoutThrowing"/>. + </summary> + </member> + <member name="M:NUnit.Framework.ExceptionExtensions.GetMessageWithoutThrowing(System.Exception)"> + <summary> + If <see cref="P:System.Exception.Message"/> throws, returns "SomeException was thrown by the Exception.Message + property." + </summary> + </member> + <member name="M:NUnit.Framework.ExceptionExtensions.GetDataWithoutThrowing(System.Exception)"> + <summary> + If <see cref="P:System.Exception.Data"/> throws, returns "SomeException was thrown by the Exception.Data property." + </summary> + </member> + <member name="T:NUnit.Framework.AssertionException"> + <summary> + Thrown when an assertion failed. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionException.#ctor(System.String)"> + <param name="message">The error message that explains + the reason for the exception</param> + </member> + <member name="M:NUnit.Framework.AssertionException.#ctor(System.String,System.Exception)"> + <param name="message">The error message that explains + the reason for the exception</param> + <param name="inner">The exception that caused the + current exception</param> + </member> + <member name="M:NUnit.Framework.AssertionException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)"> + <summary> + Serialization Constructor + </summary> + </member> + <member name="P:NUnit.Framework.AssertionException.ResultState"> + <summary> + Gets the ResultState provided by this exception + </summary> + </member> + <member name="T:NUnit.Framework.IgnoreException"> + <summary> + Thrown when an assertion failed. + </summary> + </member> + <member name="M:NUnit.Framework.IgnoreException.#ctor(System.String)"> + <param name="message"></param> + </member> + <member name="M:NUnit.Framework.IgnoreException.#ctor(System.String,System.Exception)"> + <param name="message">The error message that explains + the reason for the exception</param> + <param name="inner">The exception that caused the + current exception</param> + </member> + <member name="M:NUnit.Framework.IgnoreException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)"> + <summary> + Serialization Constructor + </summary> + </member> + <member name="P:NUnit.Framework.IgnoreException.ResultState"> + <summary> + Gets the ResultState provided by this exception + </summary> + </member> + <member name="T:NUnit.Framework.InconclusiveException"> + <summary> + Thrown when a test executes inconclusively. + </summary> + </member> + <member name="M:NUnit.Framework.InconclusiveException.#ctor(System.String)"> + <param name="message">The error message that explains + the reason for the exception</param> + </member> + <member name="M:NUnit.Framework.InconclusiveException.#ctor(System.String,System.Exception)"> + <param name="message">The error message that explains + the reason for the exception</param> + <param name="inner">The exception that caused the + current exception</param> + </member> + <member name="M:NUnit.Framework.InconclusiveException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)"> + <summary> + Serialization Constructor + </summary> + </member> + <member name="P:NUnit.Framework.InconclusiveException.ResultState"> + <summary> + Gets the ResultState provided by this exception + </summary> + </member> + <member name="T:NUnit.Framework.MultipleAssertException"> + <summary> + Thrown when an assertion failed. + </summary> + </member> + <member name="M:NUnit.Framework.MultipleAssertException.#ctor(NUnit.Framework.Interfaces.ITestResult)"> + <summary> + 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. + </summary> + <param name="testResult"> + The current result, up to this point. The result is not used + internally by NUnit but is provided to facilitate debugging. + </param> + </member> + <member name="M:NUnit.Framework.MultipleAssertException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)"> + <summary> + Serialization Constructor + </summary> + </member> + <member name="P:NUnit.Framework.MultipleAssertException.ResultState"> + <summary> + Gets the <see cref="P:NUnit.Framework.MultipleAssertException.ResultState"/> provided by this exception. + </summary> + </member> + <member name="P:NUnit.Framework.MultipleAssertException.TestResult"> + <summary> + Gets the <see cref="T:NUnit.Framework.Interfaces.ITestResult"/> of this test at the point the exception was thrown, + </summary> + </member> + <member name="T:NUnit.Framework.ResultStateException"> + <summary> + Abstract base for Exceptions that terminate a test and provide a ResultState. + </summary> + </member> + <member name="M:NUnit.Framework.ResultStateException.#ctor(System.String)"> + <param name="message">The error message that explains + the reason for the exception</param> + </member> + <member name="M:NUnit.Framework.ResultStateException.#ctor(System.String,System.Exception)"> + <param name="message">The error message that explains + the reason for the exception</param> + <param name="inner">The exception that caused the + current exception</param> + </member> + <member name="M:NUnit.Framework.ResultStateException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)"> + <summary> + Serialization Constructor + </summary> + </member> + <member name="P:NUnit.Framework.ResultStateException.ResultState"> + <summary> + Gets the ResultState provided by this exception + </summary> + </member> + <member name="T:NUnit.Framework.SuccessException"> + <summary> + Thrown when an assertion failed. + </summary> + </member> + <member name="M:NUnit.Framework.SuccessException.#ctor(System.String)"> + <param name="message"></param> + </member> + <member name="M:NUnit.Framework.SuccessException.#ctor(System.String,System.Exception)"> + <param name="message">The error message that explains + the reason for the exception</param> + <param name="inner">The exception that caused the + current exception</param> + </member> + <member name="M:NUnit.Framework.SuccessException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)"> + <summary> + Serialization Constructor + </summary> + </member> + <member name="P:NUnit.Framework.SuccessException.ResultState"> + <summary> + Gets the ResultState provided by this exception + </summary> + </member> + <member name="T:NUnit.Framework.Extensions"> + <summary> + Contains extension methods that do not require a special <c>using</c> directive. + </summary> + </member> + <member name="T:NUnit.Framework.FileAssert"> + <summary> + Asserts on Files + </summary> + </member> + <member name="M:NUnit.Framework.FileAssert.Equals(System.Object,System.Object)"> + <summary> + 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. + </summary> + <param name="a"></param> + <param name="b"></param> + </member> + <member name="M:NUnit.Framework.FileAssert.ReferenceEquals(System.Object,System.Object)"> + <summary> + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + </summary> + <param name="a"></param> + <param name="b"></param> + </member> + <member name="M:NUnit.Framework.FileAssert.AreEqual(System.IO.Stream,System.IO.Stream,System.String,System.Object[])"> + <summary> + 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 <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="expected">The expected Stream</param> + <param name="actual">The actual Stream</param> + <param name="message">The message to display if Streams are not equal</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.FileAssert.AreEqual(System.IO.Stream,System.IO.Stream)"> + <summary> + 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 <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="expected">The expected Stream</param> + <param name="actual">The actual Stream</param> + </member> + <member name="M:NUnit.Framework.FileAssert.AreEqual(System.IO.FileInfo,System.IO.FileInfo,System.String,System.Object[])"> + <summary> + 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 <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="expected">A file containing the value that is expected</param> + <param name="actual">A file containing the actual value</param> + <param name="message">The message to display if Streams are not equal</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.FileAssert.AreEqual(System.IO.FileInfo,System.IO.FileInfo)"> + <summary> + 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 <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="expected">A file containing the value that is expected</param> + <param name="actual">A file containing the actual value</param> + </member> + <member name="M:NUnit.Framework.FileAssert.AreEqual(System.String,System.String,System.String,System.Object[])"> + <summary> + 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 <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="expected">The path to a file containing the value that is expected</param> + <param name="actual">The path to a file containing the actual value</param> + <param name="message">The message to display if Streams are not equal</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.FileAssert.AreEqual(System.String,System.String)"> + <summary> + 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 <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="expected">The path to a file containing the value that is expected</param> + <param name="actual">The path to a file containing the actual value</param> + </member> + <member name="M:NUnit.Framework.FileAssert.AreNotEqual(System.IO.Stream,System.IO.Stream,System.String,System.Object[])"> + <summary> + Asserts that two Streams are not equal. If they are equal + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="expected">The expected Stream</param> + <param name="actual">The actual Stream</param> + <param name="message">The message to be displayed when the two Stream are the same.</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.FileAssert.AreNotEqual(System.IO.Stream,System.IO.Stream)"> + <summary> + Asserts that two Streams are not equal. If they are equal + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="expected">The expected Stream</param> + <param name="actual">The actual Stream</param> + </member> + <member name="M:NUnit.Framework.FileAssert.AreNotEqual(System.IO.FileInfo,System.IO.FileInfo,System.String,System.Object[])"> + <summary> + Asserts that two files are not equal. If they are equal + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="expected">A file containing the value that is expected</param> + <param name="actual">A file containing the actual value</param> + <param name="message">The message to display if Streams are not equal</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.FileAssert.AreNotEqual(System.IO.FileInfo,System.IO.FileInfo)"> + <summary> + Asserts that two files are not equal. If they are equal + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="expected">A file containing the value that is expected</param> + <param name="actual">A file containing the actual value</param> + </member> + <member name="M:NUnit.Framework.FileAssert.AreNotEqual(System.String,System.String,System.String,System.Object[])"> + <summary> + Asserts that two files are not equal. If they are equal + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="expected">The path to a file containing the value that is expected</param> + <param name="actual">The path to a file containing the actual value</param> + <param name="message">The message to display if Streams are not equal</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.FileAssert.AreNotEqual(System.String,System.String)"> + <summary> + Asserts that two files are not equal. If they are equal + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="expected">The path to a file containing the value that is expected</param> + <param name="actual">The path to a file containing the actual value</param> + </member> + <member name="M:NUnit.Framework.FileAssert.Exists(System.IO.FileInfo,System.String,System.Object[])"> + <summary> + Asserts that the file exists. If it does not exist + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="actual">A file containing the actual value</param> + <param name="message">The message to display if Streams are not equal</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.FileAssert.Exists(System.IO.FileInfo)"> + <summary> + Asserts that the file exists. If it does not exist + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="actual">A file containing the actual value</param> + </member> + <member name="M:NUnit.Framework.FileAssert.Exists(System.String,System.String,System.Object[])"> + <summary> + Asserts that the file exists. If it does not exist + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="actual">The path to a file containing the actual value</param> + <param name="message">The message to display if Streams are not equal</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.FileAssert.Exists(System.String)"> + <summary> + Asserts that the file exists. If it does not exist + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="actual">The path to a file containing the actual value</param> + </member> + <member name="M:NUnit.Framework.FileAssert.DoesNotExist(System.IO.FileInfo,System.String,System.Object[])"> + <summary> + Asserts that the file does not exist. If it does exist + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="actual">A file containing the actual value</param> + <param name="message">The message to display if Streams are not equal</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.FileAssert.DoesNotExist(System.IO.FileInfo)"> + <summary> + Asserts that the file does not exist. If it does exist + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="actual">A file containing the actual value</param> + </member> + <member name="M:NUnit.Framework.FileAssert.DoesNotExist(System.String,System.String,System.Object[])"> + <summary> + Asserts that the file does not exist. If it does exist + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="actual">The path to a file containing the actual value</param> + <param name="message">The message to display if Streams are not equal</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.FileAssert.DoesNotExist(System.String)"> + <summary> + Asserts that the file does not exist. If it does exist + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="actual">The path to a file containing the actual value</param> + </member> + <member name="T:NUnit.Framework.Guard"> + <summary> + Class used to guard against unexpected argument values + or operations by throwing an appropriate exception. + </summary> + </member> + <member name="M:NUnit.Framework.Guard.ArgumentNotNull(System.Object,System.String)"> + <summary> + Throws an exception if an argument is null + </summary> + <param name="value">The value to be tested</param> + <param name="name">The name of the argument</param> + </member> + <member name="M:NUnit.Framework.Guard.ArgumentNotNullOrEmpty(System.String,System.String)"> + <summary> + Throws an exception if a string argument is null or empty + </summary> + <param name="value">The value to be tested</param> + <param name="name">The name of the argument</param> + </member> + <member name="M:NUnit.Framework.Guard.ArgumentInRange(System.Boolean,System.String,System.String)"> + <summary> + Throws an ArgumentOutOfRangeException if the specified condition is not met. + </summary> + <param name="condition">The condition that must be met</param> + <param name="message">The exception message to be used</param> + <param name="paramName">The name of the argument</param> + </member> + <member name="M:NUnit.Framework.Guard.ArgumentValid(System.Boolean,System.String,System.String)"> + <summary> + Throws an ArgumentException if the specified condition is not met. + </summary> + <param name="condition">The condition that must be met</param> + <param name="message">The exception message to be used</param> + <param name="paramName">The name of the argument</param> + </member> + <member name="M:NUnit.Framework.Guard.OperationValid(System.Boolean,System.String)"> + <summary> + Throws an InvalidOperationException if the specified condition is not met. + </summary> + <param name="condition">The condition that must be met</param> + <param name="message">The exception message to be used</param> + </member> + <member name="M:NUnit.Framework.Guard.ArgumentNotAsyncVoid(System.Delegate,System.String)"> + <summary> + Throws an <see cref="T:System.ArgumentException"/> if the specified delegate is <c>async void</c>. + </summary> + </member> + <member name="M:NUnit.Framework.Guard.ArgumentNotAsyncVoid(System.Reflection.MethodInfo,System.String)"> + <summary> + Throws an <see cref="T:System.ArgumentException"/> if the specified delegate is <c>async void</c>. + </summary> + </member> + <member name="T:NUnit.Framework.Has"> + <summary> + Helper class with properties and methods that supply + a number of constraints used in Asserts. + </summary> + </member> + <member name="P:NUnit.Framework.Has.No"> + <summary> + Returns a ConstraintExpression that negates any + following constraint. + </summary> + </member> + <member name="P:NUnit.Framework.Has.All"> + <summary> + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + </summary> + </member> + <member name="P:NUnit.Framework.Has.Some"> + <summary> + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if at least one of them succeeds. + </summary> + </member> + <member name="P:NUnit.Framework.Has.None"> + <summary> + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them fail. + </summary> + </member> + <member name="M:NUnit.Framework.Has.Exactly(System.Int32)"> + <summary> + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding only if a specified number of them succeed. + </summary> + </member> + <member name="P:NUnit.Framework.Has.One"> + <summary> + Returns a <see cref="T:NUnit.Framework.Constraints.ItemsConstraintExpression"/> which will apply + the following constraint to only one member of the collection, + and fail if none or more than one match occurs. + </summary> + </member> + <member name="M:NUnit.Framework.Has.Property(System.String)"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Has.Length"> + <summary> + Returns a new ConstraintExpression, which will apply the following + constraint to the Length property of the object being tested. + </summary> + </member> + <member name="P:NUnit.Framework.Has.Count"> + <summary> + Returns a new ConstraintExpression, which will apply the following + constraint to the Count property of the object being tested. + </summary> + </member> + <member name="P:NUnit.Framework.Has.Message"> + <summary> + Returns a new ConstraintExpression, which will apply the following + constraint to the Message property of the object being tested. + </summary> + </member> + <member name="P:NUnit.Framework.Has.InnerException"> + <summary> + Returns a new ConstraintExpression, which will apply the following + constraint to the InnerException property of the object being tested. + </summary> + </member> + <member name="M:NUnit.Framework.Has.Attribute(System.Type)"> + <summary> + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + </summary> + </member> + <member name="M:NUnit.Framework.Has.Attribute``1"> + <summary> + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + </summary> + </member> + <member name="M:NUnit.Framework.Has.Member(System.Object)"> + <summary> + Returns a new <see cref="T:NUnit.Framework.Constraints.SomeItemsConstraint"/> checking for the + presence of a particular object in the collection. + </summary> + </member> + <member name="M:NUnit.Framework.Has.ItemAt(System.Object[])"> + <summary> + Returns a new IndexerConstraintExpression, which will + apply any following constraint to that indexer value. + </summary> + <param name="indexArgs">Index accessor values.</param> + </member> + <member name="T:NUnit.Framework.Interfaces.AssertionResult"> + <summary> + The AssertionResult class represents the result of a single assertion. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.AssertionResult.#ctor(NUnit.Framework.Interfaces.AssertionStatus,System.String,System.String)"> + <summary> + Construct an AssertionResult + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.AssertionResult.Status"> + <summary> The pass/fail status of the assertion</summary> + </member> + <member name="P:NUnit.Framework.Interfaces.AssertionResult.Message"> + <summary>The message produced by the assertion, or null</summary> + </member> + <member name="P:NUnit.Framework.Interfaces.AssertionResult.StackTrace"> + <summary>The stack trace associated with the assertion, or null</summary> + </member> + <member name="M:NUnit.Framework.Interfaces.AssertionResult.Equals(System.Object)"> + <summary>Determines whether the specified object is equal to the current object.</summary> + <param name="obj">The object to compare with the current object.</param> + </member> + <member name="M:NUnit.Framework.Interfaces.AssertionResult.Equals(NUnit.Framework.Interfaces.AssertionResult)"> + <summary>Indicates whether the current object is equal to another object of the same type.</summary> + <param name="other">An object to compare with this object.</param> + </member> + <member name="M:NUnit.Framework.Interfaces.AssertionResult.GetHashCode"> + <summary>Serves as the default hash function.</summary> + </member> + <member name="M:NUnit.Framework.Interfaces.AssertionResult.ToString"> + <summary> + ToString Override + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.AssertionStatus"> + <summary> + 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. + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.AssertionStatus.Inconclusive"> + <summary> + An assumption failed + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.AssertionStatus.Passed"> + <summary> + The assertion succeeded + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.AssertionStatus.Warning"> + <summary> + A warning message was issued + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.AssertionStatus.Failed"> + <summary> + The assertion failed + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.AssertionStatus.Error"> + <summary> + An unexpected exception was thrown + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.IApplyToContext"> + <summary> + The IApplyToContext interface is implemented by attributes + that want to make changes to the execution context before + a test is run. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.IApplyToContext.ApplyToContext(NUnit.Framework.Internal.TestExecutionContext)"> + <summary> + Apply changes to the execution context + </summary> + <param name="context">The execution context</param> + </member> + <member name="T:NUnit.Framework.Interfaces.IApplyToTest"> + <summary> + The IApplyToTest interface is implemented by self-applying + attributes that modify the state of a test in some way. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.IApplyToTest.ApplyToTest(NUnit.Framework.Internal.Test)"> + <summary> + Modifies a test as defined for the specific attribute. + </summary> + <param name="test">The test to modify</param> + </member> + <member name="T:NUnit.Framework.Interfaces.ICombiningStrategy"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ICombiningStrategy.GetTestCases(System.Collections.IEnumerable[])"> + <summary> + Gets the test cases generated by the CombiningStrategy. + </summary> + <returns>The test cases.</returns> + </member> + <member name="T:NUnit.Framework.Interfaces.ICommandWrapper"> + <summary> + ICommandWrapper is implemented by attributes and other + objects able to wrap a TestCommand with another command. + </summary> + <remarks> + 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. + </remarks> + </member> + <member name="M:NUnit.Framework.Interfaces.ICommandWrapper.Wrap(NUnit.Framework.Internal.Commands.TestCommand)"> + <summary> + Wrap a command and return the result. + </summary> + <param name="command">The command to be wrapped</param> + <returns>The wrapped command</returns> + </member> + <member name="T:NUnit.Framework.Interfaces.IWrapTestMethod"> + <summary> + Objects implementing this interface are used to wrap + the TestMethodCommand itself. They apply after SetUp + has been run and before TearDown. + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.IWrapSetUpTearDown"> + <summary> + Objects implementing this interface are used to wrap + the entire test, including SetUp and TearDown. + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.IRepeatTest"> + <summary> + 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. + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.IDisposableFixture"> + <summary> + Any ITest that implements this interface is at a level that the implementing + class should be disposed at the end of the test run + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.IFixtureBuilder"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.IFixtureBuilder.BuildFrom(NUnit.Framework.Interfaces.ITypeInfo)"> + <summary> + Builds any number of test fixtures from the specified type. + </summary> + <param name="typeInfo">The type info of the fixture to be used.</param> + </member> + <member name="T:NUnit.Framework.Interfaces.IFixtureBuilder2"> + <summary> + The IFixtureBuilder2 interface extends IFixtureBuilder by allowing + use of a PreFilter, which is used to select methods as test cases. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.IFixtureBuilder2.BuildFrom(NUnit.Framework.Interfaces.ITypeInfo,NUnit.Framework.Interfaces.IPreFilter)"> + <summary> + Builds any number of test fixtures from the specified type. + </summary> + <param name="typeInfo">The type info of the fixture to be used.</param> + <param name="filter">PreFilter to be used to select methods.</param> + </member> + <member name="T:NUnit.Framework.Interfaces.IImplyFixture"> + <summary> + 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. + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.IMethodInfo"> + <summary> + The IMethodInfo class is used to encapsulate information + about a method in a platform-independent manner. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.IMethodInfo.TypeInfo"> + <summary> + Gets the Type from which this method was reflected. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.IMethodInfo.MethodInfo"> + <summary> + Gets the MethodInfo for this method. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.IMethodInfo.Name"> + <summary> + Gets the name of the method. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.IMethodInfo.IsAbstract"> + <summary> + Gets a value indicating whether the method is abstract. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.IMethodInfo.IsPublic"> + <summary> + Gets a value indicating whether the method is public. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.IMethodInfo.IsStatic"> + <summary> + Gets a value indicating whether the method is static. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.IMethodInfo.ContainsGenericParameters"> + <summary> + Gets a value indicating whether the method contains unassigned generic type parameters. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.IMethodInfo.IsGenericMethod"> + <summary> + Gets a value indicating whether the method is a generic method. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.IMethodInfo.IsGenericMethodDefinition"> + <summary> + Gets a value indicating whether the MethodInfo represents the definition of a generic method. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.IMethodInfo.ReturnType"> + <summary> + Gets the return Type of the method. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.IMethodInfo.GetParameters"> + <summary> + Gets the parameters of the method. + </summary> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Interfaces.IMethodInfo.GetGenericArguments"> + <summary> + Returns the Type arguments of a generic method or the Type parameters of a generic method definition. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.IMethodInfo.MakeGenericMethod(System.Type[])"> + <summary> + Replaces the type parameters of the method with the array of types provided and returns a new IMethodInfo. + </summary> + <param name="typeArguments">The type arguments to be used</param> + <returns>A new IMethodInfo with the type arguments replaced</returns> + </member> + <member name="M:NUnit.Framework.Interfaces.IMethodInfo.Invoke(System.Object,System.Object[])"> + <summary> + Invokes the method, converting any TargetInvocationException to an NUnitException. + </summary> + <param name="fixture">The object on which to invoke the method</param> + <param name="args">The argument list for the method</param> + <returns>The return value from the invoked method</returns> + </member> + <member name="T:NUnit.Framework.Interfaces.IParameterDataProvider"> + <summary> + Provides data for a single test parameter. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.IParameterDataProvider.HasDataFor(NUnit.Framework.Interfaces.IParameterInfo)"> + <summary> + Determines whether any data is available for a parameter. + </summary> + <param name="parameter">The parameter of a parameterized test.</param> + </member> + <member name="M:NUnit.Framework.Interfaces.IParameterDataProvider.GetDataFor(NUnit.Framework.Interfaces.IParameterInfo)"> + <summary> + Retrieves a list of arguments which can be passed to the specified parameter. + </summary> + <param name="parameter">The parameter of a parameterized test.</param> + </member> + <member name="T:NUnit.Framework.Interfaces.IParameterDataSource"> + <summary> + Provides data for a single test parameter. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.IParameterDataSource.GetData(NUnit.Framework.Interfaces.IParameterInfo)"> + <summary> + Retrieves a list of arguments which can be passed to the specified parameter. + </summary> + <param name="parameter">The parameter of a parameterized test.</param> + </member> + <member name="T:NUnit.Framework.Interfaces.IParameterInfo"> + <summary> + The IParameterInfo interface is an abstraction of a .NET parameter. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.IParameterInfo.IsOptional"> + <summary> + Gets a value indicating whether the parameter is optional + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.IParameterInfo.Method"> + <summary> + Gets an IMethodInfo representing the method for which this is a parameter + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.IParameterInfo.ParameterInfo"> + <summary> + Gets the underlying .NET ParameterInfo + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.IParameterInfo.ParameterType"> + <summary> + Gets the Type of the parameter + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.IPreFilter"> + <summary> + Implemented by filters for use in deciding which + Types and Methods should be used to generate tests. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.IPreFilter.IsMatch(System.Type)"> + <summary> + Use the filter on a Type, returning true if the type matches the filter + and should therefore be included in the discovery process. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.IPreFilter.IsMatch(System.Type,System.Reflection.MethodInfo)"> + <summary> + Use the filter on a Type, returning true if the type matches the filter + and should therefore be included in the discovery process. + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.IPropertyBag"> + <summary> + 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")); + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.IPropertyBag.Add(System.String,System.Object)"> + <summary> + Adds a key/value pair to the property bag + </summary> + <param name="key">The key</param> + <param name="value">The value</param> + </member> + <member name="M:NUnit.Framework.Interfaces.IPropertyBag.Set(System.String,System.Object)"> + <summary> + Sets the value for a key, removing any other + values that are already in the property set. + </summary> + <param name="key"></param> + <param name="value"></param> + </member> + <member name="M:NUnit.Framework.Interfaces.IPropertyBag.Get(System.String)"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.IPropertyBag.ContainsKey(System.String)"> + <summary> + Gets a flag indicating whether the specified key has + any entries in the property set. + </summary> + <param name="key">The key to be checked</param> + <returns>True if their are values present, otherwise false</returns> + </member> + <member name="P:NUnit.Framework.Interfaces.IPropertyBag.Item(System.String)"> + <summary> + Gets or sets the list of values for a particular key + </summary> + <param name="key">The key for which the values are to be retrieved or set</param> + </member> + <member name="P:NUnit.Framework.Interfaces.IPropertyBag.Keys"> + <summary> + Gets a collection containing all the keys in the property set + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.IReflectionInfo"> + <summary> + The IReflectionInfo interface is implemented by NUnit wrapper objects that perform reflection. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.IReflectionInfo.GetCustomAttributes``1(System.Boolean)"> + <summary> + Returns an array of custom attributes of the specified type applied to this object + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.IReflectionInfo.IsDefined``1(System.Boolean)"> + <summary> + Returns a value indicating whether an attribute of the specified type is defined on this object. + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.ISimpleTestBuilder"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ISimpleTestBuilder.BuildFrom(NUnit.Framework.Interfaces.IMethodInfo,NUnit.Framework.Internal.Test)"> + <summary> + Builds a single test from the specified method and context. + </summary> + <param name="method">The method to be used as a test</param> + <param name="suite">The TestSuite to which the method will be added</param> + </member> + <member name="T:NUnit.Framework.Interfaces.ISuiteBuilder"> + <summary> + The ISuiteBuilder interface is exposed by a class that knows how to + build a single test suite from a specified type. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ISuiteBuilder.CanBuildFrom(NUnit.Framework.Interfaces.ITypeInfo)"> + <summary> + 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. + </summary> + <param name="typeInfo">The type of the fixture to be used</param> + </member> + <member name="M:NUnit.Framework.Interfaces.ISuiteBuilder.BuildFrom(NUnit.Framework.Interfaces.ITypeInfo)"> + <summary> + Builds a single test suite from the specified type. + </summary> + <param name="typeInfo">The type of the fixture to be used</param> + </member> + <member name="M:NUnit.Framework.Interfaces.ISuiteBuilder.BuildFrom(NUnit.Framework.Interfaces.ITypeInfo,NUnit.Framework.Interfaces.IPreFilter)"> + <summary> + Builds a single test suite from the specified type, subject + to a filter that decides which methods are included. + </summary> + <param name="typeInfo">The type of the fixture to be used</param> + <param name="filter">A PreFilter for selecting methods.</param> + </member> + <member name="T:NUnit.Framework.Interfaces.ITest"> + <summary> + Common interface supported by all representations + of a test. Only includes informational fields. + The Run method is specifically excluded to allow + for data-only representations of a test. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITest.Id"> + <summary> + Gets the id of the test + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITest.Name"> + <summary> + Gets the name of the test + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITest.TestType"> + <summary> + Gets the type of the test + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITest.FullName"> + <summary> + Gets the fully qualified name of the test + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITest.ClassName"> + <summary> + Gets the name of the class containing this test. Returns + null if the test is not associated with a class. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITest.MethodName"> + <summary> + Gets the name of the method implementing this test. + Returns null if the test is not implemented as a method. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITest.TypeInfo"> + <summary> + Gets the Type of the test fixture, if applicable, or + null if no fixture type is associated with this test. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITest.Method"> + <summary> + Gets the method which declares the test, or <see langword="null"/> + if no method is associated with this test. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITest.RunState"> + <summary> + Gets the RunState of the test, indicating whether it can be run. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITest.TestCaseCount"> + <summary> + Count of the test cases ( 1 if this is a test case ) + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITest.Properties"> + <summary> + Gets the properties of the test + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITest.Parent"> + <summary> + Gets the parent test, if any. + </summary> + <value>The parent test or null if none exists.</value> + </member> + <member name="P:NUnit.Framework.Interfaces.ITest.IsSuite"> + <summary> + Returns true if this is a test suite + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITest.HasChildren"> + <summary> + Gets a bool indicating whether the current test + has any descendant tests. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITest.Tests"> + <summary> + Gets this test's child tests + </summary> + <value>A list of child tests</value> + </member> + <member name="P:NUnit.Framework.Interfaces.ITest.Fixture"> + <summary> + Gets a fixture object for running this test. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITest.Arguments"> + <summary> + The arguments to use in creating the test or empty array if none are required. + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.ITestBuilder"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ITestBuilder.BuildFrom(NUnit.Framework.Interfaces.IMethodInfo,NUnit.Framework.Internal.Test)"> + <summary> + Builds any number of tests from the specified method and context. + </summary> + <param name="method">The method to be used as a test</param> + <param name="suite">The TestSuite to which the method will be added</param> + </member> + <member name="T:NUnit.Framework.Interfaces.ITestCaseBuilder"> + <summary> + The ITestCaseBuilder interface is exposed by a class that knows how to + build a test from a specified method, possibly containing child test cases. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ITestCaseBuilder.CanBuildFrom(NUnit.Framework.Interfaces.IMethodInfo,NUnit.Framework.Internal.Test)"> + <summary> + 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. + </summary> + <param name="method">The test method to examine</param> + <param name="suite">The suite being populated</param> + </member> + <member name="M:NUnit.Framework.Interfaces.ITestCaseBuilder.BuildFrom(NUnit.Framework.Interfaces.IMethodInfo,NUnit.Framework.Internal.Test)"> + <summary> + Builds a single test from the specified method and context, + possibly containing child test cases. + </summary> + <param name="method">The method to be used as a test case</param> + <param name="suite">The test suite being populated, or null</param> + </member> + <member name="T:NUnit.Framework.Interfaces.ITestCaseData"> + <summary> + The ITestCaseData interface is implemented by a class + that is able to return complete test cases for use by + a parameterized test method. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestCaseData.ExpectedResult"> + <summary> + Gets the expected result of the test case + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestCaseData.HasExpectedResult"> + <summary> + Returns true if an expected result has been set + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.ITestData"> + <summary> + The ITestData interface is implemented by a class that + represents a single instance of a parameterized test. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestData.TestName"> + <summary> + Gets the name to be used for the test + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestData.RunState"> + <summary> + Gets the RunState for this test case. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestData.Arguments"> + <summary> + Gets the argument list to be provided to the test + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestData.Properties"> + <summary> + Gets the property dictionary for the test case + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.ITestFilter"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ITestFilter.Pass(NUnit.Framework.Interfaces.ITest)"> + <summary> + 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 + </summary> + <param name="test">The test to which the filter is applied</param> + <returns>True if the test passes the filter, otherwise false</returns> + </member> + <member name="M:NUnit.Framework.Interfaces.ITestFilter.IsExplicitMatch(NUnit.Framework.Interfaces.ITest)"> + <summary> + 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. + </summary> + <param name="test">The test to which the filter is applied</param> + <returns>True if the test matches the filter explicitly, otherwise false</returns> + </member> + <member name="T:NUnit.Framework.Interfaces.ITestFixtureData"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestFixtureData.TypeArgs"> + <summary> + Get the TypeArgs if separately set + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.ITestListener"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ITestListener.TestStarted(NUnit.Framework.Interfaces.ITest)"> + <summary> + Called when a test has just started + </summary> + <param name="test">The test that is starting</param> + </member> + <member name="M:NUnit.Framework.Interfaces.ITestListener.TestFinished(NUnit.Framework.Interfaces.ITestResult)"> + <summary> + Called when a test has finished + </summary> + <param name="result">The result of the test</param> + </member> + <member name="M:NUnit.Framework.Interfaces.ITestListener.TestOutput(NUnit.Framework.Interfaces.TestOutput)"> + <summary> + Called when a test produces output for immediate display + </summary> + <param name="output">A TestOutput object containing the text to display</param> + </member> + <member name="M:NUnit.Framework.Interfaces.ITestListener.SendMessage(NUnit.Framework.Interfaces.TestMessage)"> + <summary> + Called when a test produces a message to be sent to listeners + </summary> + <param name="message">A <see cref="T:NUnit.Framework.Interfaces.TestMessage"/> object containing the text to send</param> + </member> + <member name="T:NUnit.Framework.Interfaces.ITestResult"> + <summary> + The ITestResult interface represents the result of a test. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.ResultState"> + <summary> + Gets the ResultState of the test result, which + indicates the success or failure of the test. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.Name"> + <summary> + Gets the name of the test result + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.FullName"> + <summary> + Gets the full name of the test result + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.Duration"> + <summary> + Gets the elapsed time for running the test in seconds + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.StartTime"> + <summary> + Gets or sets the time the test started running. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.EndTime"> + <summary> + Gets or sets the time the test finished running. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.Message"> + <summary> + Gets the message associated with a test + failure or with not running the test + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.StackTrace"> + <summary> + Gets any stack trace associated with an + error or failure.</summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.TotalCount"> + <summary> + Gets the total number of tests executed + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.AssertCount"> + <summary> + Gets the number of asserts executed + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.FailCount"> + <summary> + Gets the number of test cases that failed + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.WarningCount"> + <summary> + Gets the number of test cases that had warnings + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.PassCount"> + <summary> + Gets the number of test cases that passed + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.SkipCount"> + <summary> + Gets the number of test cases that were skipped + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.InconclusiveCount"> + <summary> + Gets the number of test cases that were inconclusive + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.HasChildren"> + <summary> + Indicates whether this result has any child results. + Accessing HasChildren should not force creation of the + Children collection in classes implementing this interface. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.Children"> + <summary> + Gets the collection of child results. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.Test"> + <summary> + Gets the Test to which this result applies. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.Output"> + <summary> + Gets any text output written to this result. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.AssertionResults"> + <summary> + Gets a list of AssertionResults associated with the test + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.TestAttachments"> + <summary> + Gets the collection of files attached to the test + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.ITypeInfo"> + <summary> + The ITypeInfo interface is an abstraction of a .NET Type + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITypeInfo.Type"> + <summary> + Gets the underlying Type on which this ITypeInfo is based + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITypeInfo.BaseType"> + <summary> + Gets the base type of this type as an ITypeInfo + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ITypeInfo.IsType(System.Type)"> + <summary> + Returns true if the Type wrapped is equal to the argument + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITypeInfo.Name"> + <summary> + Gets the name of the Type + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITypeInfo.FullName"> + <summary> + Gets the full name of the Type + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITypeInfo.Assembly"> + <summary> + Gets the assembly in which the type is declared + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITypeInfo.Namespace"> + <summary> + Gets the namespace of the Type + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITypeInfo.IsAbstract"> + <summary> + Gets a value indicating whether the type is abstract. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITypeInfo.IsGenericType"> + <summary> + Gets a value indicating whether the Type is a generic Type + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITypeInfo.ContainsGenericParameters"> + <summary> + Gets a value indicating whether the Type has generic parameters that have not been replaced by specific Types. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITypeInfo.IsGenericTypeDefinition"> + <summary> + Gets a value indicating whether the Type is a generic Type definition + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITypeInfo.IsSealed"> + <summary> + Gets a value indicating whether the type is sealed. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITypeInfo.IsStaticClass"> + <summary> + Gets a value indicating whether this type is a static class. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ITypeInfo.GetDisplayName"> + <summary> + Get the display name for this typeInfo. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ITypeInfo.GetDisplayName(System.Object[])"> + <summary> + Get the display name for an object of this type, constructed with specific arguments + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ITypeInfo.GetGenericTypeDefinition"> + <summary> + Returns a Type representing a generic type definition from which this Type can be constructed. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ITypeInfo.MakeGenericType(System.Type[])"> + <summary> + Returns a new ITypeInfo representing an instance of this generic Type using the supplied Type arguments + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ITypeInfo.HasMethodWithAttribute(System.Type)"> + <summary> + Returns a value indicating whether this type has a method with a specified public attribute + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ITypeInfo.GetMethods(System.Reflection.BindingFlags)"> + <summary> + Returns an array of IMethodInfos for methods of this Type + that match the specified flags. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ITypeInfo.GetConstructor(System.Type[])"> + <summary> + Gets the public constructor taking the specified argument Types + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ITypeInfo.HasConstructor(System.Type[])"> + <summary> + Returns a value indicating whether this Type has a public constructor taking the specified argument Types. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ITypeInfo.Construct(System.Object[])"> + <summary> + Construct an object of this Type, using the specified arguments. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ITypeInfo.GetMethodsWithAttribute``1(System.Boolean)"> + <summary> + 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. + </summary> + <param name="inherit">Specifies whether to search the fixture type inheritance chain.</param> + </member> + <member name="T:NUnit.Framework.Interfaces.IXmlNodeBuilder"> + <summary> + An object implementing IXmlNodeBuilder is able to build + an XML representation of itself and any children. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.IXmlNodeBuilder.ToXml(System.Boolean)"> + <summary> + Returns a TNode representing the current object. + </summary> + <param name="recursive">If true, children are included where applicable</param> + <returns>A TNode representing the result</returns> + </member> + <member name="M:NUnit.Framework.Interfaces.IXmlNodeBuilder.AddToXml(NUnit.Framework.Interfaces.TNode,System.Boolean)"> + <summary> + Returns a TNode representing the current object after + adding it as a child of the supplied parent node. + </summary> + <param name="parentNode">The parent node.</param> + <param name="recursive">If true, children are included, where applicable</param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Interfaces.ResultState"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ResultState.#ctor(NUnit.Framework.Interfaces.TestStatus)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Interfaces.ResultState"/> class. + </summary> + <param name="status">The TestStatus.</param> + </member> + <member name="M:NUnit.Framework.Interfaces.ResultState.#ctor(NUnit.Framework.Interfaces.TestStatus,System.String)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Interfaces.ResultState"/> class. + </summary> + <param name="status">The TestStatus.</param> + <param name="label">The label.</param> + </member> + <member name="M:NUnit.Framework.Interfaces.ResultState.#ctor(NUnit.Framework.Interfaces.TestStatus,NUnit.Framework.Interfaces.FailureSite)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Interfaces.ResultState"/> class. + </summary> + <param name="status">The TestStatus.</param> + <param name="site">The stage at which the result was produced</param> + </member> + <member name="M:NUnit.Framework.Interfaces.ResultState.#ctor(NUnit.Framework.Interfaces.TestStatus,System.String,NUnit.Framework.Interfaces.FailureSite)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Interfaces.ResultState"/> class. + </summary> + <param name="status">The TestStatus.</param> + <param name="label">The label.</param> + <param name="site">The stage at which the result was produced</param> + </member> + <member name="F:NUnit.Framework.Interfaces.ResultState.Inconclusive"> + <summary> + The result is inconclusive + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.ResultState.Skipped"> + <summary> + The test has been skipped. + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.ResultState.Ignored"> + <summary> + The test has been ignored. + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.ResultState.Explicit"> + <summary> + The test was skipped because it is explicit + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.ResultState.Success"> + <summary> + The test succeeded + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.ResultState.Warning"> + <summary> + The test issued a warning + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.ResultState.Failure"> + <summary> + The test failed + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.ResultState.Error"> + <summary> + The test encountered an unexpected exception + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.ResultState.Cancelled"> + <summary> + The test was cancelled by the user + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.ResultState.NotRunnable"> + <summary> + The test was not runnable. + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.ResultState.ChildFailure"> + <summary> + A suite failed because one or more child tests failed or had errors + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.ResultState.ChildWarning"> + <summary> + A suite failed because one or more child tests had warnings + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.ResultState.ChildIgnored"> + <summary> + A suite is marked ignored because one or more child tests were ignored + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.ResultState.SetUpFailure"> + <summary> + A suite failed in its OneTimeSetUp + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.ResultState.SetUpError"> + <summary> + A suite had an unexpected exception in its OneTimeSetUp + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.ResultState.TearDownError"> + <summary> + A suite had an unexpected exception in its OneTimeDown + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ResultState.Status"> + <summary> + Gets the TestStatus for the test. + </summary> + <value>The status.</value> + </member> + <member name="P:NUnit.Framework.Interfaces.ResultState.Label"> + <summary> + Gets the label under which this test result is + categorized, or <see cref="F:System.String.Empty"/> if none. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ResultState.Site"> + <summary> + Gets the stage of test execution in which + the failure or other result took place. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ResultState.WithSite(NUnit.Framework.Interfaces.FailureSite)"> + <summary> + Get a new ResultState, which is the same as the current + one but with the FailureSite set to the specified value. + </summary> + <param name="site">The FailureSite to use</param> + <returns>A new ResultState</returns> + </member> + <member name="M:NUnit.Framework.Interfaces.ResultState.Matches(NUnit.Framework.Interfaces.ResultState)"> + <summary> + Test whether this ResultState has the same Status and Label + as another one. In other words, the whether two are equal + ignoring the Site. + </summary> + <param name="other"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Interfaces.ResultState.Equals(System.Object)"> + <summary>Determines whether the specified object is equal to the current object.</summary> + <param name="obj">The object to compare with the current object.</param> + </member> + <member name="M:NUnit.Framework.Interfaces.ResultState.Equals(NUnit.Framework.Interfaces.ResultState)"> + <summary>Indicates whether the current object is equal to another object of the same type.</summary> + <param name="other">An object to compare with this object.</param> + </member> + <member name="M:NUnit.Framework.Interfaces.ResultState.GetHashCode"> + <summary>Serves as the default hash function.</summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ResultState.op_Equality(NUnit.Framework.Interfaces.ResultState,NUnit.Framework.Interfaces.ResultState)"> + <summary> + Overload == operator for ResultStates + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ResultState.op_Inequality(NUnit.Framework.Interfaces.ResultState,NUnit.Framework.Interfaces.ResultState)"> + <summary> + Overload != operator for ResultStates + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ResultState.ToString"> + <summary> + Returns a <see cref="T:System.String"/> that represents this instance. + </summary> + <returns> + A <see cref="T:System.String"/> that represents this instance. + </returns> + </member> + <member name="T:NUnit.Framework.Interfaces.FailureSite"> + <summary> + The FailureSite enum indicates the stage of a test + in which an error or failure occurred. + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.FailureSite.Test"> + <summary> + Failure in the test itself + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.FailureSite.SetUp"> + <summary> + Failure in the SetUp method + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.FailureSite.TearDown"> + <summary> + Failure in the TearDown method + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.FailureSite.Parent"> + <summary> + Failure of a parent test + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.FailureSite.Child"> + <summary> + Failure of a child test + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.RunState"> + <summary> + The RunState enum indicates whether a test can be executed. + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.RunState.NotRunnable"> + <summary> + The test is not runnable. + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.RunState.Runnable"> + <summary> + The test is runnable. + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.RunState.Explicit"> + <summary> + The test can only be run explicitly + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.RunState.Skipped"> + <summary> + The test has been skipped. This value may + appear on a Test when certain attributes + are used to skip the test. + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.RunState.Ignored"> + <summary> + The test has been ignored. May appear on + a Test, when the IgnoreAttribute is used. + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.TestAttachment"> + <summary> + The TestAttachment class represents a file attached to a TestResult, + with an optional description. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.TestAttachment.FilePath"> + <summary> + Absolute file path to attachment file + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.TestAttachment.Description"> + <summary> + User specified description of attachment. May be null. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.TestAttachment.#ctor(System.String,System.String)"> + <summary> + Creates a TestAttachment class to represent a file attached to a test result. + </summary> + <param name="filePath">Absolute file path to attachment file</param> + <param name="description">User specified description of attachment. May be null.</param> + </member> + <member name="T:NUnit.Framework.Interfaces.TestMessage"> + <summary> + The <see cref="T:NUnit.Framework.Interfaces.TestMessage"/> class holds a message sent by a test to all listeners + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.TestMessage.#ctor(System.String,System.String,System.String)"> + <summary> + Construct with text, destination type and + the name of the test that produced the message. + </summary> + <param name="destination">Destination of the message</param> + <param name="text">Text to be sent</param> + <param name="testId">ID of the test that produced the message</param> + </member> + <member name="M:NUnit.Framework.Interfaces.TestMessage.ToString"> + <summary> + Converts <see cref="T:NUnit.Framework.Interfaces.TestMessage"/> object to string + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.TestMessage.Message"> + <summary> + The message to send to listeners + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.TestMessage.Destination"> + <summary> + The Destination of the message. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.TestMessage.TestId"> + <summary> + The ID of the test that sent the message + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.TestMessage.ToXml"> + <summary> + Returns the XML representation of the <see cref="T:NUnit.Framework.Interfaces.TestMessage"/> object. + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.TestOutput"> + <summary> + The TestOutput class holds a unit of output from + a test to a specific output stream + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.TestOutput.#ctor(System.String,System.String,System.String,System.String)"> + <summary> + Construct with text, output destination type and + the name of the test that produced the output. + </summary> + <param name="text">Text to be output</param> + <param name="stream">Name of the stream or channel to which the text should be written</param> + <param name="testId">Id of the test that produced the output</param> + <param name="testName">FullName of test that produced the output</param> + </member> + <member name="M:NUnit.Framework.Interfaces.TestOutput.ToString"> + <summary> + Return string representation of the object for debugging + </summary> + <returns></returns> + </member> + <member name="P:NUnit.Framework.Interfaces.TestOutput.Text"> + <summary> + Get the text + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.TestOutput.Stream"> + <summary> + Get the output type + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.TestOutput.TestName"> + <summary> + Get the name of the test that created the output + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.TestOutput.TestId"> + <summary> + Get the id of the test that created the output + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.TestOutput.ToXml"> + <summary> + Convert the TestOutput object to an XML string + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.TestStatus"> + <summary> + The TestStatus enum indicates the result of running a test + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.TestStatus.Inconclusive"> + <summary> + The test was inconclusive + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.TestStatus.Skipped"> + <summary> + The test has skipped + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.TestStatus.Passed"> + <summary> + The test succeeded + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.TestStatus.Warning"> + <summary> + There was a warning + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.TestStatus.Failed"> + <summary> + The test failed + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.TNode"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.TNode.#ctor(System.String)"> + <summary> + Constructs a new instance of TNode + </summary> + <param name="name">The name of the node</param> + </member> + <member name="M:NUnit.Framework.Interfaces.TNode.#ctor(System.String,System.String)"> + <summary> + Constructs a new instance of TNode with a value + </summary> + <param name="name">The name of the node</param> + <param name="value">The text content of the node</param> + </member> + <member name="M:NUnit.Framework.Interfaces.TNode.#ctor(System.String,System.String,System.Boolean)"> + <summary> + Constructs a new instance of TNode with a value + </summary> + <param name="name">The name of the node</param> + <param name="value">The text content of the node</param> + <param name="valueIsCDATA">Flag indicating whether to use CDATA when writing the text</param> + </member> + <member name="P:NUnit.Framework.Interfaces.TNode.Name"> + <summary> + Gets the name of the node + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.TNode.Value"> + <summary> + Gets the value of the node + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.TNode.ValueIsCDATA"> + <summary> + Gets a flag indicating whether the value should be output using CDATA. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.TNode.Attributes"> + <summary> + Gets the dictionary of attributes + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.TNode.ChildNodes"> + <summary> + Gets a list of child nodes + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.TNode.FirstChild"> + <summary> + Gets the first ChildNode + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.TNode.OuterXml"> + <summary> + Gets the XML representation of this node. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.TNode.FromXml(System.String)"> + <summary> + Create a TNode from its XML text representation + </summary> + <param name="xmlText">The XML text to be parsed</param> + <returns>A TNode</returns> + </member> + <member name="M:NUnit.Framework.Interfaces.TNode.AddElement(System.String)"> + <summary> + Adds a new element as a child of the current node and returns it. + </summary> + <param name="name">The element name.</param> + <returns>The newly created child element</returns> + </member> + <member name="M:NUnit.Framework.Interfaces.TNode.AddElement(System.String,System.String)"> + <summary> + Adds a new element with a value as a child of the current node and returns it. + </summary> + <param name="name">The element name</param> + <param name="value">The text content of the new element</param> + <returns>The newly created child element</returns> + </member> + <member name="M:NUnit.Framework.Interfaces.TNode.AddElementWithCDATA(System.String,System.String)"> + <summary> + 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. + </summary> + <param name="name">The element name</param> + <param name="value">The text content of the new element</param> + <returns>The newly created child element</returns> + </member> + <member name="M:NUnit.Framework.Interfaces.TNode.AddAttribute(System.String,System.String)"> + <summary> + Adds an attribute with a specified name and value to the XmlNode. + </summary> + <param name="name">The name of the attribute.</param> + <param name="value">The value of the attribute.</param> + </member> + <member name="M:NUnit.Framework.Interfaces.TNode.SelectSingleNode(System.String)"> + <summary> + 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. + </summary> + <param name="xpath"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Interfaces.TNode.SelectNodes(System.String)"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.TNode.WriteTo(System.Xml.XmlWriter)"> + <summary> + Writes the XML representation of the node to an XmlWriter + </summary> + <param name="writer"></param> + </member> + <member name="T:NUnit.Framework.Interfaces.NodeList"> + <summary> + Class used to represent a list of XmlResults + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.AttributeDictionary"> + <summary> + Class used to represent the attributes of a node + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.AttributeDictionary.Item(System.String)"> + <summary> + Gets or sets the value associated with the specified key. + Overridden to return null if attribute is not found. + </summary> + <param name="key">The key.</param> + <returns>Value of the attribute or null</returns> + </member> + <member name="T:NUnit.Framework.Internal.Abstractions.DebuggerProxy"> + <summary> + A production <see cref="T:NUnit.Framework.Internal.Abstractions.IDebugger"/> implementation that delegates directly to .NET's <see cref="T:System.Diagnostics.Debugger"/>. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Abstractions.DebuggerProxy.IsAttached"> + <summary> + Returns whether a debugger is currently attached to the process + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Abstractions.IDebugger"> + <summary> + A layer of abstraction around <see cref="T:System.Diagnostics.Debugger"/> to facilitate testing. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Abstractions.IDebugger.IsAttached"> + <summary> + Whether a debugger is currently attached to the process. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.AssemblyHelper"> + <summary> + AssemblyHelper provides static methods for working + with assemblies. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.AssemblyHelper.GetAssemblyPath(System.Reflection.Assembly)"> + <summary> + Gets the path from which an assembly was loaded. + For builds where this is not possible, returns + the name of the assembly. + </summary> + <param name="assembly">The assembly.</param> + <returns>The path.</returns> + </member> + <member name="M:NUnit.Framework.Internal.AssemblyHelper.GetDirectoryName(System.Reflection.Assembly)"> + <summary> + Gets the path to the directory from which an assembly was loaded. + </summary> + <param name="assembly">The assembly.</param> + <returns>The path.</returns> + </member> + <member name="M:NUnit.Framework.Internal.AssemblyHelper.GetAssemblyName(System.Reflection.Assembly)"> + <summary> + Gets the AssemblyName of an assembly. + </summary> + <param name="assembly">The assembly</param> + <returns>An AssemblyName</returns> + </member> + <member name="M:NUnit.Framework.Internal.AssemblyHelper.Load(System.String)"> + <summary> + Loads an assembly given a string, which may be the + path to the assembly or the AssemblyName + </summary> + </member> + <member name="M:NUnit.Framework.Internal.AssemblyHelper.GetAssemblyPathFromCodeBase(System.String)"> + <summary> + Gets the assembly path from code base. + </summary> + <remarks>Public for testing purposes</remarks> + <param name="codeBase">The code base.</param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Internal.AwaitAdapter"> + <summary> + Adapts various styles of asynchronous waiting to a common API. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Builders.CombinatorialStrategy"> + <summary> + CombinatorialStrategy creates test cases by using all possible + combinations of the parameter data. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Builders.CombinatorialStrategy.GetTestCases(System.Collections.IEnumerable[])"> + <summary> + Gets the test cases generated by the CombiningStrategy. + </summary> + <returns>The test cases.</returns> + </member> + <member name="T:NUnit.Framework.Internal.Builders.DatapointProvider"> + <summary> + Provides data from fields marked with the DatapointAttribute or the + DatapointsAttribute. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Builders.DatapointProvider.HasDataFor(NUnit.Framework.Interfaces.IParameterInfo)"> + <summary> + Determines whether any data is available for a parameter. + </summary> + <param name="parameter">The parameter of a parameterized test</param> + </member> + <member name="M:NUnit.Framework.Internal.Builders.DatapointProvider.GetDataFor(NUnit.Framework.Interfaces.IParameterInfo)"> + <summary> + Retrieves data for use with the supplied parameter. + </summary> + <param name="parameter">The parameter of a parameterized test</param> + </member> + <member name="T:NUnit.Framework.Internal.Builders.DefaultSuiteBuilder"> + <summary> + Built-in SuiteBuilder for all types of test classes. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Builders.DefaultSuiteBuilder.CanBuildFrom(NUnit.Framework.Interfaces.ITypeInfo)"> + <summary> + 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. + </summary> + <param name="typeInfo">The fixture type to check</param> + </member> + <member name="M:NUnit.Framework.Internal.Builders.DefaultSuiteBuilder.BuildFrom(NUnit.Framework.Interfaces.ITypeInfo)"> + <summary> + Builds a single test suite from the specified type. + </summary> + <param name="typeInfo">The fixture type to build</param> + </member> + <member name="M:NUnit.Framework.Internal.Builders.DefaultSuiteBuilder.BuildFrom(NUnit.Framework.Interfaces.ITypeInfo,NUnit.Framework.Interfaces.IPreFilter)"> + <summary> + Builds a single test suite from the specified type, subject + to a filter that decides which methods are included. + </summary> + <param name="typeInfo">The fixture type to build</param> + <param name="filter">A PreFilter for selecting methods.</param> + </member> + <member name="M:NUnit.Framework.Internal.Builders.DefaultSuiteBuilder.GetFixtureBuilderAttributes(NUnit.Framework.Interfaces.ITypeInfo)"> + <summary> + 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. + </summary> + <param name="typeInfo">The type being examined for attributes</param> + </member> + <member name="T:NUnit.Framework.Internal.Builders.DefaultTestCaseBuilder"> + <summary> + 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 + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Builders.DefaultTestCaseBuilder.CanBuildFrom(NUnit.Framework.Interfaces.IMethodInfo)"> + <summary> + 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. + </summary> + <param name="method">An IMethodInfo for the method being used as a test method</param> + </member> + <member name="M:NUnit.Framework.Internal.Builders.DefaultTestCaseBuilder.BuildFrom(NUnit.Framework.Interfaces.IMethodInfo)"> + <summary> + Builds a single test from the specified method and context, + possibly containing child test cases. + </summary> + <param name="method">The method for which a test is to be built</param> + </member> + <member name="M:NUnit.Framework.Internal.Builders.DefaultTestCaseBuilder.CanBuildFrom(NUnit.Framework.Interfaces.IMethodInfo,NUnit.Framework.Internal.Test)"> + <summary> + 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. + </summary> + <param name="method">An IMethodInfo for the method being used as a test method</param> + <param name="parentSuite">The test suite being built, to which the new test would be added</param> + </member> + <member name="M:NUnit.Framework.Internal.Builders.DefaultTestCaseBuilder.BuildFrom(NUnit.Framework.Interfaces.IMethodInfo,NUnit.Framework.Internal.Test)"> + <summary> + Builds a single test from the specified method and context, + possibly containing child test cases. + </summary> + <param name="method">The method for which a test is to be built</param> + <param name="parentSuite">The test fixture being populated, or null</param> + </member> + <member name="M:NUnit.Framework.Internal.Builders.DefaultTestCaseBuilder.BuildParameterizedMethodSuite(NUnit.Framework.Interfaces.IMethodInfo,System.Collections.Generic.IEnumerable{NUnit.Framework.Internal.TestMethod})"> + <summary> + Builds a ParameterizedMethodSuite containing individual test cases. + </summary> + <param name="method">The method for which a test is to be built.</param> + <param name="tests">The list of test cases to include.</param> + </member> + <member name="M:NUnit.Framework.Internal.Builders.DefaultTestCaseBuilder.BuildSingleTestMethod(NUnit.Framework.Interfaces.IMethodInfo,NUnit.Framework.Internal.Test)"> + <summary> + Build a simple, non-parameterized TestMethod for this method. + </summary> + <param name="method">The MethodInfo for which a test is to be built</param> + <param name="suite">The test suite for which the method is being built</param> + </member> + <member name="T:NUnit.Framework.Internal.Builders.MethodInfoCache"> + <summary> + Caches static information for IMethodInfo to reduce re-calculations and memory allocations from reflection. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Builders.MethodInfoCache.Get(NUnit.Framework.Interfaces.IMethodInfo)"> + <summary> + Returns cached metadata for method instance. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Builders.MethodInfoCache.TestMethodMetadata"> + <summary> + Memoization of TestMethod information to reduce subsequent allocations from parameter and attribute information. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Builders.NamespaceTreeBuilder"> + <summary> + Class that can build a tree of automatic namespace + suites from a group of fixtures. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Builders.NamespaceTreeBuilder._namespaceIndex"> + <summary> + NamespaceDictionary of all test suites we have created to represent + namespaces. Used to locate namespace parent suites for fixtures. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Builders.NamespaceTreeBuilder._globalInsertionPoint"> + <summary> + Point in the tree where items in the global namespace are added + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Builders.NamespaceTreeBuilder.#ctor(NUnit.Framework.Internal.TestSuite)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.Builders.NamespaceTreeBuilder"/> class. + </summary> + <param name="rootSuite">The root suite.</param> + </member> + <member name="P:NUnit.Framework.Internal.Builders.NamespaceTreeBuilder.RootSuite"> + <summary> + Gets the root entry in the tree created by the NamespaceTreeBuilder. + </summary> + <value>The root suite.</value> + </member> + <member name="M:NUnit.Framework.Internal.Builders.NamespaceTreeBuilder.Add(System.Collections.Generic.IList{NUnit.Framework.Internal.Test})"> + <summary> + Adds the specified fixtures to the tree. + </summary> + <param name="fixtures">The fixtures to be added.</param> + </member> + <member name="M:NUnit.Framework.Internal.Builders.NamespaceTreeBuilder.Add(NUnit.Framework.Internal.TestSuite)"> + <summary> + Adds the specified fixture to the tree. + </summary> + <param name="fixture">The fixture to be added.</param> + </member> + <member name="T:NUnit.Framework.Internal.Builders.NUnitTestCaseBuilder"> + <summary> + NUnitTestCaseBuilder is a utility class used by attributes + that build test cases. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Builders.NUnitTestCaseBuilder.#ctor"> + <summary> + Constructs an <see cref="T:NUnit.Framework.Internal.Builders.NUnitTestCaseBuilder"/> + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Builders.NUnitTestCaseBuilder.BuildTestMethod(NUnit.Framework.Interfaces.IMethodInfo,NUnit.Framework.Internal.Test,NUnit.Framework.Internal.TestCaseParameters)"> + <summary> + Builds a single NUnitTestMethod, either as a child of the fixture + or as one of a set of test cases under a ParameterizedTestMethodSuite. + </summary> + <param name="method">The MethodInfo from which to construct the TestMethod</param> + <param name="parentSuite">The suite or fixture to which the new test will be added</param> + <param name="parms">The ParameterSet to be used, or null</param> + </member> + <member name="M:NUnit.Framework.Internal.Builders.NUnitTestCaseBuilder.CheckTestMethodAttributes(NUnit.Framework.Internal.TestMethod,NUnit.Framework.Internal.Builders.MethodInfoCache.TestMethodMetadata)"> + <summary> + Checks to see if we have valid combinations of attributes. + </summary> + <param name="testMethod">The TestMethod to be checked. If it + is found to be non-runnable, it will be modified.</param> + <param name="metadata">Metadata for this TestMethod.</param> + <returns>True if the method signature is valid, false if not</returns> + </member> + <member name="M:NUnit.Framework.Internal.Builders.NUnitTestCaseBuilder.CheckTestMethodSignature(NUnit.Framework.Internal.TestMethod,NUnit.Framework.Internal.Builders.MethodInfoCache.TestMethodMetadata,NUnit.Framework.Internal.TestCaseParameters)"> + <summary> + 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. + </summary> + <param name="testMethod">The TestMethod to be checked. If it + is found to be non-runnable, it will be modified.</param> + <param name="metadata">Metadata for this TestMethod.</param> + <param name="parms">Parameters to be used for this test, or null</param> + <returns>True if the method signature is valid, false if not</returns> + <remarks> + The return value is no longer used internally, but is retained + for testing purposes. + </remarks> + </member> + <member name="T:NUnit.Framework.Internal.Builders.NUnitTestFixtureBuilder"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Builders.NUnitTestFixtureBuilder.BuildFrom(NUnit.Framework.Interfaces.ITypeInfo,NUnit.Framework.Interfaces.IPreFilter)"> + <summary> + 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. + </summary> + <param name="typeInfo">An ITypeInfo for the fixture to be used.</param> + <param name="filter">Filter used to select methods as tests.</param> + <returns>A TestSuite object or one derived from TestSuite.</returns> + </member> + <member name="M:NUnit.Framework.Internal.Builders.NUnitTestFixtureBuilder.BuildFrom(NUnit.Framework.Interfaces.ITypeInfo,NUnit.Framework.Interfaces.IPreFilter,NUnit.Framework.Interfaces.ITestFixtureData)"> + <summary> + Overload of BuildFrom called by tests that have arguments. + Builds a fixture using the provided type and information + in the ITestFixtureData object. + </summary> + <param name="typeInfo">The TypeInfo for which to construct a fixture.</param> + <param name="filter">Filter used to select methods as tests.</param> + <param name="testFixtureData">An object implementing ITestFixtureData or null.</param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Internal.Builders.NUnitTestFixtureBuilder.AddTestCasesToFixture(NUnit.Framework.Internal.TestFixture,NUnit.Framework.Interfaces.IPreFilter)"> + <summary> + Method to add test cases to the newly constructed fixture. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Builders.NUnitTestFixtureBuilder.BuildTestCase(NUnit.Framework.Interfaces.IMethodInfo,NUnit.Framework.Internal.TestSuite)"> + <summary> + 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. + </summary> + <param name="method">The method for which a test is to be created</param> + <param name="suite">The test suite being built.</param> + <returns>A newly constructed Test</returns> + </member> + <member name="T:NUnit.Framework.Internal.Builders.PairwiseStrategy"> + <summary> + PairwiseStrategy creates test cases by combining the parameter + data so that all possible pairs of data items are used. + </summary> + <remarks> + <para> + 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. + </para> + <para> + The PairwiseStrategy code is based on "jenny" tool by Bob Jenkins: + https://burtleburtle.net/bob/math/jenny.html + </para> + </remarks> + </member> + <member name="T:NUnit.Framework.Internal.Builders.PairwiseStrategy.FleaRand"> + <summary> + FleaRand is a pseudo-random number generator developed by Bob Jenkins: + https://burtleburtle.net/bob/rand/talksmall.html#flea + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Builders.PairwiseStrategy.FleaRand.#ctor(System.UInt32)"> + <summary> + Initializes a new instance of the FleaRand class. + </summary> + <param name="seed">The seed.</param> + </member> + <member name="T:NUnit.Framework.Internal.Builders.PairwiseStrategy.FeatureInfo"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Builders.PairwiseStrategy.FeatureInfo.#ctor(System.Int32,System.Int32)"> + <summary> + Initializes a new instance of FeatureInfo class. + </summary> + <param name="dimension">Index of a dimension.</param> + <param name="feature">Index of a feature.</param> + </member> + <member name="T:NUnit.Framework.Internal.Builders.PairwiseStrategy.FeatureTuple"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Builders.PairwiseStrategy.FeatureTuple.#ctor(NUnit.Framework.Internal.Builders.PairwiseStrategy.FeatureInfo)"> + <summary> + Initializes a new instance of FeatureTuple class for a single feature. + </summary> + <param name="feature1">Single feature.</param> + </member> + <member name="M:NUnit.Framework.Internal.Builders.PairwiseStrategy.FeatureTuple.#ctor(NUnit.Framework.Internal.Builders.PairwiseStrategy.FeatureInfo,NUnit.Framework.Internal.Builders.PairwiseStrategy.FeatureInfo)"> + <summary> + Initializes a new instance of FeatureTuple class for a pair of features. + </summary> + <param name="feature1">First feature.</param> + <param name="feature2">Second feature.</param> + </member> + <member name="T:NUnit.Framework.Internal.Builders.PairwiseStrategy.TestCaseInfo"> + <summary> + TestCase represents a single test case covering a list of features. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Builders.PairwiseStrategy.TestCaseInfo.#ctor(System.Int32)"> + <summary> + Initializes a new instance of TestCaseInfo class. + </summary> + <param name="length">A number of features in the test case.</param> + </member> + <member name="T:NUnit.Framework.Internal.Builders.PairwiseStrategy.PairwiseTestCaseGenerator"> + <summary> + PairwiseTestCaseGenerator class implements an algorithm which generates + a set of test cases which covers all pairs of possible values of test + function. + </summary> + <remarks> + <para> + The algorithm starts with creating a set of all feature tuples which we + will try to cover (see <see + cref="M:NUnit.Framework.Internal.Builders.PairwiseStrategy.PairwiseTestCaseGenerator.CreateAllTuples" /> 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). + </para> + <para> + 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. + </para> + <para> + Picking a tuple to cover + </para> + <para> + 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. + </para> + <para> + Test generation + </para> + <para> + 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. + </para> + <para> + 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). + </para> + <para>Maximizing test coverage</para> + <para> + 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. + </para> + <para> + This process repeats while it shows progress. If the last iteration + doesn't improve coverage, the process ends. + </para> + <para> + In addition, for better results, before start every iteration, the + algorithm "scrambles" dimensions - so for every iteration dimension + probes in a different order. + </para> + </remarks> + </member> + <member name="M:NUnit.Framework.Internal.Builders.PairwiseStrategy.PairwiseTestCaseGenerator.GetTestCases(System.Int32[])"> + <summary> + Creates a set of test cases for specified dimensions. + </summary> + <param name="dimensions"> + An array which contains information about dimensions. Each element of + this array represents a number of features in the specific dimension. + </param> + <returns> + A set of test cases. + </returns> + </member> + <member name="M:NUnit.Framework.Internal.Builders.PairwiseStrategy.GetTestCases(System.Collections.IEnumerable[])"> + <summary> + Gets the test cases generated by this strategy instance. + </summary> + <returns>A set of test cases.</returns> + </member> + <member name="T:NUnit.Framework.Internal.Builders.ParameterDataProvider"> + <summary> + The ParameterDataProvider class implements IParameterDataProvider + and hosts one or more individual providers. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Builders.ParameterDataProvider.#ctor(NUnit.Framework.Interfaces.IParameterDataProvider[])"> + <summary> + Construct with a collection of individual providers + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Builders.ParameterDataProvider.HasDataFor(NUnit.Framework.Interfaces.IParameterInfo)"> + <summary> + Determines whether any data is available for a parameter. + </summary> + <param name="parameter">The parameter of a parameterized test</param> + </member> + <member name="M:NUnit.Framework.Internal.Builders.ParameterDataProvider.GetDataFor(NUnit.Framework.Interfaces.IParameterInfo)"> + <summary> + Retrieves data for use with the supplied parameter. + </summary> + <param name="parameter">The parameter of a parameterized test</param> + </member> + <member name="T:NUnit.Framework.Internal.Builders.ParameterDataSourceProvider"> + <summary> + ParameterDataSourceProvider supplies individual argument values for + single parameters using attributes implementing IParameterDataSource. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Builders.ParameterDataSourceProvider.HasDataFor(NUnit.Framework.Interfaces.IParameterInfo)"> + <summary> + Determines whether any data is available for a parameter. + </summary> + <param name="parameter">The parameter of a parameterized test</param> + </member> + <member name="M:NUnit.Framework.Internal.Builders.ParameterDataSourceProvider.GetDataFor(NUnit.Framework.Interfaces.IParameterInfo)"> + <summary> + Retrieves data for use with the supplied parameter. + </summary> + <param name="parameter">The parameter of a parameterized test</param> + </member> + <member name="T:NUnit.Framework.Internal.Builders.SequentialStrategy"> + <summary> + SequentialStrategy creates test cases by using all of the + parameter data sources in parallel, substituting <see langword="null"/> + when any of them run out of data. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Builders.SequentialStrategy.GetTestCases(System.Collections.IEnumerable[])"> + <summary> + Gets the test cases generated by the CombiningStrategy. + </summary> + <returns>The test cases.</returns> + </member> + <member name="T:NUnit.Framework.Internal.Commands.AfterTestActionCommand"> + <summary> + TestActionAfterCommand handles the AfterTest method of a single + TestActionItem, provided the items BeforeTest has been run. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.AfterTestActionCommand.#ctor(NUnit.Framework.Internal.Commands.TestCommand,NUnit.Framework.Internal.Commands.TestActionItem)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.Commands.AfterTestActionCommand"/> class. + </summary> + <param name="innerCommand">The inner command.</param> + <param name="action">The TestActionItem to run before the inner command.</param> + </member> + <member name="T:NUnit.Framework.Internal.Commands.AfterTestCommand"> + <summary> + AfterCommand is a DelegatingTestCommand that performs some + specific action after the inner command is run. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.AfterTestCommand.#ctor(NUnit.Framework.Internal.Commands.TestCommand)"> + <summary> + Construct an AfterCommand + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.AfterTestCommand.Execute(NUnit.Framework.Internal.TestExecutionContext)"> + <summary> + Execute the command + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Commands.AfterTestCommand.AfterTest"> + <summary> + Set this to perform action after the inner command. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Commands.ApplyChangesToContextCommand"> + <summary> + 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. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Commands.BeforeAndAfterTestCommand"> + <summary> + TestActionCommand handles a single ITestAction applied + to a test. It runs the BeforeTest method, then runs the + test and finally runs the AfterTest method. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.BeforeAndAfterTestCommand.#ctor(NUnit.Framework.Internal.Commands.TestCommand)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.Commands.TestActionCommand"/> class. + </summary> + <param name="innerCommand">The inner command.</param> + </member> + <member name="M:NUnit.Framework.Internal.Commands.BeforeAndAfterTestCommand.Execute(NUnit.Framework.Internal.TestExecutionContext)"> + <summary> + Runs the test, saving a TestResult in the supplied TestExecutionContext. + </summary> + <param name="context">The context in which the test should run.</param> + <returns>A TestResult</returns> + </member> + <member name="F:NUnit.Framework.Internal.Commands.BeforeAndAfterTestCommand.BeforeTest"> + <summary> + Perform the before test action + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Commands.BeforeAndAfterTestCommand.AfterTest"> + <summary> + Perform the after test action + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Commands.BeforeTestActionCommand"> + <summary> + TestActionBeforeCommand handles the BeforeTest method of a single + TestActionItem, relying on the item to remember it has been run. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.BeforeTestActionCommand.#ctor(NUnit.Framework.Internal.Commands.TestCommand,NUnit.Framework.Internal.Commands.TestActionItem)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.Commands.BeforeTestActionCommand"/> class. + </summary> + <param name="innerCommand">The inner command.</param> + <param name="action">The TestActionItem to run before the inner command.</param> + </member> + <member name="T:NUnit.Framework.Internal.Commands.BeforeTestCommand"> + <summary> + BeforeTestCommand is a DelegatingTestCommand that performs some + specific action before the inner command is run. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.BeforeTestCommand.#ctor(NUnit.Framework.Internal.Commands.TestCommand)"> + <summary> + Construct a BeforeCommand + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.BeforeTestCommand.Execute(NUnit.Framework.Internal.TestExecutionContext)"> + <summary> + Execute the command + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Commands.BeforeTestCommand.BeforeTest"> + <summary> + Action to perform before the inner command. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Commands.ConstructFixtureCommand"> + <summary> + ConstructFixtureCommand constructs the user test object if necessary. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.ConstructFixtureCommand.#ctor(NUnit.Framework.Internal.Commands.TestCommand)"> + <summary> + Constructs a OneTimeSetUpCommand for a suite + </summary> + <param name="innerCommand">The inner command to which the command applies</param> + </member> + <member name="T:NUnit.Framework.Internal.Commands.DelegatingTestCommand"> + <summary> + DelegatingTestCommand wraps an inner TestCommand. + Derived classes may do what they like before or + after running the inner command. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Commands.DelegatingTestCommand.innerCommand"> + <summary>TODO: Documentation needed for field</summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.DelegatingTestCommand.#ctor(NUnit.Framework.Internal.Commands.TestCommand)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.Commands.DelegatingTestCommand"/> class. + </summary> + <param name="innerCommand">The inner command.</param> + </member> + <member name="M:NUnit.Framework.Internal.Commands.DelegatingTestCommand.RunTestMethodInThreadAbortSafeZone(NUnit.Framework.Internal.TestExecutionContext,System.Action)"> + <summary> + Runs the test with exception handling. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Commands.DisposeFixtureCommand"> + <summary> + OneTimeTearDownCommand performs any teardown actions + specified for a suite and calls Dispose on the user + test object, if any. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.DisposeFixtureCommand.#ctor(NUnit.Framework.Internal.Commands.TestCommand)"> + <summary> + Construct a OneTimeTearDownCommand + </summary> + <param name="innerCommand">The command wrapped by this command</param> + </member> + <member name="T:NUnit.Framework.Internal.Commands.EmptyTestCommand"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.EmptyTestCommand.#ctor(NUnit.Framework.Internal.Test)"> + <summary> + Construct a NullCommand for a test + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.EmptyTestCommand.Execute(NUnit.Framework.Internal.TestExecutionContext)"> + <summary> + Execute the command + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Commands.FixturePerTestCaseCommand"> + <summary> + ConstructFixtureCommand constructs the user test object if necessary. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.FixturePerTestCaseCommand.#ctor(NUnit.Framework.Internal.Commands.TestCommand)"> + <summary> + Handles the construction and disposement of a fixture per test case + </summary> + <param name="innerCommand">The inner command to which the command applies</param> + </member> + <member name="T:NUnit.Framework.Internal.Commands.MaxTimeCommand"> + <summary> + <see cref="T:NUnit.Framework.Internal.Commands.MaxTimeCommand" /> adjusts the result of a successful test + to a failure if the elapsed time has exceeded the specified maximum + time allowed. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.MaxTimeCommand.#ctor(NUnit.Framework.Internal.Commands.TestCommand,System.Int32)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.Commands.MaxTimeCommand"/> class. + </summary> + <param name="innerCommand">The inner command.</param> + <param name="maxTime">The max time allowed in milliseconds</param> + </member> + <member name="T:NUnit.Framework.Internal.Commands.OneTimeSetUpCommand"> + <summary> + OneTimeSetUpCommand runs any one-time setup methods for a suite, + constructing the user test object if necessary. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.OneTimeSetUpCommand.#ctor(NUnit.Framework.Internal.Commands.TestCommand,NUnit.Framework.Internal.Commands.SetUpTearDownItem)"> + <summary> + Constructs a OneTimeSetUpCommand for a suite + </summary> + <param name="innerCommand">The inner command to which the command applies</param> + <param name="setUpTearDown">A SetUpTearDownList for use by the command</param> + </member> + <member name="T:NUnit.Framework.Internal.Commands.OneTimeTearDownCommand"> + <summary> + OneTimeTearDownCommand performs any teardown actions + specified for a suite and calls Dispose on the user + test object, if any. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.OneTimeTearDownCommand.#ctor(NUnit.Framework.Internal.Commands.TestCommand,NUnit.Framework.Internal.Commands.SetUpTearDownItem)"> + <summary> + Construct a OneTimeTearDownCommand + </summary> + <param name="innerCommand">The command wrapped by this command</param> + <param name="setUpTearDownItem">A SetUpTearDownList for use by the command</param> + </member> + <member name="T:NUnit.Framework.Internal.Commands.SetUpTearDownCommand"> + <summary> + SetUpTearDownCommand runs SetUp methods for a suite, + runs the test and then runs TearDown methods. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.SetUpTearDownCommand.#ctor(NUnit.Framework.Internal.Commands.TestCommand,NUnit.Framework.Internal.Commands.SetUpTearDownItem)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.Commands.SetUpTearDownCommand"/> class. + </summary> + <param name="innerCommand">The inner command.</param> + <param name="setUpTearDown">List of setup/teardown items</param> + </member> + <member name="T:NUnit.Framework.Internal.Commands.SetUpTearDownItem"> + <summary> + SetUpTearDownItem holds the setup and teardown methods + for a single level of the inheritance hierarchy. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.SetUpTearDownItem.#ctor(System.Collections.Generic.IList{NUnit.Framework.Interfaces.IMethodInfo},System.Collections.Generic.IList{NUnit.Framework.Interfaces.IMethodInfo},NUnit.Framework.Internal.Execution.IMethodValidator)"> + <summary> + Construct a SetUpTearDownNode + </summary> + <param name="setUpMethods">A list of setup methods for this level</param> + <param name="tearDownMethods">A list teardown methods for this level</param> + <param name="methodValidator">A method validator to validate each method before calling.</param> + </member> + <member name="P:NUnit.Framework.Internal.Commands.SetUpTearDownItem.HasMethods"> + <summary> + Returns true if this level has any methods at all. + This flag is used to discard levels that do nothing. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.SetUpTearDownItem.RunSetUp(NUnit.Framework.Internal.TestExecutionContext)"> + <summary> + Run SetUp on this level. + </summary> + <param name="context">The execution context to use for running.</param> + </member> + <member name="M:NUnit.Framework.Internal.Commands.SetUpTearDownItem.RunTearDown(NUnit.Framework.Internal.TestExecutionContext)"> + <summary> + Run TearDown for this level. + </summary> + <param name="context"></param> + </member> + <member name="T:NUnit.Framework.Internal.Commands.SkipCommand"> + <summary> + TODO: Documentation needed for class + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.SkipCommand.#ctor(NUnit.Framework.Internal.Test)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.Commands.SkipCommand"/> class. + </summary> + <param name="test">The test being skipped.</param> + </member> + <member name="M:NUnit.Framework.Internal.Commands.SkipCommand.Execute(NUnit.Framework.Internal.TestExecutionContext)"> + <summary> + Overridden to simply set the CurrentResult to the + appropriate Skipped state. + </summary> + <param name="context">The execution context for the test</param> + <returns>A TestResult</returns> + </member> + <member name="T:NUnit.Framework.Internal.Commands.TestActionCommand"> + <summary> + TestActionCommand handles a single ITestAction applied + to a test. It runs the BeforeTest method, then runs the + test and finally runs the AfterTest method. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.TestActionCommand.#ctor(NUnit.Framework.Internal.Commands.TestCommand,NUnit.Framework.ITestAction)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.Commands.TestActionCommand"/> class. + </summary> + <param name="innerCommand">The inner command.</param> + <param name="action">The TestAction with which to wrap the inner command.</param> + </member> + <member name="T:NUnit.Framework.Internal.Commands.TestActionItem"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.TestActionItem.#ctor(NUnit.Framework.ITestAction)"> + <summary> + Construct a TestActionItem + </summary> + <param name="action">The ITestAction to be included</param> + </member> + <member name="P:NUnit.Framework.Internal.Commands.TestActionItem.BeforeTestWasRun"> + <summary> + Get flag indicating if the BeforeTest entry was already called. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.TestActionItem.BeforeTest(NUnit.Framework.Interfaces.ITest)"> + <summary> + Run the BeforeTest method of the action and remember that it has been run. + </summary> + <param name="test">The test to which the action applies</param> + </member> + <member name="M:NUnit.Framework.Internal.Commands.TestActionItem.AfterTest(NUnit.Framework.Interfaces.ITest)"> + <summary> + Run the AfterTest action, but only if the BeforeTest + action was actually run. + </summary> + <param name="test">The test to which the action applies</param> + </member> + <member name="T:NUnit.Framework.Internal.Commands.TestCommand"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.TestCommand.#ctor(NUnit.Framework.Internal.Test)"> + <summary> + Construct a TestCommand for a test. + </summary> + <param name="test">The test to be executed</param> + </member> + <member name="P:NUnit.Framework.Internal.Commands.TestCommand.Test"> + <summary> + Gets the test associated with this command. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.TestCommand.Execute(NUnit.Framework.Internal.TestExecutionContext)"> + <summary> + Runs the test in a specified context, returning a TestResult. + </summary> + <param name="context">The TestExecutionContext to be used for running the test.</param> + <returns>A TestResult</returns> + </member> + <member name="T:NUnit.Framework.Internal.Commands.TestMethodCommand"> + <summary> + TestMethodCommand is the lowest level concrete command + used to run actual test cases. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.TestMethodCommand.#ctor(NUnit.Framework.Internal.TestMethod)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.Commands.TestMethodCommand"/> class. + </summary> + <param name="testMethod">The test.</param> + </member> + <member name="M:NUnit.Framework.Internal.Commands.TestMethodCommand.Execute(NUnit.Framework.Internal.TestExecutionContext)"> + <summary> + 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. + </summary> + <param name="context">The execution context</param> + </member> + <member name="T:NUnit.Framework.Internal.Commands.TheoryResultCommand"> + <summary> + TheoryResultCommand adjusts the result of a Theory so that + it fails if all the results were inconclusive. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.TheoryResultCommand.#ctor(NUnit.Framework.Internal.Commands.TestCommand)"> + <summary> + Constructs a TheoryResultCommand + </summary> + <param name="command">The command to be wrapped by this one</param> + </member> + <member name="T:NUnit.Framework.Internal.Commands.TimeoutCommand"> + <summary> + <see cref="T:NUnit.Framework.Internal.Commands.TimeoutCommand"/> 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.TimeoutCommand.#ctor(NUnit.Framework.Internal.Commands.TestCommand,System.Int32)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.Commands.TimeoutCommand"/> class. + </summary> + <param name="innerCommand">The inner command</param> + <param name="timeout">Timeout value</param> + </member> + <member name="M:NUnit.Framework.Internal.Commands.TimeoutCommand.#ctor(NUnit.Framework.Internal.Commands.TestCommand,System.Int32,NUnit.Framework.Internal.Abstractions.IDebugger)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.Commands.TimeoutCommand"/> class. + </summary> + <param name="innerCommand">The inner command</param> + <param name="timeout">Timeout value</param> + <param name="debugger">An <see cref="T:NUnit.Framework.Internal.Abstractions.IDebugger" /> instance</param> + </member> + <member name="T:NUnit.Framework.Internal.ConstraintUtils"> + <summary> + Provides methods to support consistent checking in constraints. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ConstraintUtils.RequireActual``1(System.Object,System.String,System.Boolean)"> + <summary> + Requires that the provided object is actually of the type required. + </summary> + <param name="actual">The object to verify.</param> + <param name="paramName">Name of the parameter as passed into the checking method.</param> + <param name="allowNull"> + If <see langword="true"/> and <typeparamref name="T"/> can be null, returns null rather than throwing when <paramref name="actual"/> is null. + If <typeparamref name="T"/> cannot be null, this parameter is ignored.</param> + <typeparam name="T">The type to require.</typeparam> + </member> + <member name="T:NUnit.Framework.Internal.CultureDetector"> + <summary> + CultureDetector is a helper class used by NUnit to determine + whether a test should be run based on the current culture. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.CultureDetector.#ctor"> + <summary> + Default constructor uses the current culture. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.CultureDetector.#ctor(System.String)"> + <summary> + Construct a CultureDetector for a particular culture for testing. + </summary> + <param name="culture">The culture to be used</param> + </member> + <member name="M:NUnit.Framework.Internal.CultureDetector.IsCultureSupported(System.String[])"> + <summary> + Test to determine if one of a collection of cultures + is being used currently. + </summary> + <param name="cultures"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Internal.CultureDetector.IsCultureSupported(NUnit.Framework.CultureAttribute)"> + <summary> + Tests to determine if the current culture is supported + based on a culture attribute. + </summary> + <param name="cultureAttribute">The attribute to examine</param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Internal.CultureDetector.IsCultureSupported(System.String)"> + <summary> + Test to determine if the a particular culture or comma- + delimited set of cultures is in use. + </summary> + <param name="culture">Name of the culture or comma-separated list of culture ids</param> + <returns>True if the culture is in use on the system</returns> + </member> + <member name="P:NUnit.Framework.Internal.CultureDetector.Reason"> + <summary> + Return the last failure reason. Results are not + defined if called before IsSupported( Attribute ) + is called. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.DefaultBlockingAwaitAdapter"> + <summary> + Useful when wrapping awaiters whose <c>GetResult</c> method does not block until complete. + Contains a default mechanism to implement <see cref="M:NUnit.Framework.Internal.AwaitAdapter.BlockUntilCompleted"/> + via <see cref="P:NUnit.Framework.Internal.AwaitAdapter.IsCompleted"/> and <see cref="M:NUnit.Framework.Internal.AwaitAdapter.OnCompleted(System.Action)"/>. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.ExceptionHelper"> + <summary> + ExceptionHelper provides static methods for working with exceptions + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ExceptionHelper.Rethrow(System.Exception)"> + <summary> + Rethrows an exception, preserving its stack trace + </summary> + <param name="exception">The exception to rethrow</param> + </member> + <member name="M:NUnit.Framework.Internal.ExceptionHelper.BuildMessage(System.Exception,System.Boolean)"> + <summary> + 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. + </summary> + <param name="exception">The exception.</param> + <param name="excludeExceptionNames">Flag indicating whether exception names should be excluded.</param> + <returns>A combined message string.</returns> + </member> + <member name="M:NUnit.Framework.Internal.ExceptionHelper.BuildStackTrace(System.Exception)"> + <summary> + Builds up a message, using the Message field of the specified exception + as well as any InnerExceptions. + </summary> + <param name="exception">The exception.</param> + <returns>A combined stack trace.</returns> + </member> + <member name="M:NUnit.Framework.Internal.ExceptionHelper.RecordException(System.Delegate,System.String)"> + <summary> + Executes a parameterless synchronous or async delegate and returns the exception it throws, if any. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Execution.CompositeWorkItem"> + <summary> + A CompositeWorkItem represents a test suite and + encapsulates the execution of the suite as well + as all its child tests. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.CompositeWorkItem.Children"> + <summary> + List of Child WorkItems + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.CompositeWorkItem.IsolateChildTests"> + <summary> + Indicates whether this work item should use a separate dispatcher. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.CompositeWorkItem.#ctor(NUnit.Framework.Internal.TestSuite,NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Construct a CompositeWorkItem for executing a test suite + using a filter to select child tests. + </summary> + <param name="suite">The TestSuite to be executed</param> + <param name="childFilter">A filter used to select child tests</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.CompositeWorkItem.PerformWork"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.CompositeWorkItem.OnAllChildItemsCompleted"> + <summary> + + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.CompositeWorkItem.Cancel(System.Boolean)"> + <summary> + Cancel (abort or stop) a CompositeWorkItem and all of its children + </summary> + <param name="force">true if the CompositeWorkItem and all of its children should be aborted, false if it should allow all currently running tests to complete</param> + </member> + <member name="T:NUnit.Framework.Internal.Execution.CompositeWorkItem.OneTimeTearDownWorkItem"> + <summary> + OneTimeTearDownWorkItem represents the cleanup + and one-time teardown phase of a CompositeWorkItem + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.CompositeWorkItem.OneTimeTearDownWorkItem.#ctor(NUnit.Framework.Internal.Execution.CompositeWorkItem)"> + <summary> + Construct a OneTimeTearDownWOrkItem wrapping a CompositeWorkItem + </summary> + <param name="originalItem">The CompositeWorkItem being wrapped</param> + </member> + <member name="P:NUnit.Framework.Internal.Execution.CompositeWorkItem.OneTimeTearDownWorkItem.Name"> + <summary> + The WorkItem name, overridden to indicate this is the teardown. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.CompositeWorkItem.OneTimeTearDownWorkItem.ExecutionStrategy"> + <summary> + The ExecutionStrategy for use in running this work item + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.CompositeWorkItem.OneTimeTearDownWorkItem.Execute"> + <summary> + + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.CompositeWorkItem.OneTimeTearDownWorkItem.PerformWork"> + <summary> + PerformWork is not used in CompositeWorkItem + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.CompositeWorkItem.OneTimeTearDownWorkItem.WorkItemCancelled"> + <summary> + 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. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Execution.EventListenerTextWriter"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.#ctor(System.String,System.IO.TextWriter)"> + <summary> + Construct an EventListenerTextWriter + </summary> + <param name="streamName">The name of the stream to use for events</param> + <param name="defaultWriter">The default writer to use if no listener is available</param> + </member> + <member name="P:NUnit.Framework.Internal.Execution.EventListenerTextWriter.Encoding"> + <summary> + Get the Encoding for this TextWriter + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.Write(System.String,System.Object[])"> + <summary> + Write formatted string + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.Write(System.String,System.Object,System.Object,System.Object)"> + <summary> + Write formatted string + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.Write(System.String,System.Object)"> + <summary> + Write formatted string + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.Write(System.Object)"> + <summary> + Write an object + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.Write(System.String)"> + <summary> + Write a string + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.Write(System.Decimal)"> + <summary> + Write a decimal + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.Write(System.Double)"> + <summary> + Write a double + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.Write(System.String,System.Object,System.Object)"> + <summary> + Write formatted string + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.Write(System.UInt64)"> + <summary> + Write a ulong + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.Write(System.Int64)"> + <summary> + Write a long + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.Write(System.UInt32)"> + <summary> + Write a uint + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.Write(System.Int32)"> + <summary> + Write an int + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.Write(System.Char)"> + <summary> + Write a char + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.Write(System.Boolean)"> + <summary> + Write a boolean + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.Write(System.Char[],System.Int32,System.Int32)"> + <summary> + Write chars + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.Write(System.Char[])"> + <summary> + Write chars + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.Write(System.Single)"> + <summary> + Write a float + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.WriteLine(System.String)"> + <summary> + Write a string with newline + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.WriteLine(System.Object)"> + <summary> + Write an object with newline + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.WriteLine(System.String,System.Object[])"> + <summary> + Write formatted string with newline + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.WriteLine(System.String,System.Object,System.Object)"> + <summary> + Write formatted string with newline + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.WriteLine(System.String,System.Object,System.Object,System.Object)"> + <summary> + Write formatted string with newline + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.WriteLine(System.Decimal)"> + <summary> + Write a decimal with newline + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.WriteLine(System.String,System.Object)"> + <summary> + Write a formatted string with newline + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.WriteLine(System.Double)"> + <summary> + Write a double with newline + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.WriteLine(System.UInt32)"> + <summary> + Write a uint with newline + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.WriteLine(System.UInt64)"> + <summary> + Write a ulong with newline + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.WriteLine(System.Int64)"> + <summary> + Write a long with newline + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.WriteLine(System.Int32)"> + <summary> + Write an int with newline + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.WriteLine(System.Boolean)"> + <summary> + Write a bool with newline + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.WriteLine(System.Char[],System.Int32,System.Int32)"> + <summary> + Write chars with newline + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.WriteLine(System.Char[])"> + <summary> + Write chars with newline + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.WriteLine(System.Char)"> + <summary> + Write a char with newline + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.WriteLine(System.Single)"> + <summary> + Write a float with newline + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.WriteLine"> + <summary> + Write newline + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Execution.EventPumpState"> + <summary> + The EventPumpState enum represents the state of an + EventPump. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Execution.EventPumpState.Stopped"> + <summary> + The pump is stopped + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Execution.EventPumpState.Pumping"> + <summary> + The pump is pumping events with no stop requested + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Execution.EventPumpState.Stopping"> + <summary> + The pump is pumping events but a stop has been requested + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Execution.EventPump"> + <summary> + 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. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Execution.EventPump._eventListener"> + <summary> + The downstream listener to which we send events + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Execution.EventPump._events"> + <summary> + The queue that holds our events + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Execution.EventPump._pumpThread"> + <summary> + Thread to do the pumping + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Execution.EventPump._pumpState"> + <summary> + The current state of the event pump + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventPump.#ctor(NUnit.Framework.Interfaces.ITestListener,NUnit.Framework.Internal.Execution.EventQueue)"> + <summary> + Constructor + </summary> + <param name="eventListener">The EventListener to receive events</param> + <param name="events">The event queue to pull events from</param> + </member> + <member name="P:NUnit.Framework.Internal.Execution.EventPump.PumpState"> + <summary> + Gets or sets the current state of the pump + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.EventPump.Name"> + <summary> + Gets or sets the name of this EventPump + (used only internally and for testing). + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventPump.Dispose"> + <summary> + Dispose stops the pump + Disposes the used WaitHandle, too. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventPump.Start"> + <summary> + Start the pump + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventPump.Stop"> + <summary> + Tell the pump to stop after emptying the queue. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventPump.PumpThreadProc"> + <summary> + 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. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Execution.Event"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.Event.Send(NUnit.Framework.Interfaces.ITestListener)"> + <summary> + The Send method is implemented by derived classes to send the event to the specified listener. + </summary> + <param name="listener">The listener.</param> + </member> + <member name="T:NUnit.Framework.Internal.Execution.TestStartedEvent"> + <summary> + TestStartedEvent holds information needed to call the TestStarted method. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.TestStartedEvent.#ctor(NUnit.Framework.Interfaces.ITest)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.Execution.TestStartedEvent"/> class. + </summary> + <param name="test">The test.</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.TestStartedEvent.Send(NUnit.Framework.Interfaces.ITestListener)"> + <summary> + Calls TestStarted on the specified listener. + </summary> + <param name="listener">The listener.</param> + </member> + <member name="T:NUnit.Framework.Internal.Execution.TestFinishedEvent"> + <summary> + TestFinishedEvent holds information needed to call the TestFinished method. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.TestFinishedEvent.#ctor(NUnit.Framework.Interfaces.ITestResult)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.Execution.TestFinishedEvent"/> class. + </summary> + <param name="result">The result.</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.TestFinishedEvent.Send(NUnit.Framework.Interfaces.ITestListener)"> + <summary> + Calls TestFinished on the specified listener. + </summary> + <param name="listener">The listener.</param> + </member> + <member name="T:NUnit.Framework.Internal.Execution.TestOutputEvent"> + <summary> + TestOutputEvent holds information needed to call the TestOutput method. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.TestOutputEvent.#ctor(NUnit.Framework.Interfaces.TestOutput)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.Execution.TestOutputEvent"/> class. + </summary> + <param name="output">The output object.</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.TestOutputEvent.Send(NUnit.Framework.Interfaces.ITestListener)"> + <summary> + Calls TestOutput on the specified listener. + </summary> + <param name="listener">The listener.</param> + </member> + <member name="T:NUnit.Framework.Internal.Execution.TestMessageEvent"> + <summary> + TestMessageEvent holds information needed to call the SendMessage method. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.TestMessageEvent.#ctor(NUnit.Framework.Interfaces.TestMessage)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.Execution.TestMessageEvent"/> class. + </summary> + <param name="testMessage">The test message object.</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.TestMessageEvent.Send(NUnit.Framework.Interfaces.ITestListener)"> + <summary> + Calls <see cref="M:NUnit.Framework.Internal.Execution.TestMessageEvent.Send(NUnit.Framework.Interfaces.ITestListener)"/> on the specified listener. + </summary> + <param name="listener">The listener.</param> + </member> + <member name="P:NUnit.Framework.Internal.Execution.TestMessageEvent.TestMessage"> + <summary> + Holds <see cref="P:NUnit.Framework.Internal.Execution.TestMessageEvent.TestMessage"/> object for sending to all listeners + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Execution.EventQueue"> + <summary> + Implements a queue of work items each of which + is queued as a WaitCallback. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.EventQueue.Count"> + <summary> + Gets the count of items in the queue. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventQueue.Enqueue(NUnit.Framework.Internal.Execution.Event)"> + <summary> + Enqueues the specified event + </summary> + <param name="e">The event to enqueue.</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventQueue.Dequeue(System.Boolean)"> + <summary> + Removes the first element from the queue and returns it (or <see langword="null"/>). + </summary> + <param name="blockWhenEmpty"> + If <see langword="true"/> and the queue is empty, the calling thread is blocked until + either an element is enqueued, or <see cref="M:NUnit.Framework.Internal.Execution.EventQueue.Stop"/> is called. + </param> + <returns> + <list type="bullet"> + <item> + <term>If the queue not empty</term> + <description>the first element.</description> + </item> + <item> + <term>otherwise, if <paramref name="blockWhenEmpty"/>==<see langword="false"/> + or <see cref="M:NUnit.Framework.Internal.Execution.EventQueue.Stop"/> has been called</term> + <description><see langword="null"/>.</description> + </item> + </list> + </returns> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventQueue.Stop"> + <summary> + Stop processing of the queue + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Execution.IMethodValidator"> + <summary> + Validates method to execute. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.IMethodValidator.Validate(System.Reflection.MethodInfo)"> + <summary> + Determines whether a method is allowed to execute and throws an exception otherwise. + </summary> + <param name="method">The method to validate.</param> + </member> + <member name="T:NUnit.Framework.Internal.Execution.IWorkItemDispatcher"> + <summary> + An IWorkItemDispatcher handles execution of work items. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.IWorkItemDispatcher.LevelOfParallelism"> + <summary> + The level of parallelism supported. Zero if not supported. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.IWorkItemDispatcher.Start(NUnit.Framework.Internal.Execution.WorkItem)"> + <summary> + Start execution, performing any initialization. Sets + the top level work item and dispatches it. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.IWorkItemDispatcher.Dispatch(NUnit.Framework.Internal.Execution.WorkItem)"> + <summary> + 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. + </summary> + <param name="work">The item to dispatch</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.IWorkItemDispatcher.CancelRun(System.Boolean)"> + <summary> + Cancel the ongoing run completely. + If no run is in process, the call has no effect. + </summary> + <param name="force">true if the IWorkItemDispatcher should abort all currently running WorkItems, false if it should allow all currently running WorkItems to complete</param> + </member> + <member name="T:NUnit.Framework.Internal.Execution.MainThreadWorkItemDispatcher"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.MainThreadWorkItemDispatcher.LevelOfParallelism"> + <summary> + The level of parallelism supported + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.MainThreadWorkItemDispatcher.Start(NUnit.Framework.Internal.Execution.WorkItem)"> + <summary> + Start execution, dispatching the top level + work into the main thread. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.MainThreadWorkItemDispatcher.Dispatch(NUnit.Framework.Internal.Execution.WorkItem)"> + <summary> + Dispatch a single work item for execution by + executing it directly. + </summary> + <param name="work">The item to dispatch</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.MainThreadWorkItemDispatcher.CancelRun(System.Boolean)"> + <summary> + This method is not supported for + this dispatcher. Using it will throw a + NotSupportedException. + </summary> + <param name="force">Not used</param> + <exception cref="T:System.NotSupportedException">If used, it will always throw this.</exception> + </member> + <member name="T:NUnit.Framework.Internal.Execution.ParallelExecutionStrategy"> + <summary> + Enumeration representing the strategy to follow in executing a work item. + The value is only relevant when running under the parallel dispatcher. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Execution.ParallelExecutionStrategy.Direct"> + <summary> + Run directly on same thread + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Execution.ParallelExecutionStrategy.Parallel"> + <summary> + Enqueue for parallel execution + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Execution.ParallelExecutionStrategy.NonParallel"> + <summary> + Enqueue for non-parallel execution + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Execution.ParallelWorkItemDispatcher"> + <summary> + ParallelWorkItemDispatcher handles execution of work items by + queuing them for worker threads to process. + </summary> + </member> + <member name="E:NUnit.Framework.Internal.Execution.ParallelWorkItemDispatcher.ShiftStarting"> + <summary> + Event raised whenever a shift is starting. + </summary> + </member> + <member name="E:NUnit.Framework.Internal.Execution.ParallelWorkItemDispatcher.ShiftFinished"> + <summary> + Event raised whenever a shift has ended. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.ParallelWorkItemDispatcher.#ctor(System.Int32)"> + <summary> + Construct a ParallelWorkItemDispatcher + </summary> + <param name="levelOfParallelism">Number of workers to use</param> + </member> + <member name="P:NUnit.Framework.Internal.Execution.ParallelWorkItemDispatcher.LevelOfParallelism"> + <summary> + Number of parallel worker threads + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.ParallelWorkItemDispatcher.Shifts"> + <summary> + Enumerates all the shifts supported by the dispatcher + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.ParallelWorkItemDispatcher.Queues"> + <summary> + Enumerates all the Queues supported by the dispatcher + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.ParallelWorkItemDispatcher.Start(NUnit.Framework.Internal.Execution.WorkItem)"> + <summary> + Start execution, setting the top level work, + enqueuing it and starting a shift to execute it. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.ParallelWorkItemDispatcher.Dispatch(NUnit.Framework.Internal.Execution.WorkItem)"> + <summary> + 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. + </summary> + <param name="work">The item to dispatch</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.ParallelWorkItemDispatcher.CancelRun(System.Boolean)"> + <summary> + Cancel the ongoing run completely. + If no run is in process, the call has no effect. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.ParallelWorkItemDispatcher.IsolateQueues(NUnit.Framework.Internal.Execution.WorkItem)"> + <summary> + Save the state of the queues and create a new isolated set + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.ParallelWorkItemDispatcher.TryRestoreQueues"> + <summary> + Try to remove isolated queues and restore old ones + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Execution.QueuingEventListener"> + <summary> + QueuingEventListener uses an EventQueue to store any + events received on its EventListener interface. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.QueuingEventListener.Events"> + <summary> + The EventQueue created and filled by this listener + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.QueuingEventListener.#ctor"> + <summary> + Construct a QueuingEventListener + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.QueuingEventListener.TestStarted(NUnit.Framework.Interfaces.ITest)"> + <summary> + A test has started + </summary> + <param name="test">The test that is starting</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.QueuingEventListener.TestFinished(NUnit.Framework.Interfaces.ITestResult)"> + <summary> + A test case finished + </summary> + <param name="result">Result of the test case</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.QueuingEventListener.TestOutput(NUnit.Framework.Interfaces.TestOutput)"> + <summary> + Called when a test produces output for immediate display + </summary> + <param name="output">A TestOutput object containing the text to display</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.QueuingEventListener.SendMessage(NUnit.Framework.Interfaces.TestMessage)"> + <summary> + Called when a test produces a message to be sent to listeners + </summary> + <param name="message">A <see cref="T:NUnit.Framework.Interfaces.TestMessage"/> object containing the text to send</param> + </member> + <member name="T:NUnit.Framework.Internal.Execution.SimpleWorkItem"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.SimpleWorkItem.#ctor(NUnit.Framework.Internal.TestMethod,NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Construct a simple work item for a test. + </summary> + <param name="test">The test to be executed</param> + <param name="filter">The filter used to select this test</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.SimpleWorkItem.#ctor(NUnit.Framework.Internal.TestMethod,NUnit.Framework.Interfaces.ITestFilter,NUnit.Framework.Internal.Abstractions.IDebugger)"> + <summary> + Construct a simple work item for a test. + </summary> + <param name="test">The test to be executed</param> + <param name="filter">The filter used to select this test</param> + <param name="debugger">An <see cref="T:NUnit.Framework.Internal.Abstractions.IDebugger"/> instance</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.SimpleWorkItem.PerformWork"> + <summary> + Method that performs actually performs the work. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.SimpleWorkItem.MakeTestCommand"> + <summary> + Creates a test command for use in running this test. + </summary> + <returns>A TestCommand</returns> + </member> + <member name="T:NUnit.Framework.Internal.Execution.SimpleWorkItemDispatcher"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.SimpleWorkItemDispatcher.LevelOfParallelism"> + <summary> + The level of parallelism supported + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.SimpleWorkItemDispatcher.Start(NUnit.Framework.Internal.Execution.WorkItem)"> + <summary> + Start execution, creating the execution thread, + setting the top level work and dispatching it. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.SimpleWorkItemDispatcher.Dispatch(NUnit.Framework.Internal.Execution.WorkItem)"> + <summary> + Dispatch a single work item for execution by + executing it directly. + </summary> + <param name="work">The item to dispatch</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.SimpleWorkItemDispatcher.CancelRun(System.Boolean)"> + <summary> + Cancel (abort or stop) the ongoing run. + If no run is in process, the call has no effect. + </summary> + <param name="force">true if the run should be aborted, false if it should allow its currently running test to complete</param> + </member> + <member name="T:NUnit.Framework.Internal.Execution.StaticMethodValidator"> + <summary> + Checks whether the method to execute is static. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.StaticMethodValidator.#ctor(System.String)"> + <summary> + Construct a StaticMethodValidator. + </summary> + <param name="failMessage">The error message to output in case the validation fails.</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.StaticMethodValidator.Validate(System.Reflection.MethodInfo)"> + <summary> + Determines whether a method to execute is static and throws an InvalidOperationException otherwise. + </summary> + <param name="method">The method to validate.</param> + </member> + <member name="T:NUnit.Framework.Internal.Execution.TestWorker"> + <summary> + A TestWorker pulls work items from a queue + and executes them. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Execution.TestWorker.TestWorkerEventHandler"> + <summary> + Event handler for TestWorker events + </summary> + <param name="worker">The TestWorker sending the event</param> + <param name="work">The WorkItem that caused the event</param> + </member> + <member name="E:NUnit.Framework.Internal.Execution.TestWorker.Busy"> + <summary> + Event signaled immediately before executing a WorkItem + </summary> + </member> + <member name="E:NUnit.Framework.Internal.Execution.TestWorker.Idle"> + <summary> + Event signaled immediately after executing a WorkItem + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.TestWorker.#ctor(NUnit.Framework.Internal.Execution.WorkItemQueue,System.String)"> + <summary> + Construct a new TestWorker. + </summary> + <param name="queue">The queue from which to pull work items</param> + <param name="name">The name of this worker</param> + </member> + <member name="P:NUnit.Framework.Internal.Execution.TestWorker.WorkQueue"> + <summary> + The WorkItemQueue from which this worker pulls WorkItems + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.TestWorker.Name"> + <summary> + The name of this worker - also used for the thread + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.TestWorker.IsAlive"> + <summary> + Indicates whether the worker thread is running + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Execution.TestWorker._currentWorkItem"> + <summary> + Our ThreadProc, which pulls and runs tests in a loop + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.TestWorker.Start"> + <summary> + Create thread and start processing work items. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.TestWorker.Cancel(System.Boolean)"> + <summary> + Stop the thread, either immediately or after finishing the current WorkItem + </summary> + <param name="force">true if the thread should be aborted, false if it should allow the currently running test to complete</param> + </member> + <member name="T:NUnit.Framework.Internal.Execution.TextCapture"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.TextCapture.#ctor(System.IO.TextWriter)"> + <summary> + Construct a TextCapture object + </summary> + <param name="defaultWriter">The default destination for non-intercepted output</param> + </member> + <member name="P:NUnit.Framework.Internal.Execution.TextCapture.Encoding"> + <summary> + Gets the Encoding in use by this TextWriter + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.TextCapture.Write(System.Char)"> + <summary> + Writes a single character + </summary> + <param name="value">The char to write</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.TextCapture.Write(System.String)"> + <summary> + Writes a string + </summary> + <param name="value">The string to write</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.TextCapture.WriteLine(System.String)"> + <summary> + Writes a string followed by a line terminator + </summary> + <param name="value">The string to write</param> + </member> + <member name="T:NUnit.Framework.Internal.Execution.WorkItem"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItem.#ctor(NUnit.Framework.Internal.Test,NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Construct a WorkItem for a particular test. + </summary> + <param name="test">The test that the WorkItem will run</param> + <param name="filter">Filter used to include or exclude child items</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItem.#ctor(NUnit.Framework.Internal.Execution.WorkItem)"> + <summary> + 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. + </summary> + <param name="wrappedItem">The WorkItem being wrapped</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItem.InitializeContext(NUnit.Framework.Internal.TestExecutionContext)"> + <summary> + Initialize the TestExecutionContext. This must be done + before executing the WorkItem. + </summary> + <remarks> + 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. + </remarks> + <param name="context">The TestExecutionContext to use</param> + </member> + <member name="E:NUnit.Framework.Internal.Execution.WorkItem.Completed"> + <summary> + Event triggered when the item is complete + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkItem.State"> + <summary> + Gets the current state of the WorkItem + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkItem.Test"> + <summary> + The test being executed by the work item + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkItem.Name"> + <summary> + The name of the work item - defaults to the Test name. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkItem.Filter"> + <summary> + Filter used to include or exclude child tests + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkItem.Context"> + <summary> + The execution context + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkItem.TestWorker"> + <summary> + The worker executing this item. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkItem.ExecutionStrategy"> + <summary> + The ParallelExecutionStrategy to use for this work item + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkItem.IsolateChildTests"> + <summary> + Indicates whether this work item should use a separate dispatcher. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkItem.Result"> + <summary> + The test result + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkItem.ParallelScope"> + <summary> + Gets the ParallelScope associated with the test, if any, + otherwise returning ParallelScope.Default; + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItem.Execute"> + <summary> + Execute the current work item, including any + child work items. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItem.WaitForCompletion"> + <summary> + Wait until the execution of this item is complete + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItem.MarkNotRunnable(System.String)"> + <summary> + Marks the WorkItem as NotRunnable. + </summary> + <param name="reason">Reason for test being NotRunnable.</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItem.Cancel(System.Boolean)"> + <summary> + Cancel (abort or stop) a WorkItem + </summary> + <param name="force">true if the WorkItem should be aborted, false if it should run to completion</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItem.Dispose"> + <summary> + Standard Dispose + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItem.PerformWork"> + <summary> + Method that performs actually performs the work. It should + set the State to WorkItemState.Complete when done. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItem.WorkItemComplete"> + <summary> + Method called by the derived class when all work is complete + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItem.BuildSetUpTearDownList(NUnit.Framework.Interfaces.IMethodInfo[],NUnit.Framework.Interfaces.IMethodInfo[],NUnit.Framework.Internal.Execution.IMethodValidator)"> + <summary> + Builds the set up tear down list. + </summary> + <param name="setUpMethods">Unsorted array of setup MethodInfos.</param> + <param name="tearDownMethods">Unsorted array of teardown MethodInfos.</param> + <param name="methodValidator">Method validator used before each method execution.</param> + <returns>A list of SetUpTearDownItems</returns> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItem.ChangeResult(NUnit.Framework.Interfaces.ResultState,System.String)"> + <summary> + Changes the result of the test, logging the old and new states + </summary> + <param name="resultState">The new ResultState</param> + <param name="message">The new message</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItem.GetTargetApartment(NUnit.Framework.Interfaces.ITest)"> + <summary> + Recursively walks up the test hierarchy to see if the + <see cref="T:System.Threading.ApartmentState"/> has been set on any of the parent tests. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Execution.WorkItemBuilder"> + <summary> + WorkItemBuilder class knows how to build a tree of work items from a tree of tests + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItemBuilder.CreateWorkItem(NUnit.Framework.Interfaces.ITest,NUnit.Framework.Interfaces.ITestFilter,System.Boolean)"> + <summary> + Creates a work item. + </summary> + <param name="test">The test for which this WorkItem is being created.</param> + <param name="filter">The filter to be used in selecting any child Tests.</param> + <param name="recursive">True if child work items should be created and added.</param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItemBuilder.CreateWorkItem(NUnit.Framework.Interfaces.ITest,NUnit.Framework.Interfaces.ITestFilter,NUnit.Framework.Internal.Abstractions.IDebugger,System.Boolean,System.Boolean)"> + <summary> + Creates a work item. + </summary> + <param name="test">The test for which this WorkItem is being created.</param> + <param name="filter">The filter to be used in selecting any child Tests.</param> + <param name="debugger">An <see cref="T:NUnit.Framework.Internal.Abstractions.IDebugger" /> instance.</param> + <param name="recursive">True if child work items should be created and added.</param> + <param name="root"><see langword="true"/> if work item needs to be created unconditionally, if <see langword="false"/> <see langword="null"/> will be returned for tests that don't match the filter.</param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItemBuilder.WorkItemOrderComparer.Compare(NUnit.Framework.Internal.Execution.WorkItem,NUnit.Framework.Internal.Execution.WorkItem)"> + <summary> + Compares two objects and returns a value indicating whether one is less than, equal to, or greater than the other. + </summary> + <returns> + A signed integer that indicates the relative values of <paramref name="x"/> and <paramref name="y"/>, as shown in the following table.Value Meaning Less than zero<paramref name="x"/> is less than <paramref name="y"/>.Zero<paramref name="x"/> equals <paramref name="y"/>.Greater than zero<paramref name="x"/> is greater than <paramref name="y"/>. + </returns> + <param name="x">The first object to compare.</param><param name="y">The second object to compare.</param> + </member> + <member name="T:NUnit.Framework.Internal.Execution.WorkItemQueueState"> + <summary> + WorkItemQueueState indicates the current state of a WorkItemQueue + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Execution.WorkItemQueueState.Paused"> + <summary> + The queue is paused + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Execution.WorkItemQueueState.Running"> + <summary> + The queue is running + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Execution.WorkItemQueueState.Stopped"> + <summary> + The queue is stopped + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Execution.WorkItemQueue"> + <summary> + A WorkItemQueue holds work items that are ready to + be run, either initially or after some dependency + has been satisfied. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItemQueue.#ctor(System.String,System.Boolean,System.Threading.ApartmentState)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.Execution.WorkItemQueue"/> class. + </summary> + <param name="name">The name of the queue.</param> + <param name="isParallel">Flag indicating whether this is a parallel queue</param> + <param name="apartment">ApartmentState to use for items on this queue</param> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkItemQueue.Name"> + <summary> + Gets the name of the work item queue. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkItemQueue.IsParallelQueue"> + <summary> + Gets a flag indicating whether this queue is used for parallel execution + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkItemQueue.TargetApartment"> + <summary> + Gets the target ApartmentState for work items on this queue + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkItemQueue.ItemsProcessed"> + <summary> + Gets the total number of items processed so far + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkItemQueue.State"> + <summary> + Gets the current state of the queue + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkItemQueue.IsEmpty"> + <summary> + Get a bool indicating whether the queue is empty. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItemQueue.Enqueue(NUnit.Framework.Internal.Execution.WorkItem)"> + <summary> + Enqueue a WorkItem to be processed + </summary> + <param name="work">The WorkItem to process</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItemQueue.Enqueue(NUnit.Framework.Internal.Execution.WorkItem,System.Int32)"> + <summary> + Enqueue a WorkItem to be processed - internal for testing + </summary> + <param name="work">The WorkItem to process</param> + <param name="priority">The priority at which to process the item</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItemQueue.Dequeue"> + <summary> + Dequeue a WorkItem for processing + </summary> + <returns>A WorkItem or null if the queue has stopped</returns> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItemQueue.Start"> + <summary> + Start or restart processing of items from the queue + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItemQueue.Stop"> + <summary> + Signal the queue to stop + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItemQueue.Pause"> + <summary> + Pause the queue for restarting later + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItemQueue.Save"> + <summary> + Save the current inner queue and create new ones for use by + a non-parallel fixture with parallel children. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItemQueue.Restore"> + <summary> + Restore the inner queue that was previously saved + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Execution.WorkItemState"> + <summary> + The current state of a work item + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Execution.WorkItemState.Ready"> + <summary> + Ready to run or continue + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Execution.WorkItemState.Running"> + <summary> + Work Item is executing + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Execution.WorkItemState.Complete"> + <summary> + Complete + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Execution.ShiftChangeEventHandler"> + <summary> + Handler for ShiftChange events. + </summary> + <param name="shift">The shift that is starting or ending.</param> + </member> + <member name="T:NUnit.Framework.Internal.Execution.WorkShift"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkShift.#ctor(System.String)"> + <summary> + Construct a WorkShift + </summary> + </member> + <member name="E:NUnit.Framework.Internal.Execution.WorkShift.EndOfShift"> + <summary> + Event that fires when the shift has ended + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkShift.Name"> + <summary> + The Name of this shift + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkShift.IsActive"> + <summary> + Gets a flag indicating whether the shift is currently active + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkShift.HasWork"> + <summary> + Gets a bool indicating whether this shift has any work to do + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkShift.Queues"> + <summary> + Gets a list of the queues associated with this shift. + </summary> + <remarks>Internal for testing - immutable once initialized</remarks> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkShift.Workers"> + <summary> + Gets the list of workers associated with this shift. + </summary> + <remarks>Internal for testing - immutable once initialized</remarks> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkShift.AddQueue(NUnit.Framework.Internal.Execution.WorkItemQueue)"> + <summary> + Add a WorkItemQueue to the shift, starting it if the + shift is currently active. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkShift.Assign(NUnit.Framework.Internal.Execution.TestWorker)"> + <summary> + Assign a worker to the shift. + </summary> + <param name="worker"></param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkShift.Start"> + <summary> + Start or restart processing for the shift + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkShift.EndShift"> + <summary> + End the shift, pausing all queues and raising + the EndOfShift event. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkShift.ShutDown"> + <summary> + Shut down the shift. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkShift.Cancel(System.Boolean)"> + <summary> + Cancel (abort or stop) the shift without completing all work + </summary> + <param name="force">true if the WorkShift should be aborted, false if it should allow its currently running tests to complete</param> + </member> + <member name="T:NUnit.Framework.Internal.TextMessageWriter"> + <summary> + 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. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TextMessageWriter.Pfx_Expected"> + <summary> + Prefix used for the expected value line of a message + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TextMessageWriter.Pfx_Actual"> + <summary> + Prefix used for the actual value line of a message + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TextMessageWriter.Pfx_Difference"> + <summary> + Prefix used for the actual difference between actual and expected values if compared with a tolerance + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TextMessageWriter.PrefixLength"> + <summary> + Length of a message prefix + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TextMessageWriter.#ctor"> + <summary> + Construct a TextMessageWriter + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TextMessageWriter.#ctor(System.String,System.Object[])"> + <summary> + Construct a TextMessageWriter, specifying a user message + and optional formatting arguments. + </summary> + <param name="userMessage"></param> + <param name="args"></param> + </member> + <member name="P:NUnit.Framework.Internal.TextMessageWriter.MaxLineLength"> + <summary> + Gets or sets the maximum line length for this writer + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TextMessageWriter.WriteMessageLine(System.Int32,System.String,System.Object[])"> + <summary> + Method to write single line message with optional args, usually + written to precede the general failure message, at a given + indentation level. + </summary> + <param name="level">The indentation level of the message</param> + <param name="message">The message to be written</param> + <param name="args">Any arguments used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Internal.TextMessageWriter.DisplayDifferences(NUnit.Framework.Constraints.ConstraintResult)"> + <summary> + 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. + </summary> + <param name="result">The result of the constraint that failed</param> + </member> + <member name="M:NUnit.Framework.Internal.TextMessageWriter.ResolveTypeNameDifference(System.Object,System.Object,System.String@,System.String@)"> + <summary> + Gets the unique type name between expected and actual. + </summary> + <param name="expected">The expected value</param> + <param name="actual">The actual value causing the failure</param> + <param name="expectedType">Output of the unique type name for expected</param> + <param name="actualType">Output of the unique type name for actual</param> + </member> + <member name="M:NUnit.Framework.Internal.TextMessageWriter.DisplayDifferences(System.Object,System.Object)"> + <summary> + 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. + </summary> + <param name="expected">The expected value</param> + <param name="actual">The actual value causing the failure</param> + </member> + <member name="M:NUnit.Framework.Internal.TextMessageWriter.DisplayDifferences(System.Object,System.Object,NUnit.Framework.Constraints.Tolerance)"> + <summary> + Display Expected and Actual lines for given values, including + a tolerance value on the expected line. + </summary> + <param name="expected">The expected value</param> + <param name="actual">The actual value causing the failure</param> + <param name="tolerance">The tolerance within which the test was made</param> + </member> + <member name="M:NUnit.Framework.Internal.TextMessageWriter.DisplayStringDifferences(System.String,System.String,System.Int32,System.Boolean,System.Boolean)"> + <summary> + 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. + </summary> + <param name="expected">The expected string value</param> + <param name="actual">The actual string value</param> + <param name="mismatch">The point at which the strings don't match or -1</param> + <param name="ignoreCase">If true, case is ignored in string comparisons</param> + <param name="clipping">If true, clip the strings to fit the max line length</param> + </member> + <member name="M:NUnit.Framework.Internal.TextMessageWriter.WriteActualValue(System.Object)"> + <summary> + Writes the text for an actual value. + </summary> + <param name="actual">The actual value.</param> + </member> + <member name="M:NUnit.Framework.Internal.TextMessageWriter.WriteValue(System.Object)"> + <summary> + Writes the text for a generalized value. + </summary> + <param name="val">The value.</param> + </member> + <member name="M:NUnit.Framework.Internal.TextMessageWriter.WriteCollectionElements(System.Collections.IEnumerable,System.Int64,System.Int32)"> + <summary> + Writes the text for a collection value, + starting at a particular point, to a max length + </summary> + <param name="collection">The collection containing elements to write.</param> + <param name="start">The starting point of the elements to write</param> + <param name="max">The maximum number of elements to write</param> + </member> + <member name="M:NUnit.Framework.Internal.TextMessageWriter.WriteExpectedLine(NUnit.Framework.Constraints.ConstraintResult)"> + <summary> + Write the generic 'Expected' line for a constraint + </summary> + <param name="result">The constraint that failed</param> + </member> + <member name="M:NUnit.Framework.Internal.TextMessageWriter.WriteExpectedLine(System.Object,NUnit.Framework.Constraints.Tolerance)"> + <summary> + Write the generic 'Expected' line for a given value + and tolerance. + </summary> + <param name="expected">The expected value</param> + <param name="tolerance">The tolerance within which the test was made</param> + </member> + <member name="M:NUnit.Framework.Internal.TextMessageWriter.WriteActualLine(NUnit.Framework.Constraints.ConstraintResult)"> + <summary> + Write the generic 'Actual' line for a constraint + </summary> + <param name="result">The ConstraintResult for which the actual value is to be written</param> + </member> + <member name="M:NUnit.Framework.Internal.TextMessageWriter.WriteActualLine(System.Object)"> + <summary> + Write the generic 'Actual' line for a given value + </summary> + <param name="actual">The actual value causing a failure</param> + </member> + <member name="T:NUnit.Framework.Internal.Extensions.IPropertyBagDataExtensions"> + <summary> + Extensions to <see cref="T:NUnit.Framework.Interfaces.IPropertyBag"/>. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Extensions.IPropertyBagDataExtensions.AddIgnoreUntilReason(NUnit.Framework.Interfaces.IPropertyBag,System.DateTimeOffset,System.String)"> + <summary> + Adds the skip reason to tests that are ignored until a specific date. + </summary> + <param name="properties">The test properties to add the skip reason to</param> + <param name="untilDate">The date that the test is being ignored until</param> + <param name="reason">The reason the test is being ignored until that date</param> + </member> + <member name="T:NUnit.Framework.Internal.Filters.AndFilter"> + <summary> + Combines multiple filters so that a test must pass all + of them in order to pass this filter. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Filters.AndFilter.#ctor"> + <summary> + Constructs an empty AndFilter + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Filters.AndFilter.#ctor(NUnit.Framework.Internal.TestFilter[])"> + <summary> + Constructs an AndFilter from an array of filters + </summary> + <param name="filters"></param> + </member> + <member name="M:NUnit.Framework.Internal.Filters.AndFilter.Pass(NUnit.Framework.Interfaces.ITest,System.Boolean)"> + <summary> + Checks whether the AndFilter is matched by a test + </summary> + <param name="test">The test to be matched</param> + <param name="negated">If set to <see langword="true"/> we are carrying a negation through</param> + <returns>True if all the component filters pass, otherwise false</returns> + </member> + <member name="M:NUnit.Framework.Internal.Filters.AndFilter.Match(NUnit.Framework.Interfaces.ITest)"> + <summary> + Checks whether the AndFilter is matched by a test + </summary> + <param name="test">The test to be matched</param> + <returns>True if all the component filters match, otherwise false</returns> + </member> + <member name="M:NUnit.Framework.Internal.Filters.AndFilter.IsExplicitMatch(NUnit.Framework.Interfaces.ITest)"> + <summary> + Checks whether the AndFilter is explicit matched by a test. + </summary> + <param name="test">The test to be matched</param> + <returns>True if all the component filters explicit match, otherwise false</returns> + </member> + <member name="P:NUnit.Framework.Internal.Filters.AndFilter.ElementName"> + <summary> + Gets the element name + </summary> + <value>Element name</value> + </member> + <member name="T:NUnit.Framework.Internal.Filters.CategoryFilter"> + <summary> + CategoryFilter is able to select or exclude tests + based on their categories. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Filters.CategoryFilter.#ctor(System.String)"> + <summary> + Construct a CategoryFilter using a single category name + </summary> + <param name="name">A category name</param> + </member> + <member name="M:NUnit.Framework.Internal.Filters.CategoryFilter.Match(NUnit.Framework.Interfaces.ITest)"> + <summary> + Check whether the filter matches a test + </summary> + <param name="test">The test to be matched</param> + <returns></returns> + </member> + <member name="P:NUnit.Framework.Internal.Filters.CategoryFilter.ElementName"> + <summary> + Gets the element name + </summary> + <value>Element name</value> + </member> + <member name="T:NUnit.Framework.Internal.Filters.ClassNameFilter"> + <summary> + ClassName filter selects tests based on the class FullName + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Filters.ClassNameFilter.#ctor(System.String)"> + <summary> + Construct a FullNameFilter for a single name + </summary> + <param name="expectedValue">The name the filter will recognize.</param> + </member> + <member name="M:NUnit.Framework.Internal.Filters.ClassNameFilter.Match(NUnit.Framework.Interfaces.ITest)"> + <summary> + Match a test against a single value. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Filters.ClassNameFilter.ElementName"> + <summary> + Gets the element name + </summary> + <value>Element name</value> + </member> + <member name="T:NUnit.Framework.Internal.Filters.CompositeFilter"> + <summary> + A base class for multi-part filters + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Filters.CompositeFilter.#ctor"> + <summary> + Constructs an empty CompositeFilter + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Filters.CompositeFilter.#ctor(NUnit.Framework.Internal.TestFilter[])"> + <summary> + Constructs a CompositeFilter from an array of filters + </summary> + <param name="filters"></param> + </member> + <member name="P:NUnit.Framework.Internal.Filters.CompositeFilter.Filters"> + <summary> + Return a list of the composing filters. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Filters.CompositeFilter.Pass(NUnit.Framework.Interfaces.ITest,System.Boolean)"> + <summary> + Checks whether the CompositeFilter is matched by a test. + </summary> + <param name="test">The test to be matched</param> + <param name="negated">If set to <see langword="true"/> we are carrying a negation through</param> + </member> + <member name="M:NUnit.Framework.Internal.Filters.CompositeFilter.Match(NUnit.Framework.Interfaces.ITest)"> + <summary> + Checks whether the CompositeFilter is matched by a test. + </summary> + <param name="test">The test to be matched</param> + </member> + <member name="M:NUnit.Framework.Internal.Filters.CompositeFilter.IsExplicitMatch(NUnit.Framework.Interfaces.ITest)"> + <summary> + Checks whether the CompositeFilter is explicit matched by a test. + </summary> + <param name="test">The test to be matched</param> + </member> + <member name="M:NUnit.Framework.Internal.Filters.CompositeFilter.AddToXml(NUnit.Framework.Interfaces.TNode,System.Boolean)"> + <summary> + Adds an XML node + </summary> + <param name="parentNode">Parent node</param> + <param name="recursive">True if recursive</param> + <returns>The added XML node</returns> + </member> + <member name="P:NUnit.Framework.Internal.Filters.CompositeFilter.ElementName"> + <summary> + Gets the element name + </summary> + <value>Element name</value> + </member> + <member name="T:NUnit.Framework.Internal.Filters.FullNameFilter"> + <summary> + FullName filter selects tests based on their FullName + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Filters.FullNameFilter.#ctor(System.String)"> + <summary> + Construct a FullNameFilter for a single name + </summary> + <param name="expectedValue">The name the filter will recognize.</param> + </member> + <member name="M:NUnit.Framework.Internal.Filters.FullNameFilter.Match(NUnit.Framework.Interfaces.ITest)"> + <summary> + Match a test against a single value. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Filters.FullNameFilter.ElementName"> + <summary> + Gets the element name + </summary> + <value>Element name</value> + </member> + <member name="T:NUnit.Framework.Internal.Filters.IdFilter"> + <summary> + IdFilter selects tests based on their id + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Filters.IdFilter.#ctor(System.String)"> + <summary> + Construct an IdFilter for a single value + </summary> + <param name="id">The id the filter will recognize.</param> + </member> + <member name="M:NUnit.Framework.Internal.Filters.IdFilter.Match(NUnit.Framework.Interfaces.ITest)"> + <summary> + Match a test against a single value. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Filters.IdFilter.ElementName"> + <summary> + Gets the element name + </summary> + <value>Element name</value> + </member> + <member name="T:NUnit.Framework.Internal.Filters.InFilter"> + <summary> + Optimized filter to check in condition using HashSet. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Filters.InFilter.#ctor(System.Func{NUnit.Framework.Interfaces.ITest,System.String},System.Collections.Generic.IEnumerable{System.String},System.String)"> + <summary> + Constructs new InFilter. + </summary> + <param name="selector">Selector to get value to check.</param> + <param name="values">Valid values for the filter.</param> + <param name="xmlElementName">The XML element name the original filter used.</param> + </member> + <member name="M:NUnit.Framework.Internal.Filters.InFilter.TryOptimize(NUnit.Framework.Internal.Filters.OrFilter,NUnit.Framework.Internal.Filters.InFilter@)"> + <summary> + Tries to optimize OrFilter into InFilter if contained filters are all same and non-regex. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Filters.MethodNameFilter"> + <summary> + FullName filter selects tests based on their FullName + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Filters.MethodNameFilter.#ctor(System.String)"> + <summary> + Construct a MethodNameFilter for a single name + </summary> + <param name="expectedValue">The name the filter will recognize.</param> + </member> + <member name="M:NUnit.Framework.Internal.Filters.MethodNameFilter.Match(NUnit.Framework.Interfaces.ITest)"> + <summary> + Match a test against a single value. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Filters.MethodNameFilter.ElementName"> + <summary> + Gets the element name + </summary> + <value>Element name</value> + </member> + <member name="T:NUnit.Framework.Internal.Filters.NamespaceFilter"> + <summary> + ClassName filter selects tests based on the class FullName + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Filters.NamespaceFilter.#ctor(System.String)"> + <summary> + Construct a NamespaceFilter for a single namespace + </summary> + <param name="expectedValue">The namespace the filter will recognize.</param> + </member> + <member name="M:NUnit.Framework.Internal.Filters.NamespaceFilter.Match(NUnit.Framework.Interfaces.ITest)"> + <summary> + Match a test against a single value. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Filters.NamespaceFilter.ElementName"> + <summary> + Gets the element name + </summary> + <value>Element name</value> + </member> + <member name="T:NUnit.Framework.Internal.Filters.NotFilter"> + <summary> + NotFilter negates the operation of another filter + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Filters.NotFilter.#ctor(NUnit.Framework.Internal.TestFilter)"> + <summary> + Construct a not filter on another filter + </summary> + <param name="baseFilter">The filter to be negated</param> + </member> + <member name="P:NUnit.Framework.Internal.Filters.NotFilter.BaseFilter"> + <summary> + Gets the base filter + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Filters.NotFilter.Pass(NUnit.Framework.Interfaces.ITest,System.Boolean)"> + <summary> + Determine if a particular test passes the filter criteria. + </summary> + <param name="test">The test to which the filter is applied</param> + <param name="negated">If set to <see langword="true"/> we are carrying a negation through</param> + <returns>True if the test passes the filter, otherwise false</returns> + </member> + <member name="M:NUnit.Framework.Internal.Filters.NotFilter.Match(NUnit.Framework.Interfaces.ITest)"> + <summary> + Check whether the filter matches a test + </summary> + <param name="test">The test to be matched</param> + <returns>True if it matches, otherwise false</returns> + </member> + <member name="M:NUnit.Framework.Internal.Filters.NotFilter.IsExplicitMatch(NUnit.Framework.Interfaces.ITest)"> + <summary> + 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. + </summary> + <param name="test">The test to which the filter is applied</param> + <returns>True if the test matches the filter explicitly, otherwise false</returns> + </member> + <member name="M:NUnit.Framework.Internal.Filters.NotFilter.AddToXml(NUnit.Framework.Interfaces.TNode,System.Boolean)"> + <summary> + Adds an XML node + </summary> + <param name="parentNode">Parent node</param> + <param name="recursive">True if recursive</param> + <returns>The added XML node</returns> + </member> + <member name="T:NUnit.Framework.Internal.Filters.OrFilter"> + <summary> + Combines multiple filters so that a test must pass one + of them in order to pass this filter. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Filters.OrFilter.#ctor"> + <summary> + Constructs an empty OrFilter + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Filters.OrFilter.#ctor(NUnit.Framework.Internal.TestFilter[])"> + <summary> + Constructs an OrFilter from an array of filters + </summary> + <param name="filters"></param> + </member> + <member name="M:NUnit.Framework.Internal.Filters.OrFilter.Pass(NUnit.Framework.Interfaces.ITest,System.Boolean)"> + <summary> + Checks whether the OrFilter is matched by a test + </summary> + <param name="test">The test to be matched</param> + <param name="negated">If set to <see langword="true"/> we are carrying a negation through</param> + <returns>True if any of the component filters pass, otherwise false</returns> + </member> + <member name="M:NUnit.Framework.Internal.Filters.OrFilter.Match(NUnit.Framework.Interfaces.ITest)"> + <summary> + Checks whether the OrFilter is matched by a test + </summary> + <param name="test">The test to be matched</param> + <returns>True if any of the component filters match, otherwise false</returns> + </member> + <member name="M:NUnit.Framework.Internal.Filters.OrFilter.IsExplicitMatch(NUnit.Framework.Interfaces.ITest)"> + <summary> + Checks whether the OrFilter is explicit matched by a test + </summary> + <param name="test">The test to be matched</param> + <returns>True if any of the component filters explicit match, otherwise false</returns> + </member> + <member name="P:NUnit.Framework.Internal.Filters.OrFilter.ElementName"> + <summary> + Gets the element name + </summary> + <value>Element name</value> + </member> + <member name="T:NUnit.Framework.Internal.Filters.PropertyFilter"> + <summary> + PropertyFilter is able to select or exclude tests + based on their properties. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Filters.PropertyFilter.#ctor(System.String,System.String)"> + <summary> + Construct a PropertyFilter using a property name and expected value + </summary> + <param name="propertyName">A property name</param> + <param name="expectedValue">The expected value of the property</param> + </member> + <member name="M:NUnit.Framework.Internal.Filters.PropertyFilter.Match(NUnit.Framework.Interfaces.ITest)"> + <summary> + Check whether the filter matches a test + </summary> + <param name="test">The test to be matched</param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Internal.Filters.PropertyFilter.AddToXml(NUnit.Framework.Interfaces.TNode,System.Boolean)"> + <summary> + Adds an XML node + </summary> + <param name="parentNode">Parent node</param> + <param name="recursive">True if recursive</param> + <returns>The added XML node</returns> + </member> + <member name="P:NUnit.Framework.Internal.Filters.PropertyFilter.ElementName"> + <summary> + Gets the element name + </summary> + <value>Element name</value> + </member> + <member name="T:NUnit.Framework.Internal.Filters.TestNameFilter"> + <summary> + TestName filter selects tests based on their Name + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Filters.TestNameFilter.#ctor(System.String)"> + <summary> + Construct a TestNameFilter for a single name + </summary> + <param name="expectedValue">The name the filter will recognize.</param> + </member> + <member name="M:NUnit.Framework.Internal.Filters.TestNameFilter.Match(NUnit.Framework.Interfaces.ITest)"> + <summary> + Match a test against a single value. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Filters.TestNameFilter.ElementName"> + <summary> + Gets the element name + </summary> + <value>Element name</value> + </member> + <member name="T:NUnit.Framework.Internal.Filters.ValueMatchFilter"> + <summary> + ValueMatchFilter selects tests based on some value, which + is expected to be contained in the test. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Filters.ValueMatchFilter.ExpectedValue"> + <summary> + Returns the value matched by the filter - used for testing + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Filters.ValueMatchFilter.IsRegex"> + <summary> + Indicates whether the value is a regular expression + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Filters.ValueMatchFilter.#ctor(System.String)"> + <summary> + Construct a ValueMatchFilter for a single value. + </summary> + <param name="expectedValue">The value to be included.</param> + </member> + <member name="M:NUnit.Framework.Internal.Filters.ValueMatchFilter.Match(System.String)"> + <summary> + Match the input provided by the derived class + </summary> + <param name="input">The value to be matched</param> + <returns>True for a match, false otherwise.</returns> + </member> + <member name="M:NUnit.Framework.Internal.Filters.ValueMatchFilter.AddToXml(NUnit.Framework.Interfaces.TNode,System.Boolean)"> + <summary> + Adds an XML node + </summary> + <param name="parentNode">Parent node</param> + <param name="recursive">True if recursive</param> + <returns>The added XML node</returns> + </member> + <member name="P:NUnit.Framework.Internal.Filters.ValueMatchFilter.ElementName"> + <summary> + Gets the element name + </summary> + <value>Element name</value> + </member> + <member name="T:NUnit.Framework.Internal.GenericMethodHelper"> + <summary> + GenericMethodHelper is able to deduce the Type arguments for + a generic method from the actual arguments provided. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.GenericMethodHelper.ConflictingTypesMarker"> + <summary> + A special value, which is used to indicate that BestCommonType() method + was unable to find a common type for the specified arguments. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.GenericMethodHelper.#ctor(System.Reflection.MethodInfo)"> + <summary> + Construct a GenericMethodHelper for a method + </summary> + <param name="method">MethodInfo for the method to examine</param> + </member> + <member name="M:NUnit.Framework.Internal.GenericMethodHelper.TryGetTypeArguments(System.Object[],System.Type[]@)"> + <summary> + Return the type arguments for the method, deducing them + from the arguments actually provided. + </summary> + <param name="argList">The arguments to the method</param> + <param name="typeArguments">If successful, an array of type arguments.</param> + </member> + <member name="T:NUnit.Framework.Internal.ImmutableStack`1"> + <summary> + A minimalistic implementation of an immutable stack. Add members as needed. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.ImmutableStack`1.Empty"> + <summary> + Represents an empty stack. <see langword="default"/> may be used instead. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ImmutableStack`1.Push(`0)"> + <summary> + Returns a new immutable stack which begins with the specified value and continues with the values in the + current stack. + </summary> + <param name="value">The beginning value of the new stack.</param> + </member> + <member name="T:NUnit.Framework.Internal.InvalidDataSourceException"> + <summary> + InvalidTestFixtureException is thrown when an appropriate test + fixture constructor using the provided arguments cannot be found. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.InvalidDataSourceException.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.InvalidTestFixtureException"/> class. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.InvalidDataSourceException.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.InvalidTestFixtureException"/> class. + </summary> + <param name="message">The message.</param> + </member> + <member name="M:NUnit.Framework.Internal.InvalidDataSourceException.#ctor(System.String,System.Exception)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.InvalidTestFixtureException"/> class. + </summary> + <param name="message">The message.</param> + <param name="inner">The inner.</param> + </member> + <member name="M:NUnit.Framework.Internal.InvalidDataSourceException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)"> + <summary> + Serialization Constructor + </summary> + </member> + <member name="T:NUnit.Framework.Internal.InvalidPlatformException"> + <summary> + InvalidPlatformException is thrown when the platform name supplied + to a test is not recognized. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.InvalidPlatformException.#ctor"> + <summary> + Instantiates a new instance of the <see cref="T:NUnit.Framework.Internal.InvalidPlatformException"/> class. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.InvalidPlatformException.#ctor(System.String)"> + <summary> + Instantiates a new instance of the <see cref="T:NUnit.Framework.Internal.InvalidPlatformException"/> class + </summary> + <param name="message">The message.</param> + </member> + <member name="M:NUnit.Framework.Internal.InvalidPlatformException.#ctor(System.String,System.Exception)"> + <summary> + Instantiates a new instance of the <see cref="T:NUnit.Framework.Internal.InvalidPlatformException"/> class + </summary> + <param name="message">The message.</param> + <param name="inner">The inner.</param> + </member> + <member name="M:NUnit.Framework.Internal.InvalidPlatformException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)"> + <summary> + Serialization constructor for the <see cref="T:NUnit.Framework.Internal.InvalidPlatformException"/> class + </summary> + </member> + <member name="T:NUnit.Framework.Internal.InvalidTestFixtureException"> + <summary> + InvalidTestFixtureException is thrown when an appropriate test + fixture constructor using the provided arguments cannot be found. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.InvalidTestFixtureException.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.InvalidTestFixtureException"/> class. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.InvalidTestFixtureException.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.InvalidTestFixtureException"/> class. + </summary> + <param name="message">The message.</param> + </member> + <member name="M:NUnit.Framework.Internal.InvalidTestFixtureException.#ctor(System.String,System.Exception)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.InvalidTestFixtureException"/> class. + </summary> + <param name="message">The message.</param> + <param name="inner">The inner.</param> + </member> + <member name="M:NUnit.Framework.Internal.InvalidTestFixtureException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)"> + <summary> + Serialization Constructor + </summary> + </member> + <member name="T:NUnit.Framework.Internal.ILogger"> + <summary> + Interface for logging within the engine + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ILogger.Error(System.String)"> + <summary> + Logs the specified message at the error level. + </summary> + <param name="message">The message.</param> + </member> + <member name="M:NUnit.Framework.Internal.ILogger.Error(System.String,System.Object[])"> + <summary> + Logs the specified message at the error level. + </summary> + <param name="message">The message.</param> + <param name="args">The arguments.</param> + </member> + <member name="M:NUnit.Framework.Internal.ILogger.Warning(System.String)"> + <summary> + Logs the specified message at the warning level. + </summary> + <param name="message">The message.</param> + </member> + <member name="M:NUnit.Framework.Internal.ILogger.Warning(System.String,System.Object[])"> + <summary> + Logs the specified message at the warning level. + </summary> + <param name="message">The message.</param> + <param name="args">The arguments.</param> + </member> + <member name="M:NUnit.Framework.Internal.ILogger.Info(System.String)"> + <summary> + Logs the specified message at the info level. + </summary> + <param name="message">The message.</param> + </member> + <member name="M:NUnit.Framework.Internal.ILogger.Info(System.String,System.Object[])"> + <summary> + Logs the specified message at the info level. + </summary> + <param name="message">The message.</param> + <param name="args">The arguments.</param> + </member> + <member name="M:NUnit.Framework.Internal.ILogger.Debug(System.String)"> + <summary> + Logs the specified message at the debug level. + </summary> + <param name="message">The message.</param> + </member> + <member name="M:NUnit.Framework.Internal.ILogger.Debug(System.String,System.Object[])"> + <summary> + Logs the specified message at the debug level. + </summary> + <param name="message">The message.</param> + <param name="args">The arguments.</param> + </member> + <member name="T:NUnit.Framework.Internal.InternalTrace"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.InternalTrace.Initialized"> + <summary> + Gets a flag indicating whether the InternalTrace is initialized + </summary> + </member> + <member name="M:NUnit.Framework.Internal.InternalTrace.Initialize(System.String,NUnit.Framework.Internal.InternalTraceLevel)"> + <summary> + Initialize the internal trace facility using the name of the log + to be written to and the trace level. + </summary> + <param name="logName">The log name</param> + <param name="level">The trace level</param> + </member> + <member name="M:NUnit.Framework.Internal.InternalTrace.Initialize(System.IO.TextWriter,NUnit.Framework.Internal.InternalTraceLevel)"> + <summary> + Initialize the internal trace using a provided TextWriter and level + </summary> + <param name="writer">A TextWriter</param> + <param name="level">The InternalTraceLevel</param> + </member> + <member name="M:NUnit.Framework.Internal.InternalTrace.GetLogger(System.String)"> + <summary> + Get a named Logger + </summary> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Internal.InternalTrace.GetLogger(System.Type)"> + <summary> + Get a logger named for a particular Type. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.InternalTraceLevel"> + <summary> + InternalTraceLevel is an enumeration controlling the + level of detailed presented in the internal log. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.InternalTraceLevel.Default"> + <summary> + Use the default settings as specified by the user. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.InternalTraceLevel.Off"> + <summary> + Do not display any trace messages + </summary> + </member> + <member name="F:NUnit.Framework.Internal.InternalTraceLevel.Error"> + <summary> + Display Error messages only + </summary> + </member> + <member name="F:NUnit.Framework.Internal.InternalTraceLevel.Warning"> + <summary> + Display Warning level and higher messages + </summary> + </member> + <member name="F:NUnit.Framework.Internal.InternalTraceLevel.Info"> + <summary> + Display informational and higher messages + </summary> + </member> + <member name="F:NUnit.Framework.Internal.InternalTraceLevel.Debug"> + <summary> + Display debug messages and higher - i.e. all messages + </summary> + </member> + <member name="F:NUnit.Framework.Internal.InternalTraceLevel.Verbose"> + <summary> + Display debug messages and higher - i.e. all messages + </summary> + </member> + <member name="T:NUnit.Framework.Internal.InternalTraceWriter"> + <summary> + A trace listener that writes to a separate file per domain + and process using it. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.InternalTraceWriter.#ctor(System.String)"> + <summary> + Construct an InternalTraceWriter that writes to a file. + </summary> + <param name="logPath">Path to the file to use</param> + </member> + <member name="M:NUnit.Framework.Internal.InternalTraceWriter.#ctor(System.IO.TextWriter)"> + <summary> + Construct an InternalTraceWriter that writes to a + TextWriter provided by the caller. + </summary> + <param name="writer"></param> + </member> + <member name="P:NUnit.Framework.Internal.InternalTraceWriter.Encoding"> + <summary> + Returns the character encoding in which the output is written. + </summary> + <returns>The character encoding in which the output is written.</returns> + </member> + <member name="M:NUnit.Framework.Internal.InternalTraceWriter.Write(System.Char)"> + <summary> + Writes a character to the text string or stream. + </summary> + <param name="value">The character to write to the text stream.</param> + </member> + <member name="M:NUnit.Framework.Internal.InternalTraceWriter.Write(System.String)"> + <summary> + Writes a string to the text string or stream. + </summary> + <param name="value">The string to write.</param> + </member> + <member name="M:NUnit.Framework.Internal.InternalTraceWriter.WriteLine(System.String)"> + <summary> + Writes a string followed by a line terminator to the text string or stream. + </summary> + <param name="value">The string to write. If <paramref name="value" /> is null, only the line terminator is written.</param> + </member> + <member name="M:NUnit.Framework.Internal.InternalTraceWriter.Dispose(System.Boolean)"> + <summary> + Releases the unmanaged resources used by the <see cref="T:System.IO.TextWriter" /> and optionally releases the managed resources. + </summary> + <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param> + </member> + <member name="M:NUnit.Framework.Internal.InternalTraceWriter.Flush"> + <summary> + Clears all buffers for the current writer and causes any buffered data to be written to the underlying device. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Logger"> + <summary> + Provides internal logging to the NUnit framework + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Logger.#ctor(System.String,NUnit.Framework.Internal.InternalTraceLevel,System.IO.TextWriter)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.Logger"/> class. + </summary> + <param name="name">The name.</param> + <param name="level">The log level.</param> + <param name="writer">The writer where logs are sent.</param> + </member> + <member name="M:NUnit.Framework.Internal.Logger.Error(System.String)"> + <summary> + Logs the message at error level. + </summary> + <param name="message">The message.</param> + </member> + <member name="M:NUnit.Framework.Internal.Logger.Error(System.String,System.Object[])"> + <summary> + Logs the message at error level. + </summary> + <param name="message">The message.</param> + <param name="args">The message arguments.</param> + </member> + <member name="M:NUnit.Framework.Internal.Logger.Warning(System.String)"> + <summary> + Logs the message at warm level. + </summary> + <param name="message">The message.</param> + </member> + <member name="M:NUnit.Framework.Internal.Logger.Warning(System.String,System.Object[])"> + <summary> + Logs the message at warning level. + </summary> + <param name="message">The message.</param> + <param name="args">The message arguments.</param> + </member> + <member name="M:NUnit.Framework.Internal.Logger.Info(System.String)"> + <summary> + Logs the message at info level. + </summary> + <param name="message">The message.</param> + </member> + <member name="M:NUnit.Framework.Internal.Logger.Info(System.String,System.Object[])"> + <summary> + Logs the message at info level. + </summary> + <param name="message">The message.</param> + <param name="args">The message arguments.</param> + </member> + <member name="M:NUnit.Framework.Internal.Logger.Debug(System.String)"> + <summary> + Logs the message at debug level. + </summary> + <param name="message">The message.</param> + </member> + <member name="M:NUnit.Framework.Internal.Logger.Debug(System.String,System.Object[])"> + <summary> + Logs the message at debug level. + </summary> + <param name="message">The message.</param> + <param name="args">The message arguments.</param> + </member> + <member name="T:NUnit.Framework.Internal.MethodWrapper"> + <summary> + The MethodWrapper class wraps a MethodInfo so that it may + be used in a platform-independent manner. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.MethodWrapper.#ctor(System.Type,System.Reflection.MethodInfo)"> + <summary> + Construct a MethodWrapper for a Type and a MethodInfo. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.MethodWrapper.#ctor(System.Type,System.String)"> + <summary> + Construct a MethodInfo for a given Type and method name. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.MethodWrapper.TypeInfo"> + <summary> + Gets the Type from which this method was reflected. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.MethodWrapper.MethodInfo"> + <summary> + Gets the MethodInfo for this method. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.MethodWrapper.Name"> + <summary> + Gets the name of the method. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.MethodWrapper.IsAbstract"> + <summary> + Gets a value indicating whether the method is abstract. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.MethodWrapper.IsPublic"> + <summary> + Gets a value indicating whether the method is public. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.MethodWrapper.IsStatic"> + <summary> + Gets a value indicating whether the method is static. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.MethodWrapper.ContainsGenericParameters"> + <summary> + Gets a value indicating whether the method contains unassigned generic type parameters. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.MethodWrapper.IsGenericMethod"> + <summary> + Gets a value indicating whether the method is a generic method. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.MethodWrapper.IsGenericMethodDefinition"> + <summary> + Gets a value indicating whether the MethodInfo represents the definition of a generic method. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.MethodWrapper.ReturnType"> + <summary> + Gets the return Type of the method. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.MethodWrapper.GetParameters"> + <summary> + Gets the parameters of the method. + </summary> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Internal.MethodWrapper.GetGenericArguments"> + <summary> + Returns the Type arguments of a generic method or the Type parameters of a generic method definition. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.MethodWrapper.MakeGenericMethod(System.Type[])"> + <summary> + Replaces the type parameters of the method with the array of types provided and returns a new IMethodInfo. + </summary> + <param name="typeArguments">The type arguments to be used</param> + <returns>A new IMethodInfo with the type arguments replaced</returns> + </member> + <member name="M:NUnit.Framework.Internal.MethodWrapper.GetCustomAttributes``1(System.Boolean)"> + <summary> + Returns an array of custom attributes of the specified type applied to this method + </summary> + </member> + <member name="M:NUnit.Framework.Internal.MethodWrapper.IsDefined``1(System.Boolean)"> + <summary> + Gets a value indicating whether one or more attributes of the specified type are defined on the method. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.MethodWrapper.Invoke(System.Object,System.Object[])"> + <summary> + Invokes the method, converting any TargetInvocationException to an NUnitException. + </summary> + <param name="fixture">The object on which to invoke the method</param> + <param name="args">The argument list for the method</param> + <returns>The return value from the invoked method</returns> + </member> + <member name="M:NUnit.Framework.Internal.MethodWrapper.ToString"> + <summary> + Override ToString() so that error messages in NUnit's own tests make sense + </summary> + </member> + <member name="M:NUnit.Framework.Internal.MethodWrapper.Equals(NUnit.Framework.Internal.MethodWrapper)"> + <inheritdoc /> + </member> + <member name="M:NUnit.Framework.Internal.MethodWrapper.Equals(System.Object)"> + <inheritdoc /> + </member> + <member name="M:NUnit.Framework.Internal.MethodWrapper.GetHashCode"> + <inheritdoc /> + </member> + <member name="T:NUnit.Framework.Internal.NUnitCallContext"> + <summary> + This class ensures the <see cref="T:System.Runtime.Remoting.Messaging.CallContext"/> 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 + </summary> + </member> + <member name="T:NUnit.Framework.Internal.NUnitException"> + <summary> + Thrown when an assertion failed. Here to preserve the inner + exception and hence its stack trace. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.NUnitException.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.NUnitException"/> class. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.NUnitException.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.NUnitException"/> class. + </summary> + <param name="message">The error message that explains + the reason for the exception</param> + </member> + <member name="M:NUnit.Framework.Internal.NUnitException.#ctor(System.String,System.Exception)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.NUnitException"/> class. + </summary> + <param name="message">The error message that explains + the reason for the exception</param> + <param name="inner">The exception that caused the + current exception</param> + </member> + <member name="M:NUnit.Framework.Internal.NUnitException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)"> + <summary> + Serialization Constructor + </summary> + </member> + <member name="T:NUnit.Framework.Internal.On"> + <summary> + Enables the <see cref="M:NUnit.Framework.Internal.On.Dispose(System.Action)"/> syntax. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.On.Dispose(System.Action)"> + <summary> + 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. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.OSPlatform"> + <summary> + OSPlatform represents a particular operating system platform + </summary> + </member> + <member name="F:NUnit.Framework.Internal.OSPlatform.UnixPlatformID_Microsoft"> + <summary> + Platform ID for Unix as defined by .NET + </summary> + </member> + <member name="F:NUnit.Framework.Internal.OSPlatform.UnixPlatformID_Mono"> + <summary> + Platform ID for Unix as defined by Mono + </summary> + </member> + <member name="F:NUnit.Framework.Internal.OSPlatform.XBoxPlatformID"> + <summary> + Platform ID for XBox as defined by .NET and Mono + </summary> + </member> + <member name="F:NUnit.Framework.Internal.OSPlatform.MacOSXPlatformID"> + <summary> + Platform ID for MacOSX as defined by .NET and Mono + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.CurrentPlatform"> + <summary> + Get the OSPlatform under which we are currently running + </summary> + </member> + <member name="M:NUnit.Framework.Internal.OSPlatform.GetWindows81PlusVersion(System.Version)"> + <summary> + Gets the actual OS Version, not the incorrect value that might be + returned for Win 8.1 and Win 10 + </summary> + <remarks> + 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. + </remarks> + <param name="version">The original version</param> + <returns>The correct OS version</returns> + </member> + <member name="T:NUnit.Framework.Internal.OSPlatform.ProductType"> + <summary> + Product Type Enumeration used for Windows + </summary> + </member> + <member name="F:NUnit.Framework.Internal.OSPlatform.ProductType.Unknown"> + <summary> + Product type is unknown or unspecified + </summary> + </member> + <member name="F:NUnit.Framework.Internal.OSPlatform.ProductType.WorkStation"> + <summary> + Product type is Workstation + </summary> + </member> + <member name="F:NUnit.Framework.Internal.OSPlatform.ProductType.DomainController"> + <summary> + Product type is Domain Controller + </summary> + </member> + <member name="F:NUnit.Framework.Internal.OSPlatform.ProductType.Server"> + <summary> + Product type is Server + </summary> + </member> + <member name="M:NUnit.Framework.Internal.OSPlatform.#ctor(System.PlatformID,System.Version)"> + <summary> + Construct from a platform ID and version + </summary> + </member> + <member name="M:NUnit.Framework.Internal.OSPlatform.#ctor(System.PlatformID,System.Version,NUnit.Framework.Internal.OSPlatform.ProductType)"> + <summary> + Construct from a platform ID, version and product type + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.Platform"> + <summary> + Get the platform ID of this instance + </summary> + </member> + <member name="M:NUnit.Framework.Internal.OSPlatform.ToString"> + <summary> + Implemented to use in place of Environment.OSVersion.ToString() + </summary> + <returns>A representation of the platform ID and version in an approximation of the format used by Environment.OSVersion.ToString()</returns> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.Version"> + <summary> + Get the Version of this instance + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.Product"> + <summary> + Get the Product Type of this instance + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWindows"> + <summary> + Return true if this is a windows platform + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsUnix"> + <summary> + Return true if this is a Unix or Linux platform + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWin32S"> + <summary> + Return true if the platform is Win32S + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWin32Windows"> + <summary> + Return true if the platform is Win32Windows + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWin32NT"> + <summary> + Return true if the platform is Win32NT + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWinCE"> + <summary> + Return true if the platform is Windows CE + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsXbox"> + <summary> + Return true if the platform is Xbox + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsMacOSX"> + <summary> + Return true if the platform is MacOSX + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWin95"> + <summary> + Return true if the platform is Windows 95 + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWin98"> + <summary> + Return true if the platform is Windows 98 + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWinME"> + <summary> + Return true if the platform is Windows ME + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsNT3"> + <summary> + Return true if the platform is NT 3 + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsNT4"> + <summary> + Return true if the platform is NT 4 + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsNT5"> + <summary> + Return true if the platform is NT 5 + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWin2K"> + <summary> + Return true if the platform is Windows 2000 + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWinXP"> + <summary> + Return true if the platform is Windows XP + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWin2003Server"> + <summary> + Return true if the platform is Windows 2003 Server + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsNT6"> + <summary> + Return true if the platform is NT 6 + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsNT60"> + <summary> + Return true if the platform is NT 6.0 + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsNT61"> + <summary> + Return true if the platform is NT 6.1 + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsNT62"> + <summary> + Return true if the platform is NT 6.2 + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsNT63"> + <summary> + Return true if the platform is NT 6.3 + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsVista"> + <summary> + Return true if the platform is Vista + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWin2008Server"> + <summary> + Return true if the platform is Windows 2008 Server (original or R2) + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWin2008ServerR1"> + <summary> + Return true if the platform is Windows 2008 Server (original) + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWin2008ServerR2"> + <summary> + Return true if the platform is Windows 2008 Server R2 + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWin2012Server"> + <summary> + Return true if the platform is Windows 2012 Server (original or R2) + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWin2012ServerR1"> + <summary> + Return true if the platform is Windows 2012 Server (original) + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWin2012ServerR2"> + <summary> + Return true if the platform is Windows 2012 Server R2 + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWindows7"> + <summary> + Return true if the platform is Windows 7 + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWindows8"> + <summary> + Return true if the platform is Windows 8 + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWindows81"> + <summary> + Return true if the platform is Windows 8.1 + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWindows10"> + <summary> + Return true if the platform is Windows 10 + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWindowsServer10"> + <summary> + Return true if the platform is Windows Server. This is named Windows + Server 10 to distinguish it from previous versions of Windows Server. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.ParamAttributeTypeConversions"> + <summary> + <para> + 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. + </para> + <para> + For example, since you can’t apply attributes using <see cref="T:System.Decimal"/> arguments, we allow the C# syntax + <c>10</c> (<see cref="T:System.Int32"/> value) or <c>0.1</c> (<see cref="T:System.Double"/> value) to be specified. + NUnit then converts it to match the method’s <see cref="T:System.Decimal"/> parameters, just as if you were actually + using the syntax <c>TestMethod(10)</c> or <c>TestMethod(0.1)</c>. + </para> + <para> + For another example, you might have written the syntax <c>10</c> and picked up the <see cref="T:System.Int32"/> attribute + constructor overload; however, the test method for which this value is intended only has a <see cref="T:System.Byte"/> + signature. Again, NUnit simulates what would have happened if the inferred C# syntax was transplanted + and you were actually using the syntax <c>TestMethod(10)</c>. + </para> + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ParamAttributeTypeConversions.ConvertData(System.Object[],System.Type)"> + <summary> + Converts an array of objects to the <paramref name="targetType"/>, if it is supported. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ParamAttributeTypeConversions.Convert(System.Object,System.Type)"> + <summary> + Converts a single value to the <paramref name="targetType"/>, if it is supported. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ParamAttributeTypeConversions.TryConvert(System.Object,System.Type,System.Object@)"> + <summary> + 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. + </summary> + <param name="value">The value to be converted</param> + <param name="targetType">The target <see cref="T:System.Type"/> in which the <paramref name="value"/> should be converted</param> + <param name="convertedValue">If conversion was successfully applied, the <paramref name="value"/> converted into <paramref name="targetType"/></param> + <returns> + <see langword="true"/> if <paramref name="value"/> was converted and <paramref name="convertedValue"/> should be used; + <see langword="false"/> is no conversion was applied and <paramref name="convertedValue"/> should be ignored + </returns> + </member> + <member name="T:NUnit.Framework.Internal.ParameterWrapper"> + <summary> + The ParameterWrapper class wraps a ParameterInfo so that it may + be used in a platform-independent manner. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ParameterWrapper.#ctor(NUnit.Framework.Interfaces.IMethodInfo,System.Reflection.ParameterInfo)"> + <summary> + Construct a ParameterWrapper for a given method and parameter + </summary> + <param name="method"></param> + <param name="parameterInfo"></param> + </member> + <member name="P:NUnit.Framework.Internal.ParameterWrapper.IsOptional"> + <summary> + Gets a value indicating whether the parameter is optional + </summary> + </member> + <member name="P:NUnit.Framework.Internal.ParameterWrapper.Method"> + <summary> + Gets an IMethodInfo representing the method for which this is a parameter. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.ParameterWrapper.ParameterInfo"> + <summary> + Gets the underlying ParameterInfo + </summary> + </member> + <member name="P:NUnit.Framework.Internal.ParameterWrapper.ParameterType"> + <summary> + Gets the Type of the parameter + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ParameterWrapper.GetCustomAttributes``1(System.Boolean)"> + <summary> + Returns an array of custom attributes of the specified type applied to this method + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ParameterWrapper.IsDefined``1(System.Boolean)"> + <summary> + Gets a value indicating whether one or more attributes of the specified type are defined on the parameter. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.PlatformHelper"> + <summary> + PlatformHelper class is used by the PlatformAttribute class to + determine whether a platform is supported. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PlatformHelper.OSPlatforms"> + <summary> + Comma-delimited list of all supported OS platform constants + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PlatformHelper.RuntimePlatforms"> + <summary> + Comma-delimited list of all supported Runtime platform constants + </summary> + </member> + <member name="M:NUnit.Framework.Internal.PlatformHelper.#ctor"> + <summary> + Default constructor uses the operating system and + common language runtime of the system. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.PlatformHelper.#ctor(NUnit.Framework.Internal.OSPlatform,NUnit.Framework.Internal.RuntimeFramework)"> + <summary> + Construct a PlatformHelper for a particular operating + system and common language runtime. Used in testing. + </summary> + <param name="rt">RuntimeFramework to be used</param> + <param name="os">OperatingSystem to be used</param> + </member> + <member name="M:NUnit.Framework.Internal.PlatformHelper.IsPlatformSupported(System.String[])"> + <summary> + Test to determine if one of a collection of platforms + is being used currently. + </summary> + <param name="platforms"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Internal.PlatformHelper.IsPlatformSupported(NUnit.Framework.PlatformAttribute)"> + <summary> + Tests to determine if the current platform is supported + based on a platform attribute. + </summary> + <param name="platformAttribute">The attribute to examine</param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Internal.PlatformHelper.IsPlatformSupported(NUnit.Framework.TestCaseAttribute)"> + <summary> + Tests to determine if the current platform is supported + based on a platform attribute. + </summary> + <param name="testCaseAttribute">The attribute to examine</param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Internal.PlatformHelper.IsPlatformSupported(System.String)"> + <summary> + Test to determine if a particular platform or comma-delimited set of platforms is in use. + </summary> + <param name="platform">Name of the platform or comma-separated list of platform ids</param> + <returns>True if the platform is in use on the system</returns> + </member> + <member name="P:NUnit.Framework.Internal.PlatformHelper.Reason"> + <summary> + Return the last failure reason. Results are not + defined if called before IsSupported( Attribute ) + is called. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.PreFilter"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.PreFilter.Empty"> + <summary> + Return a new PreFilter, without elements, which is considered + empty and always matches. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.PreFilter.IsEmpty"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.PreFilter.Add(System.String)"> + <summary> + Add a new filter element to the filter + </summary> + <param name="filterText"></param> + </member> + <member name="M:NUnit.Framework.Internal.PreFilter.IsMatch(System.Type)"> + <summary> + Use the filter on a Type, returning true if the type matches the filter + and should therefore be included in the discovery process. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.PreFilter.IsMatch(System.Type,System.Reflection.MethodInfo)"> + <summary> + Use the filter on a Type, returning true if the type matches the filter + and should therefore be included in the discovery process. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.PropertyBag"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.PropertyBag.Add(System.String,System.Object)"> + <summary> + Adds a key/value pair to the property set + </summary> + <param name="key">The key</param> + <param name="value">The value</param> + </member> + <member name="M:NUnit.Framework.Internal.PropertyBag.Set(System.String,System.Object)"> + <summary> + Sets the value for a key, removing any other + values that are already in the property set. + </summary> + <param name="key"></param> + <param name="value"></param> + </member> + <member name="M:NUnit.Framework.Internal.PropertyBag.Get(System.String)"> + <summary> + 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. + </summary> + <param name="key"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Internal.PropertyBag.ContainsKey(System.String)"> + <summary> + Gets a flag indicating whether the specified key has + any entries in the property set. + </summary> + <param name="key">The key to be checked</param> + <returns> + True if their are values present, otherwise false + </returns> + </member> + <member name="P:NUnit.Framework.Internal.PropertyBag.Keys"> + <summary> + Gets a collection containing all the keys in the property set + </summary> + <value></value> + </member> + <member name="P:NUnit.Framework.Internal.PropertyBag.Item(System.String)"> + <summary> + Gets or sets the list of values for a particular key + </summary> + </member> + <member name="M:NUnit.Framework.Internal.PropertyBag.ToXml(System.Boolean)"> + <summary> + Returns an XmlNode representing the current PropertyBag. + </summary> + <param name="recursive">Not used</param> + <returns>An XmlNode representing the PropertyBag</returns> + </member> + <member name="M:NUnit.Framework.Internal.PropertyBag.AddToXml(NUnit.Framework.Interfaces.TNode,System.Boolean)"> + <summary> + Returns an XmlNode representing the PropertyBag after + adding it as a child of the supplied parent node. + </summary> + <param name="parentNode">The parent node.</param> + <param name="recursive">Not used</param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Internal.PropertyNames"> + <summary> + The PropertyNames class provides static constants for the + standard property ids that NUnit uses on tests. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PropertyNames.AppDomain"> + <summary> + The FriendlyName of the AppDomain in which the assembly is running + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PropertyNames.JoinType"> + <summary> + The selected strategy for joining parameter data into test cases + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PropertyNames.ProcessId"> + <summary> + The process ID of the executing assembly + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PropertyNames.ProviderStackTrace"> + <summary> + The stack trace from any data provider that threw + an exception. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PropertyNames.SkipReason"> + <summary> + The reason a test was not run + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PropertyNames.Author"> + <summary> + The author of the tests + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PropertyNames.ApartmentState"> + <summary> + The ApartmentState required for running the test + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PropertyNames.Category"> + <summary> + The categories applying to a test + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PropertyNames.Description"> + <summary> + The Description of a test + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PropertyNames.LevelOfParallelism"> + <summary> + The number of threads to be used in running tests + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PropertyNames.MaxTime"> + <summary> + The maximum time in ms, above which the test is considered to have failed + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PropertyNames.ParallelScope"> + <summary> + The ParallelScope associated with a test + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PropertyNames.RepeatCount"> + <summary> + The number of times the test should be repeated + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PropertyNames.RequiresThread"> + <summary> + Indicates that the test should be run on a separate thread + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PropertyNames.SetCulture"> + <summary> + The culture to be set for a test + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PropertyNames.SetUICulture"> + <summary> + The UI culture to be set for a test + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PropertyNames.TestOf"> + <summary> + The type that is under test + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PropertyNames.Timeout"> + <summary> + The timeout value for the test + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PropertyNames.IgnoreUntilDate"> + <summary> + The test will be ignored until the given date + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PropertyNames.Order"> + <summary> + The optional Order the test will run in + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Randomizer"> + <summary> + 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. + </summary> + <remarks> + 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. + </remarks> + </member> + <member name="P:NUnit.Framework.Internal.Randomizer.InitialSeed"> + <summary> + Initial seed used to create randomizers for this run + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.GetRandomizer(System.Reflection.MemberInfo)"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.GetRandomizer(System.Reflection.ParameterInfo)"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.CreateRandomizer"> + <summary> + Create a new Randomizer using the next seed + available to ensure that each randomizer gives + a unique sequence of values. + </summary> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.#ctor"> + <summary> + Default constructor + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.#ctor(System.Int32)"> + <summary> + Construct based on seed value + </summary> + <param name="seed"></param> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextUInt"> + <summary> + Returns a random unsigned int. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextUInt(System.UInt32)"> + <summary> + Returns a random unsigned int less than the specified maximum. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextUInt(System.UInt32,System.UInt32)"> + <summary> + Returns a random unsigned int within a specified range. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextShort"> + <summary> + Returns a non-negative random short. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextShort(System.Int16)"> + <summary> + Returns a non-negative random short less than the specified maximum. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextShort(System.Int16,System.Int16)"> + <summary> + Returns a non-negative random short within a specified range. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextUShort"> + <summary> + Returns a random unsigned short. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextUShort(System.UInt16)"> + <summary> + Returns a random unsigned short less than the specified maximum. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextUShort(System.UInt16,System.UInt16)"> + <summary> + Returns a random unsigned short within a specified range. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextLong"> + <summary> + Returns a random long. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextLong(System.Int64)"> + <summary> + Returns a random long less than the specified maximum. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextLong(System.Int64,System.Int64)"> + <summary> + Returns a non-negative random long within a specified range. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextULong"> + <summary> + Returns a random ulong. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextULong(System.UInt64)"> + <summary> + Returns a random ulong less than the specified maximum. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextULong(System.UInt64,System.UInt64)"> + <summary> + Returns a non-negative random long within a specified range. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextByte"> + <summary> + Returns a random Byte + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextByte(System.Byte)"> + <summary> + Returns a random Byte less than the specified maximum. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextByte(System.Byte,System.Byte)"> + <summary> + Returns a random Byte within a specified range + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextSByte"> + <summary> + Returns a random SByte + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextSByte(System.SByte)"> + <summary> + Returns a random sbyte less than the specified maximum. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextSByte(System.SByte,System.SByte)"> + <summary> + Returns a random sbyte within a specified range + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextBool"> + <summary> + Returns a random bool + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextBool(System.Double)"> + <summary> + Returns a random bool based on the probability a true result + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextDouble(System.Double)"> + <summary> + Returns a random double between 0.0 and the specified maximum. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextDouble(System.Double,System.Double)"> + <summary> + Returns a random double within a specified range. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextFloat"> + <summary> + Returns a random float. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextFloat(System.Single)"> + <summary> + Returns a random float between 0.0 and the specified maximum. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextFloat(System.Single,System.Single)"> + <summary> + Returns a random float within a specified range. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextEnum(System.Type)"> + <summary> + Returns a random enum value of the specified Type as an object. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextEnum``1"> + <summary> + Returns a random enum value of the specified Type. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Randomizer.DefaultStringChars"> + <summary> + Default characters for random functions. + </summary> + <remarks>Default characters are the English alphabet (uppercase & lowercase), Arabic numerals, and underscore</remarks> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.GetString(System.Int32,System.String)"> + <summary> + Generate a random string based on the characters from the input string. + </summary> + <param name="outputLength">desired length of output string.</param> + <param name="allowedChars">string representing the set of characters from which to construct the resulting string</param> + <returns>A random string of arbitrary length</returns> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.GetString(System.Int32)"> + <summary> + Generate a random string based on the characters from the input string. + </summary> + <param name="outputLength">desired length of output string.</param> + <returns>A random string of arbitrary length</returns> + <remarks>Uses <see cref="F:NUnit.Framework.Internal.Randomizer.DefaultStringChars">DefaultStringChars</see> as the input character set </remarks> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.GetString"> + <summary> + Generate a random string based on the characters from the input string. + </summary> + <returns>A random string of the default length</returns> + <remarks>Uses <see cref="F:NUnit.Framework.Internal.Randomizer.DefaultStringChars">DefaultStringChars</see> as the input character set </remarks> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextDecimal"> + <summary> + Returns a random decimal. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextDecimal(System.Decimal)"> + <summary> + Returns a random decimal between positive zero and the specified maximum. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextDecimal(System.Decimal,System.Decimal)"> + <summary> + Returns a random decimal within a specified range, which is not + permitted to exceed decimal.MaxVal in the current implementation. + </summary> + <remarks> + A limitation of this implementation is that the range from min + to max must not exceed decimal.MaxVal. + </remarks> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextGuid"> + <summary> + Generates a valid version 4 <see cref="T:System.Guid"/>. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Reflect"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Reflect.HasMethodWithAttribute(System.Type,System.Type)"> + <summary> + Examine a fixture type and return true if it has a method with + a particular attribute. + </summary> + <param name="fixtureType">The type to examine</param> + <param name="attributeType">The attribute Type to look for</param> + <returns>True if found, otherwise false</returns> + </member> + <member name="M:NUnit.Framework.Internal.Reflect.Construct(System.Type)"> + <summary> + Invoke the default constructor on a Type + </summary> + <param name="type">The Type to be constructed</param> + <returns>An instance of the Type</returns> + </member> + <member name="M:NUnit.Framework.Internal.Reflect.Construct(System.Type,System.Object[])"> + <summary> + Invoke a constructor on a Type with arguments + </summary> + <param name="type">The Type to be constructed</param> + <param name="arguments">Arguments to the constructor</param> + <returns>An instance of the Type</returns> + </member> + <member name="M:NUnit.Framework.Internal.Reflect.GetTypeArray(System.Object[])"> + <summary> + Returns an array of types from an array of objects. + Differs from <see cref="M:System.Type.GetTypeArray(System.Object[])"/> by returning <see langword="null"/> + for null elements rather than throwing <see cref="T:System.ArgumentNullException"/>. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Reflect.GetConstructors(System.Type,System.Type[])"> + <summary> + Gets the constructors to which the specified argument types can be coerced. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Reflect.ParametersMatch(System.Reflection.ParameterInfo[],System.Type[])"> + <summary> + Determines if the given types can be coerced to match the given parameters. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Reflect.CanImplicitlyConvertTo(System.Type,System.Type)"> + <summary> + Determines whether the current type can be implicitly converted to the specified type. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Reflect.InvokeMethod(System.Reflection.MethodInfo,System.Object)"> + <summary> + Invoke a parameterless method returning void on an object. + </summary> + <param name="method">A MethodInfo for the method to be invoked</param> + <param name="fixture">The object on which to invoke the method</param> + </member> + <member name="M:NUnit.Framework.Internal.Reflect.InvokeMethod(System.Reflection.MethodInfo,System.Object,System.Object[])"> + <summary> + Invoke a method, converting any TargetInvocationException to an NUnitException. + </summary> + <param name="method">A MethodInfo for the method to be invoked</param> + <param name="fixture">The object on which to invoke the method</param> + <param name="args">The argument list for the method</param> + <returns>The return value from the invoked method</returns> + </member> + <member name="M:NUnit.Framework.Internal.Reflect.GetUltimateShadowingProperty(System.Type,System.String,System.Reflection.BindingFlags)"> + <summary> + <para> + Selects the ultimate shadowing property just like <c>dynamic</c> would, + rather than throwing <see cref="T:System.Reflection.AmbiguousMatchException"/> + for properties that shadow properties of a different property type + which is what <see cref="M:System.Type.GetProperty(System.String,System.Reflection.BindingFlags)"/> does. + </para> + <para> + 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. + </para> + </summary> + <param name="type">See <see cref="M:System.Type.GetProperty(System.String,System.Reflection.BindingFlags)"/>.</param> + <param name="name">See <see cref="M:System.Type.GetProperty(System.String,System.Reflection.BindingFlags)"/>.</param> + <param name="bindingFlags">See <see cref="M:System.Type.GetProperty(System.String,System.Reflection.BindingFlags)"/>.</param> + </member> + <member name="M:NUnit.Framework.Internal.Reflect.GetNonGenericPublicInstanceMethod(System.Type,System.String,System.Type[])"> + <summary> + Same as <c>GetMethod(<paramref name="name"/>, <see cref="F:System.Reflection.BindingFlags.Public"/> | + <see cref="F:System.Reflection.BindingFlags.Instance"/>, <see langword="null"/>, <paramref name="parameterTypes"/>, + <see langword="null"/>)</c> except that it also chooses only non-generic methods. + Useful for avoiding the <see cref="T:System.Reflection.AmbiguousMatchException"/> you can have with <c>GetMethod</c>. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Reflect.GetDefaultIndexer(System.Type,System.Type[])"> + <summary> + Returns the get accessor for the indexer. + </summary> + <param name="type">Type to reflect on for the indexer.</param> + <param name="indexerTypes">List of indexer types that matches the indexer type order.</param> + <returns>The Get accessor</returns> + </member> + <member name="M:NUnit.Framework.Internal.Reflect.GetMemberIncludingFromBase(System.Type,System.String,System.Reflection.BindingFlags)"> + <summary> + Searches for the specified members, using the specified binding constraints. + </summary> + <remarks> + Similar to <see cref="M:System.Type.GetMember(System.String,System.Reflection.BindingFlags)"/> but also finds private static members from the base class. + </remarks> + <param name="type">The type to find the members from.</param> + <param name="name">The string containing the name of the members to get.</param> + <param name="flags">A bitwise combination of the enumeration values that specify how the search is conducted.</param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Internal.TestCaseResult"> + <summary> + Represents the result of running a single test case. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestCaseResult.#ctor(NUnit.Framework.Internal.TestMethod)"> + <summary> + Construct a TestCaseResult based on a TestMethod + </summary> + <param name="test">A TestMethod to which the result applies.</param> + </member> + <member name="P:NUnit.Framework.Internal.TestCaseResult.FailCount"> + <summary> + Gets the number of test cases that failed + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestCaseResult.TotalCount"> + <summary> + Gets the number of test cases that executed + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestCaseResult.WarningCount"> + <summary> + Gets the number of test cases that had warnings + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestCaseResult.PassCount"> + <summary> + Gets the number of test cases that passed + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestCaseResult.SkipCount"> + <summary> + Gets the number of test cases that were skipped + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestCaseResult.InconclusiveCount"> + <summary> + Gets the number of test cases that were inconclusive + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestCaseResult.HasChildren"> + <summary> + Indicates whether this result has any child results. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestCaseResult.Children"> + <summary> + Gets the collection of child results. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.TestResult"> + <summary> + The TestResult class represents the result of a test. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TestResult.CHILD_ERRORS_MESSAGE"> + <summary> + Error message for when child tests have errors + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TestResult.CHILD_WARNINGS_MESSAGE"> + <summary> + Error message for when child tests have warnings + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TestResult.CHILD_IGNORE_MESSAGE"> + <summary> + Error message for when child tests are ignored + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TestResult.USER_CANCELLED_MESSAGE"> + <summary> + Error message for when user has cancelled the test run + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TestResult.MIN_DURATION"> + <summary> + The minimum duration for tests + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TestResult.InternalAssertCount"> + <summary> + Aggregate assertion count + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TestResult.RwLock"> + <summary> + ReaderWriterLock + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestResult.#ctor(NUnit.Framework.Interfaces.ITest)"> + <summary> + Construct a test result given a Test + </summary> + <param name="test">The test to be used</param> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.Test"> + <summary> + Gets the test with which this result is associated. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.ResultState"> + <summary> + Gets the ResultState of the test result, which + indicates the success or failure of the test. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.Name"> + <summary> + Gets the name of the test result + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.FullName"> + <summary> + Gets the full name of the test result + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.Duration"> + <summary> + Gets or sets the elapsed time for running the test in seconds + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.StartTime"> + <summary> + Gets or sets the time the test started running. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.EndTime"> + <summary> + Gets or sets the time the test finished running. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestResult.AddTestAttachment(NUnit.Framework.Interfaces.TestAttachment)"> + <summary> + Adds a test attachment to the test result + </summary> + <param name="attachment">The TestAttachment object to attach</param> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.TestAttachments"> + <summary> + Gets the collection of files attached to the test + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.Message"> + <summary> + Gets the message associated with a test + failure or with not running the test + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.StackTrace"> + <summary> + Gets any stack trace associated with an + error or failure. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.AssertCount"> + <summary> + Gets or sets the count of asserts executed + when running the test. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.TotalCount"> + <summary> + Gets the number of test cases executed + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.FailCount"> + <summary> + Gets the number of test cases that failed + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.WarningCount"> + <summary> + Gets the number of test cases that had warnings + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.PassCount"> + <summary> + Gets the number of test cases that passed + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.SkipCount"> + <summary> + Gets the number of test cases that were skipped + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.InconclusiveCount"> + <summary> + Gets the number of test cases that were inconclusive + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.HasChildren"> + <summary> + Indicates whether this result has any child results. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.Children"> + <summary> + Gets the collection of child results. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.OutWriter"> + <summary> + Gets a TextWriter, which will write output to be included in the result. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.Output"> + <summary> + Gets any text output written to this result. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.AssertionResults"> + <summary> + Gets a list of assertion results associated with the test. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestResult.ToXml(System.Boolean)"> + <summary> + Returns the XML representation of the result. + </summary> + <param name="recursive">If true, descendant results are included</param> + <returns>An XmlNode representing the result</returns> + </member> + <member name="M:NUnit.Framework.Internal.TestResult.AddToXml(NUnit.Framework.Interfaces.TNode,System.Boolean)"> + <summary> + Adds the XML representation of the result as a child of the + supplied parent node.. + </summary> + <param name="parentNode">The parent node.</param> + <param name="recursive">If true, descendant results are included</param> + <returns></returns> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.PendingFailures"> + <summary> + Gets a count of pending failures (from Multiple Assert) + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.WorstAssertionStatus"> + <summary> + Gets the worst assertion status (highest enum) in all the assertion results + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestResult.SetResult(NUnit.Framework.Interfaces.ResultState)"> + <summary> + Set the result of the test + </summary> + <param name="resultState">The ResultState to use in the result</param> + </member> + <member name="M:NUnit.Framework.Internal.TestResult.SetResult(NUnit.Framework.Interfaces.ResultState,System.String)"> + <summary> + Set the result of the test + </summary> + <param name="resultState">The ResultState to use in the result</param> + <param name="message">A message associated with the result state</param> + </member> + <member name="M:NUnit.Framework.Internal.TestResult.SetResult(NUnit.Framework.Interfaces.ResultState,System.String,System.String)"> + <summary> + Set the result of the test + </summary> + <param name="resultState">The ResultState to use in the result</param> + <param name="message">A message associated with the result state</param> + <param name="stackTrace">Stack trace giving the location of the command</param> + </member> + <member name="M:NUnit.Framework.Internal.TestResult.RecordException(System.Exception)"> + <summary> + Set the test result based on the type of exception thrown + </summary> + <param name="ex">The exception that was thrown</param> + </member> + <member name="M:NUnit.Framework.Internal.TestResult.RecordException(System.Exception,NUnit.Framework.Interfaces.FailureSite)"> + <summary> + Set the test result based on the type of exception thrown + </summary> + <param name="ex">The exception that was thrown</param> + <param name="site">The FailureSite to use in the result</param> + </member> + <member name="M:NUnit.Framework.Internal.TestResult.RecordTearDownException(System.Exception)"> + <summary> + 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. + </summary> + <param name="ex">The Exception to be recorded</param> + </member> + <member name="M:NUnit.Framework.Internal.TestResult.RecordTestCompletion"> + <summary> + Update overall test result, including legacy Message, based + on AssertionResults that have been saved to this point. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestResult.RecordAssertion(NUnit.Framework.Interfaces.AssertionResult)"> + <summary> + Record an assertion result + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestResult.RecordAssertion(NUnit.Framework.Interfaces.AssertionStatus,System.String,System.String)"> + <summary> + Record an assertion result + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestResult.RecordAssertion(NUnit.Framework.Interfaces.AssertionStatus,System.String)"> + <summary> + Record an assertion result + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestResult.CreateLegacyFailureMessage"> + <summary> + Creates a failure message incorporating failures + from a Multiple Assert block for use by runners + that don't know about AssertionResults. + </summary> + <returns>Message as a string</returns> + </member> + <member name="M:NUnit.Framework.Internal.TestResult.AddFailureElement(NUnit.Framework.Interfaces.TNode)"> + <summary> + Adds a failure element to a node and returns it. + </summary> + <param name="targetNode">The target node.</param> + <returns>The new failure element.</returns> + </member> + <member name="M:NUnit.Framework.Internal.TestResult.AddAttachmentsElement(NUnit.Framework.Interfaces.TNode)"> + <summary> + Adds an attachments element to a node and returns it. + </summary> + <param name="targetNode">The target node.</param> + <returns>The new attachments element.</returns> + </member> + <member name="T:NUnit.Framework.Internal.TestSuiteResult"> + <summary> + Represents the result of running a test suite + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestSuiteResult.#ctor(NUnit.Framework.Internal.TestSuite)"> + <summary> + Construct a TestSuiteResult base on a TestSuite + </summary> + <param name="suite">The TestSuite to which the result applies</param> + </member> + <member name="P:NUnit.Framework.Internal.TestSuiteResult.TotalCount"> + <summary> + Gets the number of test cases that executed + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestSuiteResult.FailCount"> + <summary> + Gets the number of test cases that failed + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestSuiteResult.PassCount"> + <summary> + Gets the number of test cases that passed + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestSuiteResult.WarningCount"> + <summary> + Gets the number of test cases that passed + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestSuiteResult.SkipCount"> + <summary> + Gets the number of test cases that were skipped + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestSuiteResult.InconclusiveCount"> + <summary> + Gets the number of test cases that were inconclusive + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestSuiteResult.HasChildren"> + <summary> + Indicates whether this result has any child results. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestSuiteResult.Children"> + <summary> + Gets the collection of child results. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestSuiteResult.AddResult(NUnit.Framework.Interfaces.ITestResult)"> + <summary> + Adds a child result to this result, setting this result's + ResultState to Failure if the child result failed. + </summary> + <param name="result">The result to be added</param> + </member> + <member name="T:NUnit.Framework.Internal.RuntimeFramework"> + <summary> + RuntimeFramework represents a particular version + of a common language runtime implementation. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.RuntimeFramework.DefaultVersion"> + <summary> + DefaultVersion is an empty Version, used to indicate that + NUnit should select the CLR version to use for the test. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.RuntimeFramework.#ctor(NUnit.Framework.Internal.RuntimeType,System.Version)"> + <summary> + 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. + </summary> + <param name="runtime">The runtime type of the framework</param> + <param name="version">The version of the framework</param> + </member> + <member name="P:NUnit.Framework.Internal.RuntimeFramework.CurrentFramework"> + <summary> + Static method to return a RuntimeFramework object + for the framework that is currently in use. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.RuntimeFramework.Runtime"> + <summary> + The type of this runtime framework + </summary> + </member> + <member name="P:NUnit.Framework.Internal.RuntimeFramework.FrameworkVersion"> + <summary> + The framework version for this runtime framework + </summary> + </member> + <member name="P:NUnit.Framework.Internal.RuntimeFramework.ClrVersion"> + <summary> + The CLR version for this runtime framework + </summary> + </member> + <member name="P:NUnit.Framework.Internal.RuntimeFramework.AllowAnyVersion"> + <summary> + Return true if any CLR version may be used in + matching this RuntimeFramework object. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.RuntimeFramework.DisplayName"> + <summary> + Returns the Display name for this framework + </summary> + </member> + <member name="M:NUnit.Framework.Internal.RuntimeFramework.Parse(System.String)"> + <summary> + 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'. + </summary> + <param name="s"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Internal.RuntimeFramework.ToString"> + <summary> + Overridden to return the short name of the framework + </summary> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Internal.RuntimeFramework.Supports(NUnit.Framework.Internal.RuntimeFramework)"> + <summary> + 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. + </summary> + <param name="target">The RuntimeFramework to be matched.</param> + <returns>True on match, otherwise false</returns> + </member> + <member name="T:NUnit.Framework.Internal.RuntimeType"> + <summary> + Enumeration identifying a common language + runtime implementation. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.RuntimeType.Any"> + <summary>Any supported runtime framework</summary> + </member> + <member name="F:NUnit.Framework.Internal.RuntimeType.NetFramework"> + <summary>Microsoft .NET Framework</summary> + </member> + <member name="F:NUnit.Framework.Internal.RuntimeType.Net"> + <summary>Microsoft .NET Framework</summary> + </member> + <member name="F:NUnit.Framework.Internal.RuntimeType.SSCLI"> + <summary>Microsoft Shared Source CLI</summary> + </member> + <member name="F:NUnit.Framework.Internal.RuntimeType.Mono"> + <summary>Mono</summary> + </member> + <member name="F:NUnit.Framework.Internal.RuntimeType.MonoTouch"> + <summary>MonoTouch</summary> + </member> + <member name="F:NUnit.Framework.Internal.RuntimeType.NetCore"> + <summary>Microsoft .NET Core, including .NET 5+</summary> + </member> + <member name="T:NUnit.Framework.Internal.SandboxedThreadState"> + <summary> + Holds thread state which is captured and restored in order to sandbox user code. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.SandboxedThreadState.Principal"> + <summary> + Thread principal. + This will be null on platforms that don't support <see cref="P:System.Threading.Thread.CurrentPrincipal"/>. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.SandboxedThreadState.Capture"> + <summary> + Captures a snapshot of the tracked state of the current thread to be restored later. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.SandboxedThreadState.Restore"> + <summary> + Restores the tracked state of the current thread to the previously captured state. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.SandboxedThreadState.WithCulture(System.Globalization.CultureInfo)"> + <summary> + Returns a copy with the specified culture. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.SandboxedThreadState.WithUICulture(System.Globalization.CultureInfo)"> + <summary> + Returns a copy with the specified UI culture. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.SandboxedThreadState.WithPrincipal(System.Security.Principal.IPrincipal)"> + <summary> + Returns a copy with the specified principal. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.SingleThreadedTestSynchronizationContext.Post(System.Threading.SendOrPostCallback,System.Object)"> + <summary> + May be called from any thread. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.SingleThreadedTestSynchronizationContext.Send(System.Threading.SendOrPostCallback,System.Object)"> + <summary> + May be called from any thread. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.SingleThreadedTestSynchronizationContext.ShutDown"> + <summary> + May be called from any thread. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.SingleThreadedTestSynchronizationContext.Run"> + <summary> + May be called from any thread, but may only be called once. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.StackFilter"> + <summary> + StackFilter class is used to remove internal NUnit + entries from a stack trace so that the resulting + trace provides better information about the test. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.StackFilter.DefaultFilter"> + <summary> + Single instance of our default filter + </summary> + </member> + <member name="M:NUnit.Framework.Internal.StackFilter.#ctor(System.String,System.String)"> + <summary> + Construct a stack filter instance + </summary> + <param name="topOfStackPattern">Regex pattern used to delete lines from the top of the stack</param> + <param name="bottomOfStackPattern">Regex pattern used to delete lines from the bottom of the stack</param> + </member> + <member name="M:NUnit.Framework.Internal.StackFilter.#ctor(System.String)"> + <summary> + Construct a stack filter instance + </summary> + <param name="topOfStackPattern">Regex pattern used to delete lines from the top of the stack</param> + </member> + <member name="M:NUnit.Framework.Internal.StackFilter.#ctor"> + <summary> + Construct a stack filter instance + </summary> + </member> + <member name="M:NUnit.Framework.Internal.StackFilter.Filter(System.String)"> + <summary> + Filters a raw stack trace and returns the result. + </summary> + <param name="rawTrace">The original stack trace</param> + <returns>A filtered stack trace</returns> + </member> + <member name="T:NUnit.Framework.Internal.StringUtil"> + <summary> + Provides methods to support legacy string comparison methods. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.StringUtil.Compare(System.String,System.String,System.Boolean)"> + <summary> + Compares two strings for equality, ignoring case if requested. + </summary> + <param name="strA">The first string.</param> + <param name="strB">The second string..</param> + <param name="ignoreCase">if set to <see langword="true"/>, the case of the letters in the strings is ignored.</param> + <returns>Zero if the strings are equivalent, a negative number if strA is sorted first, a positive number if + strB is sorted first</returns> + </member> + <member name="M:NUnit.Framework.Internal.StringUtil.StringsEqual(System.String,System.String,System.Boolean)"> + <summary> + Compares two strings for equality, ignoring case if requested. + </summary> + <param name="strA">The first string.</param> + <param name="strB">The second string..</param> + <param name="ignoreCase">if set to <see langword="true"/>, the case of the letters in the strings is ignored.</param> + <returns>True if the strings are equivalent, false if not.</returns> + </member> + <member name="T:NUnit.Framework.Internal.TestCaseParameters"> + <summary> + The TestCaseParameters class encapsulates method arguments and + other selected parameters needed for constructing + a parameterized test case. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TestCaseParameters._expectedResult"> + <summary> + The expected result to be returned + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestCaseParameters.#ctor"> + <summary> + Default Constructor creates an empty parameter set + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestCaseParameters.#ctor(System.Exception)"> + <summary> + Construct a non-runnable ParameterSet, specifying + the provider exception that made it invalid. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestCaseParameters.#ctor(System.Object[])"> + <summary> + Construct a parameter set with a list of arguments + </summary> + <param name="args"></param> + </member> + <member name="M:NUnit.Framework.Internal.TestCaseParameters.#ctor(NUnit.Framework.Interfaces.ITestCaseData)"> + <summary> + Construct a ParameterSet from an object implementing ITestCaseData + </summary> + <param name="data"></param> + </member> + <member name="P:NUnit.Framework.Internal.TestCaseParameters.ExpectedResult"> + <summary> + The expected result of the test, which + must match the method return type. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestCaseParameters.HasExpectedResult"> + <summary> + Gets a value indicating whether an expected result was specified. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.TestCaseTimeoutException"> + <summary> + TestCaseTimeoutException is thrown when a test running directly + on a TestWorker thread is cancelled due to timeout. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestCaseTimeoutException.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.TestCaseTimeoutException"/> class. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestCaseTimeoutException.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.TestCaseTimeoutException"/> class. + </summary> + <param name="message">The message.</param> + </member> + <member name="M:NUnit.Framework.Internal.TestCaseTimeoutException.#ctor(System.String,System.Exception)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.TestCaseTimeoutException"/> class. + </summary> + <param name="message">The message.</param> + <param name="inner">The inner.</param> + </member> + <member name="M:NUnit.Framework.Internal.TestCaseTimeoutException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)"> + <summary> + Serialization Constructor + </summary> + </member> + <member name="T:NUnit.Framework.Internal.TestExecutionContext"> + <summary> + 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. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TestExecutionContext._priorContext"> + <summary> + Link to a prior saved context + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TestExecutionContext._executionStatus"> + <summary> + Indicates that a stop has been requested + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TestExecutionContext._listener"> + <summary> + The event listener currently receiving notifications + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TestExecutionContext._assertCount"> + <summary> + The number of assertions for the current test + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TestExecutionContext._currentResult"> + <summary> + The current test result + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestExecutionContext.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.TestExecutionContext"/> class. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestExecutionContext.#ctor(NUnit.Framework.Internal.TestExecutionContext)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.TestExecutionContext"/> class. + </summary> + <param name="other">An existing instance of TestExecutionContext.</param> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.CurrentContext"> + <summary> + Gets and sets the current context. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.CurrentTest"> + <summary> + Gets or sets the current test + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.StartTime"> + <summary> + The time the current test started execution + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.StartTicks"> + <summary> + The time the current test started in Ticks + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.Duration"> + <summary> + Gets the elapsed time for running the test in seconds + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.CurrentResult"> + <summary> + Gets or sets the current test result + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.OutWriter"> + <summary> + Gets a TextWriter that will send output to the current test result. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.TestObject"> + <summary> + The current test object - that is the user fixture + object on which tests are being executed. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.StopOnError"> + <summary> + Get or set indicator that run should stop on the first error + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.ExecutionStatus"> + <summary> + Gets an enum indicating whether a stop has been requested. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.Listener"> + <summary> + The current test event listener + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.Dispatcher"> + <summary> + The current WorkItemDispatcher. Made public for + use by nunitlite.tests + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.ParallelScope"> + <summary> + The ParallelScope to be used by tests running in this context. + For builds with out the parallel feature, it has no effect. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.DefaultFloatingPointTolerance"> + <summary> + Default tolerance value used for floating point equality + when no other tolerance is specified. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.TestWorker"> + <summary> + The worker that spawned the context. + For builds without the parallel feature, it is null. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.RandomGenerator"> + <summary> + Gets the RandomGenerator specific to this Test + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.AssertCount"> + <summary> + Gets the assert count. + </summary> + <value>The assert count.</value> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.MultipleAssertLevel"> + <summary> + The current nesting level of multiple assert blocks + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.TestCaseTimeout"> + <summary> + Gets or sets the test case timeout value + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.UpstreamActions"> + <summary> + Gets a list of ITestActions set by upstream tests + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.CurrentCulture"> + <summary> + Saves or restores the CurrentCulture + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.CurrentUICulture"> + <summary> + Saves or restores the CurrentUICulture + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.CurrentPrincipal"> + <summary> + Gets or sets the current <see cref="T:System.Security.Principal.IPrincipal"/> for the Thread. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.CurrentValueFormatter"> + <summary> + The current head of the ValueFormatter chain, copied from MsgUtils.ValueFormatter + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.IsSingleThreaded"> + <summary> + If true, all tests must run on the same thread. No new thread may be spawned. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.CurrentRepeatCount"> + <summary> + The number of times the current test has been scheduled for execution. + Currently only being executed in a test using the <see cref="T:NUnit.Framework.RetryAttribute"/> + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestExecutionContext.UpdateContextFromEnvironment"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestExecutionContext.EstablishExecutionEnvironment"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestExecutionContext.IncrementAssertCount"> + <summary> + Increments the assert count by one. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestExecutionContext.IncrementAssertCount(System.Int32)"> + <summary> + Increments the assert count by a specified amount. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestExecutionContext.AddFormatter(NUnit.Framework.Constraints.ValueFormatterFactory)"> + <summary> + Adds a new ValueFormatterFactory to the chain of formatters + </summary> + <param name="formatterFactory">The new factory</param> + </member> + <member name="M:NUnit.Framework.Internal.TestExecutionContext.SendMessage(System.String,System.String)"> + <summary> + Sends a message from test to listeners. This message is not kind of test output and doesn't go to test result. + </summary> + <param name="destination">A name recognized by the intended listeners.</param> + <param name="message">A message to be sent</param> + </member> + <member name="M:NUnit.Framework.Internal.TestExecutionContext.InitializeLifetimeService"> + <summary> + Obtain lifetime service object + </summary> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Internal.TestExecutionContext.IsolatedContext"> + <summary> + 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. + </summary> + <example> + using (new TestExecutionContext.IsolatedContext()) + { + // Code that should not impact the result + } + </example> + </member> + <member name="M:NUnit.Framework.Internal.TestExecutionContext.IsolatedContext.#ctor"> + <summary> + Save the original current TestExecutionContext and + make a new isolated context current. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestExecutionContext.IsolatedContext.Dispose"> + <summary> + Restore the original TestExecutionContext. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.TestExecutionContext.AdhocContext"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestExecutionContext.AdhocContext.#ctor"> + <summary> + Construct an AdhocTestExecutionContext, which is used + whenever the current TestExecutionContext is found to be null. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.TestExecutionStatus"> + <summary> + Enumeration indicating whether the tests are + running normally or being cancelled. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TestExecutionStatus.Running"> + <summary> + Running normally with no stop requested + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TestExecutionStatus.StopRequested"> + <summary> + A graceful stop has been requested + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TestExecutionStatus.AbortRequested"> + <summary> + A forced stop has been requested + </summary> + </member> + <member name="T:NUnit.Framework.Internal.TestFilter"> + <summary> + 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. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TestFilter.Empty"> + <summary> + Unique Empty filter. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestFilter.IsEmpty"> + <summary> + Indicates whether this is the EmptyFilter + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestFilter.TopLevel"> + <summary> + Indicates whether this is a top-level filter, + not contained in any other filter. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestFilter.Pass(NUnit.Framework.Interfaces.ITest)"> + <summary> + 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. + </summary> + <param name="test">The test to which the filter is applied</param> + <returns>True if the test passes the filter, otherwise false</returns> + </member> + <member name="M:NUnit.Framework.Internal.TestFilter.Pass(NUnit.Framework.Interfaces.ITest,System.Boolean)"> + <summary> + 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. + </summary> + <param name="test">The test to which the filter is applied</param> + <param name="negated">If set to <see langword="true"/> we are carrying a negation through</param> + <returns>True if the test passes the filter, otherwise false</returns> + </member> + <member name="M:NUnit.Framework.Internal.TestFilter.IsExplicitMatch(NUnit.Framework.Interfaces.ITest)"> + <summary> + 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. + </summary> + <param name="test">The test to which the filter is applied</param> + <returns>True if the test matches the filter explicitly, otherwise false</returns> + </member> + <member name="M:NUnit.Framework.Internal.TestFilter.Match(NUnit.Framework.Interfaces.ITest)"> + <summary> + 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. + </summary> + <param name="test">The test to which the filter is applied</param> + <returns>True if the filter matches the any parent of the test</returns> + </member> + <member name="M:NUnit.Framework.Internal.TestFilter.MatchParent(NUnit.Framework.Interfaces.ITest)"> + <summary> + Determine whether any ancestor of the test matches the filter criteria + </summary> + <param name="test">The test to which the filter is applied</param> + <returns>True if the filter matches the an ancestor of the test</returns> + </member> + <member name="M:NUnit.Framework.Internal.TestFilter.MatchDescendant(NUnit.Framework.Interfaces.ITest)"> + <summary> + Determine whether any descendant of the test matches the filter criteria. + </summary> + <param name="test">The test to be matched</param> + <returns>True if at least one descendant matches the filter criteria</returns> + </member> + <member name="M:NUnit.Framework.Internal.TestFilter.FromXml(System.String)"> + <summary> + Create a TestFilter instance from an XML representation. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestFilter.FromXml(NUnit.Framework.Interfaces.TNode)"> + <summary> + Create a TestFilter from its TNode representation + </summary> + </member> + <member name="T:NUnit.Framework.Internal.TestFilter.EmptyFilter"> + <summary> + Nested class provides an empty filter - one that always + returns true when called. It never matches explicitly. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestFilter.ToXml(System.Boolean)"> + <summary> + Adds an XML node + </summary> + <param name="recursive">True if recursive</param> + <returns>The added XML node</returns> + </member> + <member name="M:NUnit.Framework.Internal.TestFilter.AddToXml(NUnit.Framework.Interfaces.TNode,System.Boolean)"> + <summary> + Adds an XML node + </summary> + <param name="parentNode">Parent node</param> + <param name="recursive">True if recursive</param> + <returns>The added XML node</returns> + </member> + <member name="T:NUnit.Framework.Internal.TestFixtureParameters"> + <summary> + The TestCaseParameters class encapsulates method arguments and + other selected parameters needed for constructing + a parameterized test case. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestFixtureParameters.#ctor"> + <summary> + Default Constructor creates an empty parameter set + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestFixtureParameters.#ctor(System.Exception)"> + <summary> + Construct a non-runnable ParameterSet, specifying + the provider exception that made it invalid. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestFixtureParameters.#ctor(System.Object[])"> + <summary> + Construct a parameter set with a list of arguments + </summary> + <param name="args"></param> + </member> + <member name="M:NUnit.Framework.Internal.TestFixtureParameters.#ctor(NUnit.Framework.Interfaces.ITestFixtureData)"> + <summary> + Construct a ParameterSet from an object implementing ITestCaseData + </summary> + <param name="data"></param> + </member> + <member name="P:NUnit.Framework.Internal.TestFixtureParameters.TypeArgs"> + <summary> + Type arguments used to create a generic fixture instance + </summary> + </member> + <member name="T:NUnit.Framework.Internal.TestListener"> + <summary> + TestListener provides an implementation of ITestListener that + does nothing. It is used only through its NULL property. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestListener.TestStarted(NUnit.Framework.Interfaces.ITest)"> + <summary> + Called when a test has just started + </summary> + <param name="test">The test that is starting</param> + </member> + <member name="M:NUnit.Framework.Internal.TestListener.TestFinished(NUnit.Framework.Interfaces.ITestResult)"> + <summary> + Called when a test case has finished + </summary> + <param name="result">The result of the test</param> + </member> + <member name="M:NUnit.Framework.Internal.TestListener.TestOutput(NUnit.Framework.Interfaces.TestOutput)"> + <summary> + Called when a test produces output for immediate display + </summary> + <param name="output">A TestOutput object containing the text to display</param> + </member> + <member name="M:NUnit.Framework.Internal.TestListener.SendMessage(NUnit.Framework.Interfaces.TestMessage)"> + <summary> + Called when a test produces a message to be sent to listeners + </summary> + <param name="message">A <see cref="T:NUnit.Framework.Interfaces.TestMessage"/> object containing the message to send</param> + </member> + <member name="M:NUnit.Framework.Internal.TestListener.#ctor"> + <summary> + Construct a new TestListener - private so it may not be used. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestListener.NULL"> + <summary> + Get a listener that does nothing + </summary> + </member> + <member name="T:NUnit.Framework.Internal.TestNameGenerator"> + <summary> + TestNameGenerator is able to create test names according to + a coded pattern. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TestNameGenerator.DefaultTestNamePattern"> + <summary> + Default pattern used to generate names + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestNameGenerator.#ctor"> + <summary> + Construct a TestNameGenerator + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestNameGenerator.#ctor(System.String)"> + <summary> + Construct a TestNameGenerator + </summary> + <param name="pattern">The pattern used by this generator.</param> + </member> + <member name="M:NUnit.Framework.Internal.TestNameGenerator.GetDisplayName(NUnit.Framework.Internal.TestMethod)"> + <summary> + Get the display name for a TestMethod and its arguments + </summary> + <param name="testMethod">A TestMethod</param> + <returns>The display name</returns> + </member> + <member name="M:NUnit.Framework.Internal.TestNameGenerator.GetDisplayName(NUnit.Framework.Internal.TestMethod,System.Object[])"> + <summary> + Get the display name for a TestMethod and its arguments + </summary> + <param name="testMethod">A TestMethod</param> + <param name="args">Arguments to be used</param> + <returns>The display name</returns> + </member> + <member name="M:NUnit.Framework.Internal.TestNameGenerator.NameFragment.MayNeedEscape(System.String)"> + <summary> + Checks if string contains any character that might need escaping. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestNameGenerator.NameFragment.MayNeedEscape(System.Char)"> + <summary> + Checks whether given char *might* need escaping. + </summary> + <returns>False when absolutely no escaping is needed, otherwise true.</returns> + </member> + <member name="T:NUnit.Framework.Internal.TestParameters"> + <summary> + TestParameters is the abstract base class for all classes + that know how to provide data for constructing a test. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestParameters.#ctor"> + <summary> + Default Constructor creates an empty parameter set + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestParameters.#ctor(System.Object[])"> + <summary> + Construct a parameter set with a list of arguments + </summary> + <param name="args"></param> + </member> + <member name="M:NUnit.Framework.Internal.TestParameters.#ctor(System.Exception)"> + <summary> + Construct a non-runnable ParameterSet, specifying + the provider exception that made it invalid. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestParameters.#ctor(NUnit.Framework.Interfaces.ITestData)"> + <summary> + Construct a ParameterSet from an object implementing ITestData + </summary> + <param name="data"></param> + </member> + <member name="P:NUnit.Framework.Internal.TestParameters.RunState"> + <summary> + The RunState for this set of parameters. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestParameters.Arguments"> + <summary> + The arguments to be used in running the test, + which must match the method signature. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestParameters.TestName"> + <summary> + A name to be used for this test case in lieu + of the standard generated name containing + the argument list. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestParameters.Properties"> + <summary> + Gets the property dictionary for this test + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestParameters.ApplyToTest(NUnit.Framework.Internal.Test)"> + <summary> + Applies ParameterSet values to the test itself. + </summary> + <param name="test">A test.</param> + </member> + <member name="P:NUnit.Framework.Internal.TestParameters.OriginalArguments"> + <summary> + The original arguments provided by the user, + used for display purposes. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestParameters.ArgDisplayNames"> + <summary> + The list of display names to use as the parameters in the test name. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.TestProgressReporter"> + <summary> + TestProgressReporter translates ITestListener events into + the async callbacks that are used to inform the client + software about the progress of a test run. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestProgressReporter.#ctor(System.Web.UI.ICallbackEventHandler)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.TestProgressReporter"/> class. + </summary> + <param name="handler">The callback handler to be used for reporting progress.</param> + </member> + <member name="M:NUnit.Framework.Internal.TestProgressReporter.TestStarted(NUnit.Framework.Interfaces.ITest)"> + <summary> + Called when a test has just started + </summary> + <param name="test">The test that is starting</param> + </member> + <member name="M:NUnit.Framework.Internal.TestProgressReporter.TestFinished(NUnit.Framework.Interfaces.ITestResult)"> + <summary> + Called when a test has finished. Sends a result summary to the callback. + to + </summary> + <param name="result">The result of the test</param> + </member> + <member name="M:NUnit.Framework.Internal.TestProgressReporter.TestOutput(NUnit.Framework.Interfaces.TestOutput)"> + <summary> + Called when a test produces output for immediate display + </summary> + <param name="output">A TestOutput object containing the text to display</param> + </member> + <member name="M:NUnit.Framework.Internal.TestProgressReporter.SendMessage(NUnit.Framework.Interfaces.TestMessage)"> + <summary> + Called when a test produces a message to be sent to listeners + </summary> + <param name="message">A <see cref="T:NUnit.Framework.Interfaces.TestMessage"/> object containing the text to send</param> + </member> + <member name="M:NUnit.Framework.Internal.TestProgressReporter.GetParent(NUnit.Framework.Interfaces.ITest)"> + <summary> + Returns the parent test item for the target test item if it exists + </summary> + <param name="test"></param> + <returns>parent test item</returns> + </member> + <member name="M:NUnit.Framework.Internal.TestProgressReporter.FormatAttributeValue(System.String)"> + <summary> + Makes a string safe for use as an attribute, replacing + characters that can't be used with their + corresponding XML representations. + </summary> + <param name="original">The string to be used</param> + <returns>A new string with the values replaced</returns> + </member> + <member name="T:NUnit.Framework.Internal.ParameterizedFixtureSuite"> + <summary> + ParameterizedFixtureSuite serves as a container for the set of test + fixtures created from a given Type using various parameters. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ParameterizedFixtureSuite.#ctor(NUnit.Framework.Interfaces.ITypeInfo)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.ParameterizedFixtureSuite"/> class. + </summary> + <param name="typeInfo">The ITypeInfo for the type that represents the suite.</param> + </member> + <member name="M:NUnit.Framework.Internal.ParameterizedFixtureSuite.#ctor(NUnit.Framework.Internal.ParameterizedFixtureSuite,NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Creates a copy of the given suite with only the descendants that pass the specified filter. + </summary> + <param name="suite">The <see cref="T:NUnit.Framework.Internal.ParameterizedFixtureSuite"/> to copy.</param> + <param name="filter">Determines which descendants are copied.</param> + </member> + <member name="P:NUnit.Framework.Internal.ParameterizedFixtureSuite.TestType"> + <summary> + Gets a string representing the type of test + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ParameterizedFixtureSuite.Copy(NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Creates a filtered copy of the test suite. + </summary> + <param name="filter">Determines which descendants are copied.</param> + </member> + <member name="T:NUnit.Framework.Internal.ParameterizedMethodSuite"> + <summary> + ParameterizedMethodSuite holds a collection of individual + TestMethods with their arguments applied. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ParameterizedMethodSuite.#ctor(NUnit.Framework.Interfaces.IMethodInfo)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.ParameterizedMethodSuite"/> class. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ParameterizedMethodSuite.#ctor(NUnit.Framework.Internal.ParameterizedMethodSuite,NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Creates a copy of the given suite with only the descendants that pass the specified filter. + </summary> + <param name="suite">The <see cref="T:NUnit.Framework.Internal.ParameterizedMethodSuite"/> to copy.</param> + <param name="filter">Determines which descendants are copied.</param> + </member> + <member name="P:NUnit.Framework.Internal.ParameterizedMethodSuite.Method"> + <summary> + Gets a MethodInfo for the method implementing this test. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.ParameterizedMethodSuite.TestType"> + <summary> + Gets a string representing the type of test + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ParameterizedMethodSuite.Copy(NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Creates a filtered copy of the test suite. + </summary> + <param name="filter">Determines which descendants are copied.</param> + </member> + <member name="T:NUnit.Framework.Internal.SetUpFixture"> + <summary> + SetUpFixture extends TestSuite and supports + Setup and TearDown methods. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.SetUpFixture.#ctor(NUnit.Framework.Interfaces.ITypeInfo)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.SetUpFixture"/> class. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.SetUpFixture.#ctor(NUnit.Framework.Internal.SetUpFixture,NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Creates a copy of the given suite with only the descendants that pass the specified filter. + </summary> + <param name="setUpFixture">The <see cref="T:NUnit.Framework.Internal.SetUpFixture"/> to copy.</param> + <param name="filter">Determines which descendants are copied.</param> + </member> + <member name="P:NUnit.Framework.Internal.SetUpFixture.TypeInfo"> + <summary> + Gets the TypeInfo of the fixture used in running this test. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.SetUpFixture.Copy(NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Creates a filtered copy of the test suite. + </summary> + <param name="filter">Determines which descendants are copied.</param> + </member> + <member name="T:NUnit.Framework.Internal.Test"> + <summary> + The Test abstract class represents a test within the framework. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Test._nextID"> + <summary> + Static value to seed ids. It's started at 1000 so any + uninitialized ids will stand out. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Test._declaringTypeInfo"> + <summary> + Used to cache the declaring type for this MethodInfo + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Test._method"> + <summary> + Method property backing field + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Test.#ctor(System.String)"> + <summary> + Constructs a test given its name + </summary> + <param name="name">The name of the test</param> + </member> + <member name="M:NUnit.Framework.Internal.Test.#ctor(System.String,System.String)"> + <summary> + Constructs a test given the path through the + test hierarchy to its parent and a name. + </summary> + <param name="pathName">The parent tests full name</param> + <param name="name">The name of the test</param> + </member> + <member name="M:NUnit.Framework.Internal.Test.#ctor(NUnit.Framework.Interfaces.ITypeInfo)"> + <summary> + Constructs a test for a specific type. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Test.#ctor(NUnit.Framework.Interfaces.IMethodInfo)"> + <summary> + Constructs a test for a specific method. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Test.Id"> + <summary> + Gets or sets the id of the test + </summary> + <value></value> + </member> + <member name="P:NUnit.Framework.Internal.Test.Name"> + <summary> + Gets or sets the name of the test + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Test.FullName"> + <summary> + Gets or sets the fully qualified name of the test + </summary> + <value></value> + </member> + <member name="P:NUnit.Framework.Internal.Test.ClassName"> + <summary> + Gets the name of the class where this test was declared. + Returns null if the test is not associated with a class. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Test.MethodName"> + <summary> + Gets the name of the method implementing this test. + Returns null if the test is not implemented as a method. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Test.Arguments"> + <summary> + The arguments to use in creating the test or empty array if none required. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Test.TypeInfo"> + <summary> + Gets the TypeInfo of the fixture used in running this test + or null if no fixture type is associated with it. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Test.Method"> + <summary> + Gets a MethodInfo for the method implementing this test. + Returns null if the test is not implemented as a method. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Test.RunState"> + <summary> + Whether or not the test should be run + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Test.XmlElementName"> + <summary> + Gets the name used for the top-level element in the + XML representation of this test + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Test.TestType"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Test.TestCaseCount"> + <summary> + Gets a count of test cases represented by + or contained under this test. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Test.Properties"> + <summary> + Gets the properties for this test + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Test.IsSuite"> + <summary> + Returns true if this is a TestSuite + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Test.HasChildren"> + <summary> + Gets a bool indicating whether the current test + has any descendant tests. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Test.Parent"> + <summary> + Gets the parent as a Test object. + Used by the core to set the parent. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Test.Tests"> + <summary> + Gets this test's child tests + </summary> + <value>A list of child tests</value> + </member> + <member name="P:NUnit.Framework.Internal.Test.Fixture"> + <summary> + Gets or sets a fixture object for running this test. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Test.IdPrefix"> + <summary> + Static prefix used for ids in this AppDomain. + Set by FrameworkController. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Test.Seed"> + <summary> + Gets or Sets the Int value representing the seed for the RandomGenerator + </summary> + <value></value> + </member> + <member name="P:NUnit.Framework.Internal.Test.SetUpMethods"> + <summary> + The SetUp methods. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Test.TearDownMethods"> + <summary> + The teardown methods + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Test.MakeTestResult"> + <summary> + Creates a TestResult for this test. + </summary> + <returns>A TestResult suitable for this type of test.</returns> + </member> + <member name="M:NUnit.Framework.Internal.Test.ApplyAttributesToTest(System.Reflection.ICustomAttributeProvider)"> + <summary> + Modify a newly constructed test by applying any of NUnit's common + attributes, based on a supplied <see cref="T:System.Reflection.ICustomAttributeProvider"/>, 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Test.MakeInvalid(System.String)"> + <summary> + Mark the test as Invalid (not runnable) specifying a reason + </summary> + <param name="reason">The reason the test is not runnable</param> + </member> + <member name="M:NUnit.Framework.Internal.Test.GetCustomAttributes``1(System.Boolean)"> + <summary> + Get custom attributes applied to a test + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Test.PopulateTestNode(NUnit.Framework.Interfaces.TNode,System.Boolean)"> + <summary> + Add standard attributes and members to a test node. + </summary> + <param name="thisNode"></param> + <param name="recursive"></param> + </member> + <member name="M:NUnit.Framework.Internal.Test.ToXml(System.Boolean)"> + <summary> + Returns the XML representation of the test + </summary> + <param name="recursive">If true, include child tests recursively</param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Internal.Test.AddToXml(NUnit.Framework.Interfaces.TNode,System.Boolean)"> + <summary> + Returns an XmlNode representing the current result after + adding it as a child of the supplied parent node. + </summary> + <param name="parentNode">The parent node.</param> + <param name="recursive">If true, descendant results are included</param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Internal.Test.CompareTo(System.Object)"> + <summary>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.</summary> + <param name="obj">An object to compare with this instance. </param> + </member> + <member name="M:NUnit.Framework.Internal.Test.CompareTo(NUnit.Framework.Internal.Test)"> + <summary>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. </summary> + <param name="other">An object to compare with this instance.</param> + </member> + <member name="T:NUnit.Framework.Internal.TestAssembly"> + <summary> + TestAssembly is a TestSuite that represents the execution + of tests in a managed assembly. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestAssembly.#ctor(System.Reflection.Assembly,System.String)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.TestAssembly"/> class + specifying the Assembly and the suite name. + </summary> + <param name="assembly">The assembly this test represents.</param> + <param name="assemblyNameOrPath"> + This becomes the full name of the suite and the filename part is used as the suite name. + </param> + </member> + <member name="M:NUnit.Framework.Internal.TestAssembly.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.TestAssembly"/> class + specifying the suite name for an assembly that could not be loaded. + </summary> + <param name="assemblyNameOrPath"> + This becomes the full name of the suite and the filename part is used as the suite name. + </param> + </member> + <member name="M:NUnit.Framework.Internal.TestAssembly.#ctor(NUnit.Framework.Internal.TestAssembly,NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Creates a copy of the given assembly with only the descendants that pass the specified filter. + </summary> + <param name="assembly">The <see cref="T:NUnit.Framework.Internal.TestAssembly"/> to copy.</param> + <param name="filter">Determines which descendants are copied.</param> + </member> + <member name="P:NUnit.Framework.Internal.TestAssembly.Assembly"> + <summary> + Gets the Assembly represented by this instance. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestAssembly.TestType"> + <summary> + Gets the name used for the top-level element in the + XML representation of this test + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestAssembly.GetCustomAttributes``1(System.Boolean)"> + <summary> + Get custom attributes specified on the assembly + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestAssembly.Copy(NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Creates a filtered copy of the test suite. + </summary> + <param name="filter">Determines which descendants are copied.</param> + </member> + <member name="T:NUnit.Framework.Internal.TestFixture"> + <summary> + TestFixture is a surrogate for a user test fixture class, + containing one or more tests. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestFixture.LifeCycle"> + <summary> + The life cycle specified for the current test fixture. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestFixture.#ctor(NUnit.Framework.Interfaces.ITypeInfo,System.Object[])"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.TestFixture"/> class. + </summary> + <param name="fixtureType">Type of the fixture.</param> + <param name="arguments">Arguments used to instantiate the test fixture, or null if none used</param> + </member> + <member name="M:NUnit.Framework.Internal.TestFixture.#ctor(NUnit.Framework.Internal.TestFixture,NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Creates a copy of the given suite with only the descendants that pass the specified filter. + </summary> + <param name="fixture">The <see cref="T:NUnit.Framework.Internal.TestFixture"/> to copy.</param> + <param name="filter">Determines which descendants are copied.</param> + </member> + <member name="P:NUnit.Framework.Internal.TestFixture.TypeInfo"> + <summary> + Gets the TypeInfo of the fixture used in running this test. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestFixture.Copy(NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Creates a filtered copy of the test suite. + </summary> + <param name="filter">Determines which descendants are copied.</param> + </member> + <member name="T:NUnit.Framework.Internal.TestMethod"> + <summary> + The TestMethod class represents a Test implemented as a method. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TestMethod.parms"> + <summary> + The ParameterSet used to create this test method + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestMethod.#ctor(NUnit.Framework.Interfaces.IMethodInfo)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.TestMethod"/> class. + </summary> + <param name="method">The method to be used as a test.</param> + </member> + <member name="M:NUnit.Framework.Internal.TestMethod.#ctor(NUnit.Framework.Interfaces.IMethodInfo,NUnit.Framework.Internal.Test)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.TestMethod"/> class. + </summary> + <param name="method">The method to be used as a test.</param> + <param name="parentSuite">The suite or fixture to which the new test will be added</param> + </member> + <member name="P:NUnit.Framework.Internal.TestMethod.Method"> + <summary> + Gets a MethodInfo for the method implementing this test. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestMethod.Arguments"> + <summary> + The arguments to use in executing the test method, or empty array if none are provided. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestMethod.MakeTestResult"> + <summary> + Overridden to return a TestCaseResult. + </summary> + <returns>A TestResult for this test.</returns> + </member> + <member name="P:NUnit.Framework.Internal.TestMethod.HasChildren"> + <summary> + Gets a bool indicating whether the current test + has any descendant tests. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestMethod.AddToXml(NUnit.Framework.Interfaces.TNode,System.Boolean)"> + <summary> + Returns a TNode representing the current result after + adding it as a child of the supplied parent node. + </summary> + <param name="parentNode">The parent node.</param> + <param name="recursive">If true, descendant results are included</param> + <returns></returns> + </member> + <member name="P:NUnit.Framework.Internal.TestMethod.Tests"> + <summary> + Gets this test's child tests + </summary> + <value>A list of child tests</value> + </member> + <member name="P:NUnit.Framework.Internal.TestMethod.XmlElementName"> + <summary> + Gets the name used for the top-level element in the + XML representation of this test + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestMethod.MethodName"> + <summary> + Returns the name of the method + </summary> + </member> + <member name="T:NUnit.Framework.Internal.TestSuite"> + <summary> + TestSuite represents a composite test, which contains other tests. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TestSuite.tests"> + <summary> + Our collection of child tests + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestSuite.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.TestSuite"/> class. + </summary> + <param name="name">The name of the suite.</param> + </member> + <member name="M:NUnit.Framework.Internal.TestSuite.#ctor(System.String,System.String)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.TestSuite"/> class. + </summary> + <param name="parentSuiteName">Name of the parent suite.</param> + <param name="name">The name of the suite.</param> + </member> + <member name="M:NUnit.Framework.Internal.TestSuite.#ctor(NUnit.Framework.Interfaces.ITypeInfo,System.Object[])"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.TestSuite"/> class. + </summary> + <param name="fixtureType">Type of the fixture.</param> + <param name="arguments">Arguments used to instantiate the test fixture, or null if none used.</param> + </member> + <member name="M:NUnit.Framework.Internal.TestSuite.#ctor(System.Type)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.TestSuite"/> class. + </summary> + <param name="fixtureType">Type of the fixture.</param> + </member> + <member name="M:NUnit.Framework.Internal.TestSuite.#ctor(NUnit.Framework.Internal.TestSuite,NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Creates a copy of the given suite with only the descendants that pass the specified filter. + </summary> + <param name="suite">The <see cref="T:NUnit.Framework.Internal.TestSuite"/> to copy.</param> + <param name="filter">Determines which descendants are copied.</param> + </member> + <member name="M:NUnit.Framework.Internal.TestSuite.Sort"> + <summary> + Sorts tests under this suite. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestSuite.Add(NUnit.Framework.Internal.Test)"> + <summary> + Adds a test to the suite. + </summary> + <param name="test">The test.</param> + </member> + <member name="M:NUnit.Framework.Internal.TestSuite.Copy(NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Creates a filtered copy of the test suite. + </summary> + <param name="filter">Determines which descendants are copied.</param> + </member> + <member name="P:NUnit.Framework.Internal.TestSuite.Tests"> + <summary> + Gets this test's child tests + </summary> + <value>The list of child tests</value> + </member> + <member name="P:NUnit.Framework.Internal.TestSuite.TestCaseCount"> + <summary> + Gets a count of test cases represented by + or contained under this test. + </summary> + <value></value> + </member> + <member name="P:NUnit.Framework.Internal.TestSuite.Arguments"> + <summary> + The arguments to use in creating the fixture, or empty array if none are provided. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestSuite.MaintainTestOrder"> + <summary> + Set to true to suppress sorting this suite's contents + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestSuite.OneTimeSetUpMethods"> + <summary> + OneTimeSetUp methods for this suite + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestSuite.OneTimeTearDownMethods"> + <summary> + OneTimeTearDown methods for this suite + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestSuite.MakeTestResult"> + <summary> + Overridden to return a TestSuiteResult. + </summary> + <returns>A TestResult for this test.</returns> + </member> + <member name="P:NUnit.Framework.Internal.TestSuite.HasChildren"> + <summary> + Gets a bool indicating whether the current test + has any descendant tests. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestSuite.XmlElementName"> + <summary> + Gets the name used for the top-level element in the + XML representation of this test + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestSuite.AddToXml(NUnit.Framework.Interfaces.TNode,System.Boolean)"> + <summary> + Returns an XmlNode representing the current result after + adding it as a child of the supplied parent node. + </summary> + <param name="parentNode">The parent node.</param> + <param name="recursive">If true, descendant results are included</param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Internal.TestSuite.CheckSetUpTearDownMethods(NUnit.Framework.Interfaces.IMethodInfo[])"> + <summary> + Check that setup and teardown methods marked by certain attributes + meet NUnit's requirements and mark the tests not runnable otherwise. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.ThreadUtility"> + <summary> + ThreadUtility provides a set of static methods convenient + for working with threads. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ThreadUtility.Delay(System.Int32,System.Threading.WaitCallback,System.Object)"> + <summary> + Pre-Task compatibility + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ThreadUtility.Abort(System.Threading.Thread,System.Int32)"> + <summary> + Abort a thread, helping to dislodging it if it is blocked in native code + </summary> + <param name="thread">The thread to abort</param> + <param name="nativeId">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 <see cref="M:NUnit.Framework.Internal.ThreadUtility.GetCurrentThreadNativeId"/> from the running thread itself.</param> + </member> + <member name="M:NUnit.Framework.Internal.ThreadUtility.Kill(System.Threading.Thread,System.Int32)"> + <summary> + Do our best to kill a thread + </summary> + <param name="thread">The thread to kill</param> + <param name="nativeId">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 <see cref="M:NUnit.Framework.Internal.ThreadUtility.GetCurrentThreadNativeId"/> from the running thread itself.</param> + </member> + <member name="M:NUnit.Framework.Internal.ThreadUtility.Kill(System.Threading.Thread,System.Object,System.Int32)"> + <summary> + Do our best to kill a thread, passing state info + </summary> + <param name="thread">The thread to kill</param> + <param name="stateInfo">Info for the ThreadAbortException handler</param> + <param name="nativeId">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 <see cref="M:NUnit.Framework.Internal.ThreadUtility.GetCurrentThreadNativeId"/> from the running thread itself.</param> + </member> + <member name="M:NUnit.Framework.Internal.ThreadUtility.DislodgeThreadInNativeMessageWait(System.Threading.Thread,System.Int32)"> + <summary> + Schedule a thread pool thread to check on the aborting thread in case it's in a message pump native blocking wait + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ThreadUtility.GetCurrentThreadNativeId"> + <summary> + Captures the current thread's native id. If provided to <see cref="M:NUnit.Framework.Internal.ThreadUtility.Kill(System.Threading.Thread,System.Int32)"/> later, allows the thread to be killed if it's in a message pump native blocking wait. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ThreadUtility.PostThreadCloseMessage(System.Int32)"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ThreadUtility.GetCurrentThreadPrincipal"> + <summary>Gets <see cref="P:System.Threading.Thread.CurrentPrincipal"/> or <see langword="null" /> if the current platform does not support it.</summary> + </member> + <member name="M:NUnit.Framework.Internal.ThreadUtility.SetCurrentThreadPrincipal(System.Security.Principal.IPrincipal)"> + <summary>Sets <see cref="P:System.Threading.Thread.CurrentPrincipal"/> if current platform supports it.</summary> + <param name="principal">Value to set. If the current platform does not support <see cref="P:System.Threading.Thread.CurrentPrincipal"/> then the only allowed value is <see langword="null"/>.</param> + </member> + <member name="T:NUnit.Framework.Internal.TypeHelper"> + <summary> + TypeHelper provides static methods that operate on Types. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TypeHelper.GetDisplayName(System.Type)"> + <summary> + Gets the display name for a Type as used by NUnit. + </summary> + <param name="type">The Type for which a display name is needed.</param> + <returns>The display name for the Type</returns> + </member> + <member name="M:NUnit.Framework.Internal.TypeHelper.GetDisplayName(System.Type,System.Object[])"> + <summary> + Gets the display name for a Type as used by NUnit. + </summary> + <param name="type">The Type for which a display name is needed.</param> + <param name="arglist">The arglist provided.</param> + <returns>The display name for the Type</returns> + </member> + <member name="M:NUnit.Framework.Internal.TypeHelper.TryGetBestCommonType(System.Type,System.Type,System.Type@)"> + <summary> + Returns the best fit for a common type to be used in + matching actual arguments to a methods Type parameters. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TypeHelper.IsNumeric(System.Type)"> + <summary> + Determines whether the specified type is numeric. + </summary> + <param name="type">The type to be examined.</param> + <returns> + <see langword="true"/> if the specified type is numeric; otherwise, <see langword="false"/>. + </returns> + </member> + <member name="M:NUnit.Framework.Internal.TypeHelper.ConvertArgumentList(System.Object[],NUnit.Framework.Interfaces.IParameterInfo[])"> + <summary> + Convert an argument list to the required parameter types. + Currently, only widening numeric conversions are performed. + </summary> + <param name="arglist">An array of args to be converted</param> + <param name="parameters">A ParameterInfo[] whose types will be used as targets</param> + </member> + <member name="M:NUnit.Framework.Internal.TypeHelper.CanDeduceTypeArgsFromArgs(System.Type,System.Object[],System.Type[]@)"> + <summary> + Determines whether this instance can deduce type args for a generic type from the supplied arguments. + </summary> + <param name="type">The type to be examined.</param> + <param name="arglist">The arglist.</param> + <param name="typeArgsOut">The type args to be used.</param> + <returns> + <see langword="true"/> if this the provided args give sufficient information to determine the type args to be used; otherwise, <see langword="false"/>. + </returns> + </member> + <member name="M:NUnit.Framework.Internal.TypeHelper.GetDeclaredInterfaces(System.Type)"> + <summary> + Return the interfaces implemented by a Type. + </summary> + <param name="type">The Type to be examined.</param> + <returns>An array of Types for the interfaces.</returns> + </member> + <member name="M:NUnit.Framework.Internal.TypeHelper.IsValueTuple(System.Type)"> + <summary> + Return whether or not the given type is a ValueTuple. + </summary> + <param name="type">Type.</param> + <returns>Whether or not the given type is a ValueTuple.</returns> + </member> + <member name="M:NUnit.Framework.Internal.TypeHelper.IsTuple(System.Type)"> + <summary> + Return whether or not the given type is a Tuple. + </summary> + <param name="type">Type.</param> + <returns>Whether or not the given type is a Tuple.</returns> + </member> + <member name="M:NUnit.Framework.Internal.TypeHelper.CanCast``1(System.Object)"> + <summary> + Determines whether the cast to the given type would succeed. + If <paramref name="obj"/> is <see langword="null"/> and <typeparamref name="T"/> + can be <see langword="null"/>, the cast succeeds just like the C# language feature. + </summary> + <param name="obj">The object to cast.</param> + </member> + <member name="M:NUnit.Framework.Internal.TypeHelper.TryCast``1(System.Object,``0@)"> + <summary> + Casts to a value of the given type if possible. + If <paramref name="obj"/> is <see langword="null"/> and <typeparamref name="T"/> + can be <see langword="null"/>, the cast succeeds just like the C# language feature. + </summary> + <param name="obj">The object to cast.</param> + <param name="value">The value of the object, if the cast succeeded.</param> + </member> + <member name="T:NUnit.Framework.Internal.TypeNameDifferenceResolver"> + <summary> + Used for resolving the type difference between objects. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TypeNameDifferenceResolver.ResolveTypeNameDifference(System.Object,System.Object,System.String@,System.String@)"> + <summary> + Gets the shortened type name difference between <paramref name="expected"/> and <paramref name="actual"/>. + </summary> + <param name="expected">The expected object.</param> + <param name="actual">The actual object.</param> + <param name="expectedTypeShortened">Output of the unique type name for the expected object.</param> + <param name="actualTypeShortened">Output of the unique type name for actual object.</param> + </member> + <member name="M:NUnit.Framework.Internal.TypeNameDifferenceResolver.ResolveTypeNameDifference(System.Type,System.Type,System.String@,System.String@)"> + <summary> + Gets the shortened type name difference between <paramref name="expected"/> and <paramref name="actual"/>. + </summary> + <param name="expected">The expected object <see cref="T:System.Type"/>.</param> + <param name="actual">The actual object <see cref="T:System.Type"/>.</param> + <param name="expectedTypeShortened">Output of the unique type name for the expected object.</param> + <param name="actualTypeShortened">Output of the unique type name for actual object.</param> + </member> + <member name="M:NUnit.Framework.Internal.TypeNameDifferenceResolver.GetShortenedGenericParams(System.Type,System.Type,System.Collections.Generic.List{System.String}@,System.Collections.Generic.List{System.String}@)"> + <summary> + Obtain the shortened generic template parameters of the given <paramref name="expectedFullType"/> and <paramref name="actualFullType"/>, + if they are generic. + </summary> + <param name="expectedFullType">The expected <see cref="T:System.Type"/>.</param> + <param name="actualFullType">The actual <see cref="T:System.Type"/>.</param> + <param name="shortenedParamsExpected">Shortened generic parameters of the expected <see cref="T:System.Type"/>.</param> + <param name="shortenedParamsActual">Shortened generic parameters of the actual <see cref="T:System.Type"/>.</param> + </member> + <member name="M:NUnit.Framework.Internal.TypeNameDifferenceResolver.FullyShortenTypeName(System.Type)"> + <summary> + Obtain a shortened name of the given <see cref="T:System.Type"/>. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TypeNameDifferenceResolver.ShortenTypeNames(System.Type,System.Type,System.String@,System.String@)"> + <summary> + Shorten the given <see cref="T:System.Type"/> names by only including the relevant differing namespaces/types, if they differ. + </summary> + <param name="expectedType">The expected <see cref="T:System.Type"/>.</param> + <param name="actualType">The actual <see cref="T:System.Type"/>.</param> + <param name="expectedTypeShortened">The shortened expected <see cref="T:System.Type"/> name.</param> + <param name="actualTypeShortened">The shortened actual <see cref="T:System.Type"/> name.</param> + </member> + <member name="M:NUnit.Framework.Internal.TypeNameDifferenceResolver.IsTypeGeneric(System.Type)"> + <summary> + Returns whether or not the <see cref="T:System.Type"/> is generic. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TypeNameDifferenceResolver.GetGenericTypeName(System.Type)"> + <summary> + Returns the fully qualified generic <see cref="T:System.Type"/> name of a given <see cref="T:System.Type"/>. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TypeNameDifferenceResolver.ReconstructGenericTypeName(System.String,System.Collections.Generic.List{System.String})"> + <summary> + Reconstruct a generic type name using the provided generic type name, and a + <see cref="T:NUnit.Framework.List"/> of the template parameters. + </summary> + <param name="genericTypeName">The name of the generic type, including the number of template parameters expected.</param> + <param name="templateParamNames">A <see cref="T:NUnit.Framework.List"/> of names of the template parameters of the provided generic type.</param> + </member> + <member name="M:NUnit.Framework.Internal.TypeNameDifferenceResolver.GetShortenedGenericTypes(System.Type,System.Type,System.String@,System.String@)"> + <summary> + Obtain the shortened generic <see cref="T:System.Type"/> names of the given expected and actual <see cref="T:System.Type"/>s. + </summary> + <param name="expected">The expected <see cref="T:System.Type"/>.</param> + <param name="actual">The actual <see cref="T:System.Type"/>.</param> + <param name="shortenedGenericNameExpected">The shortened expected generic name.</param> + <param name="shortenedGenericNameActual">The shortened actual generic name.</param> + </member> + <member name="T:NUnit.Framework.Internal.TypeWrapper"> + <summary> + The TypeWrapper class wraps a Type so it may be used in + a platform-independent manner. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TypeWrapper.#ctor(System.Type)"> + <summary> + Construct a TypeWrapper for a specified Type. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TypeWrapper.Type"> + <summary> + Gets the underlying Type on which this TypeWrapper is based. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TypeWrapper.BaseType"> + <summary> + Gets the base type of this type as an ITypeInfo + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TypeWrapper.Name"> + <summary> + Gets the Name of the Type + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TypeWrapper.FullName"> + <summary> + Gets the FullName of the Type + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TypeWrapper.Assembly"> + <summary> + Gets the assembly in which the type is declared + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TypeWrapper.Namespace"> + <summary> + Gets the namespace of the Type + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TypeWrapper.IsAbstract"> + <summary> + Gets a value indicating whether the type is abstract. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TypeWrapper.IsGenericType"> + <summary> + Gets a value indicating whether the Type is a generic Type + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TypeWrapper.IsType(System.Type)"> + <summary> + Returns true if the Type wrapped is T + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TypeWrapper.ContainsGenericParameters"> + <summary> + Gets a value indicating whether the Type has generic parameters that have not been replaced by specific Types. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TypeWrapper.IsGenericTypeDefinition"> + <summary> + Gets a value indicating whether the Type is a generic Type definition + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TypeWrapper.IsSealed"> + <summary> + Gets a value indicating whether the type is sealed. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TypeWrapper.IsStaticClass"> + <summary> + Gets a value indicating whether this type represents a static class. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TypeWrapper.GetDisplayName"> + <summary> + Get the display name for this type + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TypeWrapper.GetDisplayName(System.Object[])"> + <summary> + Get the display name for an object of this type, constructed with the specified args. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TypeWrapper.MakeGenericType(System.Type[])"> + <summary> + Returns a new ITypeInfo representing an instance of this generic Type using the supplied Type arguments + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TypeWrapper.GetGenericTypeDefinition"> + <summary> + Returns a Type representing a generic type definition from which this Type can be constructed. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TypeWrapper.GetCustomAttributes``1(System.Boolean)"> + <summary> + Returns an array of custom attributes of the specified type applied to this type + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TypeWrapper.IsDefined``1(System.Boolean)"> + <summary> + Returns a value indicating whether the type has an attribute of the specified type. + </summary> + <typeparam name="T"></typeparam> + <param name="inherit"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Internal.TypeWrapper.HasMethodWithAttribute(System.Type)"> + <summary> + Returns a flag indicating whether this type has a method with an attribute of the specified type. + </summary> + <param name="attributeType"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Internal.TypeWrapper.GetMethods(System.Reflection.BindingFlags)"> + <summary> + Returns an array of IMethodInfos for methods of this Type + that match the specified flags. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TypeWrapper.GetConstructor(System.Type[])"> + <summary> + Gets the public constructor taking the specified argument Types + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TypeWrapper.HasConstructor(System.Type[])"> + <summary> + Returns a value indicating whether this Type has a public constructor taking the specified argument Types. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TypeWrapper.Construct(System.Object[])"> + <summary> + Construct an object of this Type, using the specified arguments. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TypeWrapper.ToString"> + <summary> + Override ToString() so that error messages in NUnit's own tests make sense + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TypeWrapper.GetMethodsWithAttribute``1(System.Boolean)"> + <summary> + 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. + </summary> + <param name="inherit">Specifies whether to search the fixture type inheritance chain.</param> + </member> + <member name="T:NUnit.Framework.Internal.ValueGenerator.Step"> + <summary> + Encapsulates the ability to increment a value by an amount which may be of a different type. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ValueGenerator.CreateStep(System.Object)"> + <summary> + Creates a <see cref="T:NUnit.Framework.Internal.ValueGenerator.Step"/> 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, + <see cref="T:System.NotSupportedException"/> is thrown. + </summary> + <exception cref="T:System.NotSupportedException"/> + </member> + <member name="M:NUnit.Framework.Internal.ValueGenerator.TryCreateStep(System.Object,NUnit.Framework.Internal.ValueGenerator.Step@)"> + <summary> + Creates a <see cref="T:NUnit.Framework.Internal.ValueGenerator.Step"/> 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. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.ValueGenerator`1.ComparableStep`1"> + <summary> + Provides a convenient shorthand when <typeparamref name="TStep"/> is <see cref="T:System.IComparable`1"/> + and the default value of <typeparamref name="TStep"/> represents zero. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ValueGenerator`1.ComparableStep`1.#ctor(`1,System.Func{`0,`1,`0})"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.ValueGenerator`1.ComparableStep`1"/> class. + </summary> + <param name="value">The amount by which to increment each time this step is applied.</param> + <param name="apply"> + Must increment the given value and return the result. + If the result is outside the range representable by <typeparamref name="T"/>, + must throw <see cref="T:System.OverflowException"/>. If the result does not change due to lack + of precision representable by <typeparamref name="T"/>, must throw <see cref="T:System.ArithmeticException"/>. + </param> + </member> + <member name="M:NUnit.Framework.Internal.ValueGenerator`1.ComparableStep`1.Apply(`0)"> + <summary> + Increments the given value and returns the result. + If the result is outside the range representable by <typeparamref name="T"/>, + throws <see cref="T:System.OverflowException"/>. If the result does not change due to lack + of precision representable by <typeparamref name="T"/>, throws <see cref="T:System.ArithmeticException"/>. + </summary> + <exception cref="T:System.OverflowException"/> + <exception cref="T:System.ArithmeticException"/> + </member> + <member name="T:NUnit.Framework.Internal.ValueGenerator`1.Step"> + <summary> + Encapsulates the ability to increment a <typeparamref name="T"/> value by an amount + which may be of a different type. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ValueGenerator`1.Step.Apply(`0)"> + <summary> + Increments the given value and returns the result. + If the result is outside the range representable by <typeparamref name="T"/>, + throws <see cref="T:System.OverflowException"/>. If the result does not change due to lack + of precision representable by <typeparamref name="T"/>, throws <see cref="T:System.ArithmeticException"/>. + </summary> + <exception cref="T:System.OverflowException"/> + <exception cref="T:System.ArithmeticException"/> + </member> + <member name="M:NUnit.Framework.Internal.ValueGenerator`1.CreateStep(System.Object)"> + <summary> + Creates a <see cref="T:NUnit.Framework.Internal.ValueGenerator`1.Step"/> from the specified value if the current instance is able to + use it to increment values of type <typeparamref name="T"/>. If the creation fails, + <see cref="T:System.NotSupportedException"/> is thrown. + </summary> + <exception cref="T:System.NotSupportedException"/> + </member> + <member name="M:NUnit.Framework.Internal.ValueGenerator`1.TryCreateStep(System.Object,NUnit.Framework.Internal.ValueGenerator.Step@)"> + <summary> + Creates a <see cref="T:NUnit.Framework.Internal.ValueGenerator`1.Step"/> from the specified value if the current instance is able to + use it to increment values of type <typeparamref name="T"/>. A return value indicates + whether the creation succeeded. + </summary> + </member> + <member name="T:NUnit.Framework.IgnoredTestCaseData"> + <summary> + The IgnoredTestCaseData class represents a ignored TestCaseData. It adds + the ability to set a date until which the test will be ignored. + </summary> + </member> + <member name="F:NUnit.Framework.IgnoredTestCaseData._prevRunState"> + <summary> + The previous RunState + </summary> + </member> + <member name="M:NUnit.Framework.IgnoredTestCaseData.Until(System.DateTimeOffset)"> + <summary> + Set the date that the test is being ignored until + </summary> + <param name="datetime">The date that the test is being ignored until</param> + <returns>A modified TestCaseData.</returns> + </member> + <member name="T:NUnit.Framework.Is"> + <summary> + Helper class with properties and methods that supply + a number of constraints used in Asserts. + </summary> + </member> + <member name="P:NUnit.Framework.Is.Not"> + <summary> + Returns a ConstraintExpression that negates any + following constraint. + </summary> + </member> + <member name="P:NUnit.Framework.Is.All"> + <summary> + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + </summary> + </member> + <member name="P:NUnit.Framework.Is.Null"> + <summary> + Returns a constraint that tests for null + </summary> + </member> + <member name="P:NUnit.Framework.Is.True"> + <summary> + Returns a constraint that tests for True + </summary> + </member> + <member name="P:NUnit.Framework.Is.False"> + <summary> + Returns a constraint that tests for False + </summary> + </member> + <member name="P:NUnit.Framework.Is.Positive"> + <summary> + Returns a constraint that tests for a positive value + </summary> + </member> + <member name="P:NUnit.Framework.Is.Negative"> + <summary> + Returns a constraint that tests for a negative value + </summary> + </member> + <member name="P:NUnit.Framework.Is.Zero"> + <summary> + Returns a constraint that tests for equality with zero + </summary> + </member> + <member name="P:NUnit.Framework.Is.NaN"> + <summary> + Returns a constraint that tests for NaN + </summary> + </member> + <member name="P:NUnit.Framework.Is.Empty"> + <summary> + Returns a constraint that tests for empty + </summary> + </member> + <member name="P:NUnit.Framework.Is.Unique"> + <summary> + Returns a constraint that tests whether a collection + contains all unique items. + </summary> + </member> + <member name="P:NUnit.Framework.Is.BinarySerializable"> + <summary> + Returns a constraint that tests whether an object graph is serializable in binary format. + </summary> + </member> + <member name="P:NUnit.Framework.Is.XmlSerializable"> + <summary> + Returns a constraint that tests whether an object graph is serializable in XML format. + </summary> + </member> + <member name="M:NUnit.Framework.Is.EqualTo(System.Object)"> + <summary> + Returns a constraint that tests two items for equality + </summary> + </member> + <member name="M:NUnit.Framework.Is.SameAs(System.Object)"> + <summary> + Returns a constraint that tests that two references are the same object + </summary> + </member> + <member name="M:NUnit.Framework.Is.GreaterThan(System.Object)"> + <summary> + Returns a constraint that tests whether the + actual value is greater than the supplied argument + </summary> + </member> + <member name="M:NUnit.Framework.Is.GreaterThanOrEqualTo(System.Object)"> + <summary> + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + </summary> + </member> + <member name="M:NUnit.Framework.Is.AtLeast(System.Object)"> + <summary> + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + </summary> + </member> + <member name="M:NUnit.Framework.Is.LessThan(System.Object)"> + <summary> + Returns a constraint that tests whether the + actual value is less than the supplied argument + </summary> + </member> + <member name="M:NUnit.Framework.Is.LessThanOrEqualTo(System.Object)"> + <summary> + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + </summary> + </member> + <member name="M:NUnit.Framework.Is.AtMost(System.Object)"> + <summary> + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + </summary> + </member> + <member name="M:NUnit.Framework.Is.TypeOf(System.Type)"> + <summary> + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Is.TypeOf``1"> + <summary> + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Is.InstanceOf(System.Type)"> + <summary> + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + </summary> + </member> + <member name="M:NUnit.Framework.Is.InstanceOf``1"> + <summary> + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + </summary> + </member> + <member name="M:NUnit.Framework.Is.AssignableFrom(System.Type)"> + <summary> + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Is.AssignableFrom``1"> + <summary> + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Is.AssignableTo(System.Type)"> + <summary> + Returns a constraint that tests whether the actual value + is assignable to the type supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Is.AssignableTo``1"> + <summary> + Returns a constraint that tests whether the actual value + is assignable to the type supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Is.EquivalentTo(System.Collections.IEnumerable)"> + <summary> + Returns a constraint that tests whether the actual value + is a collection containing the same elements as the + collection supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Is.SubsetOf(System.Collections.IEnumerable)"> + <summary> + Returns a constraint that tests whether the actual value + is a subset of the collection supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Is.SupersetOf(System.Collections.IEnumerable)"> + <summary> + Returns a constraint that tests whether the actual value + is a superset of the collection supplied as an argument. + </summary> + </member> + <member name="P:NUnit.Framework.Is.Ordered"> + <summary> + Returns a constraint that tests whether a collection is ordered + </summary> + </member> + <member name="M:NUnit.Framework.Is.SamePath(System.String)"> + <summary> + Returns a constraint that tests whether the path provided + is the same as an expected path after canonicalization. + </summary> + </member> + <member name="M:NUnit.Framework.Is.SubPathOf(System.String)"> + <summary> + Returns a constraint that tests whether the path provided + is a subpath of the expected path after canonicalization. + </summary> + </member> + <member name="M:NUnit.Framework.Is.SamePathOrUnder(System.String)"> + <summary> + Returns a constraint that tests whether the path provided + is the same path or under an expected path after canonicalization. + </summary> + </member> + <member name="M:NUnit.Framework.Is.InRange(System.Object,System.Object)"> + <summary> + Returns a constraint that tests whether the actual value falls + inclusively within a specified range. + </summary> + <param name="from">Inclusive beginning of the range.</param> + <param name="to">Inclusive end of the range.</param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Is.AnyOf(System.Object[])"> + <summary> + Returns a constraint that tests if an item is equal to any of parameters + </summary> + <param name="expected">Expected values</param> + </member> + <member name="T:NUnit.Framework.ITestAction"> + <summary> + When implemented by an attribute, this interface implemented to provide actions to execute before and after tests. + </summary> + </member> + <member name="M:NUnit.Framework.ITestAction.BeforeTest(NUnit.Framework.Interfaces.ITest)"> + <summary> + Executed before each test is run + </summary> + <param name="test">The test that is going to be run.</param> + </member> + <member name="M:NUnit.Framework.ITestAction.AfterTest(NUnit.Framework.Interfaces.ITest)"> + <summary> + Executed after each test is run + </summary> + <param name="test">The test that has just been run.</param> + </member> + <member name="P:NUnit.Framework.ITestAction.Targets"> + <summary> + Provides the target for the action attribute + </summary> + <returns>The target for the action attribute</returns> + </member> + <member name="T:NUnit.Framework.Iz"> + <summary> + The Iz class is a synonym for Is intended for use in VB, + which regards Is as a keyword. + </summary> + </member> + <member name="T:NUnit.Framework.List"> + <summary> + The List class is a helper class with properties and methods + that supply a number of constraints used with lists and collections. + </summary> + </member> + <member name="M:NUnit.Framework.List.Map(System.Collections.ICollection)"> + <summary> + List.Map returns a ListMapper, which can be used to map + the original collection to another collection. + </summary> + <param name="actual"></param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.ListMapper"> + <summary> + ListMapper is used to transform a collection used as an actual argument + producing another collection to be used in the assertion. + </summary> + </member> + <member name="M:NUnit.Framework.ListMapper.#ctor(System.Collections.ICollection)"> + <summary> + Construct a ListMapper based on a collection + </summary> + <param name="original">The collection to be transformed</param> + </member> + <member name="M:NUnit.Framework.ListMapper.Property(System.String)"> + <summary> + Produces a collection containing all the values of a property + </summary> + <param name="name">The collection of property values</param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.StringAssert"> + <summary> + Basic Asserts on strings. + </summary> + </member> + <member name="M:NUnit.Framework.StringAssert.Equals(System.Object,System.Object)"> + <summary> + 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. + </summary> + <param name="a"></param> + <param name="b"></param> + </member> + <member name="M:NUnit.Framework.StringAssert.ReferenceEquals(System.Object,System.Object)"> + <summary> + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + </summary> + <param name="a"></param> + <param name="b"></param> + </member> + <member name="M:NUnit.Framework.StringAssert.Contains(System.String,System.String,System.String,System.Object[])"> + <summary> + Asserts that a string is found within another string. + </summary> + <param name="expected">The expected string</param> + <param name="actual">The string to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Arguments used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.StringAssert.Contains(System.String,System.String)"> + <summary> + Asserts that a string is found within another string. + </summary> + <param name="expected">The expected string</param> + <param name="actual">The string to be examined</param> + </member> + <member name="M:NUnit.Framework.StringAssert.DoesNotContain(System.String,System.String,System.String,System.Object[])"> + <summary> + Asserts that a string is not found within another string. + </summary> + <param name="expected">The expected string</param> + <param name="actual">The string to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Arguments used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.StringAssert.DoesNotContain(System.String,System.String)"> + <summary> + Asserts that a string is found within another string. + </summary> + <param name="expected">The expected string</param> + <param name="actual">The string to be examined</param> + </member> + <member name="M:NUnit.Framework.StringAssert.StartsWith(System.String,System.String,System.String,System.Object[])"> + <summary> + Asserts that a string starts with another string. + </summary> + <param name="expected">The expected string</param> + <param name="actual">The string to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Arguments used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.StringAssert.StartsWith(System.String,System.String)"> + <summary> + Asserts that a string starts with another string. + </summary> + <param name="expected">The expected string</param> + <param name="actual">The string to be examined</param> + </member> + <member name="M:NUnit.Framework.StringAssert.DoesNotStartWith(System.String,System.String,System.String,System.Object[])"> + <summary> + Asserts that a string does not start with another string. + </summary> + <param name="expected">The expected string</param> + <param name="actual">The string to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Arguments used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.StringAssert.DoesNotStartWith(System.String,System.String)"> + <summary> + Asserts that a string does not start with another string. + </summary> + <param name="expected">The expected string</param> + <param name="actual">The string to be examined</param> + </member> + <member name="M:NUnit.Framework.StringAssert.EndsWith(System.String,System.String,System.String,System.Object[])"> + <summary> + Asserts that a string ends with another string. + </summary> + <param name="expected">The expected string</param> + <param name="actual">The string to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Arguments used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.StringAssert.EndsWith(System.String,System.String)"> + <summary> + Asserts that a string ends with another string. + </summary> + <param name="expected">The expected string</param> + <param name="actual">The string to be examined</param> + </member> + <member name="M:NUnit.Framework.StringAssert.DoesNotEndWith(System.String,System.String,System.String,System.Object[])"> + <summary> + Asserts that a string does not end with another string. + </summary> + <param name="expected">The expected string</param> + <param name="actual">The string to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Arguments used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.StringAssert.DoesNotEndWith(System.String,System.String)"> + <summary> + Asserts that a string does not end with another string. + </summary> + <param name="expected">The expected string</param> + <param name="actual">The string to be examined</param> + </member> + <member name="M:NUnit.Framework.StringAssert.AreEqualIgnoringCase(System.String,System.String,System.String,System.Object[])"> + <summary> + Asserts that two strings are equal, without regard to case. + </summary> + <param name="expected">The expected string</param> + <param name="actual">The actual string</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Arguments used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.StringAssert.AreEqualIgnoringCase(System.String,System.String)"> + <summary> + Asserts that two strings are equal, without regard to case. + </summary> + <param name="expected">The expected string</param> + <param name="actual">The actual string</param> + </member> + <member name="M:NUnit.Framework.StringAssert.AreNotEqualIgnoringCase(System.String,System.String,System.String,System.Object[])"> + <summary> + Asserts that two strings are not equal, without regard to case. + </summary> + <param name="expected">The expected string</param> + <param name="actual">The actual string</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Arguments used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.StringAssert.AreNotEqualIgnoringCase(System.String,System.String)"> + <summary> + Asserts that two strings are not equal, without regard to case. + </summary> + <param name="expected">The expected string</param> + <param name="actual">The actual string</param> + </member> + <member name="M:NUnit.Framework.StringAssert.IsMatch(System.String,System.String,System.String,System.Object[])"> + <summary> + Asserts that a string matches an expected regular expression pattern. + </summary> + <param name="pattern">The regex pattern to be matched</param> + <param name="actual">The actual string</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Arguments used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.StringAssert.IsMatch(System.String,System.String)"> + <summary> + Asserts that a string matches an expected regular expression pattern. + </summary> + <param name="pattern">The regex pattern to be matched</param> + <param name="actual">The actual string</param> + </member> + <member name="M:NUnit.Framework.StringAssert.DoesNotMatch(System.String,System.String,System.String,System.Object[])"> + <summary> + Asserts that a string does not match an expected regular expression pattern. + </summary> + <param name="pattern">The regex pattern to be used</param> + <param name="actual">The actual string</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Arguments used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.StringAssert.DoesNotMatch(System.String,System.String)"> + <summary> + Asserts that a string does not match an expected regular expression pattern. + </summary> + <param name="pattern">The regex pattern to be used</param> + <param name="actual">The actual string</param> + </member> + <member name="T:NUnit.Framework.TestCaseData"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.TestCaseData.#ctor(System.Object[])"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.TestCaseData"/> class. + </summary> + <param name="args">The arguments.</param> + </member> + <member name="M:NUnit.Framework.TestCaseData.#ctor(System.Object)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.TestCaseData"/> class. + </summary> + <param name="arg">The argument.</param> + </member> + <member name="M:NUnit.Framework.TestCaseData.#ctor(System.Object,System.Object)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.TestCaseData"/> class. + </summary> + <param name="arg1">The first argument.</param> + <param name="arg2">The second argument.</param> + </member> + <member name="M:NUnit.Framework.TestCaseData.#ctor(System.Object,System.Object,System.Object)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.TestCaseData"/> class. + </summary> + <param name="arg1">The first argument.</param> + <param name="arg2">The second argument.</param> + <param name="arg3">The third argument.</param> + </member> + <member name="M:NUnit.Framework.TestCaseData.Returns(System.Object)"> + <summary> + Sets the expected result for the test + </summary> + <param name="result">The expected result</param> + <returns>A modified TestCaseData</returns> + </member> + <member name="M:NUnit.Framework.TestCaseData.SetName(System.String)"> + <summary> + Sets the name of the test case + </summary> + <returns>The modified TestCaseData instance</returns> + </member> + <member name="M:NUnit.Framework.TestCaseData.SetArgDisplayNames(System.String[])"> + <summary> + Sets the list of display names to use as the parameters in the test name. + </summary> + </member> + <member name="M:NUnit.Framework.TestCaseData.SetDescription(System.String)"> + <summary> + Sets the description for the test case + being constructed. + </summary> + <param name="description">The description.</param> + <returns>The modified TestCaseData instance.</returns> + </member> + <member name="M:NUnit.Framework.TestCaseData.SetCategory(System.String)"> + <summary> + Applies a category to the test + </summary> + <param name="category"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.TestCaseData.SetProperty(System.String,System.String)"> + <summary> + Applies a named property to the test + </summary> + <param name="propName"></param> + <param name="propValue"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.TestCaseData.SetProperty(System.String,System.Int32)"> + <summary> + Applies a named property to the test + </summary> + <param name="propName"></param> + <param name="propValue"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.TestCaseData.SetProperty(System.String,System.Double)"> + <summary> + Applies a named property to the test + </summary> + <param name="propName"></param> + <param name="propValue"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.TestCaseData.Explicit"> + <summary> + Marks the test case as explicit. + </summary> + </member> + <member name="M:NUnit.Framework.TestCaseData.Explicit(System.String)"> + <summary> + Marks the test case as explicit, specifying the reason. + </summary> + </member> + <member name="M:NUnit.Framework.TestCaseData.Ignore(System.String)"> + <summary> + Ignores this TestCase, specifying the reason. + </summary> + <param name="reason">The reason.</param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.TestContext"> + <summary> + Provide the context information of the current test. + This is an adapter for the internal ExecutionContext + class, hiding the internals from the user test. + </summary> + </member> + <member name="M:NUnit.Framework.TestContext.#ctor(NUnit.Framework.Internal.TestExecutionContext)"> + <summary> + Construct a TestContext for an ExecutionContext + </summary> + <param name="testExecutionContext">The ExecutionContext to adapt</param> + </member> + <member name="P:NUnit.Framework.TestContext.CurrentContext"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.Out"> + <summary> + Gets a TextWriter that will send output to the current test result. + </summary> + </member> + <member name="F:NUnit.Framework.TestContext.Error"> + <summary> + Gets a TextWriter that will send output directly to Console.Error + </summary> + </member> + <member name="F:NUnit.Framework.TestContext.Progress"> + <summary> + Gets a TextWriter for use in displaying immediate progress messages + </summary> + </member> + <member name="F:NUnit.Framework.TestContext.Parameters"> + <summary> + TestParameters object holds parameters for the test run, if any are specified + </summary> + </member> + <member name="F:NUnit.Framework.TestContext.DefaultWorkDirectory"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.Test"> + <summary> + Get a representation of the current test. + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.Result"> + <summary> + Gets a Representation of the TestResult for the current test. + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.WorkerId"> + <summary> + Gets the unique name of the Worker that is executing this test. + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.TestDirectory"> + <summary> + Gets the directory containing the current test assembly. + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.WorkDirectory"> + <summary> + Gets the directory to be used for outputting files created + by this test run. + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.Random"> + <summary> + Gets the random generator. + </summary> + <value> + The random generator. + </value> + </member> + <member name="P:NUnit.Framework.TestContext.AssertCount"> + <summary> + Gets the number of assertions executed + up to this point in the test. + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.CurrentRepeatCount"> + <summary> + Get the number of times the current Test has been repeated + when using the <see cref="T:NUnit.Framework.RetryAttribute"/> or <see cref="T:NUnit.Framework.RepeatAttribute"/>. + </summary> + </member> + <member name="M:NUnit.Framework.TestContext.Write(System.Boolean)"> + <summary>Write the string representation of a boolean value to the current result</summary> + </member> + <member name="M:NUnit.Framework.TestContext.Write(System.Char)"> + <summary>Write a char to the current result</summary> + </member> + <member name="M:NUnit.Framework.TestContext.Write(System.Char[])"> + <summary>Write a char array to the current result</summary> + </member> + <member name="M:NUnit.Framework.TestContext.Write(System.Double)"> + <summary>Write the string representation of a double to the current result</summary> + </member> + <member name="M:NUnit.Framework.TestContext.Write(System.Int32)"> + <summary>Write the string representation of an Int32 value to the current result</summary> + </member> + <member name="M:NUnit.Framework.TestContext.Write(System.Int64)"> + <summary>Write the string representation of an Int64 value to the current result</summary> + </member> + <member name="M:NUnit.Framework.TestContext.Write(System.Decimal)"> + <summary>Write the string representation of a decimal value to the current result</summary> + </member> + <member name="M:NUnit.Framework.TestContext.Write(System.Object)"> + <summary>Write the string representation of an object to the current result</summary> + </member> + <member name="M:NUnit.Framework.TestContext.Write(System.Single)"> + <summary>Write the string representation of a Single value to the current result</summary> + </member> + <member name="M:NUnit.Framework.TestContext.Write(System.String)"> + <summary>Write a string to the current result</summary> + </member> + <member name="M:NUnit.Framework.TestContext.Write(System.UInt32)"> + <summary>Write the string representation of a UInt32 value to the current result</summary> + </member> + <member name="M:NUnit.Framework.TestContext.Write(System.UInt64)"> + <summary>Write the string representation of a UInt64 value to the current result</summary> + </member> + <member name="M:NUnit.Framework.TestContext.Write(System.String,System.Object)"> + <summary>Write a formatted string to the current result</summary> + </member> + <member name="M:NUnit.Framework.TestContext.Write(System.String,System.Object,System.Object)"> + <summary>Write a formatted string to the current result</summary> + </member> + <member name="M:NUnit.Framework.TestContext.Write(System.String,System.Object,System.Object,System.Object)"> + <summary>Write a formatted string to the current result</summary> + </member> + <member name="M:NUnit.Framework.TestContext.Write(System.String,System.Object[])"> + <summary>Write a formatted string to the current result</summary> + </member> + <member name="M:NUnit.Framework.TestContext.WriteLine"> + <summary>Write a line terminator to the current result</summary> + </member> + <member name="M:NUnit.Framework.TestContext.WriteLine(System.Boolean)"> + <summary>Write the string representation of a boolean value to the current result followed by a line terminator</summary> + </member> + <member name="M:NUnit.Framework.TestContext.WriteLine(System.Char)"> + <summary>Write a char to the current result followed by a line terminator</summary> + </member> + <member name="M:NUnit.Framework.TestContext.WriteLine(System.Char[])"> + <summary>Write a char array to the current result followed by a line terminator</summary> + </member> + <member name="M:NUnit.Framework.TestContext.WriteLine(System.Double)"> + <summary>Write the string representation of a double to the current result followed by a line terminator</summary> + </member> + <member name="M:NUnit.Framework.TestContext.WriteLine(System.Int32)"> + <summary>Write the string representation of an Int32 value to the current result followed by a line terminator</summary> + </member> + <member name="M:NUnit.Framework.TestContext.WriteLine(System.Int64)"> + <summary>Write the string representation of an Int64 value to the current result followed by a line terminator</summary> + </member> + <member name="M:NUnit.Framework.TestContext.WriteLine(System.Decimal)"> + <summary>Write the string representation of a decimal value to the current result followed by a line terminator</summary> + </member> + <member name="M:NUnit.Framework.TestContext.WriteLine(System.Object)"> + <summary>Write the string representation of an object to the current result followed by a line terminator</summary> + </member> + <member name="M:NUnit.Framework.TestContext.WriteLine(System.Single)"> + <summary>Write the string representation of a Single value to the current result followed by a line terminator</summary> + </member> + <member name="M:NUnit.Framework.TestContext.WriteLine(System.String)"> + <summary>Write a string to the current result followed by a line terminator</summary> + </member> + <member name="M:NUnit.Framework.TestContext.WriteLine(System.UInt32)"> + <summary>Write the string representation of a UInt32 value to the current result followed by a line terminator</summary> + </member> + <member name="M:NUnit.Framework.TestContext.WriteLine(System.UInt64)"> + <summary>Write the string representation of a UInt64 value to the current result followed by a line terminator</summary> + </member> + <member name="M:NUnit.Framework.TestContext.WriteLine(System.String,System.Object)"> + <summary>Write a formatted string to the current result followed by a line terminator</summary> + </member> + <member name="M:NUnit.Framework.TestContext.WriteLine(System.String,System.Object,System.Object)"> + <summary>Write a formatted string to the current result followed by a line terminator</summary> + </member> + <member name="M:NUnit.Framework.TestContext.WriteLine(System.String,System.Object,System.Object,System.Object)"> + <summary>Write a formatted string to the current result followed by a line terminator</summary> + </member> + <member name="M:NUnit.Framework.TestContext.WriteLine(System.String,System.Object[])"> + <summary>Write a formatted string to the current result followed by a line terminator</summary> + </member> + <member name="M:NUnit.Framework.TestContext.AddFormatter(NUnit.Framework.Constraints.ValueFormatterFactory)"> + <summary> + 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. + </summary> + <param name="formatterFactory">The factory delegate</param> + </member> + <member name="M:NUnit.Framework.TestContext.AddTestAttachment(System.String,System.String)"> + <summary> + Attach a file to the current test result + </summary> + <param name="filePath">Relative or absolute file path to attachment</param> + <param name="description">Optional description of attachment</param> + </member> + <member name="M:NUnit.Framework.TestContext.AddFormatter``1(NUnit.Framework.Constraints.ValueFormatter)"> + <summary> + 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. + </summary> + <typeparam name="TSupported">The type supported by this formatter</typeparam> + <param name="formatter">The ValueFormatter delegate</param> + </member> + <member name="T:NUnit.Framework.TestContext.TestAdapter"> + <summary> + TestAdapter adapts a Test for consumption by + the user test code. + </summary> + </member> + <member name="M:NUnit.Framework.TestContext.TestAdapter.#ctor(NUnit.Framework.Internal.Test)"> + <summary> + Construct a TestAdapter for a Test + </summary> + <param name="test">The Test to be adapted</param> + </member> + <member name="P:NUnit.Framework.TestContext.TestAdapter.ID"> + <summary> + Gets the unique Id of a test + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.TestAdapter.Name"> + <summary> + The name of the test, which may or may not be + the same as the method name. + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.TestAdapter.MethodName"> + <summary> + The name of the method representing the test. + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.TestAdapter.FullName"> + <summary> + The FullName of the test + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.TestAdapter.ClassName"> + <summary> + The ClassName of the test + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.TestAdapter.Properties"> + <summary> + A shallow copy of the properties of the test. + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.TestAdapter.Arguments"> + <summary> + The arguments to use in creating the test or empty array if none are required. + </summary> + </member> + <member name="T:NUnit.Framework.TestContext.ResultAdapter"> + <summary> + ResultAdapter adapts a TestResult for consumption by + the user test code. + </summary> + </member> + <member name="M:NUnit.Framework.TestContext.ResultAdapter.#ctor(NUnit.Framework.Internal.TestResult)"> + <summary> + Construct a ResultAdapter for a TestResult + </summary> + <param name="result">The TestResult to be adapted</param> + </member> + <member name="P:NUnit.Framework.TestContext.ResultAdapter.Outcome"> + <summary> + Gets a ResultState representing the outcome of the test + up to this point in its execution. + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.ResultAdapter.Assertions"> + <summary> + Gets a list of the assertion results generated + up to this point in the test. + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.ResultAdapter.Message"> + <summary> + Gets the message associated with a test + failure or with not running the test + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.ResultAdapter.StackTrace"> + <summary> + Gets any stack trace associated with an + error or failure. + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.ResultAdapter.FailCount"> + <summary> + Gets the number of test cases that failed + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.ResultAdapter.WarningCount"> + <summary> + Gets the number of test cases that had warnings + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.ResultAdapter.PassCount"> + <summary> + Gets the number of test cases that passed + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.ResultAdapter.SkipCount"> + <summary> + Gets the number of test cases that were skipped + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.ResultAdapter.InconclusiveCount"> + <summary> + Gets the number of test cases that were inconclusive + when running the test and all its children. + </summary> + </member> + <member name="T:NUnit.Framework.TestContext.PropertyBagAdapter"> + <summary> + <see cref="T:NUnit.Framework.TestContext.PropertyBagAdapter"/> adapts an <see cref="T:NUnit.Framework.Interfaces.IPropertyBag"/> + for consumption by the user. + </summary> + </member> + <member name="M:NUnit.Framework.TestContext.PropertyBagAdapter.#ctor(NUnit.Framework.Interfaces.IPropertyBag)"> + <summary> + Construct a <see cref="T:NUnit.Framework.TestContext.PropertyBagAdapter"/> from a source + <see cref="T:NUnit.Framework.Interfaces.IPropertyBag"/>. + </summary> + </member> + <member name="M:NUnit.Framework.TestContext.PropertyBagAdapter.Get(System.String)"> + <summary> + Get the first property with the given <paramref name="key"/>, if it can be found, otherwise + returns null. + </summary> + </member> + <member name="M:NUnit.Framework.TestContext.PropertyBagAdapter.ContainsKey(System.String)"> + <summary> + Indicates whether <paramref name="key"/> is found in this + <see cref="T:NUnit.Framework.TestContext.PropertyBagAdapter"/>. + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.PropertyBagAdapter.Item(System.String)"> + <summary> + Returns a collection of properties + with the given <paramref name="key"/>. + </summary> + </member> + <member name="M:NUnit.Framework.TestContext.PropertyBagAdapter.Count(System.String)"> + <summary> + Returns the count of elements with the given <paramref name="key"/>. + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.PropertyBagAdapter.Keys"> + <summary> + Returns a collection of the property keys. + </summary> + </member> + <member name="T:NUnit.Framework.TestFixtureData"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.TestFixtureData.#ctor(System.Object[])"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.TestFixtureData"/> class. + </summary> + <param name="args">The arguments.</param> + </member> + <member name="M:NUnit.Framework.TestFixtureData.#ctor(System.Object)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.TestFixtureData"/> class. + </summary> + <param name="arg">The argument.</param> + </member> + <member name="M:NUnit.Framework.TestFixtureData.#ctor(System.Object,System.Object)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.TestFixtureData"/> class. + </summary> + <param name="arg1">The first argument.</param> + <param name="arg2">The second argument.</param> + </member> + <member name="M:NUnit.Framework.TestFixtureData.#ctor(System.Object,System.Object,System.Object)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.TestFixtureData"/> class. + </summary> + <param name="arg1">The first argument.</param> + <param name="arg2">The second argument.</param> + <param name="arg3">The third argument.</param> + </member> + <member name="M:NUnit.Framework.TestFixtureData.SetName(System.String)"> + <summary> + Sets the name of the test fixture + </summary> + <returns>The modified TestFixtureData instance</returns> + </member> + <member name="M:NUnit.Framework.TestFixtureData.SetArgDisplayNames(System.String[])"> + <summary> + Sets the list of display names to use as the parameters in the test name. + </summary> + </member> + <member name="M:NUnit.Framework.TestFixtureData.Explicit"> + <summary> + Marks the test fixture as explicit. + </summary> + </member> + <member name="M:NUnit.Framework.TestFixtureData.Explicit(System.String)"> + <summary> + Marks the test fixture as explicit, specifying the reason. + </summary> + </member> + <member name="M:NUnit.Framework.TestFixtureData.Ignore(System.String)"> + <summary> + Ignores this TestFixture, specifying the reason. + </summary> + <param name="reason">The reason.</param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.TestParameters"> + <summary> + TestParameters class holds any named parameters supplied to the test run + </summary> + </member> + <member name="P:NUnit.Framework.TestParameters.Count"> + <summary> + Gets the number of test parameters + </summary> + </member> + <member name="P:NUnit.Framework.TestParameters.Names"> + <summary> + Gets a collection of the test parameter names + </summary> + </member> + <member name="M:NUnit.Framework.TestParameters.Exists(System.String)"> + <summary> + Gets a flag indicating whether a parameter with the specified name exists. + </summary> + <param name="name">Name of the parameter</param> + <returns>True if it exists, otherwise false</returns> + </member> + <member name="P:NUnit.Framework.TestParameters.Item(System.String)"> + <summary> + Indexer provides access to the internal dictionary + </summary> + <param name="name">Name of the parameter</param> + <returns>Value of the parameter or null if not present</returns> + </member> + <member name="M:NUnit.Framework.TestParameters.Get(System.String)"> + <summary> + Get method is a simple alternative to the indexer + </summary> + <param name="name">Name of the parameter</param> + <returns>Value of the parameter or null if not present</returns> + </member> + <member name="M:NUnit.Framework.TestParameters.Get(System.String,System.String)"> + <summary> + Get the value of a parameter or a default string + </summary> + <param name="name">Name of the parameter</param> + <param name="defaultValue">Default value of the parameter</param> + <returns>Value of the parameter or default value if not present</returns> + </member> + <member name="M:NUnit.Framework.TestParameters.Get``1(System.String,``0)"> + <summary> + Get the value of a parameter or return a default + </summary> + <typeparam name="T">The return Type</typeparam> + <param name="name">Name of the parameter</param> + <param name="defaultValue">Default value of the parameter</param> + <returns>Value of the parameter or default value if not present</returns> + </member> + <member name="M:NUnit.Framework.TestParameters.Add(System.String,System.String)"> + <summary> + Adds a parameter to the list + </summary> + <param name="name">Name of the parameter</param> + <param name="value">Value of the parameter</param> + </member> + <member name="T:NUnit.Framework.Throws"> + <summary> + Helper class with properties and methods that supply + constraints that operate on exceptions. + </summary> + </member> + <member name="P:NUnit.Framework.Throws.Exception"> + <summary> + Creates a constraint specifying an expected exception + </summary> + </member> + <member name="P:NUnit.Framework.Throws.InnerException"> + <summary> + Creates a constraint specifying an exception with a given InnerException + </summary> + </member> + <member name="P:NUnit.Framework.Throws.TargetInvocationException"> + <summary> + Creates a constraint specifying an expected TargetInvocationException + </summary> + </member> + <member name="P:NUnit.Framework.Throws.ArgumentException"> + <summary> + Creates a constraint specifying an expected ArgumentException + </summary> + </member> + <member name="P:NUnit.Framework.Throws.ArgumentNullException"> + <summary> + Creates a constraint specifying an expected ArgumentNullException + </summary> + </member> + <member name="P:NUnit.Framework.Throws.InvalidOperationException"> + <summary> + Creates a constraint specifying an expected InvalidOperationException + </summary> + </member> + <member name="P:NUnit.Framework.Throws.Nothing"> + <summary> + Creates a constraint specifying that no exception is thrown + </summary> + </member> + <member name="M:NUnit.Framework.Throws.TypeOf(System.Type)"> + <summary> + Creates a constraint specifying the exact type of exception expected + </summary> + </member> + <member name="M:NUnit.Framework.Throws.TypeOf``1"> + <summary> + Creates a constraint specifying the exact type of exception expected + </summary> + </member> + <member name="M:NUnit.Framework.Throws.InstanceOf(System.Type)"> + <summary> + Creates a constraint specifying the type of exception expected + </summary> + </member> + <member name="M:NUnit.Framework.Throws.InstanceOf``1"> + <summary> + Creates a constraint specifying the type of exception expected + </summary> + </member> + <member name="T:NUnit.Framework.Warn"> + <summary> + Provides static methods to express conditions + that must be met for the test to succeed. If + any test fails, a warning is issued. + </summary> + </member> + <member name="M:NUnit.Framework.Warn.Equals(System.Object,System.Object)"> + <summary> + DO NOT USE! + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + </summary> + <param name="a">The left object.</param> + <param name="b">The right object.</param> + <returns>Not applicable</returns> + </member> + <member name="M:NUnit.Framework.Warn.ReferenceEquals(System.Object,System.Object)"> + <summary> + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + </summary> + <param name="a">The left object.</param> + <param name="b">The right object.</param> + </member> + <member name="M:NUnit.Framework.Warn.Unless``1(NUnit.Framework.Constraints.ActualValueDelegate{``0},NUnit.Framework.Constraints.IResolveConstraint)"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="del">An ActualValueDelegate returning the value to be tested</param> + <param name="expr">A Constraint expression to be applied</param> + </member> + <member name="M:NUnit.Framework.Warn.Unless``1(NUnit.Framework.Constraints.ActualValueDelegate{``0},NUnit.Framework.Constraints.IResolveConstraint,System.String,System.Object[])"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="del">An ActualValueDelegate returning the value to be tested</param> + <param name="expr">A Constraint expression to be applied</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Warn.Unless``1(NUnit.Framework.Constraints.ActualValueDelegate{``0},NUnit.Framework.Constraints.IResolveConstraint,System.Func{System.String})"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="del">An ActualValueDelegate returning the value to be tested</param> + <param name="expr">A Constraint expression to be applied</param> + <param name="getExceptionMessage">A function to build the message included with the Exception</param> + </member> + <member name="M:NUnit.Framework.Warn.Unless(System.Boolean,System.String,System.Object[])"> + <summary> + Asserts that a condition is true. If the condition is false, a warning is issued. + </summary> + <param name="condition">The evaluated condition</param> + <param name="message">The message to display if the condition is false</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Warn.Unless(System.Boolean)"> + <summary> + Asserts that a condition is true. If the condition is false, a warning is issued. + </summary> + <param name="condition">The evaluated condition</param> + </member> + <member name="M:NUnit.Framework.Warn.Unless(System.Boolean,System.Func{System.String})"> + <summary> + Asserts that a condition is true. If the condition is false, a warning is issued. + </summary> + <param name="condition">The evaluated condition</param> + <param name="getExceptionMessage">A function to build the message included with the Exception</param> + </member> + <member name="M:NUnit.Framework.Warn.Unless(System.Func{System.Boolean},System.String,System.Object[])"> + <summary> + Asserts that a condition is true. If the condition is false, a warning is issued. + </summary> + <param name="condition">A lambda that returns a Boolean</param> + <param name="message">The message to display if the condition is false</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Warn.Unless(System.Func{System.Boolean})"> + <summary> + Asserts that a condition is true. If the condition is false, a warning is issued. + </summary> + <param name="condition">A lambda that returns a Boolean</param> + </member> + <member name="M:NUnit.Framework.Warn.Unless(System.Func{System.Boolean},System.Func{System.String})"> + <summary> + Asserts that a condition is true. If the condition is false, a warning is issued. + </summary> + <param name="condition">A lambda that returns a Boolean</param> + <param name="getExceptionMessage">A function to build the message included with the Exception</param> + </member> + <member name="M:NUnit.Framework.Warn.Unless(NUnit.Framework.TestDelegate,NUnit.Framework.Constraints.IResolveConstraint)"> + <summary> + Asserts that the code represented by a delegate throws an exception + that satisfies the constraint provided. + </summary> + <param name="code">A TestDelegate to be executed</param> + <param name="constraint">A Constraint expression to be applied</param> + </member> + <member name="M:NUnit.Framework.Warn.Unless``1(``0,NUnit.Framework.Constraints.IResolveConstraint)"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="actual">The actual value to test</param> + <param name="expression">A Constraint expression to be applied</param> + </member> + <member name="M:NUnit.Framework.Warn.Unless``1(``0,NUnit.Framework.Constraints.IResolveConstraint,System.String,System.Object[])"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="actual">The actual value to test</param> + <param name="expression">A Constraint expression to be applied</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Warn.Unless``1(``0,NUnit.Framework.Constraints.IResolveConstraint,System.Func{System.String})"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="actual">The actual value to test</param> + <param name="expression">A Constraint expression to be applied</param> + <param name="getExceptionMessage">A function to build the message included with the Exception</param> + </member> + <member name="M:NUnit.Framework.Warn.If``1(NUnit.Framework.Constraints.ActualValueDelegate{``0},NUnit.Framework.Constraints.IResolveConstraint)"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + fails and issuing a warning on success. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="del">An ActualValueDelegate returning the value to be tested</param> + <param name="expr">A Constraint expression to be applied</param> + </member> + <member name="M:NUnit.Framework.Warn.If``1(NUnit.Framework.Constraints.ActualValueDelegate{``0},NUnit.Framework.Constraints.IResolveConstraint,System.String,System.Object[])"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + fails and issuing a warning on success. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="del">An ActualValueDelegate returning the value to be tested</param> + <param name="expr">A Constraint expression to be applied</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Warn.If``1(NUnit.Framework.Constraints.ActualValueDelegate{``0},NUnit.Framework.Constraints.IResolveConstraint,System.Func{System.String})"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + fails and issuing a warning on failure. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="del">An ActualValueDelegate returning the value to be tested</param> + <param name="expr">A Constraint expression to be applied</param> + <param name="getExceptionMessage">A function to build the message included with the Exception</param> + </member> + <member name="M:NUnit.Framework.Warn.If(System.Boolean,System.String,System.Object[])"> + <summary> + Asserts that a condition is true. If the condition is false, a warning is issued. + </summary> + <param name="condition">The evaluated condition</param> + <param name="message">The message to display if the condition is false</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Warn.If(System.Boolean)"> + <summary> + Asserts that a condition is true. If the condition is false, a warning is issued. + </summary> + <param name="condition">The evaluated condition</param> + </member> + <member name="M:NUnit.Framework.Warn.If(System.Boolean,System.Func{System.String})"> + <summary> + Asserts that a condition is true. If the condition is false, a warning is issued. + </summary> + <param name="condition">The evaluated condition</param> + <param name="getExceptionMessage">A function to build the message included with the Exception</param> + </member> + <member name="M:NUnit.Framework.Warn.If(System.Func{System.Boolean},System.String,System.Object[])"> + <summary> + Asserts that a condition is false. If the condition is true a warning is issued. + </summary> + <param name="condition">A lambda that returns a Boolean</param> + <param name="message">The message to display if the condition is true</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Warn.If(System.Func{System.Boolean})"> + <summary> + Asserts that a condition is false. If the condition is true a warning is issued. + </summary> + <param name="condition">A lambda that returns a Boolean</param> + </member> + <member name="M:NUnit.Framework.Warn.If(System.Func{System.Boolean},System.Func{System.String})"> + <summary> + Asserts that a condition is false. If the condition is true a warning is issued. + </summary> + <param name="condition">A lambda that returns a Boolean</param> + <param name="getExceptionMessage">A function to build the message included with the Exception</param> + </member> + <member name="M:NUnit.Framework.Warn.If``1(``0,NUnit.Framework.Constraints.IResolveConstraint)"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + fails and issuing a warning if it succeeds. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="actual">The actual value to test</param> + <param name="expression">A Constraint expression to be applied</param> + </member> + <member name="M:NUnit.Framework.Warn.If``1(``0,NUnit.Framework.Constraints.IResolveConstraint,System.String,System.Object[])"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + fails and issuing a warning if it succeeds. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="actual">The actual value to test</param> + <param name="expression">A Constraint expression to be applied</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Warn.If``1(``0,NUnit.Framework.Constraints.IResolveConstraint,System.Func{System.String})"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="actual">The actual value to test</param> + <param name="expression">A Constraint expression to be applied</param> + <param name="getExceptionMessage">A function to build the message included with the Exception</param> + </member> + <member name="T:NUnit.FrameworkPackageSettings"> + <summary> + 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. + </summary> + </member> + <member name="F:NUnit.FrameworkPackageSettings.DebugTests"> + <summary> + Flag (bool) indicating whether tests are being debugged. + </summary> + </member> + <member name="F:NUnit.FrameworkPackageSettings.PauseBeforeRun"> + <summary> + Flag (bool) indicating whether to pause execution of tests to allow + the user to attach a debugger. + </summary> + </member> + <member name="F:NUnit.FrameworkPackageSettings.InternalTraceLevel"> + <summary> + The InternalTraceLevel for this run. Values are: "Default", + "Off", "Error", "Warning", "Info", "Debug", "Verbose". + Default is "Off". "Debug" and "Verbose" are synonyms. + </summary> + </member> + <member name="F:NUnit.FrameworkPackageSettings.WorkDirectory"> + <summary> + Full path of the directory to be used for work and result files. + This path is provided to tests by the framework TestContext. + </summary> + </member> + <member name="F:NUnit.FrameworkPackageSettings.DefaultTimeout"> + <summary> + 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. + </summary> + </member> + <member name="F:NUnit.FrameworkPackageSettings.DefaultCulture"> + <summary> + 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. + </summary> + </member> + <member name="F:NUnit.FrameworkPackageSettings.DefaultUICulture"> + <summary> + 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. + </summary> + </member> + <member name="F:NUnit.FrameworkPackageSettings.InternalTraceWriter"> + <summary> + A TextWriter to which the internal trace will be sent. + </summary> + </member> + <member name="F:NUnit.FrameworkPackageSettings.LOAD"> + <summary> + A list of tests to be loaded. + </summary> + </member> + <member name="F:NUnit.FrameworkPackageSettings.NumberOfTestWorkers"> + <summary> + 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. + </summary> + </member> + <member name="F:NUnit.FrameworkPackageSettings.RandomSeed"> + <summary> + 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. + </summary> + </member> + <member name="F:NUnit.FrameworkPackageSettings.StopOnError"> + <summary> + If true, execution stops after the first error or failure. + </summary> + </member> + <member name="F:NUnit.FrameworkPackageSettings.SynchronousEvents"> + <summary> + If true, use of the event queue is suppressed and test events are synchronous. + </summary> + </member> + <member name="F:NUnit.FrameworkPackageSettings.DefaultTestNamePattern"> + <summary> + The default naming pattern used in generating test names + </summary> + </member> + <member name="F:NUnit.FrameworkPackageSettings.TestParameters"> + <summary> + Parameters to be passed on to the tests, serialized to a single string which needs parsing. Obsoleted by <see cref="F:NUnit.FrameworkPackageSettings.TestParametersDictionary"/>; kept for backward compatibility. + </summary> + </member> + <member name="F:NUnit.FrameworkPackageSettings.TestParametersDictionary"> + <summary> + Parameters to be passed on to the tests, already parsed into an IDictionary<string, string>. Replaces <see cref="F:NUnit.FrameworkPackageSettings.TestParameters"/>. + </summary> + </member> + <member name="F:NUnit.FrameworkPackageSettings.RunOnMainThread"> + <summary> + If true, the tests will run on the same thread as the NUnit runner itself + </summary> + </member> + <member name="T:NUnit.Compatibility.AttributeHelper"> + <summary> + Provides a platform-independent methods for getting attributes + for use by AttributeConstraint and AttributeExistsConstraint. + </summary> + </member> + <member name="M:NUnit.Compatibility.AttributeHelper.GetCustomAttributes(System.Object,System.Type,System.Boolean)"> + <summary> + Gets the custom attributes from the given object. + </summary> + <param name="actual">The actual.</param> + <param name="attributeType">Type of the attribute.</param> + <param name="inherit">if set to <see langword="true"/> [inherit].</param> + <returns>A list of the given attribute on the given object.</returns> + </member> + <member name="T:NUnit.Compatibility.LongLivedMarshalByRefObject"> + <summary> + A MarshalByRefObject that lives forever + </summary> + </member> + <member name="M:NUnit.Compatibility.LongLivedMarshalByRefObject.InitializeLifetimeService"> + <summary> + Obtains a lifetime service object to control the lifetime policy for this instance. + </summary> + </member> + <member name="T:NUnit.Compatibility.TypeExtensions"> + <summary> + Provides NUnit specific extensions to aid in Reflection + across multiple frameworks + </summary> + <remarks> + This version of the class supplies GetTypeInfo() on platforms + that don't support it. + </remarks> + </member> + <member name="M:NUnit.Compatibility.TypeExtensions.GetTypeInfo(System.Type)"> + <summary> + 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. + </summary> + <param name="type"></param> + <returns></returns> + </member> + <member name="M:NUnit.Compatibility.TypeExtensions.GetMethodInfo(System.Delegate)"> + <summary> + See <see cref="M:System.Delegate.CreateDelegate(System.Type,System.Reflection.MethodInfo)"/>. + </summary> + </member> + <member name="T:NUnit.Compatibility.AssemblyExtensions"> + <summary> + Extensions for Assembly that are not available in pre-4.5 .NET releases + </summary> + </member> + <member name="M:NUnit.Compatibility.AssemblyExtensions.GetCustomAttribute``1(System.Reflection.Assembly)"> + <summary> + An easy way to get a single custom attribute from an assembly + </summary> + <typeparam name="T">The attribute Type</typeparam> + <param name="assembly">The assembly</param> + <returns>An attribute of Type T</returns> + </member> + <member name="T:NUnit.Compatibility.MethodInfoExtensions"> + <summary> + Extensions for MethodInfo that are not available in pre-4.5 .NET releases + </summary> + </member> + <member name="M:NUnit.Compatibility.MethodInfoExtensions.CreateDelegate(System.Reflection.MethodInfo,System.Type)"> + <summary> + See <see cref="M:System.Delegate.CreateDelegate(System.Type,System.Reflection.MethodInfo)"/>. + </summary> + </member> + <member name="M:NUnit.Compatibility.MethodInfoExtensions.CreateDelegate(System.Reflection.MethodInfo,System.Type,System.Object)"> + <summary> + See <see cref="M:System.Delegate.CreateDelegate(System.Type,System.Object,System.Reflection.MethodInfo)"/>. + </summary> + </member> + <member name="T:System.Diagnostics.CodeAnalysis.AllowNullAttribute"> + <summary>Specifies that null is allowed as an input even if the corresponding type disallows it.</summary> + </member> + <member name="T:System.Diagnostics.CodeAnalysis.DisallowNullAttribute"> + <summary>Specifies that null is disallowed as an input even if the corresponding type allows it.</summary> + </member> + <member name="T:System.Diagnostics.CodeAnalysis.MaybeNullAttribute"> + <summary>Specifies that an output may be null even if the corresponding type disallows it.</summary> + </member> + <member name="T:System.Diagnostics.CodeAnalysis.NotNullAttribute"> + <summary>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.</summary> + </member> + <member name="T:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute"> + <summary>Specifies that when a method returns <see cref="P:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute.ReturnValue"/>, the parameter may be null even if the corresponding type disallows it.</summary> + </member> + <member name="M:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute.#ctor(System.Boolean)"> + <summary>Initializes the attribute with the specified return value condition.</summary> + <param name="returnValue"> + The return value condition. If the method returns this value, the associated parameter may be null. + </param> + </member> + <member name="P:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute.ReturnValue"> + <summary>Gets the return value condition.</summary> + </member> + <member name="T:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute"> + <summary>Specifies that when a method returns <see cref="P:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute.ReturnValue"/>, the parameter will not be null even if the corresponding type allows it.</summary> + </member> + <member name="M:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute.#ctor(System.Boolean)"> + <summary>Initializes the attribute with the specified return value condition.</summary> + <param name="returnValue"> + The return value condition. If the method returns this value, the associated parameter will not be null. + </param> + </member> + <member name="P:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute.ReturnValue"> + <summary>Gets the return value condition.</summary> + </member> + <member name="T:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute"> + <summary>Specifies that the output will be non-null if the named parameter is non-null.</summary> + </member> + <member name="M:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute.#ctor(System.String)"> + <summary>Initializes the attribute with the associated parameter name.</summary> + <param name="parameterName"> + The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null. + </param> + </member> + <member name="P:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute.ParameterName"> + <summary>Gets the associated parameter name.</summary> + </member> + <member name="T:System.Diagnostics.CodeAnalysis.DoesNotReturnAttribute"> + <summary>Applied to a method that will never return under any circumstance.</summary> + </member> + <member name="T:System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute"> + <summary>Specifies that the method will not return if the associated Boolean parameter is passed the specified value.</summary> + </member> + <member name="M:System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute.#ctor(System.Boolean)"> + <summary>Initializes the attribute with the specified parameter value.</summary> + <param name="parameterValue"> + The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to + the associated parameter matches this value. + </param> + </member> + <member name="P:System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute.ParameterValue"> + <summary>Gets the condition parameter value.</summary> + </member> + </members> +</doc> diff --git a/Aufgabe3/packages/NUnit.3.13.3/lib/net45/nunit.framework.dll b/Aufgabe3/packages/NUnit.3.13.3/lib/net45/nunit.framework.dll new file mode 100644 index 0000000000000000000000000000000000000000..c7dc533b9b7733906b1d387b90bbc4c4ff5a96ab GIT binary patch literal 488960 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𝔢`Z<aJ*&$z@}^`nyB>M<#?vhLM61^oVW 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 K3OWB54*Um)gq|G$ literal 0 HcmV?d00001 diff --git a/Aufgabe3/packages/NUnit.3.13.3/lib/net45/nunit.framework.xml b/Aufgabe3/packages/NUnit.3.13.3/lib/net45/nunit.framework.xml new file mode 100644 index 0000000..f084258 --- /dev/null +++ b/Aufgabe3/packages/NUnit.3.13.3/lib/net45/nunit.framework.xml @@ -0,0 +1,21330 @@ +<?xml version="1.0"?> +<doc> + <assembly> + <name>nunit.framework</name> + </assembly> + <members> + <member name="T:NUnit.Framework.ActionTargets"> + <summary> + The different targets a test action attribute can be applied to + </summary> + </member> + <member name="F:NUnit.Framework.ActionTargets.Default"> + <summary> + Default target, which is determined by where the action attribute is attached + </summary> + </member> + <member name="F:NUnit.Framework.ActionTargets.Test"> + <summary> + Target a individual test case + </summary> + </member> + <member name="F:NUnit.Framework.ActionTargets.Suite"> + <summary> + Target a suite of test cases + </summary> + </member> + <member name="T:NUnit.Framework.Api.DefaultTestAssemblyBuilder"> + <summary> + DefaultTestAssemblyBuilder loads a single assembly and builds a TestSuite + containing test fixtures present in the assembly. + </summary> + </member> + <member name="F:NUnit.Framework.Api.DefaultTestAssemblyBuilder._defaultSuiteBuilder"> + <summary> + The default suite builder used by the test assembly builder. + </summary> + </member> + <member name="M:NUnit.Framework.Api.DefaultTestAssemblyBuilder.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Api.DefaultTestAssemblyBuilder"/> class. + </summary> + </member> + <member name="M:NUnit.Framework.Api.DefaultTestAssemblyBuilder.Build(System.Reflection.Assembly,System.Collections.Generic.IDictionary{System.String,System.Object})"> + <summary> + Build a suite of tests from a provided assembly + </summary> + <param name="assembly">The assembly from which tests are to be built</param> + <param name="options">A dictionary of options to use in building the suite</param> + <returns> + A TestSuite containing the tests found in the assembly + </returns> + </member> + <member name="M:NUnit.Framework.Api.DefaultTestAssemblyBuilder.Build(System.String,System.Collections.Generic.IDictionary{System.String,System.Object})"> + <summary> + Build a suite of tests given the name or the location of an assembly + </summary> + <param name="assemblyNameOrPath">The name or the location of the assembly.</param> + <param name="options">A dictionary of options to use in building the suite</param> + <returns> + A TestSuite containing the tests found in the assembly + </returns> + </member> + <member name="T:NUnit.Framework.Api.FrameworkController"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Api.FrameworkController.#ctor(System.String,System.String,System.Collections.IDictionary)"> + <summary> + Construct a FrameworkController using the default builder and runner. + </summary> + <param name="assemblyNameOrPath">The AssemblyName or path to the test assembly</param> + <param name="idPrefix">A prefix used for all test ids created under this controller.</param> + <param name="settings">A Dictionary of settings to use in loading and running the tests</param> + </member> + <member name="M:NUnit.Framework.Api.FrameworkController.#ctor(System.Reflection.Assembly,System.String,System.Collections.IDictionary)"> + <summary> + Construct a FrameworkController using the default builder and runner. + </summary> + <param name="assembly">The test assembly</param> + <param name="idPrefix">A prefix used for all test ids created under this controller.</param> + <param name="settings">A Dictionary of settings to use in loading and running the tests</param> + </member> + <member name="M:NUnit.Framework.Api.FrameworkController.#ctor(System.String,System.String,System.Collections.IDictionary,System.String,System.String)"> + <summary> + Construct a FrameworkController, specifying the types to be used + for the runner and builder. This constructor is provided for + purposes of development. + </summary> + <param name="assemblyNameOrPath">The full AssemblyName or the path to the test assembly</param> + <param name="idPrefix">A prefix used for all test ids created under this controller.</param> + <param name="settings">A Dictionary of settings to use in loading and running the tests</param> + <param name="runnerType">The Type of the test runner</param> + <param name="builderType">The Type of the test builder</param> + </member> + <member name="M:NUnit.Framework.Api.FrameworkController.#ctor(System.Reflection.Assembly,System.String,System.Collections.IDictionary,System.String,System.String)"> + <summary> + Construct a FrameworkController, specifying the types to be used + for the runner and builder. This constructor is provided for + purposes of development. + </summary> + <param name="assembly">The test assembly</param> + <param name="idPrefix">A prefix used for all test ids created under this controller.</param> + <param name="settings">A Dictionary of settings to use in loading and running the tests</param> + <param name="runnerType">The Type of the test runner</param> + <param name="builderType">The Type of the test builder</param> + </member> + <member name="P:NUnit.Framework.Api.FrameworkController.Builder"> + <summary> + Gets the ITestAssemblyBuilder used by this controller instance. + </summary> + <value>The builder.</value> + </member> + <member name="P:NUnit.Framework.Api.FrameworkController.Runner"> + <summary> + Gets the ITestAssemblyRunner used by this controller instance. + </summary> + <value>The runner.</value> + </member> + <member name="P:NUnit.Framework.Api.FrameworkController.AssemblyNameOrPath"> + <summary> + Gets the AssemblyName or the path for which this FrameworkController was created + </summary> + </member> + <member name="P:NUnit.Framework.Api.FrameworkController.Assembly"> + <summary> + Gets the Assembly for which this + </summary> + </member> + <member name="P:NUnit.Framework.Api.FrameworkController.Settings"> + <summary> + Gets a dictionary of settings for the FrameworkController + </summary> + </member> + <member name="M:NUnit.Framework.Api.FrameworkController.LoadTests"> + <summary> + Loads the tests in the assembly + </summary> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Api.FrameworkController.ExploreTests(System.String)"> + <summary> + Returns info about the tests in an assembly + </summary> + <param name="filter">A string containing the XML representation of the filter to use</param> + <returns>The XML result of exploring the tests</returns> + </member> + <member name="M:NUnit.Framework.Api.FrameworkController.RunTests(System.String)"> + <summary> + Runs the tests in an assembly + </summary> + <param name="filter">A string containing the XML representation of the filter to use</param> + <returns>The XML result of the test run</returns> + </member> + <member name="M:NUnit.Framework.Api.FrameworkController.RunTests(System.Action{System.String},System.String)"> + <summary> + Runs the tests in an assembly synchronously reporting back the test results through the callback + or through the return value + </summary> + <param name="callback">The callback that receives the test results</param> + <param name="filter">A string containing the XML representation of the filter to use</param> + <returns>The XML result of the test run</returns> + </member> + <member name="M:NUnit.Framework.Api.FrameworkController.RunAsync(System.Action{System.String},System.String)"> + <summary> + Runs the tests in an assembly asynchronously reporting back the test results through the callback + </summary> + <param name="callback">The callback that receives the test results</param> + <param name="filter">A string containing the XML representation of the filter to use</param> + </member> + <member name="M:NUnit.Framework.Api.FrameworkController.StopRun(System.Boolean)"> + <summary> + Stops the test run + </summary> + <param name="force">True to force the stop, false for a cooperative stop</param> + </member> + <member name="M:NUnit.Framework.Api.FrameworkController.CountTests(System.String)"> + <summary> + Counts the number of test cases in the loaded TestSuite + </summary> + <param name="filter">A string containing the XML representation of the filter to use</param> + <returns>The number of tests</returns> + </member> + <member name="M:NUnit.Framework.Api.FrameworkController.InsertChildElements(NUnit.Framework.Interfaces.TNode)"> + <summary> + Inserts the environment and settings elements + </summary> + <param name="targetNode">Target node</param> + <returns>The updated target node</returns> + </member> + <member name="M:NUnit.Framework.Api.FrameworkController.InsertEnvironmentElement(NUnit.Framework.Interfaces.TNode)"> + <summary> + Inserts environment element + </summary> + <param name="targetNode">Target node</param> + <returns>The new node</returns> + </member> + <member name="M:NUnit.Framework.Api.FrameworkController.InsertSettingsElement(NUnit.Framework.Interfaces.TNode,System.Collections.Generic.IDictionary{System.String,System.Object})"> + <summary> + Inserts settings element + </summary> + <param name="targetNode">Target node</param> + <param name="settings">Settings dictionary</param> + <returns>The new node</returns> + </member> + <member name="T:NUnit.Framework.Api.FrameworkController.FrameworkControllerAction"> + <summary> + FrameworkControllerAction is the base class for all actions + performed against a FrameworkController. + </summary> + </member> + <member name="T:NUnit.Framework.Api.FrameworkController.LoadTestsAction"> + <summary> + LoadTestsAction loads a test into the FrameworkController + </summary> + </member> + <member name="M:NUnit.Framework.Api.FrameworkController.LoadTestsAction.#ctor(NUnit.Framework.Api.FrameworkController,System.Object)"> + <summary> + LoadTestsAction loads the tests in an assembly. + </summary> + <param name="controller">The controller.</param> + <param name="handler">The callback handler.</param> + </member> + <member name="T:NUnit.Framework.Api.FrameworkController.ExploreTestsAction"> + <summary> + ExploreTestsAction returns info about the tests in an assembly + </summary> + </member> + <member name="M:NUnit.Framework.Api.FrameworkController.ExploreTestsAction.#ctor(NUnit.Framework.Api.FrameworkController,System.String,System.Object)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Api.FrameworkController.ExploreTestsAction"/> class. + </summary> + <param name="controller">The controller for which this action is being performed.</param> + <param name="filter">Filter used to control which tests are included (NYI)</param> + <param name="handler">The callback handler.</param> + </member> + <member name="T:NUnit.Framework.Api.FrameworkController.CountTestsAction"> + <summary> + CountTestsAction counts the number of test cases in the loaded TestSuite + held by the FrameworkController. + </summary> + </member> + <member name="M:NUnit.Framework.Api.FrameworkController.CountTestsAction.#ctor(NUnit.Framework.Api.FrameworkController,System.String,System.Object)"> + <summary> + Construct a CountsTestAction and perform the count of test cases. + </summary> + <param name="controller">A FrameworkController holding the TestSuite whose cases are to be counted</param> + <param name="filter">A string containing the XML representation of the filter to use</param> + <param name="handler">A callback handler used to report results</param> + </member> + <member name="T:NUnit.Framework.Api.FrameworkController.RunTestsAction"> + <summary> + RunTestsAction runs the loaded TestSuite held by the FrameworkController. + </summary> + </member> + <member name="M:NUnit.Framework.Api.FrameworkController.RunTestsAction.#ctor(NUnit.Framework.Api.FrameworkController,System.String,System.Object)"> + <summary> + Construct a RunTestsAction and run all tests in the loaded TestSuite. + </summary> + <param name="controller">A FrameworkController holding the TestSuite to run</param> + <param name="filter">A string containing the XML representation of the filter to use</param> + <param name="handler">A callback handler used to report results</param> + </member> + <member name="T:NUnit.Framework.Api.FrameworkController.RunAsyncAction"> + <summary> + RunAsyncAction initiates an asynchronous test run, returning immediately + </summary> + </member> + <member name="M:NUnit.Framework.Api.FrameworkController.RunAsyncAction.#ctor(NUnit.Framework.Api.FrameworkController,System.String,System.Object)"> + <summary> + Construct a RunAsyncAction and run all tests in the loaded TestSuite. + </summary> + <param name="controller">A FrameworkController holding the TestSuite to run</param> + <param name="filter">A string containing the XML representation of the filter to use</param> + <param name="handler">A callback handler used to report results</param> + </member> + <member name="T:NUnit.Framework.Api.FrameworkController.StopRunAction"> + <summary> + StopRunAction stops an ongoing run. + </summary> + </member> + <member name="M:NUnit.Framework.Api.FrameworkController.StopRunAction.#ctor(NUnit.Framework.Api.FrameworkController,System.Boolean,System.Object)"> + <summary> + Construct a StopRunAction and stop any ongoing run. If no + run is in process, no error is raised. + </summary> + <param name="controller">The FrameworkController for which a run is to be stopped.</param> + <param name="force">True the stop should be forced, false for a cooperative stop.</param> + <param name="handler">>A callback handler used to report results</param> + <remarks>A forced stop will cause threads and processes to be killed as needed.</remarks> + </member> + <member name="T:NUnit.Framework.Api.ITestAssemblyBuilder"> + <summary> + The ITestAssemblyBuilder interface is implemented by a class + that is able to build a suite of tests given an assembly or + an assembly filename. + </summary> + </member> + <member name="M:NUnit.Framework.Api.ITestAssemblyBuilder.Build(System.Reflection.Assembly,System.Collections.Generic.IDictionary{System.String,System.Object})"> + <summary> + Build a suite of tests from a provided assembly + </summary> + <param name="assembly">The assembly from which tests are to be built</param> + <param name="options">A dictionary of options to use in building the suite</param> + <returns>A TestSuite containing the tests found in the assembly</returns> + </member> + <member name="M:NUnit.Framework.Api.ITestAssemblyBuilder.Build(System.String,System.Collections.Generic.IDictionary{System.String,System.Object})"> + <summary> + Build a suite of tests given the filename of an assembly + </summary> + <param name="assemblyName">The filename of the assembly from which tests are to be built</param> + <param name="options">A dictionary of options to use in building the suite</param> + <returns>A TestSuite containing the tests found in the assembly</returns> + </member> + <member name="T:NUnit.Framework.Api.ITestAssemblyRunner"> + <summary> + The ITestAssemblyRunner interface is implemented by classes + that are able to execute a suite of tests loaded + from an assembly. + </summary> + </member> + <member name="P:NUnit.Framework.Api.ITestAssemblyRunner.LoadedTest"> + <summary> + Gets the tree of loaded tests, or null if + no tests have been loaded. + </summary> + </member> + <member name="P:NUnit.Framework.Api.ITestAssemblyRunner.Result"> + <summary> + Gets the tree of test results, if the test + run is completed, otherwise null. + </summary> + </member> + <member name="P:NUnit.Framework.Api.ITestAssemblyRunner.IsTestLoaded"> + <summary> + Indicates whether a test has been loaded + </summary> + </member> + <member name="P:NUnit.Framework.Api.ITestAssemblyRunner.IsTestRunning"> + <summary> + Indicates whether a test is currently running + </summary> + </member> + <member name="P:NUnit.Framework.Api.ITestAssemblyRunner.IsTestComplete"> + <summary> + Indicates whether a test run is complete + </summary> + </member> + <member name="M:NUnit.Framework.Api.ITestAssemblyRunner.Load(System.String,System.Collections.Generic.IDictionary{System.String,System.Object})"> + <summary> + Loads the tests found in an Assembly, returning an + indication of whether or not the load succeeded. + </summary> + <param name="assemblyName">File name of the assembly to load</param> + <param name="settings">Dictionary of options to use in loading the test</param> + <returns>An ITest representing the loaded tests</returns> + </member> + <member name="M:NUnit.Framework.Api.ITestAssemblyRunner.Load(System.Reflection.Assembly,System.Collections.Generic.IDictionary{System.String,System.Object})"> + <summary> + Loads the tests found in an Assembly, returning an + indication of whether or not the load succeeded. + </summary> + <param name="assembly">The assembly to load</param> + <param name="settings">Dictionary of options to use in loading the test</param> + <returns>An ITest representing the loaded tests</returns> + </member> + <member name="M:NUnit.Framework.Api.ITestAssemblyRunner.CountTestCases(NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Count Test Cases using a filter + </summary> + <param name="filter">The filter to apply</param> + <returns>The number of test cases found</returns> + </member> + <member name="M:NUnit.Framework.Api.ITestAssemblyRunner.ExploreTests(NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Explore the test cases using a filter + </summary> + <param name="filter">The filter to apply</param> + <returns>Test Assembly with test cases that matches the filter</returns> + </member> + <member name="M:NUnit.Framework.Api.ITestAssemblyRunner.Run(NUnit.Framework.Interfaces.ITestListener,NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Run selected tests and return a test result. The test is run synchronously, + and the listener interface is notified as it progresses. + </summary> + <param name="listener">Interface to receive ITestListener notifications.</param> + <param name="filter">A test filter used to select tests to be run</param> + </member> + <member name="M:NUnit.Framework.Api.ITestAssemblyRunner.RunAsync(NUnit.Framework.Interfaces.ITestListener,NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Run selected tests asynchronously, notifying the listener interface as it progresses. + </summary> + <param name="listener">Interface to receive EventListener notifications.</param> + <param name="filter">A test filter used to select tests to be run</param> + </member> + <member name="M:NUnit.Framework.Api.ITestAssemblyRunner.WaitForCompletion(System.Int32)"> + <summary> + Wait for the ongoing run to complete. + </summary> + <param name="timeout">Time to wait in milliseconds</param> + <returns>True if the run completed, otherwise false</returns> + </member> + <member name="M:NUnit.Framework.Api.ITestAssemblyRunner.StopRun(System.Boolean)"> + <summary> + Signal any test run that is in process to stop. Return without error if no test is running. + </summary> + <param name="force">If true, kill any test-running threads</param> + </member> + <member name="T:NUnit.Framework.Api.NUnitTestAssemblyRunner"> + <summary> + Implementation of ITestAssemblyRunner + </summary> + </member> + <member name="M:NUnit.Framework.Api.NUnitTestAssemblyRunner.#ctor(NUnit.Framework.Api.ITestAssemblyBuilder)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Api.NUnitTestAssemblyRunner"/> class. + </summary> + <param name="builder">The builder.</param> + </member> + <member name="P:NUnit.Framework.Api.NUnitTestAssemblyRunner.DefaultLevelOfParallelism"> + <summary> + Gets the default level of parallel execution (worker threads) + </summary> + </member> + <member name="P:NUnit.Framework.Api.NUnitTestAssemblyRunner.LoadedTest"> + <summary> + The tree of tests that was loaded by the builder + </summary> + </member> + <member name="P:NUnit.Framework.Api.NUnitTestAssemblyRunner.Result"> + <summary> + The test result, if a run has completed + </summary> + </member> + <member name="P:NUnit.Framework.Api.NUnitTestAssemblyRunner.IsTestLoaded"> + <summary> + Indicates whether a test is loaded + </summary> + </member> + <member name="P:NUnit.Framework.Api.NUnitTestAssemblyRunner.IsTestRunning"> + <summary> + Indicates whether a test is running + </summary> + </member> + <member name="P:NUnit.Framework.Api.NUnitTestAssemblyRunner.IsTestComplete"> + <summary> + Indicates whether a test run is complete + </summary> + </member> + <member name="P:NUnit.Framework.Api.NUnitTestAssemblyRunner.Settings"> + <summary> + Our settings, specified when loading the assembly + </summary> + </member> + <member name="P:NUnit.Framework.Api.NUnitTestAssemblyRunner.TopLevelWorkItem"> + <summary> + The top level WorkItem created for the assembly as a whole + </summary> + </member> + <member name="P:NUnit.Framework.Api.NUnitTestAssemblyRunner.Context"> + <summary> + The TestExecutionContext for the top level WorkItem + </summary> + </member> + <member name="M:NUnit.Framework.Api.NUnitTestAssemblyRunner.Load(System.String,System.Collections.Generic.IDictionary{System.String,System.Object})"> + <summary> + Loads the tests found in an Assembly + </summary> + <param name="assemblyNameOrPath">File name or path of the assembly to load</param> + <param name="settings">Dictionary of option settings for loading the assembly</param> + <returns>A Test Assembly containing all loaded tests</returns> + </member> + <member name="M:NUnit.Framework.Api.NUnitTestAssemblyRunner.Load(System.Reflection.Assembly,System.Collections.Generic.IDictionary{System.String,System.Object})"> + <summary> + Loads the tests found in an Assembly + </summary> + <param name="assembly">The assembly to load</param> + <param name="settings">Dictionary of option settings for loading the assembly</param> + <returns>A Test Assembly containing all loaded tests</returns> + </member> + <member name="M:NUnit.Framework.Api.NUnitTestAssemblyRunner.CountTestCases(NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Count Test Cases using a filter + </summary> + <param name="filter">The filter to apply</param> + <returns>The number of test cases found</returns> + </member> + <member name="M:NUnit.Framework.Api.NUnitTestAssemblyRunner.ExploreTests(NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Explore the test cases using a filter + </summary> + <param name="filter">The filter to apply</param> + <returns>Test Assembly with test cases that matches the filter</returns> + </member> + <member name="M:NUnit.Framework.Api.NUnitTestAssemblyRunner.Run(NUnit.Framework.Interfaces.ITestListener,NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Run selected tests and return a test result. The test is run synchronously, + and the listener interface is notified as it progresses. + </summary> + <param name="listener">Interface to receive EventListener notifications.</param> + <param name="filter">A test filter used to select tests to be run</param> + <returns>The test results from the run</returns> + </member> + <member name="M:NUnit.Framework.Api.NUnitTestAssemblyRunner.RunAsync(NUnit.Framework.Interfaces.ITestListener,NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Run selected tests asynchronously, notifying the listener interface as it progresses. + </summary> + <param name="listener">Interface to receive EventListener notifications.</param> + <param name="filter">A test filter used to select tests to be run</param> + <remarks> + RunAsync is a template method, calling various abstract and + virtual methods to be overridden by derived classes. + </remarks> + </member> + <member name="M:NUnit.Framework.Api.NUnitTestAssemblyRunner.WaitForCompletion(System.Int32)"> + <summary> + Wait for the ongoing run to complete. + </summary> + <param name="timeout">Time to wait in milliseconds</param> + <returns>True if the run completed, otherwise false</returns> + </member> + <member name="M:NUnit.Framework.Api.NUnitTestAssemblyRunner.StopRun(System.Boolean)"> + <summary> + Signal any test run that is in process to stop. Return without error if no test is running. + </summary> + <param name="force">If true, kill any tests that are currently running</param> + </member> + <member name="M:NUnit.Framework.Api.NUnitTestAssemblyRunner.StartRun(NUnit.Framework.Interfaces.ITestListener)"> + <summary> + Initiate the test run. + </summary> + </member> + <member name="M:NUnit.Framework.Api.NUnitTestAssemblyRunner.CreateTestExecutionContext(NUnit.Framework.Interfaces.ITestListener)"> + <summary> + Create the initial TestExecutionContext used to run tests + </summary> + <param name="listener">The ITestListener specified in the RunAsync call</param> + </member> + <member name="M:NUnit.Framework.Api.NUnitTestAssemblyRunner.OnRunCompleted(System.Object,System.EventArgs)"> + <summary> + Handle the Completed event for the top level work item + </summary> + </member> + <member name="M:NUnit.Framework.Api.NUnitTestAssemblyRunner.WrapInNUnitCallContext(System.Action)"> + <summary> + Executes the action within an <see cref="T:NUnit.Framework.Internal.NUnitCallContext" /> + which ensures the <see cref="T:System.Runtime.Remoting.Messaging.CallContext"/> is cleaned up + suitably at the end of the test run. This method only has an effect running + the full .NET Framework. + </summary> + </member> + <member name="T:NUnit.Framework.Assert"> + <summary> + The Assert class contains a collection of static methods that + implement the most common assertions used in NUnit. + </summary> + <summary> + The Assert class contains a collection of static methods that + implement the most common assertions used in NUnit. + </summary> + </member> + <member name="M:NUnit.Framework.Assert.Greater(System.Int32,System.Int32,System.String,System.Object[])"> + <summary> + Verifies that the first int is greater than the second + int. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Greater(System.Int32,System.Int32)"> + <summary> + Verifies that the first int is greater than the second + int. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + </member> + <member name="M:NUnit.Framework.Assert.Greater(System.UInt32,System.UInt32,System.String,System.Object[])"> + <summary> + Verifies that the first value is greater than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Greater(System.UInt32,System.UInt32)"> + <summary> + Verifies that the first value is greater than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + </member> + <member name="M:NUnit.Framework.Assert.Greater(System.Int64,System.Int64,System.String,System.Object[])"> + <summary> + Verifies that the first value is greater than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Greater(System.Int64,System.Int64)"> + <summary> + Verifies that the first value is greater than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + </member> + <member name="M:NUnit.Framework.Assert.Greater(System.UInt64,System.UInt64,System.String,System.Object[])"> + <summary> + Verifies that the first value is greater than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Greater(System.UInt64,System.UInt64)"> + <summary> + Verifies that the first value is greater than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + </member> + <member name="M:NUnit.Framework.Assert.Greater(System.Decimal,System.Decimal,System.String,System.Object[])"> + <summary> + Verifies that the first value is greater than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Greater(System.Decimal,System.Decimal)"> + <summary> + Verifies that the first value is greater than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + </member> + <member name="M:NUnit.Framework.Assert.Greater(System.Double,System.Double,System.String,System.Object[])"> + <summary> + Verifies that the first value is greater than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Greater(System.Double,System.Double)"> + <summary> + Verifies that the first value is greater than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + </member> + <member name="M:NUnit.Framework.Assert.Greater(System.Single,System.Single,System.String,System.Object[])"> + <summary> + Verifies that the first value is greater than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Greater(System.Single,System.Single)"> + <summary> + Verifies that the first value is greater than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + </member> + <member name="M:NUnit.Framework.Assert.Greater(System.IComparable,System.IComparable,System.String,System.Object[])"> + <summary> + Verifies that the first value is greater than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Greater(System.IComparable,System.IComparable)"> + <summary> + Verifies that the first value is greater than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + </member> + <member name="M:NUnit.Framework.Assert.Less(System.Int32,System.Int32,System.String,System.Object[])"> + <summary> + Verifies that the first value is less than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Less(System.Int32,System.Int32)"> + <summary> + Verifies that the first value is less than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + </member> + <member name="M:NUnit.Framework.Assert.Less(System.UInt32,System.UInt32,System.String,System.Object[])"> + <summary> + Verifies that the first value is less than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Less(System.UInt32,System.UInt32)"> + <summary> + Verifies that the first value is less than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + </member> + <member name="M:NUnit.Framework.Assert.Less(System.Int64,System.Int64,System.String,System.Object[])"> + <summary> + Verifies that the first value is less than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Less(System.Int64,System.Int64)"> + <summary> + Verifies that the first value is less than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + </member> + <member name="M:NUnit.Framework.Assert.Less(System.UInt64,System.UInt64,System.String,System.Object[])"> + <summary> + Verifies that the first value is less than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Less(System.UInt64,System.UInt64)"> + <summary> + Verifies that the first value is less than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + </member> + <member name="M:NUnit.Framework.Assert.Less(System.Decimal,System.Decimal,System.String,System.Object[])"> + <summary> + Verifies that the first value is less than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Less(System.Decimal,System.Decimal)"> + <summary> + Verifies that the first value is less than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + </member> + <member name="M:NUnit.Framework.Assert.Less(System.Double,System.Double,System.String,System.Object[])"> + <summary> + Verifies that the first value is less than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Less(System.Double,System.Double)"> + <summary> + Verifies that the first value is less than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + </member> + <member name="M:NUnit.Framework.Assert.Less(System.Single,System.Single,System.String,System.Object[])"> + <summary> + Verifies that the first value is less than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Less(System.Single,System.Single)"> + <summary> + Verifies that the first value is less than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + </member> + <member name="M:NUnit.Framework.Assert.Less(System.IComparable,System.IComparable,System.String,System.Object[])"> + <summary> + Verifies that the first value is less than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Less(System.IComparable,System.IComparable)"> + <summary> + Verifies that the first value is less than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + </member> + <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.Int32,System.Int32,System.String,System.Object[])"> + <summary> + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.Int32,System.Int32)"> + <summary> + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + </member> + <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.UInt32,System.UInt32,System.String,System.Object[])"> + <summary> + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.UInt32,System.UInt32)"> + <summary> + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + </member> + <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.Int64,System.Int64,System.String,System.Object[])"> + <summary> + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.Int64,System.Int64)"> + <summary> + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + </member> + <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.UInt64,System.UInt64,System.String,System.Object[])"> + <summary> + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.UInt64,System.UInt64)"> + <summary> + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + </member> + <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.Decimal,System.Decimal,System.String,System.Object[])"> + <summary> + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.Decimal,System.Decimal)"> + <summary> + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + </member> + <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.Double,System.Double,System.String,System.Object[])"> + <summary> + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.Double,System.Double)"> + <summary> + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + </member> + <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.Single,System.Single,System.String,System.Object[])"> + <summary> + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.Single,System.Single)"> + <summary> + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + </member> + <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.IComparable,System.IComparable,System.String,System.Object[])"> + <summary> + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.IComparable,System.IComparable)"> + <summary> + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + </member> + <member name="M:NUnit.Framework.Assert.LessOrEqual(System.Int32,System.Int32,System.String,System.Object[])"> + <summary> + Verifies that the first value is less than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.LessOrEqual(System.Int32,System.Int32)"> + <summary> + Verifies that the first value is less than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + </member> + <member name="M:NUnit.Framework.Assert.LessOrEqual(System.UInt32,System.UInt32,System.String,System.Object[])"> + <summary> + Verifies that the first value is less than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.LessOrEqual(System.UInt32,System.UInt32)"> + <summary> + Verifies that the first value is less than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + </member> + <member name="M:NUnit.Framework.Assert.LessOrEqual(System.Int64,System.Int64,System.String,System.Object[])"> + <summary> + Verifies that the first value is less than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.LessOrEqual(System.Int64,System.Int64)"> + <summary> + Verifies that the first value is less than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + </member> + <member name="M:NUnit.Framework.Assert.LessOrEqual(System.UInt64,System.UInt64,System.String,System.Object[])"> + <summary> + Verifies that the first value is less than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.LessOrEqual(System.UInt64,System.UInt64)"> + <summary> + Verifies that the first value is less than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + </member> + <member name="M:NUnit.Framework.Assert.LessOrEqual(System.Decimal,System.Decimal,System.String,System.Object[])"> + <summary> + Verifies that the first value is less than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.LessOrEqual(System.Decimal,System.Decimal)"> + <summary> + Verifies that the first value is less than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + </member> + <member name="M:NUnit.Framework.Assert.LessOrEqual(System.Double,System.Double,System.String,System.Object[])"> + <summary> + Verifies that the first value is less than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.LessOrEqual(System.Double,System.Double)"> + <summary> + Verifies that the first value is less than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + </member> + <member name="M:NUnit.Framework.Assert.LessOrEqual(System.Single,System.Single,System.String,System.Object[])"> + <summary> + Verifies that the first value is less than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.LessOrEqual(System.Single,System.Single)"> + <summary> + Verifies that the first value is less than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + </member> + <member name="M:NUnit.Framework.Assert.LessOrEqual(System.IComparable,System.IComparable,System.String,System.Object[])"> + <summary> + Verifies that the first value is less than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.LessOrEqual(System.IComparable,System.IComparable)"> + <summary> + Verifies that the first value is less than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + </member> + <member name="M:NUnit.Framework.Assert.True(System.Nullable{System.Boolean},System.String,System.Object[])"> + <summary> + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="condition">The evaluated condition</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.True(System.Boolean,System.String,System.Object[])"> + <summary> + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="condition">The evaluated condition</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.True(System.Nullable{System.Boolean})"> + <summary> + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="condition">The evaluated condition</param> + </member> + <member name="M:NUnit.Framework.Assert.True(System.Boolean)"> + <summary> + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="condition">The evaluated condition</param> + </member> + <member name="M:NUnit.Framework.Assert.IsTrue(System.Nullable{System.Boolean},System.String,System.Object[])"> + <summary> + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="condition">The evaluated condition</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsTrue(System.Boolean,System.String,System.Object[])"> + <summary> + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="condition">The evaluated condition</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsTrue(System.Nullable{System.Boolean})"> + <summary> + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="condition">The evaluated condition</param> + </member> + <member name="M:NUnit.Framework.Assert.IsTrue(System.Boolean)"> + <summary> + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="condition">The evaluated condition</param> + </member> + <member name="M:NUnit.Framework.Assert.False(System.Nullable{System.Boolean},System.String,System.Object[])"> + <summary> + Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <param name="condition">The evaluated condition</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.False(System.Boolean,System.String,System.Object[])"> + <summary> + Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <param name="condition">The evaluated condition</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.False(System.Nullable{System.Boolean})"> + <summary> + Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="condition">The evaluated condition</param> + </member> + <member name="M:NUnit.Framework.Assert.False(System.Boolean)"> + <summary> + Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <param name="condition">The evaluated condition</param> + </member> + <member name="M:NUnit.Framework.Assert.IsFalse(System.Nullable{System.Boolean},System.String,System.Object[])"> + <summary> + Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <param name="condition">The evaluated condition</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsFalse(System.Boolean,System.String,System.Object[])"> + <summary> + Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <param name="condition">The evaluated condition</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsFalse(System.Nullable{System.Boolean})"> + <summary> + Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <param name="condition">The evaluated condition</param> + </member> + <member name="M:NUnit.Framework.Assert.IsFalse(System.Boolean)"> + <summary> + Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <param name="condition">The evaluated condition</param> + </member> + <member name="M:NUnit.Framework.Assert.NotNull(System.Object,System.String,System.Object[])"> + <summary> + Verifies that the object that is passed in is not equal to <see langword="null"/>. Returns without throwing an + exception when inside a multiple assert block. + </summary> + <param name="anObject">The object that is to be tested</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.NotNull(System.Object)"> + <summary> + Verifies that the object that is passed in is not equal to <see langword="null"/>. Returns without throwing an + exception when inside a multiple assert block. + </summary> + <param name="anObject">The object that is to be tested</param> + </member> + <member name="M:NUnit.Framework.Assert.IsNotNull(System.Object,System.String,System.Object[])"> + <summary> + Verifies that the object that is passed in is not equal to <see langword="null"/>. Returns without throwing an + exception when inside a multiple assert block. + </summary> + <param name="anObject">The object that is to be tested</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsNotNull(System.Object)"> + <summary> + Verifies that the object that is passed in is not equal to <see langword="null"/>. Returns without throwing an + exception when inside a multiple assert block. + </summary> + <param name="anObject">The object that is to be tested</param> + </member> + <member name="M:NUnit.Framework.Assert.Null(System.Object,System.String,System.Object[])"> + <summary> + Verifies that the object that is passed in is equal to <see langword="null"/>. Returns without throwing an + exception when inside a multiple assert block. + </summary> + <param name="anObject">The object that is to be tested</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Null(System.Object)"> + <summary> + Verifies that the object that is passed in is equal to <see langword="null"/>. Returns without throwing an + exception when inside a multiple assert block. + </summary> + <param name="anObject">The object that is to be tested</param> + </member> + <member name="M:NUnit.Framework.Assert.IsNull(System.Object,System.String,System.Object[])"> + <summary> + Verifies that the object that is passed in is equal to <see langword="null"/>. Returns without throwing an + exception when inside a multiple assert block. + </summary> + <param name="anObject">The object that is to be tested</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsNull(System.Object)"> + <summary> + Verifies that the object that is passed in is equal to <see langword="null"/>. Returns without throwing an + exception when inside a multiple assert block. + </summary> + <param name="anObject">The object that is to be tested</param> + </member> + <member name="M:NUnit.Framework.Assert.IsNaN(System.Double,System.String,System.Object[])"> + <summary> + Verifies that the double that is passed in is an <c>NaN</c>. Returns without throwing an + exception when inside a multiple assert block. + </summary> + <param name="aDouble">The value that is to be tested</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsNaN(System.Double)"> + <summary> + Verifies that the double that is passed in is an <c>NaN</c> value. Returns without throwing an + exception when inside a multiple assert block. + </summary> + <param name="aDouble">The value that is to be tested</param> + </member> + <member name="M:NUnit.Framework.Assert.IsNaN(System.Nullable{System.Double},System.String,System.Object[])"> + <summary> + Verifies that the double that is passed in is an <c>NaN</c> value. Returns without throwing an + exception when inside a multiple assert block. + </summary> + <param name="aDouble">The value that is to be tested</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsNaN(System.Nullable{System.Double})"> + <summary> + Verifies that the double that is passed in is an <c>NaN</c> value. Returns without throwing an + exception when inside a multiple assert block. + </summary> + <param name="aDouble">The value that is to be tested</param> + </member> + <member name="M:NUnit.Framework.Assert.IsEmpty(System.String,System.String,System.Object[])"> + <summary> + Assert that a string is empty. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="aString">The string to be tested</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsEmpty(System.String)"> + <summary> + Assert that a string is empty. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="aString">The string to be tested</param> + </member> + <member name="M:NUnit.Framework.Assert.IsEmpty(System.Collections.IEnumerable,System.String,System.Object[])"> + <summary> + Assert that an array, list or other collection is empty. Returns without throwing an exception when inside a + multiple assert block. + </summary> + <param name="collection">An array, list or other collection implementing ICollection</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsEmpty(System.Collections.IEnumerable)"> + <summary> + Assert that an array, list or other collection is empty. Returns without throwing an exception when inside a + multiple assert block. + </summary> + <param name="collection">An array, list or other collection implementing ICollection</param> + </member> + <member name="M:NUnit.Framework.Assert.IsNotEmpty(System.String,System.String,System.Object[])"> + <summary> + Assert that a string is not empty. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <param name="aString">The string to be tested</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsNotEmpty(System.String)"> + <summary> + Assert that a string is not empty. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <param name="aString">The string to be tested</param> + </member> + <member name="M:NUnit.Framework.Assert.IsNotEmpty(System.Collections.IEnumerable,System.String,System.Object[])"> + <summary> + Assert that an array, list or other collection is not empty. Returns without throwing an exception when + inside a multiple assert block. + </summary> + <param name="collection">An array, list or other collection implementing ICollection</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsNotEmpty(System.Collections.IEnumerable)"> + <summary> + Assert that an array, list or other collection is not empty. Returns without throwing an exception when + inside a multiple assert block. + </summary> + <param name="collection">An array, list or other collection implementing ICollection</param> + </member> + <member name="M:NUnit.Framework.Assert.Zero(System.Int32)"> + <summary> + Asserts that an int is zero. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Zero(System.Int32,System.String,System.Object[])"> + <summary> + Asserts that an int is zero. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Zero(System.UInt32)"> + <summary> + Asserts that an unsigned int is zero. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Zero(System.UInt32,System.String,System.Object[])"> + <summary> + Asserts that an unsigned int is zero. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Zero(System.Int64)"> + <summary> + Asserts that a Long is zero. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Zero(System.Int64,System.String,System.Object[])"> + <summary> + Asserts that a Long is zero. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Zero(System.UInt64)"> + <summary> + Asserts that an unsigned Long is zero. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Zero(System.UInt64,System.String,System.Object[])"> + <summary> + Asserts that an unsigned Long is zero. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Zero(System.Decimal)"> + <summary> + Asserts that a decimal is zero. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Zero(System.Decimal,System.String,System.Object[])"> + <summary> + Asserts that a decimal is zero. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Zero(System.Double)"> + <summary> + Asserts that a double is zero. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Zero(System.Double,System.String,System.Object[])"> + <summary> + Asserts that a double is zero. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Zero(System.Single)"> + <summary> + Asserts that a float is zero. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Zero(System.Single,System.String,System.Object[])"> + <summary> + Asserts that a float is zero. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.NotZero(System.Int32)"> + <summary> + Asserts that an int is not zero. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.NotZero(System.Int32,System.String,System.Object[])"> + <summary> + Asserts that an int is not zero. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.NotZero(System.UInt32)"> + <summary> + Asserts that an unsigned int is not zero. Returns without throwing an exception when inside a multiple + assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.NotZero(System.UInt32,System.String,System.Object[])"> + <summary> + Asserts that an unsigned int is not zero. Returns without throwing an exception when inside a multiple + assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.NotZero(System.Int64)"> + <summary> + Asserts that a Long is not zero. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.NotZero(System.Int64,System.String,System.Object[])"> + <summary> + Asserts that a Long is not zero. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.NotZero(System.UInt64)"> + <summary> + Asserts that an unsigned Long is not zero. Returns without throwing an exception when inside a multiple + assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.NotZero(System.UInt64,System.String,System.Object[])"> + <summary> + Asserts that an unsigned Long is not zero. Returns without throwing an exception when inside a multiple + assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.NotZero(System.Decimal)"> + <summary> + Asserts that a decimal is zero. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.NotZero(System.Decimal,System.String,System.Object[])"> + <summary> + Asserts that a decimal is zero. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.NotZero(System.Double)"> + <summary> + Asserts that a double is zero. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.NotZero(System.Double,System.String,System.Object[])"> + <summary> + Asserts that a double is zero. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.NotZero(System.Single)"> + <summary> + Asserts that a float is zero. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.NotZero(System.Single,System.String,System.Object[])"> + <summary> + Asserts that a float is zero. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Positive(System.Int32)"> + <summary> + Asserts that an int is positive. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Positive(System.Int32,System.String,System.Object[])"> + <summary> + Asserts that an int is positive. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Positive(System.UInt32)"> + <summary> + Asserts that an unsigned int is positive. Returns without throwing an exception when inside a multiple + assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Positive(System.UInt32,System.String,System.Object[])"> + <summary> + Asserts that an unsigned int is positive. Returns without throwing an exception when inside a multiple + assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Positive(System.Int64)"> + <summary> + Asserts that a Long is positive. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Positive(System.Int64,System.String,System.Object[])"> + <summary> + Asserts that a Long is positive. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Positive(System.UInt64)"> + <summary> + Asserts that an unsigned Long is positive. Returns without throwing an exception when inside a multiple + assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Positive(System.UInt64,System.String,System.Object[])"> + <summary> + Asserts that an unsigned Long is positive. Returns without throwing an exception when inside a multiple + assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Positive(System.Decimal)"> + <summary> + Asserts that a decimal is positive. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Positive(System.Decimal,System.String,System.Object[])"> + <summary> + Asserts that a decimal is positive. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Positive(System.Double)"> + <summary> + Asserts that a double is positive. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Positive(System.Double,System.String,System.Object[])"> + <summary> + Asserts that a double is positive. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Positive(System.Single)"> + <summary> + Asserts that a float is positive. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Positive(System.Single,System.String,System.Object[])"> + <summary> + Asserts that a float is positive. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Negative(System.Int32)"> + <summary> + Asserts that an int is negative. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Negative(System.Int32,System.String,System.Object[])"> + <summary> + Asserts that an int is negative. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Negative(System.UInt32)"> + <summary> + Asserts that an unsigned int is negative. Returns without throwing an exception when inside a multiple + assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Negative(System.UInt32,System.String,System.Object[])"> + <summary> + Asserts that an unsigned int is negative. Returns without throwing an exception when inside a multiple + assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Negative(System.Int64)"> + <summary> + Asserts that a Long is negative. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Negative(System.Int64,System.String,System.Object[])"> + <summary> + Asserts that a Long is negative. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Negative(System.UInt64)"> + <summary> + Asserts that an unsigned Long is negative. Returns without throwing an exception when inside a multiple + assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Negative(System.UInt64,System.String,System.Object[])"> + <summary> + Asserts that an unsigned Long is negative. Returns without throwing an exception when inside a multiple + assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Negative(System.Decimal)"> + <summary> + Asserts that a decimal is negative. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Negative(System.Decimal,System.String,System.Object[])"> + <summary> + Asserts that a decimal is negative. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Negative(System.Double)"> + <summary> + Asserts that a double is negative. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Negative(System.Double,System.String,System.Object[])"> + <summary> + Asserts that a double is negative. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Negative(System.Single)"> + <summary> + Asserts that a float is negative. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Negative(System.Single,System.String,System.Object[])"> + <summary> + Asserts that a float is negative. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Equals(System.Object,System.Object)"> + <summary> + 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. + </summary> + <param name="a"></param> + <param name="b"></param> + </member> + <member name="M:NUnit.Framework.Assert.ReferenceEquals(System.Object,System.Object)"> + <summary> + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + </summary> + <param name="a"></param> + <param name="b"></param> + </member> + <member name="M:NUnit.Framework.Assert.Pass(System.String,System.Object[])"> + <summary> + Throws a <see cref="T:NUnit.Framework.SuccessException"/> 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. + </summary> + <param name="message">The message to initialize the <see cref="T:NUnit.Framework.AssertionException"/> with.</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Pass(System.String)"> + <summary> + Throws a <see cref="T:NUnit.Framework.SuccessException"/> 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. + </summary> + <param name="message">The message to initialize the <see cref="T:NUnit.Framework.AssertionException"/> with.</param> + </member> + <member name="M:NUnit.Framework.Assert.Pass"> + <summary> + Throws a <see cref="T:NUnit.Framework.SuccessException"/> 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. + </summary> + </member> + <member name="M:NUnit.Framework.Assert.Fail(System.String,System.Object[])"> + <summary> + 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. + </summary> + <param name="message">The message to initialize the <see cref="T:NUnit.Framework.AssertionException"/> with.</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Fail(System.String)"> + <summary> + Marks the test as failed with the message that is passed in. Returns without throwing an exception when + inside a multiple assert block. + </summary> + <param name="message">The message to initialize the <see cref="T:NUnit.Framework.AssertionException"/> with.</param> + </member> + <member name="M:NUnit.Framework.Assert.Fail"> + <summary> + Marks the test as failed. Returns without throwing an exception when inside a multiple assert block. + </summary> + </member> + <member name="M:NUnit.Framework.Assert.Warn(System.String,System.Object[])"> + <summary> + Issues a warning using the message and arguments provided. + </summary> + <param name="message">The message to display.</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Warn(System.String)"> + <summary> + Issues a warning using the message provided. + </summary> + <param name="message">The message to display.</param> + </member> + <member name="M:NUnit.Framework.Assert.Ignore(System.String,System.Object[])"> + <summary> + Throws an <see cref="T:NUnit.Framework.IgnoreException"/> with the message and arguments + that are passed in. This causes the test to be reported as ignored. + </summary> + <param name="message">The message to initialize the <see cref="T:NUnit.Framework.AssertionException"/> with.</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Ignore(System.String)"> + <summary> + Throws an <see cref="T:NUnit.Framework.IgnoreException"/> with the message that is + passed in. This causes the test to be reported as ignored. + </summary> + <param name="message">The message to initialize the <see cref="T:NUnit.Framework.AssertionException"/> with.</param> + </member> + <member name="M:NUnit.Framework.Assert.Ignore"> + <summary> + Throws an <see cref="T:NUnit.Framework.IgnoreException"/>. + This causes the test to be reported as ignored. + </summary> + </member> + <member name="M:NUnit.Framework.Assert.Inconclusive(System.String,System.Object[])"> + <summary> + Throws an <see cref="T:NUnit.Framework.InconclusiveException"/> with the message and arguments + that are passed in. This causes the test to be reported as inconclusive. + </summary> + <param name="message">The message to initialize the <see cref="T:NUnit.Framework.InconclusiveException"/> with.</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Inconclusive(System.String)"> + <summary> + Throws an <see cref="T:NUnit.Framework.InconclusiveException"/> with the message that is + passed in. This causes the test to be reported as inconclusive. + </summary> + <param name="message">The message to initialize the <see cref="T:NUnit.Framework.InconclusiveException"/> with.</param> + </member> + <member name="M:NUnit.Framework.Assert.Inconclusive"> + <summary> + Throws an <see cref="T:NUnit.Framework.InconclusiveException"/>. + This causes the test to be reported as Inconclusive. + </summary> + </member> + <member name="M:NUnit.Framework.Assert.Contains(System.Object,System.Collections.ICollection,System.String,System.Object[])"> + <summary> + Asserts that an object is contained in a collection. Returns without throwing an exception when inside a + multiple assert block. + </summary> + <param name="expected">The expected object</param> + <param name="actual">The collection to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Contains(System.Object,System.Collections.ICollection)"> + <summary> + Asserts that an object is contained in a collection. Returns without throwing an exception when inside a + multiple assert block. + </summary> + <param name="expected">The expected object</param> + <param name="actual">The collection to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Multiple(NUnit.Framework.TestDelegate)"> + <summary> + 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. + </summary> + <param name="testDelegate">A TestDelegate to be executed in Multiple Assertion mode.</param> + </member> + <member name="M:NUnit.Framework.Assert.Multiple(NUnit.Framework.AsyncTestDelegate)"> + <summary> + 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. + </summary> + <param name="testDelegate">A TestDelegate to be executed in Multiple Assertion mode.</param> + </member> + <member name="M:NUnit.Framework.Assert.GetEnvironmentStackTraceWithoutThrowing"> + <summary> + If <see cref="P:System.Exception.StackTrace"/> throws, returns "SomeException was thrown by the + Environment.StackTrace property." See also <see cref="M:NUnit.Framework.ExceptionExtensions.GetStackTraceWithoutThrowing(System.Exception)"/>. + </summary> + </member> + <member name="M:NUnit.Framework.Assert.AreEqual(System.Double,System.Double,System.Double,System.String,System.Object[])"> + <summary> + 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. + </summary> + <param name="expected">The expected value</param> + <param name="actual">The actual value</param> + <param name="delta">The maximum acceptable difference between the the expected and the actual</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.AreEqual(System.Double,System.Double,System.Double)"> + <summary> + 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. + </summary> + <param name="expected">The expected value</param> + <param name="actual">The actual value</param> + <param name="delta">The maximum acceptable difference between the the expected and the actual</param> + </member> + <member name="M:NUnit.Framework.Assert.AreEqual(System.Double,System.Nullable{System.Double},System.Double,System.String,System.Object[])"> + <summary> + 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. + </summary> + <param name="expected">The expected value</param> + <param name="actual">The actual value</param> + <param name="delta">The maximum acceptable difference between the the expected and the actual</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.AreEqual(System.Double,System.Nullable{System.Double},System.Double)"> + <summary> + 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. + </summary> + <param name="expected">The expected value</param> + <param name="actual">The actual value</param> + <param name="delta">The maximum acceptable difference between the the expected and the actual</param> + </member> + <member name="M:NUnit.Framework.Assert.AreEqual(System.Object,System.Object,System.String,System.Object[])"> + <summary> + 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. + </summary> + <param name="expected">The value that is expected</param> + <param name="actual">The actual value</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.AreEqual(System.Object,System.Object)"> + <summary> + 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. + </summary> + <param name="expected">The value that is expected</param> + <param name="actual">The actual value</param> + </member> + <member name="M:NUnit.Framework.Assert.AreNotEqual(System.Object,System.Object,System.String,System.Object[])"> + <summary> + 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. + </summary> + <param name="expected">The value that is expected</param> + <param name="actual">The actual value</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.AreNotEqual(System.Object,System.Object)"> + <summary> + 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. + </summary> + <param name="expected">The value that is expected</param> + <param name="actual">The actual value</param> + </member> + <member name="M:NUnit.Framework.Assert.AreSame(System.Object,System.Object,System.String,System.Object[])"> + <summary> + Asserts that two objects refer to the same object. Returns without throwing an exception when inside a + multiple assert block. + </summary> + <param name="expected">The expected object</param> + <param name="actual">The actual object</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.AreSame(System.Object,System.Object)"> + <summary> + Asserts that two objects refer to the same object. Returns without throwing an exception when inside a + multiple assert block. + </summary> + <param name="expected">The expected object</param> + <param name="actual">The actual object</param> + </member> + <member name="M:NUnit.Framework.Assert.AreNotSame(System.Object,System.Object,System.String,System.Object[])"> + <summary> + Asserts that two objects do not refer to the same object. Returns without throwing an exception when inside + a multiple assert block. + </summary> + <param name="expected">The expected object</param> + <param name="actual">The actual object</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.AreNotSame(System.Object,System.Object)"> + <summary> + Asserts that two objects do not refer to the same object. Returns without throwing an exception when inside + a multiple assert block. + </summary> + <param name="expected">The expected object</param> + <param name="actual">The actual object</param> + </member> + <member name="M:NUnit.Framework.Assert.AssertDoublesAreEqual(System.Double,System.Double,System.Double,System.String,System.Object[])"> + <summary> + Helper for Assert.AreEqual(double expected, double actual, ...) + allowing code generation to work consistently. + </summary> + <param name="expected">The expected value</param> + <param name="actual">The actual value</param> + <param name="delta">The maximum acceptable difference between the + the expected and the actual</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.ThrowsAsync(NUnit.Framework.Constraints.IResolveConstraint,NUnit.Framework.AsyncTestDelegate,System.String,System.Object[])"> + <summary> + Verifies that an async delegate throws a particular exception when called. The returned exception may be + <see langword="null"/> when inside a multiple assert block. + </summary> + <param name="expression">A constraint to be satisfied by the exception</param> + <param name="code">A TestSnippet delegate</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.ThrowsAsync(NUnit.Framework.Constraints.IResolveConstraint,NUnit.Framework.AsyncTestDelegate)"> + <summary> + Verifies that an async delegate throws a particular exception when called. The returned exception may be + <see langword="null"/> when inside a multiple assert block. + </summary> + <param name="expression">A constraint to be satisfied by the exception</param> + <param name="code">A TestSnippet delegate</param> + </member> + <member name="M:NUnit.Framework.Assert.ThrowsAsync(System.Type,NUnit.Framework.AsyncTestDelegate,System.String,System.Object[])"> + <summary> + Verifies that an async delegate throws a particular exception when called. The returned exception may be + <see langword="null"/> when inside a multiple assert block. + </summary> + <param name="expectedExceptionType">The exception Type expected</param> + <param name="code">A TestDelegate</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.ThrowsAsync(System.Type,NUnit.Framework.AsyncTestDelegate)"> + <summary> + Verifies that an async delegate throws a particular exception when called. The returned exception may be + <see langword="null"/> when inside a multiple assert block. + </summary> + <param name="expectedExceptionType">The exception Type expected</param> + <param name="code">A TestDelegate</param> + </member> + <member name="M:NUnit.Framework.Assert.ThrowsAsync``1(NUnit.Framework.AsyncTestDelegate,System.String,System.Object[])"> + <summary> + Verifies that an async delegate throws a particular exception when called. The returned exception may be + <see langword="null"/> when inside a multiple assert block. + </summary> + <typeparam name="TActual">Type of the expected exception</typeparam> + <param name="code">A TestDelegate</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.ThrowsAsync``1(NUnit.Framework.AsyncTestDelegate)"> + <summary> + Verifies that an async delegate throws a particular exception when called. The returned exception may be + <see langword="null"/> when inside a multiple assert block. + </summary> + <typeparam name="TActual">Type of the expected exception</typeparam> + <param name="code">A TestDelegate</param> + </member> + <member name="M:NUnit.Framework.Assert.CatchAsync(NUnit.Framework.AsyncTestDelegate,System.String,System.Object[])"> + <summary> + Verifies that an async delegate throws an exception when called and returns it. The returned exception may + be <see langword="null"/> when inside a multiple assert block. + </summary> + <param name="code">A TestDelegate</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.CatchAsync(NUnit.Framework.AsyncTestDelegate)"> + <summary> + Verifies that an async delegate throws an exception when called and returns it. The returned exception may + be <see langword="null"/> when inside a multiple assert block. + </summary> + <param name="code">A TestDelegate</param> + </member> + <member name="M:NUnit.Framework.Assert.CatchAsync(System.Type,NUnit.Framework.AsyncTestDelegate,System.String,System.Object[])"> + <summary> + Verifies that an async delegate throws an exception of a certain Type or one derived from it when called and + returns it. The returned exception may be <see langword="null"/> when inside a multiple assert block. + </summary> + <param name="expectedExceptionType">The expected Exception Type</param> + <param name="code">A TestDelegate</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.CatchAsync(System.Type,NUnit.Framework.AsyncTestDelegate)"> + <summary> + Verifies that an async delegate throws an exception of a certain Type or one derived from it when called and + returns it. The returned exception may be <see langword="null"/> when inside a multiple assert block. + </summary> + <param name="expectedExceptionType">The expected Exception Type</param> + <param name="code">A TestDelegate</param> + </member> + <member name="M:NUnit.Framework.Assert.CatchAsync``1(NUnit.Framework.AsyncTestDelegate,System.String,System.Object[])"> + <summary> + Verifies that an async delegate throws an exception of a certain Type or one derived from it when called and + returns it. The returned exception may be <see langword="null"/> when inside a multiple assert block. + </summary> + <param name="code">A TestDelegate</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.CatchAsync``1(NUnit.Framework.AsyncTestDelegate)"> + <summary> + Verifies that an async delegate throws an exception of a certain Type or one derived from it when called and + returns it. The returned exception may be <see langword="null"/> when inside a multiple assert block. + </summary> + <param name="code">A TestDelegate</param> + </member> + <member name="M:NUnit.Framework.Assert.DoesNotThrowAsync(NUnit.Framework.AsyncTestDelegate,System.String,System.Object[])"> + <summary> + Verifies that an async delegate does not throw an exception + </summary> + <param name="code">A TestDelegate</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.DoesNotThrowAsync(NUnit.Framework.AsyncTestDelegate)"> + <summary> + Verifies that an async delegate does not throw an exception. + </summary> + <param name="code">A TestDelegate</param> + </member> + <member name="M:NUnit.Framework.Assert.Throws(NUnit.Framework.Constraints.IResolveConstraint,NUnit.Framework.TestDelegate,System.String,System.Object[])"> + <summary> + Verifies that a delegate throws a particular exception when called. The returned exception may be <see + langword="null"/> when inside a multiple assert block. + </summary> + <param name="expression">A constraint to be satisfied by the exception</param> + <param name="code">A TestSnippet delegate</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Throws(NUnit.Framework.Constraints.IResolveConstraint,NUnit.Framework.TestDelegate)"> + <summary> + Verifies that a delegate throws a particular exception when called. The returned exception may be <see + langword="null"/> when inside a multiple assert block. + </summary> + <param name="expression">A constraint to be satisfied by the exception</param> + <param name="code">A TestSnippet delegate</param> + </member> + <member name="M:NUnit.Framework.Assert.Throws(System.Type,NUnit.Framework.TestDelegate,System.String,System.Object[])"> + <summary> + Verifies that a delegate throws a particular exception when called. The returned exception may be <see + langword="null"/> when inside a multiple assert block. + </summary> + <param name="expectedExceptionType">The exception Type expected</param> + <param name="code">A TestDelegate</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Throws(System.Type,NUnit.Framework.TestDelegate)"> + <summary> + Verifies that a delegate throws a particular exception when called. The returned exception may be <see + langword="null"/> when inside a multiple assert block. + </summary> + <param name="expectedExceptionType">The exception Type expected</param> + <param name="code">A TestDelegate</param> + </member> + <member name="M:NUnit.Framework.Assert.Throws``1(NUnit.Framework.TestDelegate,System.String,System.Object[])"> + <summary> + Verifies that a delegate throws a particular exception when called. The returned exception may be <see + langword="null"/> when inside a multiple assert block. + </summary> + <typeparam name="TActual">Type of the expected exception</typeparam> + <param name="code">A TestDelegate</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Throws``1(NUnit.Framework.TestDelegate)"> + <summary> + Verifies that a delegate throws a particular exception when called. The returned exception may be <see + langword="null"/> when inside a multiple assert block. + </summary> + <typeparam name="TActual">Type of the expected exception</typeparam> + <param name="code">A TestDelegate</param> + </member> + <member name="M:NUnit.Framework.Assert.Catch(NUnit.Framework.TestDelegate,System.String,System.Object[])"> + <summary> + Verifies that a delegate throws an exception when called and returns it. The returned exception may be <see + langword="null"/> when inside a multiple assert block. + </summary> + <param name="code">A TestDelegate</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Catch(NUnit.Framework.TestDelegate)"> + <summary> + Verifies that a delegate throws an exception when called and returns it. The returned exception may be <see + langword="null"/> when inside a multiple assert block. + </summary> + <param name="code">A TestDelegate</param> + </member> + <member name="M:NUnit.Framework.Assert.Catch(System.Type,NUnit.Framework.TestDelegate,System.String,System.Object[])"> + <summary> + 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 <see langword="null"/> when inside a multiple assert block. + </summary> + <param name="expectedExceptionType">The expected Exception Type</param> + <param name="code">A TestDelegate</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Catch(System.Type,NUnit.Framework.TestDelegate)"> + <summary> + 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 <see langword="null"/> when inside a multiple assert block. + </summary> + <param name="expectedExceptionType">The expected Exception Type</param> + <param name="code">A TestDelegate</param> + </member> + <member name="M:NUnit.Framework.Assert.Catch``1(NUnit.Framework.TestDelegate,System.String,System.Object[])"> + <summary> + 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 <see langword="null"/> when inside a multiple assert block. + </summary> + <param name="code">A TestDelegate</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Catch``1(NUnit.Framework.TestDelegate)"> + <summary> + 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 <see langword="null"/> when inside a multiple assert block. + </summary> + <param name="code">A TestDelegate</param> + </member> + <member name="M:NUnit.Framework.Assert.DoesNotThrow(NUnit.Framework.TestDelegate,System.String,System.Object[])"> + <summary> + Verifies that a delegate does not throw an exception + </summary> + <param name="code">A TestDelegate</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.DoesNotThrow(NUnit.Framework.TestDelegate)"> + <summary> + Verifies that a delegate does not throw an exception. + </summary> + <param name="code">A TestDelegate</param> + </member> + <member name="M:NUnit.Framework.Assert.That(System.Boolean,System.String,System.Object[])"> + <summary> + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="condition">The evaluated condition</param> + <param name="message">The message to display if the condition is false</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.That(System.Boolean)"> + <summary> + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="condition">The evaluated condition</param> + </member> + <member name="M:NUnit.Framework.Assert.That(System.Boolean,System.Func{System.String})"> + <summary> + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="condition">The evaluated condition</param> + <param name="getExceptionMessage">A function to build the message included with the Exception</param> + </member> + <member name="M:NUnit.Framework.Assert.That(System.Func{System.Boolean},System.String,System.Object[])"> + <summary> + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="condition">A lambda that returns a Boolean</param> + <param name="message">The message to display if the condition is false</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.That(System.Func{System.Boolean})"> + <summary> + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="condition">A lambda that returns a Boolean</param> + </member> + <member name="M:NUnit.Framework.Assert.That(System.Func{System.Boolean},System.Func{System.String})"> + <summary> + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="condition">A lambda that returns a Boolean</param> + <param name="getExceptionMessage">A function to build the message included with the Exception</param> + </member> + <member name="M:NUnit.Framework.Assert.That``1(NUnit.Framework.Constraints.ActualValueDelegate{``0},NUnit.Framework.Constraints.IResolveConstraint)"> + <summary> + Apply a constraint to a delegate. Returns without throwing an exception when inside a multiple assert block. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="del">An ActualValueDelegate returning the value to be tested</param> + <param name="expr">A Constraint expression to be applied</param> + </member> + <member name="M:NUnit.Framework.Assert.That``1(NUnit.Framework.Constraints.ActualValueDelegate{``0},NUnit.Framework.Constraints.IResolveConstraint,System.String,System.Object[])"> + <summary> + Apply a constraint to a delegate. Returns without throwing an exception when inside a multiple assert block. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="del">An ActualValueDelegate returning the value to be tested</param> + <param name="expr">A Constraint expression to be applied</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.That``1(NUnit.Framework.Constraints.ActualValueDelegate{``0},NUnit.Framework.Constraints.IResolveConstraint,System.Func{System.String})"> + <summary> + Apply a constraint to a delegate. Returns without throwing an exception when inside a multiple assert block. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="del">An ActualValueDelegate returning the value to be tested</param> + <param name="expr">A Constraint expression to be applied</param> + <param name="getExceptionMessage">A function to build the message included with the Exception</param> + </member> + <member name="M:NUnit.Framework.Assert.That(NUnit.Framework.TestDelegate,NUnit.Framework.Constraints.IResolveConstraint)"> + <summary> + Apply a constraint to a delegate. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="code">A TestDelegate to be executed</param> + <param name="constraint">A Constraint expression to be applied</param> + </member> + <member name="M:NUnit.Framework.Assert.That(NUnit.Framework.TestDelegate,NUnit.Framework.Constraints.IResolveConstraint,System.String,System.Object[])"> + <summary> + Apply a constraint to a delegate. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="code">A TestDelegate to be executed</param> + <param name="constraint">A Constraint expression to be applied</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.That(NUnit.Framework.TestDelegate,NUnit.Framework.Constraints.IResolveConstraint,System.Func{System.String})"> + <summary> + Apply a constraint to a delegate. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="code">A TestDelegate to be executed</param> + <param name="constraint">A Constraint expression to be applied</param> + <param name="getExceptionMessage">A function to build the message included with the Exception</param> + </member> + <member name="M:NUnit.Framework.Assert.That``1(``0,NUnit.Framework.Constraints.IResolveConstraint)"> + <summary> + Apply a constraint to an actual value. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="actual">The actual value to test</param> + <param name="expression">A Constraint expression to be applied</param> + </member> + <member name="M:NUnit.Framework.Assert.That``1(``0,NUnit.Framework.Constraints.IResolveConstraint,System.String,System.Object[])"> + <summary> + Apply a constraint to an actual value. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="actual">The actual value to test</param> + <param name="expression">A Constraint expression to be applied</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.That``1(``0,NUnit.Framework.Constraints.IResolveConstraint,System.Func{System.String})"> + <summary> + Apply a constraint to an actual value. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="actual">The actual value to test</param> + <param name="expression">A Constraint expression to be applied</param> + <param name="getExceptionMessage">A function to build the message included with the Exception</param> + </member> + <member name="M:NUnit.Framework.Assert.ByVal(System.Object,NUnit.Framework.Constraints.IResolveConstraint)"> + <summary> + 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. + </summary> + <param name="actual">The actual value to test</param> + <param name="expression">A Constraint expression to be applied</param> + </member> + <member name="M:NUnit.Framework.Assert.ByVal(System.Object,NUnit.Framework.Constraints.IResolveConstraint,System.String,System.Object[])"> + <summary> + 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. + </summary> + <remarks> + This method is provided for use by VB developers needing to test the value of properties with private + setters. + </remarks> + <param name="actual">The actual value to test</param> + <param name="expression">A Constraint expression to be applied</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsAssignableFrom(System.Type,System.Object,System.String,System.Object[])"> + <summary> + Asserts that an object may be assigned a value of a given Type. Returns without throwing an exception when + inside a multiple assert block. + </summary> + <param name="expected">The expected Type.</param> + <param name="actual">The object under examination</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsAssignableFrom(System.Type,System.Object)"> + <summary> + Asserts that an object may be assigned a value of a given Type. Returns without throwing an exception when + inside a multiple assert block. + </summary> + <param name="expected">The expected Type.</param> + <param name="actual">The object under examination</param> + </member> + <member name="M:NUnit.Framework.Assert.IsAssignableFrom``1(System.Object,System.String,System.Object[])"> + <summary> + Asserts that an object may be assigned a value of a given Type. Returns without throwing an exception when + inside a multiple assert block. + </summary> + <typeparam name="TExpected">The expected Type.</typeparam> + <param name="actual">The object under examination</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsAssignableFrom``1(System.Object)"> + <summary> + Asserts that an object may be assigned a value of a given Type. Returns without throwing an exception when + inside a multiple assert block. + </summary> + <typeparam name="TExpected">The expected Type.</typeparam> + <param name="actual">The object under examination</param> + </member> + <member name="M:NUnit.Framework.Assert.IsNotAssignableFrom(System.Type,System.Object,System.String,System.Object[])"> + <summary> + 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. + </summary> + <param name="expected">The expected Type.</param> + <param name="actual">The object under examination</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsNotAssignableFrom(System.Type,System.Object)"> + <summary> + 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. + </summary> + <param name="expected">The expected Type.</param> + <param name="actual">The object under examination</param> + </member> + <member name="M:NUnit.Framework.Assert.IsNotAssignableFrom``1(System.Object,System.String,System.Object[])"> + <summary> + 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. + </summary> + <typeparam name="TExpected">The expected Type.</typeparam> + <param name="actual">The object under examination</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsNotAssignableFrom``1(System.Object)"> + <summary> + 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. + </summary> + <typeparam name="TExpected">The expected Type.</typeparam> + <param name="actual">The object under examination</param> + </member> + <member name="M:NUnit.Framework.Assert.IsInstanceOf(System.Type,System.Object,System.String,System.Object[])"> + <summary> + Asserts that an object is an instance of a given type. Returns without throwing an exception when inside a + multiple assert block. + </summary> + <param name="expected">The expected Type</param> + <param name="actual">The object being examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsInstanceOf(System.Type,System.Object)"> + <summary> + Asserts that an object is an instance of a given type. Returns without throwing an exception when inside a + multiple assert block. + </summary> + <param name="expected">The expected Type</param> + <param name="actual">The object being examined</param> + </member> + <member name="M:NUnit.Framework.Assert.IsInstanceOf``1(System.Object,System.String,System.Object[])"> + <summary> + Asserts that an object is an instance of a given type. Returns without throwing an exception when inside a + multiple assert block. + </summary> + <typeparam name="TExpected">The expected Type</typeparam> + <param name="actual">The object being examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsInstanceOf``1(System.Object)"> + <summary> + Asserts that an object is an instance of a given type. Returns without throwing an exception when inside a + multiple assert block. + </summary> + <typeparam name="TExpected">The expected Type</typeparam> + <param name="actual">The object being examined</param> + </member> + <member name="M:NUnit.Framework.Assert.IsNotInstanceOf(System.Type,System.Object,System.String,System.Object[])"> + <summary> + Asserts that an object is not an instance of a given type. Returns without throwing an exception when inside + a multiple assert block. + </summary> + <param name="expected">The expected Type</param> + <param name="actual">The object being examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsNotInstanceOf(System.Type,System.Object)"> + <summary> + Asserts that an object is not an instance of a given type. Returns without throwing an exception when inside + a multiple assert block. + </summary> + <param name="expected">The expected Type</param> + <param name="actual">The object being examined</param> + </member> + <member name="M:NUnit.Framework.Assert.IsNotInstanceOf``1(System.Object,System.String,System.Object[])"> + <summary> + Asserts that an object is not an instance of a given type. Returns without throwing an exception when inside + a multiple assert block. + </summary> + <typeparam name="TExpected">The expected Type</typeparam> + <param name="actual">The object being examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsNotInstanceOf``1(System.Object)"> + <summary> + Asserts that an object is not an instance of a given type. Returns without throwing an exception when inside + a multiple assert block. + </summary> + <typeparam name="TExpected">The expected Type</typeparam> + <param name="actual">The object being examined</param> + </member> + <member name="T:NUnit.Framework.TestDelegate"> + <summary> + Delegate used by tests that execute code and + capture any thrown exception. + </summary> + </member> + <member name="T:NUnit.Framework.AsyncTestDelegate"> + <summary> + Delegate used by tests that execute async code and + capture any thrown exception. + </summary> + </member> + <member name="T:NUnit.Framework.AssertionHelper"> + <summary> + AssertionHelper is an optional base class for user tests, + allowing the use of shorter names in making asserts. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.Expect(System.Boolean,System.String,System.Object[])"> + <summary> + Asserts that a condition is true. If the condition is false the method throws + an <see cref="T:NUnit.Framework.AssertionException"/>. Works Identically to + <see cref="M:NUnit.Framework.Assert.That(System.Boolean,System.String,System.Object[])"/>. + </summary> + <param name="condition">The evaluated condition</param> + <param name="message">The message to display if the condition is false</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.AssertionHelper.Expect(System.Boolean)"> + <summary> + Asserts that a condition is true. If the condition is false the method throws + an <see cref="T:NUnit.Framework.AssertionException"/>. Works Identically to <see cref="M:NUnit.Framework.Assert.That(System.Boolean)"/>. + </summary> + <param name="condition">The evaluated condition</param> + </member> + <member name="M:NUnit.Framework.AssertionHelper.Expect``1(NUnit.Framework.Constraints.ActualValueDelegate{``0},NUnit.Framework.Constraints.IResolveConstraint)"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + </summary> + <param name="expr">A Constraint expression to be applied</param> + <param name="del">An ActualValueDelegate returning the value to be tested</param> + </member> + <member name="M:NUnit.Framework.AssertionHelper.Expect``1(NUnit.Framework.Constraints.ActualValueDelegate{``0},NUnit.Framework.Constraints.IResolveConstraint,System.String,System.Object[])"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + </summary> + <param name="del">An ActualValueDelegate returning the value to be tested</param> + <param name="expr">A Constraint expression to be applied</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.AssertionHelper.Expect(NUnit.Framework.TestDelegate,NUnit.Framework.Constraints.IResolveConstraint)"> + <summary> + Asserts that the code represented by a delegate throws an exception + that satisfies the constraint provided. + </summary> + <param name="code">A TestDelegate to be executed</param> + <param name="constraint">A Constraint expression to be applied</param> + </member> + <member name="M:NUnit.Framework.AssertionHelper.Expect``1(``0,NUnit.Framework.Constraints.IResolveConstraint)"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + </summary> + <param name="expression">A Constraint expression to be applied</param> + <param name="actual">The actual value to test</param> + </member> + <member name="M:NUnit.Framework.AssertionHelper.Expect``1(``0,NUnit.Framework.Constraints.IResolveConstraint,System.String,System.Object[])"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + </summary> + <param name="expression">A Constraint expression to be applied</param> + <param name="actual">The actual value to test</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.AssertionHelper.Map(System.Collections.ICollection)"> + <summary> + Returns a ListMapper based on a collection. + </summary> + <param name="original">The original collection</param> + </member> + <member name="P:NUnit.Framework.AssertionHelper.Not"> + <summary> + Returns a ConstraintExpression that negates any + following constraint. + </summary> + </member> + <member name="P:NUnit.Framework.AssertionHelper.No"> + <summary> + Returns a ConstraintExpression that negates any + following constraint. + </summary> + </member> + <member name="P:NUnit.Framework.AssertionHelper.All"> + <summary> + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + </summary> + </member> + <member name="P:NUnit.Framework.AssertionHelper.Some"> + <summary> + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if at least one of them succeeds. + </summary> + </member> + <member name="P:NUnit.Framework.AssertionHelper.None"> + <summary> + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them fail. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.Exactly(System.Int32)"> + <summary> + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding only if a specified number of them succeed. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.Property(System.String)"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.AssertionHelper.Length"> + <summary> + Returns a new ConstraintExpression, which will apply the following + constraint to the Length property of the object being tested. + </summary> + </member> + <member name="P:NUnit.Framework.AssertionHelper.Count"> + <summary> + Returns a new ConstraintExpression, which will apply the following + constraint to the Count property of the object being tested. + </summary> + </member> + <member name="P:NUnit.Framework.AssertionHelper.Message"> + <summary> + Returns a new ConstraintExpression, which will apply the following + constraint to the Message property of the object being tested. + </summary> + </member> + <member name="P:NUnit.Framework.AssertionHelper.InnerException"> + <summary> + Returns a new ConstraintExpression, which will apply the following + constraint to the InnerException property of the object being tested. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.Attribute(System.Type)"> + <summary> + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.Attribute``1"> + <summary> + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + </summary> + </member> + <member name="P:NUnit.Framework.AssertionHelper.Null"> + <summary> + Returns a constraint that tests for null + </summary> + </member> + <member name="P:NUnit.Framework.AssertionHelper.True"> + <summary> + Returns a constraint that tests for True + </summary> + </member> + <member name="P:NUnit.Framework.AssertionHelper.False"> + <summary> + Returns a constraint that tests for False + </summary> + </member> + <member name="P:NUnit.Framework.AssertionHelper.Positive"> + <summary> + Returns a constraint that tests for a positive value + </summary> + </member> + <member name="P:NUnit.Framework.AssertionHelper.Negative"> + <summary> + Returns a constraint that tests for a negative value + </summary> + </member> + <member name="P:NUnit.Framework.AssertionHelper.Zero"> + <summary> + Returns a constraint that tests for equality with zero + </summary> + </member> + <member name="P:NUnit.Framework.AssertionHelper.NaN"> + <summary> + Returns a constraint that tests for NaN + </summary> + </member> + <member name="P:NUnit.Framework.AssertionHelper.Empty"> + <summary> + Returns a constraint that tests for empty + </summary> + </member> + <member name="P:NUnit.Framework.AssertionHelper.Unique"> + <summary> + Returns a constraint that tests whether a collection + contains all unique items. + </summary> + </member> + <member name="P:NUnit.Framework.AssertionHelper.BinarySerializable"> + <summary> + Returns a constraint that tests whether an object graph is serializable in binary format. + </summary> + </member> + <member name="P:NUnit.Framework.AssertionHelper.XmlSerializable"> + <summary> + Returns a constraint that tests whether an object graph is serializable in XML format. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.EqualTo(System.Object)"> + <summary> + Returns a constraint that tests two items for equality + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.SameAs(System.Object)"> + <summary> + Returns a constraint that tests that two references are the same object + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.GreaterThan(System.Object)"> + <summary> + Returns a constraint that tests whether the + actual value is greater than the supplied argument + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.GreaterThanOrEqualTo(System.Object)"> + <summary> + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.AtLeast(System.Object)"> + <summary> + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.LessThan(System.Object)"> + <summary> + Returns a constraint that tests whether the + actual value is less than the supplied argument + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.LessThanOrEqualTo(System.Object)"> + <summary> + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.AtMost(System.Object)"> + <summary> + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.TypeOf(System.Type)"> + <summary> + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.TypeOf``1"> + <summary> + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.InstanceOf(System.Type)"> + <summary> + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.InstanceOf``1"> + <summary> + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.AssignableFrom(System.Type)"> + <summary> + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.AssignableFrom``1"> + <summary> + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.AssignableTo(System.Type)"> + <summary> + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.AssignableTo``1"> + <summary> + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.EquivalentTo(System.Collections.IEnumerable)"> + <summary> + Returns a constraint that tests whether the actual value + is a collection containing the same elements as the + collection supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.SubsetOf(System.Collections.IEnumerable)"> + <summary> + Returns a constraint that tests whether the actual value + is a subset of the collection supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.SupersetOf(System.Collections.IEnumerable)"> + <summary> + Returns a constraint that tests whether the actual value + is a superset of the collection supplied as an argument. + </summary> + </member> + <member name="P:NUnit.Framework.AssertionHelper.Ordered"> + <summary> + Returns a constraint that tests whether a collection is ordered + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.Member(System.Object)"> + <summary> + Returns a new <see cref="T:NUnit.Framework.Constraints.SomeItemsConstraint"/> checking for the + presence of a particular object in the collection. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.Contains(System.Object)"> + <summary> + <para> + Returns a new <see cref="T:NUnit.Framework.Constraints.SomeItemsConstraint"/> checking for the + presence of a particular object in the collection. + </para> + <para> + To search for a substring instead of a collection element, use the + <see cref="M:NUnit.Framework.AssertionHelper.Contains(System.String)"/> overload. + </para> + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.Contains(System.String)"> + <summary> + <para> + 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. + </para> + <para> + To search for a collection element instead of a substring, use the + <see cref="M:NUnit.Framework.AssertionHelper.Contains(System.Object)"/> overload. + </para> + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.StringContaining(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.ContainsSubstring(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.DoesNotContain(System.String)"> + <summary> + Returns a constraint that fails if the actual + value contains the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.StartWith(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.StartsWith(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.StringStarting(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.DoesNotStartWith(System.String)"> + <summary> + Returns a constraint that fails if the actual + value starts with the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.EndWith(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.EndsWith(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.StringEnding(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.DoesNotEndWith(System.String)"> + <summary> + Returns a constraint that fails if the actual + value ends with the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.Match(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.Matches(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.StringMatching(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.DoesNotMatch(System.String)"> + <summary> + Returns a constraint that fails if the actual + value matches the pattern supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.SamePath(System.String)"> + <summary> + Returns a constraint that tests whether the path provided + is the same as an expected path after canonicalization. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.SubPathOf(System.String)"> + <summary> + Returns a constraint that tests whether the path provided + is a subpath of the expected path after canonicalization. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.SamePathOrUnder(System.String)"> + <summary> + Returns a constraint that tests whether the path provided + is the same path or under an expected path after canonicalization. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.InRange(System.Object,System.Object)"> + <summary> + Returns a constraint that tests whether the actual value falls + within a specified range. + </summary> + </member> + <member name="T:NUnit.Framework.Assume"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Assume.Equals(System.Object,System.Object)"> + <summary> + DO NOT USE! + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + </summary> + <param name="a">The left object.</param> + <param name="b">The right object.</param> + <returns>Not applicable</returns> + </member> + <member name="M:NUnit.Framework.Assume.ReferenceEquals(System.Object,System.Object)"> + <summary> + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + </summary> + <param name="a">The left object.</param> + <param name="b">The right object.</param> + </member> + <member name="M:NUnit.Framework.Assume.That``1(NUnit.Framework.Constraints.ActualValueDelegate{``0},NUnit.Framework.Constraints.IResolveConstraint)"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="del">An ActualValueDelegate returning the value to be tested</param> + <param name="expr">A Constraint expression to be applied</param> + </member> + <member name="M:NUnit.Framework.Assume.That``1(NUnit.Framework.Constraints.ActualValueDelegate{``0},NUnit.Framework.Constraints.IResolveConstraint,System.String,System.Object[])"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="del">An ActualValueDelegate returning the value to be tested</param> + <param name="expr">A Constraint expression to be applied</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assume.That``1(NUnit.Framework.Constraints.ActualValueDelegate{``0},NUnit.Framework.Constraints.IResolveConstraint,System.Func{System.String})"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="del">An ActualValueDelegate returning the value to be tested</param> + <param name="expr">A Constraint expression to be applied</param> + <param name="getExceptionMessage">A function to build the message included with the Exception</param> + </member> + <member name="M:NUnit.Framework.Assume.That(System.Boolean,System.String,System.Object[])"> + <summary> + Asserts that a condition is true. If the condition is false, the method throws + an <see cref="T:NUnit.Framework.InconclusiveException"/>. + </summary> + <param name="condition">The evaluated condition</param> + <param name="message">The message to display if the condition is false</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assume.That(System.Boolean)"> + <summary> + Asserts that a condition is true. If the condition is false, the + method throws an <see cref="T:NUnit.Framework.InconclusiveException"/>. + </summary> + <param name="condition">The evaluated condition</param> + </member> + <member name="M:NUnit.Framework.Assume.That(System.Boolean,System.Func{System.String})"> + <summary> + Asserts that a condition is true. If the condition is false, the method throws + an <see cref="T:NUnit.Framework.InconclusiveException"/>. + </summary> + <param name="condition">The evaluated condition</param> + <param name="getExceptionMessage">A function to build the message included with the Exception</param> + </member> + <member name="M:NUnit.Framework.Assume.That(System.Func{System.Boolean},System.String,System.Object[])"> + <summary> + Asserts that a condition is true. If the condition is false, the method throws + an <see cref="T:NUnit.Framework.InconclusiveException"/>. + </summary> + <param name="condition">A lambda that returns a Boolean</param> + <param name="message">The message to display if the condition is false</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assume.That(System.Func{System.Boolean})"> + <summary> + Asserts that a condition is true. If the condition is false, the method throws + an <see cref="T:NUnit.Framework.InconclusiveException"/>. + </summary> + <param name="condition">A lambda that returns a Boolean</param> + </member> + <member name="M:NUnit.Framework.Assume.That(System.Func{System.Boolean},System.Func{System.String})"> + <summary> + Asserts that a condition is true. If the condition is false, the method throws + an <see cref="T:NUnit.Framework.InconclusiveException"/>. + </summary> + <param name="condition">A lambda that returns a Boolean</param> + <param name="getExceptionMessage">A function to build the message included with the Exception</param> + </member> + <member name="M:NUnit.Framework.Assume.That(NUnit.Framework.TestDelegate,NUnit.Framework.Constraints.IResolveConstraint)"> + <summary> + Asserts that the code represented by a delegate throws an exception + that satisfies the constraint provided. + </summary> + <param name="code">A TestDelegate to be executed</param> + <param name="constraint">A ThrowsConstraint used in the test</param> + </member> + <member name="M:NUnit.Framework.Assume.That``1(``0,NUnit.Framework.Constraints.IResolveConstraint)"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="actual">The actual value to test</param> + <param name="expression">A Constraint expression to be applied</param> + </member> + <member name="M:NUnit.Framework.Assume.That``1(``0,NUnit.Framework.Constraints.IResolveConstraint,System.String,System.Object[])"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="actual">The actual value to test</param> + <param name="expression">A Constraint expression to be applied</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assume.That``1(``0,NUnit.Framework.Constraints.IResolveConstraint,System.Func{System.String})"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="actual">The actual value to test</param> + <param name="expression">A Constraint expression to be applied</param> + <param name="getExceptionMessage">A function to build the message included with the Exception</param> + </member> + <member name="T:NUnit.Framework.ApartmentAttribute"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.ApartmentAttribute.#ctor(System.Threading.ApartmentState)"> + <summary> + Construct an ApartmentAttribute + </summary> + <param name="apartmentState">The apartment state that this test must be run under. You must pass in a valid apartment state.</param> + </member> + <member name="T:NUnit.Framework.AuthorAttribute"> + <summary> + Provides the author of a test or test fixture. + </summary> + </member> + <member name="M:NUnit.Framework.AuthorAttribute.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.AuthorAttribute"/> class. + </summary> + <param name="name">The name of the author.</param> + </member> + <member name="M:NUnit.Framework.AuthorAttribute.#ctor(System.String,System.String)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.AuthorAttribute"/> class. + </summary> + <param name="name">The name of the author.</param> + <param name="email">The email address of the author.</param> + </member> + <member name="T:NUnit.Framework.CategoryAttribute"> + <summary> + Applies a category to a test + </summary> + </member> + <member name="F:NUnit.Framework.CategoryAttribute.categoryName"> + <summary> + The name of the category + </summary> + </member> + <member name="M:NUnit.Framework.CategoryAttribute.#ctor(System.String)"> + <summary> + 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. + </summary> + <param name="name">The name of the category</param> + </member> + <member name="M:NUnit.Framework.CategoryAttribute.#ctor"> + <summary> + Protected constructor uses the Type name as the name + of the category. + </summary> + </member> + <member name="P:NUnit.Framework.CategoryAttribute.Name"> + <summary> + The name of the category + </summary> + </member> + <member name="M:NUnit.Framework.CategoryAttribute.ApplyToTest(NUnit.Framework.Internal.Test)"> + <summary> + Modifies a test by adding a category to it. + </summary> + <param name="test">The test to modify</param> + </member> + <member name="T:NUnit.Framework.CombinatorialAttribute"> + <summary> + Marks a test to use a combinatorial join of any argument data provided. + Since this is the default, the attribute is optional. + </summary> + </member> + <member name="M:NUnit.Framework.CombinatorialAttribute.#ctor"> + <summary> + Default constructor + </summary> + </member> + <member name="T:NUnit.Framework.CombiningStrategyAttribute"> + <summary> + Marks a test as using a particular CombiningStrategy to join any supplied parameter data. + Since this is the default, the attribute is optional. + </summary> + </member> + <member name="M:NUnit.Framework.CombiningStrategyAttribute.#ctor(NUnit.Framework.Interfaces.ICombiningStrategy,NUnit.Framework.Interfaces.IParameterDataProvider)"> + <summary> + Construct a CombiningStrategyAttribute incorporating an + ICombiningStrategy and an IParameterDataProvider. + </summary> + <param name="strategy">Combining strategy to be used in combining data</param> + <param name="provider">An IParameterDataProvider to supply data</param> + </member> + <member name="M:NUnit.Framework.CombiningStrategyAttribute.#ctor(System.Object,System.Object)"> + <summary> + Construct a CombiningStrategyAttribute incorporating an object + that implements ICombiningStrategy and an IParameterDataProvider. + This constructor is provided for CLS compliance. + </summary> + <param name="strategy">Combining strategy to be used in combining data</param> + <param name="provider">An IParameterDataProvider to supply data</param> + </member> + <member name="M:NUnit.Framework.CombiningStrategyAttribute.BuildFrom(NUnit.Framework.Interfaces.IMethodInfo,NUnit.Framework.Internal.Test)"> + <summary> + Builds any number of tests from the specified method and context. + </summary> + <param name="method">The MethodInfo for which tests are to be constructed.</param> + <param name="suite">The suite to which the tests will be added.</param> + </member> + <member name="M:NUnit.Framework.CombiningStrategyAttribute.ApplyToTest(NUnit.Framework.Internal.Test)"> + <summary> + Modify the test by adding the name of the combining strategy + to the properties. + </summary> + <param name="test">The test to modify</param> + </member> + <member name="T:NUnit.Framework.CultureAttribute"> + <summary> + Marks an assembly, test fixture or test method as applying to a specific Culture. + </summary> + </member> + <member name="M:NUnit.Framework.CultureAttribute.#ctor"> + <summary> + Constructor with no cultures specified, for use + with named property syntax. + </summary> + </member> + <member name="M:NUnit.Framework.CultureAttribute.#ctor(System.String)"> + <summary> + Constructor taking one or more cultures + </summary> + <param name="cultures">Comma-delimited list of cultures</param> + </member> + <member name="M:NUnit.Framework.CultureAttribute.ApplyToTest(NUnit.Framework.Internal.Test)"> + <summary> + Causes a test to be skipped if this CultureAttribute is not satisfied. + </summary> + <param name="test">The test to modify</param> + </member> + <member name="M:NUnit.Framework.CultureAttribute.IsCultureSupported(System.String@)"> + <summary> + Tests to determine if the current culture is supported + based on the properties of this attribute. + </summary> + <returns>True, if the current culture is supported</returns> + </member> + <member name="M:NUnit.Framework.CultureAttribute.IsCultureSupported(System.String)"> + <summary> + Test to determine if the a particular culture or comma- + delimited set of cultures is in use. + </summary> + <param name="culture">Name of the culture or comma-separated list of culture ids</param> + <returns>True if the culture is in use on the system</returns> + </member> + <member name="M:NUnit.Framework.CultureAttribute.IsCultureSupported(System.String[])"> + <summary> + Test to determine if one of a collection of cultures + is being used currently. + </summary> + <param name="cultures"></param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.DataAttribute"> + <summary> + Abstract base class for all data-providing attributes defined by NUnit. + Used to select all data sources for a method, class or parameter. + </summary> + </member> + <member name="M:NUnit.Framework.DataAttribute.#ctor"> + <summary> + Default constructor + </summary> + </member> + <member name="T:NUnit.Framework.DatapointAttribute"> + <summary> + 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. + </summary> + </member> + <member name="T:NUnit.Framework.DatapointsAttribute"> + <summary> + 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 <see cref="T:System.Collections.Generic.IEnumerable`1"/>. Synonymous with <see cref="T:NUnit.Framework.DatapointSourceAttribute"/>. + </summary> + </member> + <member name="T:NUnit.Framework.DatapointSourceAttribute"> + <summary> + 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 <see cref="T:System.Collections.Generic.IEnumerable`1"/>. Synonymous with <see cref="T:NUnit.Framework.DatapointsAttribute"/>. + </summary> + </member> + <member name="T:NUnit.Framework.DefaultFloatingPointToleranceAttribute"> + <summary> + Sets the tolerance used by default when checking the equality of floating point values + within the test assembly, fixture or method. + </summary> + </member> + <member name="M:NUnit.Framework.DefaultFloatingPointToleranceAttribute.#ctor(System.Double)"> + <summary> + Construct specifying an amount + </summary> + <param name="amount"></param> + </member> + <member name="M:NUnit.Framework.DefaultFloatingPointToleranceAttribute.ApplyToContext(NUnit.Framework.Internal.TestExecutionContext)"> + <summary> + Apply changes to the TestExecutionContext + </summary> + <param name="context">The TestExecutionContext</param> + </member> + <member name="T:NUnit.Framework.DescriptionAttribute"> + <summary> + Provides the descriptive text relating to the assembly, test fixture or test method. + </summary> + </member> + <member name="M:NUnit.Framework.DescriptionAttribute.#ctor(System.String)"> + <summary> + Construct a description Attribute + </summary> + <param name="description">The text of the description</param> + </member> + <member name="T:NUnit.Framework.ExplicitAttribute"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.ExplicitAttribute.#ctor"> + <summary> + Default constructor + </summary> + </member> + <member name="M:NUnit.Framework.ExplicitAttribute.#ctor(System.String)"> + <summary> + Constructor with a reason + </summary> + <param name="reason">The reason test is marked explicit</param> + </member> + <member name="M:NUnit.Framework.ExplicitAttribute.ApplyToTest(NUnit.Framework.Internal.Test)"> + <summary> + Modifies a test by marking it as explicit. + </summary> + <param name="test">The test to modify</param> + </member> + <member name="T:NUnit.Framework.FixtureLifeCycleAttribute"> + <summary> + Specify the life cycle of a Fixture + </summary> + </member> + <member name="M:NUnit.Framework.FixtureLifeCycleAttribute.#ctor(NUnit.Framework.LifeCycle)"> + <summary> + Construct a FixtureLifeCycleAttribute with a specified <see cref="P:NUnit.Framework.FixtureLifeCycleAttribute.LifeCycle"/>. + </summary> + </member> + <member name="P:NUnit.Framework.FixtureLifeCycleAttribute.LifeCycle"> + <summary> + Defines the life cycle for this test fixture or assembly. + </summary> + </member> + <member name="M:NUnit.Framework.FixtureLifeCycleAttribute.ApplyToTest(NUnit.Framework.Internal.Test)"> + <summary> + Overridden to set a TestFixture's <see cref="P:NUnit.Framework.FixtureLifeCycleAttribute.LifeCycle"/>. + </summary> + </member> + <member name="T:NUnit.Framework.IgnoreAttribute"> + <summary> + Marks an assembly, test fixture or test method as being ignored. Ignored tests result in a warning message when the tests are run. + </summary> + </member> + <member name="M:NUnit.Framework.IgnoreAttribute.#ctor(System.String)"> + <summary> + Constructs the attribute giving a reason for ignoring the test + </summary> + <param name="reason">The reason for ignoring the test</param> + </member> + <member name="P:NUnit.Framework.IgnoreAttribute.Until"> + <summary> + 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. + </summary> + <remarks> + 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. + </remarks> + <exception cref="T:System.FormatException">The string does not contain a valid string representation of a date and time.</exception> + </member> + <member name="M:NUnit.Framework.IgnoreAttribute.ApplyToTest(NUnit.Framework.Internal.Test)"> + <summary> + Modifies a test by marking it as Ignored. + </summary> + <param name="test">The test to modify</param> + </member> + <member name="T:NUnit.Framework.IncludeExcludeAttribute"> + <summary> + Abstract base for attributes that are used to include tests in + the test run based on environmental settings. + </summary> + </member> + <member name="M:NUnit.Framework.IncludeExcludeAttribute.#ctor"> + <summary> + Constructor with no included items specified, for use + with named property syntax. + </summary> + </member> + <member name="M:NUnit.Framework.IncludeExcludeAttribute.#ctor(System.String)"> + <summary> + Constructor taking one or more included items + </summary> + <param name="include">Comma-delimited list of included items</param> + </member> + <member name="P:NUnit.Framework.IncludeExcludeAttribute.Include"> + <summary> + Name of the item that is needed in order for + a test to run. Multiple items may be given, + separated by a comma. + </summary> + </member> + <member name="P:NUnit.Framework.IncludeExcludeAttribute.Exclude"> + <summary> + Name of the item to be excluded. Multiple items + may be given, separated by a comma. + </summary> + </member> + <member name="P:NUnit.Framework.IncludeExcludeAttribute.Reason"> + <summary> + The reason for including or excluding the test + </summary> + </member> + <member name="T:NUnit.Framework.LevelOfParallelismAttribute"> + <summary> + Sets the number of worker threads that may be allocated by the framework + for running tests. + </summary> + </member> + <member name="M:NUnit.Framework.LevelOfParallelismAttribute.#ctor(System.Int32)"> + <summary> + Construct a LevelOfParallelismAttribute. + </summary> + <param name="level">The number of worker threads to be created by the framework.</param> + </member> + <member name="T:NUnit.Framework.LifeCycle"> + <summary> + Specifies the life cycle for a test fixture. + </summary> + </member> + <member name="F:NUnit.Framework.LifeCycle.SingleInstance"> + <summary> + A single instance is created and shared for all test cases. + </summary> + </member> + <member name="F:NUnit.Framework.LifeCycle.InstancePerTestCase"> + <summary> + A new instance is created for each test case. + </summary> + </member> + <member name="T:NUnit.Framework.MaxTimeAttribute"> + <summary> + Specifies the maximum time (in milliseconds) for a test case to succeed. + </summary> + </member> + <member name="M:NUnit.Framework.MaxTimeAttribute.#ctor(System.Int32)"> + <summary> + Construct a MaxTimeAttribute, given a time in milliseconds. + </summary> + <param name="milliseconds">The maximum elapsed time in milliseconds</param> + </member> + <member name="T:NUnit.Framework.NonParallelizableAttribute"> + <summary> + Marks tests that should NOT be run in parallel. + </summary> + </member> + <member name="M:NUnit.Framework.NonParallelizableAttribute.#ctor"> + <summary> + Construct a NonParallelizableAttribute. + </summary> + </member> + <member name="T:NUnit.Framework.NonTestAssemblyAttribute"> + <summary> + 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. + </summary> + </member> + <member name="T:NUnit.Framework.NUnitAttribute"> + <summary> + Abstract base class for all custom attributes defined by NUnit. + </summary> + </member> + <member name="M:NUnit.Framework.NUnitAttribute.#ctor"> + <summary> + Default constructor + </summary> + </member> + <member name="T:NUnit.Framework.OneTimeSetUpAttribute"> + <summary> + Identifies a method that is called once to perform setup before any child tests are run. + </summary> + </member> + <member name="T:NUnit.Framework.OneTimeTearDownAttribute"> + <summary> + 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. + </summary> + </member> + <member name="T:NUnit.Framework.OrderAttribute"> + <summary> + Defines the order that the test will run in + </summary> + </member> + <member name="F:NUnit.Framework.OrderAttribute.Order"> + <summary> + Defines the order that the test will run in + </summary> + </member> + <member name="M:NUnit.Framework.OrderAttribute.#ctor(System.Int32)"> + <summary> + Defines the order that the test will run in + </summary> + <param name="order"></param> + </member> + <member name="M:NUnit.Framework.OrderAttribute.ApplyToTest(NUnit.Framework.Internal.Test)"> + <summary> + Modifies a test as defined for the specific attribute. + </summary> + <param name="test">The test to modify</param> + </member> + <member name="T:NUnit.Framework.PairwiseAttribute"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.PairwiseAttribute.#ctor"> + <summary> + Default constructor + </summary> + </member> + <member name="T:NUnit.Framework.ParallelizableAttribute"> + <summary> + Marks a test assembly, fixture or method that may be run in parallel. + </summary> + </member> + <member name="M:NUnit.Framework.ParallelizableAttribute.#ctor"> + <summary> + Construct a ParallelizableAttribute using default ParallelScope.Self. + </summary> + </member> + <member name="M:NUnit.Framework.ParallelizableAttribute.#ctor(NUnit.Framework.ParallelScope)"> + <summary> + Construct a ParallelizableAttribute with a specified scope. + </summary> + <param name="scope">The ParallelScope associated with this attribute.</param> + </member> + <member name="P:NUnit.Framework.ParallelizableAttribute.Scope"> + <summary> + Defines the degree to which this test and its descendants may be run in parallel + </summary> + </member> + <member name="M:NUnit.Framework.ParallelizableAttribute.ApplyToTest(NUnit.Framework.Internal.Test)"> + <summary> + Overridden to check for invalid combinations of settings + </summary> + <param name="test"></param> + </member> + <member name="M:NUnit.Framework.ParallelizableAttribute.ApplyToContext(NUnit.Framework.Internal.TestExecutionContext)"> + <summary> + Modify the context to be used for child tests + </summary> + <param name="context">The current TestExecutionContext</param> + </member> + <member name="T:NUnit.Framework.ParallelScope"> + <summary> + Specifies the degree to which a test, and its descendants, + may be run in parallel. + </summary> + </member> + <member name="F:NUnit.Framework.ParallelScope.Default"> + <summary> + No ParallelScope was specified on the test + </summary> + </member> + <member name="F:NUnit.Framework.ParallelScope.Self"> + <summary> + The test may be run in parallel with others at the same level. + Valid on classes and methods but has no effect on assemblies. + </summary> + </member> + <member name="F:NUnit.Framework.ParallelScope.None"> + <summary> + Test may not be run in parallel with any others. Valid on + classes and methods but not assemblies. + </summary> + </member> + <member name="F:NUnit.Framework.ParallelScope.ItemMask"> + <summary> + Mask used to extract the flags that apply to the item on which a + ParallelizableAttribute has been placed, as opposed to descendants. + </summary> + </member> + <member name="F:NUnit.Framework.ParallelScope.Children"> + <summary> + Descendants of the test may be run in parallel with one another. + Valid on assemblies and classes but not on non-parameterized methods. + </summary> + </member> + <member name="F:NUnit.Framework.ParallelScope.Fixtures"> + <summary> + 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. + </summary> + </member> + <member name="F:NUnit.Framework.ParallelScope.ContextMask"> + <summary> + Mask used to extract all the flags that impact descendants of a + test and place them in the TestExecutionContext. + </summary> + </member> + <member name="F:NUnit.Framework.ParallelScope.All"> + <summary> + 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 <see cref="F:NUnit.Framework.ParallelScope.Children"/> + instead, as <see cref="F:NUnit.Framework.ParallelScope.Self"/> has no effect on assemblies. + </summary> + </member> + <member name="T:NUnit.Framework.PlatformAttribute"> + <summary> + Marks an assembly, test fixture or test method as applying to a specific platform. + </summary> + </member> + <member name="M:NUnit.Framework.PlatformAttribute.#ctor"> + <summary> + Constructor with no platforms specified, for use + with named property syntax. + </summary> + </member> + <member name="M:NUnit.Framework.PlatformAttribute.#ctor(System.String)"> + <summary> + Constructor taking one or more platforms + </summary> + <param name="platforms">Comma-delimited list of platforms</param> + </member> + <member name="M:NUnit.Framework.PlatformAttribute.ApplyToTest(NUnit.Framework.Internal.Test)"> + <summary> + Causes a test to be skipped if this PlatformAttribute is not satisfied. + </summary> + <param name="test">The test to modify</param> + </member> + <member name="T:NUnit.Framework.PropertyAttribute"> + <summary> + Attaches information to a test assembly, fixture or method as a name/value pair. + </summary> + </member> + <member name="M:NUnit.Framework.PropertyAttribute.#ctor(System.String,System.String)"> + <summary> + Construct a PropertyAttribute with a name and string value + </summary> + <param name="propertyName">The name of the property</param> + <param name="propertyValue">The property value</param> + </member> + <member name="M:NUnit.Framework.PropertyAttribute.#ctor(System.String,System.Int32)"> + <summary> + Construct a PropertyAttribute with a name and int value + </summary> + <param name="propertyName">The name of the property</param> + <param name="propertyValue">The property value</param> + </member> + <member name="M:NUnit.Framework.PropertyAttribute.#ctor(System.String,System.Double)"> + <summary> + Construct a PropertyAttribute with a name and double value + </summary> + <param name="propertyName">The name of the property</param> + <param name="propertyValue">The property value</param> + </member> + <member name="M:NUnit.Framework.PropertyAttribute.#ctor"> + <summary> + Constructor for derived classes that set the + property dictionary directly. + </summary> + </member> + <member name="M:NUnit.Framework.PropertyAttribute.#ctor(System.Object)"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.PropertyAttribute.Properties"> + <summary> + Gets the property dictionary for this attribute + </summary> + </member> + <member name="M:NUnit.Framework.PropertyAttribute.ApplyToTest(NUnit.Framework.Internal.Test)"> + <summary> + Modifies a test by adding properties to it. + </summary> + <param name="test">The test to modify</param> + </member> + <member name="T:NUnit.Framework.RandomAttribute"> + <summary> + Supplies a set of random values to a single parameter of a parameterized test. + </summary> + </member> + <member name="P:NUnit.Framework.RandomAttribute.Distinct"> + <summary> + If true, no value will be repeated. + </summary> + </member> + <member name="M:NUnit.Framework.RandomAttribute.#ctor(System.Int32)"> + <summary> + Construct a random set of values appropriate for the Type of the + parameter on which the attribute appears, specifying only the count. + </summary> + <param name="count"></param> + </member> + <member name="M:NUnit.Framework.RandomAttribute.#ctor(System.Int32,System.Int32,System.Int32)"> + <summary> + Generates <see cref="T:System.Int32"/> values within a specified range. + </summary> + </member> + <member name="M:NUnit.Framework.RandomAttribute.#ctor(System.UInt32,System.UInt32,System.Int32)"> + <summary> + Generates <see cref="T:System.UInt32"/> values within a specified range. + </summary> + </member> + <member name="M:NUnit.Framework.RandomAttribute.#ctor(System.Int64,System.Int64,System.Int32)"> + <summary> + Generates <see cref="T:System.Int64"/> values within a specified range. + </summary> + </member> + <member name="M:NUnit.Framework.RandomAttribute.#ctor(System.UInt64,System.UInt64,System.Int32)"> + <summary> + Generates <see cref="T:System.UInt64"/> values within a specified range. + </summary> + </member> + <member name="M:NUnit.Framework.RandomAttribute.#ctor(System.Int16,System.Int16,System.Int32)"> + <summary> + Generates <see cref="T:System.Int16"/> values within a specified range. + </summary> + </member> + <member name="M:NUnit.Framework.RandomAttribute.#ctor(System.UInt16,System.UInt16,System.Int32)"> + <summary> + Generates <see cref="T:System.UInt16"/> values within a specified range. + </summary> + </member> + <member name="M:NUnit.Framework.RandomAttribute.#ctor(System.Double,System.Double,System.Int32)"> + <summary> + Generates <see cref="T:System.Double"/> values within a specified range. + </summary> + </member> + <member name="M:NUnit.Framework.RandomAttribute.#ctor(System.Single,System.Single,System.Int32)"> + <summary> + Generates <see cref="T:System.Single"/> values within a specified range. + </summary> + </member> + <member name="M:NUnit.Framework.RandomAttribute.#ctor(System.Byte,System.Byte,System.Int32)"> + <summary> + Generates <see cref="T:System.Byte"/> values within a specified range. + </summary> + </member> + <member name="M:NUnit.Framework.RandomAttribute.#ctor(System.SByte,System.SByte,System.Int32)"> + <summary> + Generates <see cref="T:System.SByte"/> values within a specified range. + </summary> + </member> + <member name="M:NUnit.Framework.RandomAttribute.GetData(NUnit.Framework.Interfaces.IParameterInfo)"> + <summary> + Retrieves a list of arguments which can be passed to the specified parameter. + </summary> + <param name="parameter">The parameter of a parameterized test.</param> + </member> + <member name="T:NUnit.Framework.RangeAttribute"> + <summary> + Supplies a range of values to an individual parameter of a parameterized test. + </summary> + </member> + <member name="M:NUnit.Framework.RangeAttribute.#ctor(System.Int32,System.Int32)"> + <summary> + Constructs a range of <see cref="T:System.Int32"/> values using the default step of 1. + </summary> + </member> + <member name="M:NUnit.Framework.RangeAttribute.#ctor(System.Int32,System.Int32,System.Int32)"> + <summary> + Constructs a range of <see cref="T:System.Int32"/> values with the specified step size. + </summary> + </member> + <member name="M:NUnit.Framework.RangeAttribute.#ctor(System.UInt32,System.UInt32)"> + <summary> + Constructs a range of <see cref="T:System.UInt32"/> values using the default step of 1. + </summary> + </member> + <member name="M:NUnit.Framework.RangeAttribute.#ctor(System.UInt32,System.UInt32,System.UInt32)"> + <summary> + Constructs a range of <see cref="T:System.UInt32"/> values with the specified step size. + </summary> + </member> + <member name="M:NUnit.Framework.RangeAttribute.#ctor(System.Int64,System.Int64)"> + <summary> + Constructs a range of <see cref="T:System.Int64"/> values using a default step of 1. + </summary> + </member> + <member name="M:NUnit.Framework.RangeAttribute.#ctor(System.Int64,System.Int64,System.Int64)"> + <summary> + Constructs a range of <see cref="T:System.Int64"/> values with the specified step size. + </summary> + </member> + <member name="M:NUnit.Framework.RangeAttribute.#ctor(System.UInt64,System.UInt64)"> + <summary> + Constructs a range of <see cref="T:System.UInt64"/> values using the default step of 1. + </summary> + </member> + <member name="M:NUnit.Framework.RangeAttribute.#ctor(System.UInt64,System.UInt64,System.UInt64)"> + <summary> + Constructs a range of <see cref="T:System.UInt64"/> values with the specified step size. + </summary> + </member> + <member name="M:NUnit.Framework.RangeAttribute.#ctor(System.Double,System.Double,System.Double)"> + <summary> + Constructs a range of <see cref="T:System.Double"/> values with the specified step size. + </summary> + </member> + <member name="M:NUnit.Framework.RangeAttribute.#ctor(System.Single,System.Single,System.Single)"> + <summary> + Constructs a range of <see cref="T:System.Single"/> values with the specified step size. + </summary> + </member> + <member name="M:NUnit.Framework.RangeAttribute.GetData(NUnit.Framework.Interfaces.IParameterInfo)"> + <summary> + Retrieves a list of arguments which can be passed to the specified parameter. + </summary> + <param name="parameter">The parameter of a parameterized test.</param> + </member> + <member name="M:NUnit.Framework.RangeAttribute.ToString"> + <summary>Returns a string that represents the current object.</summary> + </member> + <member name="T:NUnit.Framework.RepeatAttribute"> + <summary> + Specifies that a test should be run multiple times. + </summary> + </member> + <member name="M:NUnit.Framework.RepeatAttribute.#ctor(System.Int32)"> + <summary> + Construct a RepeatAttribute + </summary> + <param name="count">The number of times to run the test</param> + </member> + <member name="M:NUnit.Framework.RepeatAttribute.Wrap(NUnit.Framework.Internal.Commands.TestCommand)"> + <summary> + Wrap a command and return the result. + </summary> + <param name="command">The command to be wrapped</param> + <returns>The wrapped command</returns> + </member> + <member name="T:NUnit.Framework.RepeatAttribute.RepeatedTestCommand"> + <summary> + The test command for the RepeatAttribute + </summary> + </member> + <member name="M:NUnit.Framework.RepeatAttribute.RepeatedTestCommand.#ctor(NUnit.Framework.Internal.Commands.TestCommand,System.Int32)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.RepeatAttribute.RepeatedTestCommand"/> class. + </summary> + <param name="innerCommand">The inner command.</param> + <param name="repeatCount">The number of repetitions</param> + </member> + <member name="M:NUnit.Framework.RepeatAttribute.RepeatedTestCommand.Execute(NUnit.Framework.Internal.TestExecutionContext)"> + <summary> + Runs the test, saving a TestResult in the supplied TestExecutionContext. + </summary> + <param name="context">The context in which the test should run.</param> + <returns>A TestResult</returns> + </member> + <member name="T:NUnit.Framework.RequiresThreadAttribute"> + <summary> + Marks a test that must run on a separate thread. + </summary> + </member> + <member name="M:NUnit.Framework.RequiresThreadAttribute.#ctor"> + <summary> + Construct a RequiresThreadAttribute + </summary> + </member> + <member name="M:NUnit.Framework.RequiresThreadAttribute.#ctor(System.Threading.ApartmentState)"> + <summary> + Construct a RequiresThreadAttribute, specifying the apartment + </summary> + </member> + <member name="T:NUnit.Framework.RetryAttribute"> + <summary> + Specifies that a test method should be rerun on failure up to the specified + maximum number of times. + </summary> + </member> + <member name="M:NUnit.Framework.RetryAttribute.#ctor(System.Int32)"> + <summary> + Construct a <see cref="T:NUnit.Framework.RetryAttribute" /> + </summary> + <param name="tryCount">The maximum number of times the test should be run if it fails</param> + </member> + <member name="M:NUnit.Framework.RetryAttribute.Wrap(NUnit.Framework.Internal.Commands.TestCommand)"> + <summary> + Wrap a command and return the result. + </summary> + <param name="command">The command to be wrapped</param> + <returns>The wrapped command</returns> + </member> + <member name="T:NUnit.Framework.RetryAttribute.RetryCommand"> + <summary> + The test command for the <see cref="T:NUnit.Framework.RetryAttribute"/> + </summary> + </member> + <member name="M:NUnit.Framework.RetryAttribute.RetryCommand.#ctor(NUnit.Framework.Internal.Commands.TestCommand,System.Int32)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.RetryAttribute.RetryCommand"/> class. + </summary> + <param name="innerCommand">The inner command.</param> + <param name="tryCount">The maximum number of repetitions</param> + </member> + <member name="M:NUnit.Framework.RetryAttribute.RetryCommand.Execute(NUnit.Framework.Internal.TestExecutionContext)"> + <summary> + Runs the test, saving a TestResult in the supplied TestExecutionContext. + </summary> + <param name="context">The context in which the test should run.</param> + <returns>A TestResult</returns> + </member> + <member name="T:NUnit.Framework.SequentialAttribute"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.SequentialAttribute.#ctor"> + <summary> + Default constructor + </summary> + </member> + <member name="T:NUnit.Framework.SetCultureAttribute"> + <summary> + 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. + </summary> + <seealso cref="T:NUnit.Framework.SetUICultureAttribute"/> + </member> + <member name="M:NUnit.Framework.SetCultureAttribute.#ctor(System.String)"> + <summary> + Construct given the name of a culture + </summary> + <param name="culture"></param> + </member> + <member name="T:NUnit.Framework.SetUICultureAttribute"> + <summary> + 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. + </summary> + <seealso cref="T:NUnit.Framework.SetCultureAttribute"/> + </member> + <member name="M:NUnit.Framework.SetUICultureAttribute.#ctor(System.String)"> + <summary> + Construct given the name of a culture + </summary> + <param name="culture"></param> + </member> + <member name="T:NUnit.Framework.SetUpAttribute"> + <summary> + Identifies a method to be called immediately before each test is run. + </summary> + </member> + <member name="T:NUnit.Framework.SetUpFixtureAttribute"> + <summary> + Identifies a class as containing <see cref="T:NUnit.Framework.OneTimeSetUpAttribute" /> or + <see cref="T:NUnit.Framework.OneTimeTearDownAttribute" /> methods for all the test fixtures + under a given namespace. + </summary> + </member> + <member name="M:NUnit.Framework.SetUpFixtureAttribute.BuildFrom(NUnit.Framework.Interfaces.ITypeInfo)"> + <summary> + Builds a <see cref="T:NUnit.Framework.Internal.SetUpFixture"/> from the specified type. + </summary> + <param name="typeInfo">The type info of the fixture to be used.</param> + </member> + <member name="T:NUnit.Framework.SingleThreadedAttribute"> + <summary> + 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 + <see cref="T:NUnit.Framework.Internal.TestExecutionContext"/> is set forcing all child tests + to be run sequentially on the current thread. + Any <see cref="T:NUnit.Framework.ParallelScope"/> setting is ignored. + </summary> + </member> + <member name="M:NUnit.Framework.SingleThreadedAttribute.ApplyToContext(NUnit.Framework.Internal.TestExecutionContext)"> + <summary> + Apply changes to the TestExecutionContext + </summary> + <param name="context">The TestExecutionContext</param> + </member> + <member name="T:NUnit.Framework.TearDownAttribute"> + <summary> + 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. + </summary> + </member> + <member name="T:NUnit.Framework.TestActionAttribute"> + <summary> + Abstract attribute providing actions to execute before and after tests. + </summary> + </member> + <member name="M:NUnit.Framework.TestActionAttribute.BeforeTest(NUnit.Framework.Interfaces.ITest)"> + <summary> + Executed before each test is run + </summary> + <param name="test">The test that is going to be run.</param> + </member> + <member name="M:NUnit.Framework.TestActionAttribute.AfterTest(NUnit.Framework.Interfaces.ITest)"> + <summary> + Executed after each test is run + </summary> + <param name="test">The test that has just been run.</param> + </member> + <member name="P:NUnit.Framework.TestActionAttribute.Targets"> + <summary> + Provides the target for the action attribute + </summary> + </member> + <member name="T:NUnit.Framework.TestAssemblyDirectoryResolveAttribute"> + <summary> + 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. + </summary> + </member> + <member name="T:NUnit.Framework.TestAttribute"> + <summary> + Marks the method as callable from the NUnit test runner. + </summary> + + <example> + [TestFixture] + public class Fixture + { + [Test] + public void MethodToTest() + {} + + [Test(Description = "more detailed description")] + public void TestDescriptionMethod() + {} + } + </example> + + </member> + <member name="P:NUnit.Framework.TestAttribute.Description"> + <summary> + Descriptive text for this test + </summary> + </member> + <member name="P:NUnit.Framework.TestAttribute.Author"> + <summary> + The author of this test + </summary> + </member> + <member name="P:NUnit.Framework.TestAttribute.TestOf"> + <summary> + The type that this test is testing + </summary> + </member> + <member name="P:NUnit.Framework.TestAttribute.ExpectedResult"> + <summary> + Gets or sets the expected result. Not valid if the test + method has parameters. + </summary> + <value>The result.</value> + </member> + <member name="M:NUnit.Framework.TestAttribute.ApplyToTest(NUnit.Framework.Internal.Test)"> + <summary> + Modifies a test by adding a description, if not already set. + </summary> + <param name="test">The test to modify</param> + </member> + <member name="M:NUnit.Framework.TestAttribute.BuildFrom(NUnit.Framework.Interfaces.IMethodInfo,NUnit.Framework.Internal.Test)"> + <summary> + Builds a single test from the specified method and context. + </summary> + <param name="method">The method for which a test is to be constructed.</param> + <param name="suite">The suite to which the test will be added.</param> + </member> + <member name="T:NUnit.Framework.TestCaseAttribute"> + <summary> + Marks a method as a parameterized test suite and provides arguments for each test case. + </summary> + </member> + <member name="M:NUnit.Framework.TestCaseAttribute.#ctor(System.Object[])"> + <summary> + Construct a TestCaseAttribute with a list of arguments. + This constructor is not CLS-Compliant + </summary> + <param name="arguments"></param> + </member> + <member name="M:NUnit.Framework.TestCaseAttribute.#ctor(System.Object)"> + <summary> + Construct a TestCaseAttribute with a single argument + </summary> + <param name="arg"></param> + </member> + <member name="M:NUnit.Framework.TestCaseAttribute.#ctor(System.Object,System.Object)"> + <summary> + Construct a TestCaseAttribute with a two arguments + </summary> + <param name="arg1"></param> + <param name="arg2"></param> + </member> + <member name="M:NUnit.Framework.TestCaseAttribute.#ctor(System.Object,System.Object,System.Object)"> + <summary> + Construct a TestCaseAttribute with a three arguments + </summary> + <param name="arg1"></param> + <param name="arg2"></param> + <param name="arg3"></param> + </member> + <member name="P:NUnit.Framework.TestCaseAttribute.TestName"> + <summary> + Gets or sets the name of the test. + </summary> + <value>The name of the test.</value> + </member> + <member name="P:NUnit.Framework.TestCaseAttribute.RunState"> + <summary> + Gets or sets the RunState of this test case. + </summary> + </member> + <member name="P:NUnit.Framework.TestCaseAttribute.Arguments"> + <summary> + Gets the list of arguments to a test case + </summary> + </member> + <member name="P:NUnit.Framework.TestCaseAttribute.Properties"> + <summary> + Gets the properties of the test case + </summary> + </member> + <member name="P:NUnit.Framework.TestCaseAttribute.ExpectedResult"> + <summary> + Gets or sets the expected result. + </summary> + <value>The result.</value> + </member> + <member name="P:NUnit.Framework.TestCaseAttribute.HasExpectedResult"> + <summary> + Returns true if the expected result has been set + </summary> + </member> + <member name="P:NUnit.Framework.TestCaseAttribute.Description"> + <summary> + Gets or sets the description. + </summary> + <value>The description.</value> + </member> + <member name="P:NUnit.Framework.TestCaseAttribute.Author"> + <summary> + The author of this test + </summary> + </member> + <member name="P:NUnit.Framework.TestCaseAttribute.TestOf"> + <summary> + The type that this test is testing + </summary> + </member> + <member name="P:NUnit.Framework.TestCaseAttribute.Ignore"> + <summary> + Gets or sets the reason for ignoring the test + </summary> + </member> + <member name="P:NUnit.Framework.TestCaseAttribute.Explicit"> + <summary> + Gets or sets a value indicating whether this <see cref="T:NUnit.Framework.TestCaseAttribute"/> is explicit. + </summary> + <value> + <see langword="true"/> if explicit; otherwise, <see langword="false"/>. + </value> + </member> + <member name="P:NUnit.Framework.TestCaseAttribute.Reason"> + <summary> + Gets or sets the reason for not running the test. + </summary> + <value>The reason.</value> + </member> + <member name="P:NUnit.Framework.TestCaseAttribute.IgnoreReason"> + <summary> + Gets or sets the ignore reason. When set to a non-null + non-empty value, the test is marked as ignored. + </summary> + <value>The ignore reason.</value> + </member> + <member name="P:NUnit.Framework.TestCaseAttribute.IncludePlatform"> + <summary> + Comma-delimited list of platforms to run the test for + </summary> + </member> + <member name="P:NUnit.Framework.TestCaseAttribute.ExcludePlatform"> + <summary> + Comma-delimited list of platforms to not run the test for + </summary> + </member> + <member name="P:NUnit.Framework.TestCaseAttribute.Category"> + <summary> + Gets and sets the category for this test case. + May be a comma-separated list of categories. + </summary> + </member> + <member name="P:NUnit.Framework.TestCaseAttribute.Until"> + <summary> + Gets and sets the ignore until date for this test case. + </summary> + </member> + <member name="M:NUnit.Framework.TestCaseAttribute.PerformSpecialConversions(System.Object[],NUnit.Framework.Interfaces.IParameterInfo[])"> + <summary> + 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. + </summary> + <param name="arglist">The arguments to be converted</param> + <param name="parameters">The ParameterInfo array for the method</param> + </member> + <member name="M:NUnit.Framework.TestCaseAttribute.BuildFrom(NUnit.Framework.Interfaces.IMethodInfo,NUnit.Framework.Internal.Test)"> + <summary> + Builds a single test from the specified method and context. + </summary> + <param name="method">The MethodInfo for which tests are to be constructed.</param> + <param name="suite">The suite to which the tests will be added.</param> + </member> + <member name="T:NUnit.Framework.TestCaseSourceAttribute"> + <summary> + Indicates the source to be used to provide test fixture instances for a test class. + </summary> + </member> + <member name="M:NUnit.Framework.TestCaseSourceAttribute.#ctor(System.String)"> + <summary> + Construct with the name of the method, property or field that will provide data + </summary> + <param name="sourceName">The name of a static method, property or field that will provide data.</param> + </member> + <member name="M:NUnit.Framework.TestCaseSourceAttribute.#ctor(System.Type,System.String,System.Object[])"> + <summary> + Construct with a Type and name + </summary> + <param name="sourceType">The Type that will provide data</param> + <param name="sourceName">The name of a static method, property or field that will provide data.</param> + <param name="methodParams">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.</param> + </member> + <member name="M:NUnit.Framework.TestCaseSourceAttribute.#ctor(System.Type,System.String)"> + <summary> + Construct with a Type and name + </summary> + <param name="sourceType">The Type that will provide data</param> + <param name="sourceName">The name of a static method, property or field that will provide data.</param> + </member> + <member name="M:NUnit.Framework.TestCaseSourceAttribute.#ctor(System.String,System.Object[])"> + <summary> + Construct with a name + </summary> + <param name="sourceName">The name of a static method, property or field that will provide data.</param> + <param name="methodParams">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.</param> + </member> + <member name="M:NUnit.Framework.TestCaseSourceAttribute.#ctor(System.Type)"> + <summary> + Construct with a Type + </summary> + <param name="sourceType">The type that will provide data</param> + </member> + <member name="P:NUnit.Framework.TestCaseSourceAttribute.MethodParams"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.TestCaseSourceAttribute.SourceName"> + <summary> + The name of a the method, property or field to be used as a source + </summary> + </member> + <member name="P:NUnit.Framework.TestCaseSourceAttribute.SourceType"> + <summary> + A Type to be used as a source + </summary> + </member> + <member name="P:NUnit.Framework.TestCaseSourceAttribute.Category"> + <summary> + Gets or sets the category associated with every fixture created from + this attribute. May be a single category or a comma-separated list. + </summary> + </member> + <member name="M:NUnit.Framework.TestCaseSourceAttribute.BuildFrom(NUnit.Framework.Interfaces.IMethodInfo,NUnit.Framework.Internal.Test)"> + <summary> + Builds any number of tests from the specified method and context. + </summary> + <param name="method">The IMethod for which tests are to be constructed.</param> + <param name="suite">The suite to which the tests will be added.</param> + </member> + <member name="T:NUnit.Framework.TestFixtureAttribute"> + <summary> + Marks the class as a TestFixture. + </summary> + </member> + <member name="M:NUnit.Framework.TestFixtureAttribute.#ctor"> + <summary> + Default constructor + </summary> + </member> + <member name="M:NUnit.Framework.TestFixtureAttribute.#ctor(System.Object[])"> + <summary> + Construct with a object[] representing a set of arguments. + The arguments may later be separated into type arguments and constructor arguments. + </summary> + <param name="arguments"></param> + </member> + <member name="P:NUnit.Framework.TestFixtureAttribute.TestName"> + <summary> + Gets or sets the name of the test. + </summary> + <value>The name of the test.</value> + </member> + <member name="P:NUnit.Framework.TestFixtureAttribute.RunState"> + <summary> + Gets or sets the RunState of this test fixture. + </summary> + </member> + <member name="P:NUnit.Framework.TestFixtureAttribute.Arguments"> + <summary> + The arguments originally provided to the attribute + </summary> + </member> + <member name="P:NUnit.Framework.TestFixtureAttribute.Properties"> + <summary> + Properties pertaining to this fixture + </summary> + </member> + <member name="P:NUnit.Framework.TestFixtureAttribute.TypeArgs"> + <summary> + Get or set the type arguments. If not set + explicitly, any leading arguments that are + Types are taken as type arguments. + </summary> + </member> + <member name="P:NUnit.Framework.TestFixtureAttribute.Description"> + <summary> + Descriptive text for this fixture + </summary> + </member> + <member name="P:NUnit.Framework.TestFixtureAttribute.Author"> + <summary> + The author of this fixture + </summary> + </member> + <member name="P:NUnit.Framework.TestFixtureAttribute.TestOf"> + <summary> + The type that this fixture is testing + </summary> + </member> + <member name="P:NUnit.Framework.TestFixtureAttribute.Ignore"> + <summary> + Gets or sets the ignore reason. May set RunState as a side effect. + </summary> + <value>The ignore reason.</value> + </member> + <member name="P:NUnit.Framework.TestFixtureAttribute.Reason"> + <summary> + Gets or sets the reason for not running the fixture. + </summary> + <value>The reason.</value> + </member> + <member name="P:NUnit.Framework.TestFixtureAttribute.IgnoreReason"> + <summary> + Gets or sets the ignore reason. When set to a non-null + non-empty value, the test is marked as ignored. + </summary> + <value>The ignore reason.</value> + </member> + <member name="P:NUnit.Framework.TestFixtureAttribute.Explicit"> + <summary> + Gets or sets a value indicating whether this <see cref="T:NUnit.Framework.TestFixtureAttribute"/> is explicit. + </summary> + <value> + <see langword="true"/> if explicit; otherwise, <see langword="false"/>. + </value> + </member> + <member name="P:NUnit.Framework.TestFixtureAttribute.Category"> + <summary> + Gets and sets the category for this fixture. + May be a comma-separated list of categories. + </summary> + </member> + <member name="M:NUnit.Framework.TestFixtureAttribute.BuildFrom(NUnit.Framework.Interfaces.ITypeInfo)"> + <summary> + Builds a single test fixture from the specified type. + </summary> + </member> + <member name="M:NUnit.Framework.TestFixtureAttribute.BuildFrom(NUnit.Framework.Interfaces.ITypeInfo,NUnit.Framework.Interfaces.IPreFilter)"> + <summary> + Builds a single test fixture from the specified type. + </summary> + <param name="typeInfo">The type info of the fixture to be used.</param> + <param name="filter">Filter used to select methods as tests.</param> + </member> + <member name="T:NUnit.Framework.TestFixtureSourceAttribute"> + <summary> + Identifies the source used to provide test fixture instances for a test class. + </summary> + </member> + <member name="F:NUnit.Framework.TestFixtureSourceAttribute.MUST_BE_STATIC"> + <summary> + Error message string is public so the tests can use it + </summary> + </member> + <member name="M:NUnit.Framework.TestFixtureSourceAttribute.#ctor(System.String)"> + <summary> + Construct with the name of the method, property or field that will provide data + </summary> + <param name="sourceName">The name of a static method, property or field that will provide data.</param> + </member> + <member name="M:NUnit.Framework.TestFixtureSourceAttribute.#ctor(System.Type,System.String)"> + <summary> + Construct with a Type and name + </summary> + <param name="sourceType">The Type that will provide data</param> + <param name="sourceName">The name of a static method, property or field that will provide data.</param> + </member> + <member name="M:NUnit.Framework.TestFixtureSourceAttribute.#ctor(System.Type)"> + <summary> + Construct with a Type + </summary> + <param name="sourceType">The type that will provide data</param> + </member> + <member name="P:NUnit.Framework.TestFixtureSourceAttribute.SourceName"> + <summary> + The name of a the method, property or field to be used as a source + </summary> + </member> + <member name="P:NUnit.Framework.TestFixtureSourceAttribute.SourceType"> + <summary> + A Type to be used as a source + </summary> + </member> + <member name="P:NUnit.Framework.TestFixtureSourceAttribute.Category"> + <summary> + Gets or sets the category associated with every fixture created from + this attribute. May be a single category or a comma-separated list. + </summary> + </member> + <member name="M:NUnit.Framework.TestFixtureSourceAttribute.BuildFrom(NUnit.Framework.Interfaces.ITypeInfo)"> + <summary> + Builds any number of test fixtures from the specified type. + </summary> + <param name="typeInfo">The TypeInfo for which fixtures are to be constructed.</param> + </member> + <member name="M:NUnit.Framework.TestFixtureSourceAttribute.BuildFrom(NUnit.Framework.Interfaces.ITypeInfo,NUnit.Framework.Interfaces.IPreFilter)"> + <summary> + Builds any number of test fixtures from the specified type. + </summary> + <param name="typeInfo">The TypeInfo for which fixtures are to be constructed.</param> + <param name="filter">PreFilter used to select methods as tests.</param> + </member> + <member name="M:NUnit.Framework.TestFixtureSourceAttribute.GetParametersFor(System.Type)"> + <summary> + Returns a set of ITestFixtureData items for use as arguments + to a parameterized test fixture. + </summary> + <param name="sourceType">The type for which data is needed.</param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.TestOfAttribute"> + <summary> + Indicates the method or class the assembly, test fixture or test method is testing. + </summary> + </member> + <member name="M:NUnit.Framework.TestOfAttribute.#ctor(System.Type)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.TestOfAttribute"/> class. + </summary> + <param name="type">The type that is being tested.</param> + </member> + <member name="M:NUnit.Framework.TestOfAttribute.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.TestOfAttribute"/> class. + </summary> + <param name="typeName">The type that is being tested.</param> + </member> + <member name="T:NUnit.Framework.TheoryAttribute"> + <summary> + Adding this attribute to a method within a <seealso cref="T:NUnit.Framework.TestFixtureAttribute"/> + 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. + </summary> + + <example> + [TestFixture] + public class Fixture + { + [Test] + public void MethodToTest() + {} + + [Test(Description = "more detailed description")] + public void TestDescriptionMethod() + {} + } + </example> + + </member> + <member name="M:NUnit.Framework.TheoryAttribute.#ctor"> + <summary> + Construct the attribute, specifying a combining strategy and source of parameter data. + </summary> + </member> + <member name="T:NUnit.Framework.TimeoutAttribute"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.TimeoutAttribute.#ctor(System.Int32)"> + <summary> + Construct a TimeoutAttribute given a time in milliseconds + </summary> + <param name="timeout">The timeout value in milliseconds</param> + </member> + <member name="T:NUnit.Framework.ValuesAttribute"> + <summary> + Provides literal arguments for an individual parameter of a test. + </summary> + </member> + <member name="F:NUnit.Framework.ValuesAttribute.data"> + <summary> + 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 + </summary> + </member> + <member name="M:NUnit.Framework.ValuesAttribute.#ctor"> + <summary> + Constructs for use with an Enum parameter. Will pass every enum + value in to the test. + </summary> + </member> + <member name="M:NUnit.Framework.ValuesAttribute.#ctor(System.Object)"> + <summary> + Construct with one argument + </summary> + <param name="arg1"></param> + </member> + <member name="M:NUnit.Framework.ValuesAttribute.#ctor(System.Object,System.Object)"> + <summary> + Construct with two arguments + </summary> + <param name="arg1"></param> + <param name="arg2"></param> + </member> + <member name="M:NUnit.Framework.ValuesAttribute.#ctor(System.Object,System.Object,System.Object)"> + <summary> + Construct with three arguments + </summary> + <param name="arg1"></param> + <param name="arg2"></param> + <param name="arg3"></param> + </member> + <member name="M:NUnit.Framework.ValuesAttribute.#ctor(System.Object[])"> + <summary> + Construct with an array of arguments + </summary> + <param name="args"></param> + </member> + <member name="M:NUnit.Framework.ValuesAttribute.GetData(NUnit.Framework.Interfaces.IParameterInfo)"> + <summary> + Retrieves a list of arguments which can be passed to the specified parameter. + </summary> + <param name="parameter">The parameter of a parameterized test.</param> + </member> + <member name="M:NUnit.Framework.ValuesAttribute.GenerateData(System.Type)"> + <summary> + To generate data for Values attribute, in case no data is provided. + </summary> + </member> + <member name="M:NUnit.Framework.ValuesAttribute.IsNullableEnum(System.Type)"> + <summary> + To Check if type is nullable enum. + </summary> + </member> + <member name="T:NUnit.Framework.ValueSourceAttribute"> + <summary> + Indicates the source used to provide data for one parameter of a test method. + </summary> + </member> + <member name="M:NUnit.Framework.ValueSourceAttribute.#ctor(System.String)"> + <summary> + Construct with the name of the factory - for use with languages + that don't support params arrays. + </summary> + <param name="sourceName">The name of a static method, property or field that will provide data.</param> + </member> + <member name="M:NUnit.Framework.ValueSourceAttribute.#ctor(System.Type,System.String)"> + <summary> + Construct with a Type and name - for use with languages + that don't support params arrays. + </summary> + <param name="sourceType">The Type that will provide data</param> + <param name="sourceName">The name of a static method, property or field that will provide data.</param> + </member> + <member name="P:NUnit.Framework.ValueSourceAttribute.SourceName"> + <summary> + The name of a the method, property or field to be used as a source + </summary> + </member> + <member name="P:NUnit.Framework.ValueSourceAttribute.SourceType"> + <summary> + A Type to be used as a source + </summary> + </member> + <member name="M:NUnit.Framework.ValueSourceAttribute.GetData(NUnit.Framework.Interfaces.IParameterInfo)"> + <summary> + Retrieves a list of arguments which can be passed to the specified parameter. + </summary> + <param name="parameter">The parameter of a parameterized test.</param> + </member> + <member name="T:NUnit.Framework.CollectionAssert"> + <summary> + A set of Assert methods operating on one or more collections + </summary> + </member> + <member name="M:NUnit.Framework.CollectionAssert.Equals(System.Object,System.Object)"> + <summary> + 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. + </summary> + <param name="a"></param> + <param name="b"></param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.ReferenceEquals(System.Object,System.Object)"> + <summary> + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + </summary> + <param name="a"></param> + <param name="b"></param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.AllItemsAreInstancesOfType(System.Collections.IEnumerable,System.Type)"> + <summary> + Asserts that all items contained in collection are of the type specified by expectedType. + </summary> + <param name="collection">IEnumerable containing objects to be considered</param> + <param name="expectedType">System.Type that all objects in collection must be instances of</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.AllItemsAreInstancesOfType(System.Collections.IEnumerable,System.Type,System.String,System.Object[])"> + <summary> + Asserts that all items contained in collection are of the type specified by expectedType. + </summary> + <param name="collection">IEnumerable containing objects to be considered</param> + <param name="expectedType">System.Type that all objects in collection must be instances of</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.AllItemsAreNotNull(System.Collections.IEnumerable)"> + <summary> + Asserts that all items contained in collection are not equal to null. + </summary> + <param name="collection">IEnumerable containing objects to be considered</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.AllItemsAreNotNull(System.Collections.IEnumerable,System.String,System.Object[])"> + <summary> + Asserts that all items contained in collection are not equal to null. + </summary> + <param name="collection">IEnumerable of objects to be considered</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.AllItemsAreUnique(System.Collections.IEnumerable)"> + <summary> + Ensures that every object contained in collection exists within the collection + once and only once. + </summary> + <param name="collection">IEnumerable of objects to be considered</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.AllItemsAreUnique(System.Collections.IEnumerable,System.String,System.Object[])"> + <summary> + Ensures that every object contained in collection exists within the collection + once and only once. + </summary> + <param name="collection">IEnumerable of objects to be considered</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.AreEqual(System.Collections.IEnumerable,System.Collections.IEnumerable)"> + <summary> + 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. + </summary> + <param name="expected">The first IEnumerable of objects to be considered</param> + <param name="actual">The second IEnumerable of objects to be considered</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.AreEqual(System.Collections.IEnumerable,System.Collections.IEnumerable,System.Collections.IComparer)"> + <summary> + 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. + </summary> + <param name="expected">The first IEnumerable of objects to be considered</param> + <param name="actual">The second IEnumerable of objects to be considered</param> + <param name="comparer">The IComparer to use in comparing objects from each IEnumerable</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.AreEqual(System.Collections.IEnumerable,System.Collections.IEnumerable,System.String,System.Object[])"> + <summary> + 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. + </summary> + <param name="expected">The first IEnumerable of objects to be considered</param> + <param name="actual">The second IEnumerable of objects to be considered</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.AreEqual(System.Collections.IEnumerable,System.Collections.IEnumerable,System.Collections.IComparer,System.String,System.Object[])"> + <summary> + 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. + </summary> + <param name="expected">The first IEnumerable of objects to be considered</param> + <param name="actual">The second IEnumerable of objects to be considered</param> + <param name="comparer">The IComparer to use in comparing objects from each IEnumerable</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.AreEquivalent(System.Collections.IEnumerable,System.Collections.IEnumerable)"> + <summary> + Asserts that expected and actual are equivalent, containing the same objects but the match may be in any order. + </summary> + <param name="expected">The first IEnumerable of objects to be considered</param> + <param name="actual">The second IEnumerable of objects to be considered</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.AreEquivalent(System.Collections.IEnumerable,System.Collections.IEnumerable,System.String,System.Object[])"> + <summary> + Asserts that expected and actual are equivalent, containing the same objects but the match may be in any order. + </summary> + <param name="expected">The first IEnumerable of objects to be considered</param> + <param name="actual">The second IEnumerable of objects to be considered</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.AreNotEqual(System.Collections.IEnumerable,System.Collections.IEnumerable)"> + <summary> + Asserts that expected and actual are not exactly equal. + </summary> + <param name="expected">The first IEnumerable of objects to be considered</param> + <param name="actual">The second IEnumerable of objects to be considered</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.AreNotEqual(System.Collections.IEnumerable,System.Collections.IEnumerable,System.Collections.IComparer)"> + <summary> + Asserts that expected and actual are not exactly equal. + If comparer is not null then it will be used to compare the objects. + </summary> + <param name="expected">The first IEnumerable of objects to be considered</param> + <param name="actual">The second IEnumerable of objects to be considered</param> + <param name="comparer">The IComparer to use in comparing objects from each IEnumerable</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.AreNotEqual(System.Collections.IEnumerable,System.Collections.IEnumerable,System.String,System.Object[])"> + <summary> + Asserts that expected and actual are not exactly equal. + </summary> + <param name="expected">The first IEnumerable of objects to be considered</param> + <param name="actual">The second IEnumerable of objects to be considered</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.AreNotEqual(System.Collections.IEnumerable,System.Collections.IEnumerable,System.Collections.IComparer,System.String,System.Object[])"> + <summary> + Asserts that expected and actual are not exactly equal. + If comparer is not null then it will be used to compare the objects. + </summary> + <param name="expected">The first IEnumerable of objects to be considered</param> + <param name="actual">The second IEnumerable of objects to be considered</param> + <param name="comparer">The IComparer to use in comparing objects from each IEnumerable</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.AreNotEquivalent(System.Collections.IEnumerable,System.Collections.IEnumerable)"> + <summary> + Asserts that expected and actual are not equivalent. + </summary> + <param name="expected">The first IEnumerable of objects to be considered</param> + <param name="actual">The second IEnumerable of objects to be considered</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.AreNotEquivalent(System.Collections.IEnumerable,System.Collections.IEnumerable,System.String,System.Object[])"> + <summary> + Asserts that expected and actual are not equivalent. + </summary> + <param name="expected">The first IEnumerable of objects to be considered</param> + <param name="actual">The second IEnumerable of objects to be considered</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.Contains(System.Collections.IEnumerable,System.Object)"> + <summary> + Asserts that collection contains actual as an item. + </summary> + <param name="collection">IEnumerable of objects to be considered</param> + <param name="actual">Object to be found within collection</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.Contains(System.Collections.IEnumerable,System.Object,System.String,System.Object[])"> + <summary> + Asserts that collection contains actual as an item. + </summary> + <param name="collection">IEnumerable of objects to be considered</param> + <param name="actual">Object to be found within collection</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.DoesNotContain(System.Collections.IEnumerable,System.Object)"> + <summary> + Asserts that collection does not contain actual as an item. + </summary> + <param name="collection">IEnumerable of objects to be considered</param> + <param name="actual">Object that cannot exist within collection</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.DoesNotContain(System.Collections.IEnumerable,System.Object,System.String,System.Object[])"> + <summary> + Asserts that collection does not contain actual as an item. + </summary> + <param name="collection">IEnumerable of objects to be considered</param> + <param name="actual">Object that cannot exist within collection</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.IsNotSubsetOf(System.Collections.IEnumerable,System.Collections.IEnumerable)"> + <summary> + Asserts that the superset does not contain the subset + </summary> + <param name="subset">The IEnumerable subset to be considered</param> + <param name="superset">The IEnumerable superset to be considered</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.IsNotSubsetOf(System.Collections.IEnumerable,System.Collections.IEnumerable,System.String,System.Object[])"> + <summary> + Asserts that the superset does not contain the subset + </summary> + <param name="subset">The IEnumerable subset to be considered</param> + <param name="superset">The IEnumerable superset to be considered</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.IsSubsetOf(System.Collections.IEnumerable,System.Collections.IEnumerable)"> + <summary> + Asserts that the superset contains the subset. + </summary> + <param name="subset">The IEnumerable subset to be considered</param> + <param name="superset">The IEnumerable superset to be considered</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.IsSubsetOf(System.Collections.IEnumerable,System.Collections.IEnumerable,System.String,System.Object[])"> + <summary> + Asserts that the superset contains the subset. + </summary> + <param name="subset">The IEnumerable subset to be considered</param> + <param name="superset">The IEnumerable superset to be considered</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.IsNotSupersetOf(System.Collections.IEnumerable,System.Collections.IEnumerable)"> + <summary> + Asserts that the subset does not contain the superset + </summary> + <param name="superset">The IEnumerable superset to be considered</param> + <param name="subset">The IEnumerable subset to be considered</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.IsNotSupersetOf(System.Collections.IEnumerable,System.Collections.IEnumerable,System.String,System.Object[])"> + <summary> + Asserts that the subset does not contain the superset + </summary> + <param name="superset">The IEnumerable superset to be considered</param> + <param name="subset">The IEnumerable subset to be considered</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.IsSupersetOf(System.Collections.IEnumerable,System.Collections.IEnumerable)"> + <summary> + Asserts that the subset contains the superset. + </summary> + <param name="superset">The IEnumerable superset to be considered</param> + <param name="subset">The IEnumerable subset to be considered</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.IsSupersetOf(System.Collections.IEnumerable,System.Collections.IEnumerable,System.String,System.Object[])"> + <summary> + Asserts that the subset contains the superset. + </summary> + <param name="superset">The IEnumerable superset to be considered</param> + <param name="subset">The IEnumerable subset to be considered</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.IsEmpty(System.Collections.IEnumerable,System.String,System.Object[])"> + <summary> + Assert that an array, list or other collection is empty + </summary> + <param name="collection">An array, list or other collection implementing IEnumerable</param> + <param name="message">The message to be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.IsEmpty(System.Collections.IEnumerable)"> + <summary> + Assert that an array,list or other collection is empty + </summary> + <param name="collection">An array, list or other collection implementing IEnumerable</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.IsNotEmpty(System.Collections.IEnumerable,System.String,System.Object[])"> + <summary> + Assert that an array, list or other collection is empty + </summary> + <param name="collection">An array, list or other collection implementing IEnumerable</param> + <param name="message">The message to be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.IsNotEmpty(System.Collections.IEnumerable)"> + <summary> + Assert that an array,list or other collection is empty + </summary> + <param name="collection">An array, list or other collection implementing IEnumerable</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.IsOrdered(System.Collections.IEnumerable,System.String,System.Object[])"> + <summary> + Assert that an array, list or other collection is ordered + </summary> + <param name="collection">An array, list or other collection implementing IEnumerable</param> + <param name="message">The message to be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.IsOrdered(System.Collections.IEnumerable)"> + <summary> + Assert that an array, list or other collection is ordered + </summary> + <param name="collection">An array, list or other collection implementing IEnumerable</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.IsOrdered(System.Collections.IEnumerable,System.Collections.IComparer,System.String,System.Object[])"> + <summary> + Assert that an array, list or other collection is ordered + </summary> + <param name="collection">An array, list or other collection implementing IEnumerable</param> + <param name="comparer">A custom comparer to perform the comparisons</param> + <param name="message">The message to be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.IsOrdered(System.Collections.IEnumerable,System.Collections.IComparer)"> + <summary> + Assert that an array, list or other collection is ordered + </summary> + <param name="collection">An array, list or other collection implementing IEnumerable</param> + <param name="comparer">A custom comparer to perform the comparisons</param> + </member> + <member name="T:NUnit.Framework.Constraints.AllItemsConstraint"> + <summary> + AllItemsConstraint applies another constraint to each + item in a collection, succeeding if they all succeed. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.AllItemsConstraint.#ctor(NUnit.Framework.Constraints.IConstraint)"> + <summary> + Construct an AllItemsConstraint on top of an existing constraint + </summary> + <param name="itemConstraint"></param> + </member> + <member name="P:NUnit.Framework.Constraints.AllItemsConstraint.DisplayName"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.AllItemsConstraint.ApplyTo``1(``0)"> + <summary> + Apply the item constraint to each item in the collection, + failing if any item fails. + </summary> + <param name="actual"></param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Constraints.AndConstraint"> + <summary> + AndConstraint succeeds only if both members succeed. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.AndConstraint.#ctor(NUnit.Framework.Constraints.IConstraint,NUnit.Framework.Constraints.IConstraint)"> + <summary> + Create an AndConstraint from two other constraints + </summary> + <param name="left">The first constraint</param> + <param name="right">The second constraint</param> + </member> + <member name="P:NUnit.Framework.Constraints.AndConstraint.Description"> + <summary> + Gets text describing a constraint + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.AndConstraint.ApplyTo``1(``0)"> + <summary> + Apply both member constraints to an actual value, succeeding + succeeding only if both of them succeed. + </summary> + <param name="actual">The actual value</param> + <returns>True if the constraints both succeeded</returns> + </member> + <member name="M:NUnit.Framework.Constraints.AndConstraint.AndConstraintResult.WriteActualValueTo(NUnit.Framework.Constraints.MessageWriter)"> + <summary> + 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. + </summary> + <param name="writer">The writer on which the actual value is displayed</param> + </member> + <member name="T:NUnit.Framework.Constraints.AnyOfConstraint"> + <summary> + <see cref="T:NUnit.Framework.Constraints.AnyOfConstraint"/> is used to determine whether the value is equal to any of the expected values. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.AnyOfConstraint.#ctor(System.Object[])"> + <summary> + Construct a <see cref="T:NUnit.Framework.Constraints.AnyOfConstraint"/> + </summary> + <param name="expected">Collection of expected values</param> + </member> + <member name="P:NUnit.Framework.Constraints.AnyOfConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.AnyOfConstraint.ApplyTo``1(``0)"> + <summary> + Test whether item is present in expected collection + </summary> + <typeparam name="TActual">Actual item type</typeparam> + <param name="actual">Actual item</param> + </member> + <member name="P:NUnit.Framework.Constraints.AnyOfConstraint.IgnoreCase"> + <summary> + Flag the constraint to ignore case and return self. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.AnyOfConstraint.Using(System.Collections.IComparer)"> + <summary> + Flag the constraint to use the supplied IComparer object. + </summary> + <param name="comparer">The IComparer object to use.</param> + </member> + <member name="M:NUnit.Framework.Constraints.AnyOfConstraint.Using``1(System.Collections.Generic.IComparer{``0})"> + <summary> + Flag the constraint to use the supplied IComparer object. + </summary> + <param name="comparer">The IComparer object to use.</param> + </member> + <member name="M:NUnit.Framework.Constraints.AnyOfConstraint.Using``1(System.Comparison{``0})"> + <summary> + Flag the constraint to use the supplied Comparison object. + </summary> + <param name="comparer">The Comparison object to use.</param> + </member> + <member name="M:NUnit.Framework.Constraints.AnyOfConstraint.Using(System.Collections.IEqualityComparer)"> + <summary> + Flag the constraint to use the supplied IEqualityComparer object. + </summary> + <param name="comparer">The IEqualityComparer object to use.</param> + </member> + <member name="M:NUnit.Framework.Constraints.AnyOfConstraint.Using``1(System.Collections.Generic.IEqualityComparer{``0})"> + <summary> + Flag the constraint to use the supplied IEqualityComparer object. + </summary> + <param name="comparer">The IComparer object to use.</param> + </member> + <member name="M:NUnit.Framework.Constraints.AnyOfConstraint.Using``1(System.Func{``0,``0,System.Boolean})"> + <summary> + Flag the constraint to use the supplied boolean-returning delegate. + </summary> + <param name="comparer">The supplied boolean-returning delegate to use.</param> + </member> + <member name="T:NUnit.Framework.Constraints.AssignableFromConstraint"> + <summary> + AssignableFromConstraint is used to test that an object + can be assigned from a given Type. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.AssignableFromConstraint.#ctor(System.Type)"> + <summary> + Construct an AssignableFromConstraint for the type provided + </summary> + <param name="type"></param> + </member> + <member name="M:NUnit.Framework.Constraints.AssignableFromConstraint.Matches(System.Object)"> + <summary> + Apply the constraint to an actual value, returning true if it succeeds + </summary> + <param name="actual">The actual argument</param> + <returns>True if the constraint succeeds, otherwise false.</returns> + </member> + <member name="T:NUnit.Framework.Constraints.AssignableToConstraint"> + <summary> + AssignableToConstraint is used to test that an object + can be assigned to a given Type. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.AssignableToConstraint.#ctor(System.Type)"> + <summary> + Construct an AssignableToConstraint for the type provided + </summary> + <param name="type"></param> + </member> + <member name="M:NUnit.Framework.Constraints.AssignableToConstraint.Matches(System.Object)"> + <summary> + Apply the constraint to an actual value, returning true if it succeeds + </summary> + <param name="actual">The actual argument</param> + <returns>True if the constraint succeeds, otherwise false.</returns> + </member> + <member name="T:NUnit.Framework.Constraints.AttributeConstraint"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.AttributeConstraint.#ctor(System.Type,NUnit.Framework.Constraints.IConstraint)"> + <summary> + Constructs an AttributeConstraint for a specified attribute + Type and base constraint. + </summary> + <param name="type"></param> + <param name="baseConstraint"></param> + </member> + <member name="M:NUnit.Framework.Constraints.AttributeConstraint.ApplyTo``1(``0)"> + <summary> + Determines whether the Type or other provider has the + expected attribute and if its value matches the + additional constraint specified. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.AttributeConstraint.GetStringRepresentation"> + <summary> + Returns a string representation of the constraint. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.AttributeExistsConstraint"> + <summary> + AttributeExistsConstraint tests for the presence of a + specified attribute on a Type. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.AttributeExistsConstraint.#ctor(System.Type)"> + <summary> + Constructs an AttributeExistsConstraint for a specific attribute Type + </summary> + <param name="type"></param> + </member> + <member name="P:NUnit.Framework.Constraints.AttributeExistsConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.AttributeExistsConstraint.ApplyTo``1(``0)"> + <summary> + Tests whether the object provides the expected attribute. + </summary> + <param name="actual">A Type, MethodInfo, or other ICustomAttributeProvider</param> + <returns>True if the expected attribute is present, otherwise false</returns> + </member> + <member name="T:NUnit.Framework.Constraints.BinaryConstraint"> + <summary> + BinaryConstraint is the abstract base of all constraints + that combine two other constraints in some fashion. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.BinaryConstraint.Left"> + <summary> + The first constraint being combined + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.BinaryConstraint.Right"> + <summary> + The second constraint being combined + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.BinaryConstraint.#ctor(NUnit.Framework.Constraints.IConstraint,NUnit.Framework.Constraints.IConstraint)"> + <summary> + Construct a BinaryConstraint from two other constraints + </summary> + <param name="left">The first constraint</param> + <param name="right">The second constraint</param> + </member> + <member name="T:NUnit.Framework.Constraints.BinarySerializableConstraint"> + <summary> + BinarySerializableConstraint tests whether + an object is serializable in binary format. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.BinarySerializableConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.BinarySerializableConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="M:NUnit.Framework.Constraints.BinarySerializableConstraint.GetStringRepresentation"> + <summary> + Returns the string representation + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.CollectionConstraint"> + <summary> + CollectionConstraint is the abstract base class for + constraints that operate on collections. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionConstraint.#ctor"> + <summary> + Construct an empty CollectionConstraint + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionConstraint.#ctor(System.Object)"> + <summary> + Construct a CollectionConstraint + </summary> + <param name="arg"></param> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionConstraint.IsEmpty(System.Collections.IEnumerable)"> + <summary> + Determines whether the specified enumerable is empty. + </summary> + <param name="enumerable">The enumerable.</param> + <returns> + <see langword="true"/> if the specified enumerable is empty; otherwise, <see langword="false"/>. + </returns> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionConstraint.Matches(System.Collections.IEnumerable)"> + <summary> + Protected method to be implemented by derived classes + </summary> + <param name="collection"></param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Constraints.CollectionContainsConstraint"> + <summary> + CollectionContainsConstraint is used to test whether a collection + contains an expected object as a member. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionContainsConstraint.#ctor(System.Object)"> + <summary> + Construct a CollectionContainsConstraint + </summary> + <param name="expected"></param> + </member> + <member name="P:NUnit.Framework.Constraints.CollectionContainsConstraint.DisplayName"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.CollectionContainsConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.CollectionContainsConstraint.Expected"> + <summary> + Gets the expected object + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionContainsConstraint.Matches(System.Collections.IEnumerable)"> + <summary> + Test whether the expected item is contained in the collection + </summary> + <param name="actual"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionContainsConstraint.Using``2(System.Func{``0,``1,System.Boolean})"> + <summary> + Flag the constraint to use the supplied predicate function + </summary> + <param name="comparison">The comparison function to use.</param> + <returns>Self.</returns> + </member> + <member name="T:NUnit.Framework.Constraints.CollectionEquivalentConstraint"> + <summary> + CollectionEquivalentConstraint is used to determine whether two + collections are equivalent. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.CollectionEquivalentConstraint._tallyResult"> + <summary>The result of the <see cref="T:NUnit.Framework.Constraints.CollectionTally"/> from the collections + under comparison.</summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionEquivalentConstraint.#ctor(System.Collections.IEnumerable)"> + <summary>Construct a CollectionEquivalentConstraint</summary> + <param name="expected">Expected collection.</param> + </member> + <member name="P:NUnit.Framework.Constraints.CollectionEquivalentConstraint.DisplayName"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.CollectionEquivalentConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionEquivalentConstraint.Matches(System.Collections.IEnumerable)"> + <summary> + Test whether two collections are equivalent + </summary> + <param name="actual"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionEquivalentConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the collection is equivalent to the expected. + </summary> + <typeparam name="TActual"> + Actual collection type. + </typeparam> + <param name="actual"> + Actual collection to compare. + </param> + <returns> + A <see cref="T:NUnit.Framework.Constraints.CollectionEquivalentConstraintResult"/> indicating whether or not + the two collections are equivalent. + </returns> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionEquivalentConstraint.Using``2(System.Func{``0,``1,System.Boolean})"> + <summary> + Flag the constraint to use the supplied predicate function + </summary> + <param name="comparison">The comparison function to use.</param> + <returns>Self.</returns> + </member> + <member name="T:NUnit.Framework.Constraints.CollectionEquivalentConstraintResult"> + <summary>Provides a <see cref="T:NUnit.Framework.Constraints.ConstraintResult"/> for the <see cref="T:NUnit.Framework.Constraints.CollectionEquivalentConstraint"/>.</summary> + </member> + <member name="F:NUnit.Framework.Constraints.CollectionEquivalentConstraintResult._tallyResult"> + <summary>Result of a <see cref="T:NUnit.Framework.Constraints.CollectionTally"/> of the collections to compare for equivalence.</summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionEquivalentConstraintResult.#ctor(NUnit.Framework.Constraints.CollectionEquivalentConstraint,NUnit.Framework.Constraints.CollectionTally.CollectionTallyResult,System.Object,System.Boolean)"> + <summary>Construct a <see cref="T:NUnit.Framework.Constraints.CollectionEquivalentConstraintResult"/> using a <see cref="T:NUnit.Framework.Constraints.CollectionTally.CollectionTallyResult"/>.</summary> + <param name="constraint">Source <see cref="T:NUnit.Framework.Constraints.CollectionEquivalentConstraint"/>.</param> + <param name="tallyResult">Result of the collection comparison.</param> + <param name="actual">Actual collection to compare.</param> + <param name="isSuccess">Whether or not the <see cref="T:NUnit.Framework.Constraints.CollectionEquivalentConstraint"/> succeeded.</param> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionEquivalentConstraintResult.WriteAdditionalLinesTo(NUnit.Framework.Constraints.MessageWriter)"> + <summary>Write any additional lines (following <c>Expected:</c> and <c>But was:</c>) for a failing constraint.</summary> + <param name="writer">The <see cref="T:NUnit.Framework.Constraints.MessageWriter"/> to write the failure message to.</param> + </member> + <member name="T:NUnit.Framework.Constraints.CollectionItemsEqualConstraint"> + <summary> + CollectionItemsEqualConstraint is the abstract base class for all + collection constraints that apply some notion of item equality + as a part of their operation. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.CollectionItemsEqualConstraint._comparer"> + <summary> + The NUnitEqualityComparer in use for this constraint + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionItemsEqualConstraint.#ctor"> + <summary> + Construct an empty CollectionConstraint + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionItemsEqualConstraint.#ctor(System.Object)"> + <summary> + Construct a CollectionConstraint + </summary> + <param name="arg"></param> + </member> + <member name="P:NUnit.Framework.Constraints.CollectionItemsEqualConstraint.IgnoringCase"> + <summary> + Get a flag indicating whether the user requested us to ignore case. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.CollectionItemsEqualConstraint.UsingExternalComparer"> + <summary> + Get a flag indicating whether any external comparers are in use. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.CollectionItemsEqualConstraint.IgnoreCase"> + <summary> + Flag the constraint to ignore case and return self. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionItemsEqualConstraint.Using(System.Collections.IComparer)"> + <summary> + Flag the constraint to use the supplied IComparer object. + </summary> + <param name="comparer">The IComparer object to use.</param> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionItemsEqualConstraint.Using``1(System.Collections.Generic.IComparer{``0})"> + <summary> + Flag the constraint to use the supplied IComparer object. + </summary> + <param name="comparer">The IComparer object to use.</param> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionItemsEqualConstraint.Using``1(System.Comparison{``0})"> + <summary> + Flag the constraint to use the supplied Comparison object. + </summary> + <param name="comparison">The Comparison object to use.</param> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionItemsEqualConstraint.Using(System.Collections.IEqualityComparer)"> + <summary> + Flag the constraint to use the supplied IEqualityComparer object. + </summary> + <param name="comparer">The IComparer object to use.</param> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionItemsEqualConstraint.Using``1(System.Collections.Generic.IEqualityComparer{``0})"> + <summary> + Flag the constraint to use the supplied IEqualityComparer object. + </summary> + <param name="comparer">The IComparer object to use.</param> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionItemsEqualConstraint.Using``1(System.Func{``0,``0,System.Boolean})"> + <summary> + Flag the constraint to use the supplied boolean-returning delegate. + </summary> + <param name="comparer">The supplied boolean-returning delegate to use.</param> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionItemsEqualConstraint.ItemsEqual(System.Object,System.Object)"> + <summary> + Compares two collection members for equality + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionItemsEqualConstraint.Tally(System.Collections.IEnumerable)"> + <summary> + Return a new CollectionTally for use in making tests + </summary> + <param name="c">The collection to be included in the tally</param> + </member> + <member name="T:NUnit.Framework.Constraints.CollectionOrderedConstraint"> + <summary> + CollectionOrderedConstraint is used to test whether a collection is ordered. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionOrderedConstraint.#ctor"> + <summary> + Construct a CollectionOrderedConstraint + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.CollectionOrderedConstraint.DisplayName"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.CollectionOrderedConstraint.Ascending"> + <summary> + If used performs a default ascending comparison + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.CollectionOrderedConstraint.Descending"> + <summary> + If used performs a reverse comparison + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionOrderedConstraint.Using(System.Collections.IComparer)"> + <summary> + Modifies the constraint to use an <see cref="T:System.Collections.IComparer"/> and returns self. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionOrderedConstraint.Using``1(System.Collections.Generic.IComparer{``0})"> + <summary> + Modifies the constraint to use an <see cref="T:System.Collections.Generic.IComparer`1"/> and returns self. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionOrderedConstraint.Using``1(System.Comparison{``0})"> + <summary> + Modifies the constraint to use a <see cref="T:System.Comparison`1"/> and returns self. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionOrderedConstraint.By(System.String)"> + <summary> + Modifies the constraint to test ordering by the value of + a specified property and returns self. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.CollectionOrderedConstraint.Then"> + <summary> + Then signals a break between two ordering steps + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.CollectionOrderedConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionOrderedConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionOrderedConstraint.Matches(System.Collections.IEnumerable)"> + <summary> + Test whether the collection is ordered + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionOrderedConstraint.GetStringRepresentation"> + <summary> + Returns the string representation of the constraint. + </summary> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Constraints.CollectionOrderedConstraint.OrderingStep"> + <summary> + An OrderingStep represents one stage of the sort + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionOrderedConstraint.CollectionOrderedConstraintResult.#ctor(NUnit.Framework.Constraints.IConstraint,System.Collections.IEnumerable)"> + <summary> + Constructor for success result. + </summary> + <param name="constraint">The Constraint to which this result applies.</param> + <param name="actualValue">The actual value to which the Constraint was applied.</param> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionOrderedConstraint.CollectionOrderedConstraintResult.#ctor(NUnit.Framework.Constraints.IConstraint,System.Collections.IEnumerable,System.Int32,System.Object)"> + <summary> + Constructor for failure result. + </summary> + <param name="constraint">The Constraint to which this result applies.</param> + <param name="actualValue">The actual value to which the Constraint was applied.</param> + <param name="breakingIndex">Index at which collection order breaks.</param> + <param name="breakingValue">Value at which collection order breaks.</param> + </member> + <member name="T:NUnit.Framework.Constraints.CollectionSubsetConstraint"> + <summary> + CollectionSubsetConstraint is used to determine whether + one collection is a subset of another + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionSubsetConstraint.#ctor(System.Collections.IEnumerable)"> + <summary> + Construct a CollectionSubsetConstraint + </summary> + <param name="expected">The collection that the actual value is expected to be a subset of</param> + </member> + <member name="P:NUnit.Framework.Constraints.CollectionSubsetConstraint.DisplayName"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.CollectionSubsetConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionSubsetConstraint.Matches(System.Collections.IEnumerable)"> + <summary> + Test whether the actual collection is a subset of + the expected collection provided. + </summary> + <param name="actual"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionSubsetConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionSubsetConstraint.Using``2(System.Func{``0,``1,System.Boolean})"> + <summary> + Flag the constraint to use the supplied predicate function + </summary> + <param name="comparison">The comparison function to use.</param> + <returns>Self.</returns> + </member> + <member name="T:NUnit.Framework.Constraints.CollectionSupersetConstraint"> + <summary> + CollectionSupersetConstraint is used to determine whether + one collection is a superset of another + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionSupersetConstraint.#ctor(System.Collections.IEnumerable)"> + <summary> + Construct a CollectionSupersetConstraint + </summary> + <param name="expected">The collection that the actual value is expected to be a superset of</param> + </member> + <member name="P:NUnit.Framework.Constraints.CollectionSupersetConstraint.DisplayName"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.CollectionSupersetConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionSupersetConstraint.Matches(System.Collections.IEnumerable)"> + <summary> + Test whether the actual collection is a superset of + the expected collection provided. + </summary> + <param name="actual"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionSupersetConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionSupersetConstraint.Using``2(System.Func{``0,``1,System.Boolean})"> + <summary> + Flag the constraint to use the supplied predicate function + </summary> + <param name="comparison">The comparison function to use.</param> + <returns>Self.</returns> + </member> + <member name="T:NUnit.Framework.Constraints.CollectionTally"> + <summary><see cref="T:NUnit.Framework.Constraints.CollectionTally"/> counts (tallies) the number of occurrences + of each object in one or more enumerations.</summary> + </member> + <member name="T:NUnit.Framework.Constraints.CollectionTally.CollectionTallyResult"> + <summary>The result of a <see cref="T:NUnit.Framework.Constraints.CollectionTally"/>.</summary> + </member> + <member name="P:NUnit.Framework.Constraints.CollectionTally.CollectionTallyResult.ExtraItems"> + <summary>Items that were not in the expected collection.</summary> + </member> + <member name="P:NUnit.Framework.Constraints.CollectionTally.CollectionTallyResult.MissingItems"> + <summary>Items that were not accounted for in the expected collection.</summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionTally.CollectionTallyResult.#ctor(System.Collections.Generic.List{System.Object},System.Collections.Generic.List{System.Object})"> + <summary>Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.CollectionTally.CollectionTallyResult"/> class with the given fields.</summary> + </member> + <member name="P:NUnit.Framework.Constraints.CollectionTally.Result"> + <summary>The result of the comparison between the two collections.</summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionTally.#ctor(NUnit.Framework.Constraints.NUnitEqualityComparer,System.Collections.IEnumerable)"> + <summary>Construct a CollectionTally object from a comparer and a collection.</summary> + <param name="comparer">The comparer to use for equality.</param> + <param name="c">The expected collection to compare against.</param> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionTally.TryRemove(System.Object)"> + <summary>Try to remove an object from the tally.</summary> + <param name="o">The object to remove.</param> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionTally.TryRemove(System.Collections.IEnumerable)"> + <summary>Try to remove a set of objects from the tally.</summary> + <param name="c">The objects to remove.</param> + </member> + <member name="T:NUnit.Framework.Constraints.Comparers.ArraysComparer"> + <summary> + Comparator for two <see cref="T:System.Array"/>s. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.Comparers.CharsComparer"> + <summary> + Comparator for two <see cref="T:System.Char"/>s. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Comparers.ComparisonState.TopLevelComparison"> + <summary> + Flag indicating whether or not this is the top level comparison. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.Comparers.ComparisonState._comparisons"> + <summary> + A list of tracked comparisons + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.Comparers.DateTimeOffsetsComparer"> + <summary> + Comparator for two <see cref="T:System.DateTimeOffset"/>s. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.Comparers.DictionariesComparer"> + <summary> + Comparator for two <see cref="T:System.Collections.IDictionary"/>s. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.Comparers.DictionaryEntriesComparer"> + <summary> + Comparator for two <see cref="T:System.Collections.DictionaryEntry"/>s. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.Comparers.DirectoriesComparer"> + <summary> + Comparator for two <see cref="T:System.IO.DirectoryInfo"/>s. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.Comparers.EnumerablesComparer"> + <summary> + Comparator for two <see cref="T:System.Collections.IEnumerable"/>s. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.Comparers.EquatablesComparer"> + <summary> + Comparator for two types related by <see cref="T:System.IEquatable`1"/>. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.Comparers.IChainComparer"> + <summary> + Interface for comparing two <see cref="T:System.Object"/>s. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.Comparers.IChainComparer.Equal(System.Object,System.Object,NUnit.Framework.Constraints.Tolerance@,NUnit.Framework.Constraints.Comparers.ComparisonState)"> + <summary> + Method for comparing two objects with a tolerance. + </summary> + <param name="x">The first object to compare.</param> + <param name="y">The second object to compare.</param> + <param name="tolerance">The tolerance to use when comparing the objects.</param> + <param name="state">The evaluation state of the comparison.</param> + <returns> + <see langword="null"/> if the objects cannot be compared using the method. + Otherwise the result of the comparison is returned. + </returns> + </member> + <member name="T:NUnit.Framework.Constraints.Comparers.KeyValuePairsComparer"> + <summary> + Comparator for two <see cref="T:System.Collections.Generic.KeyValuePair`2"/>s. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.Comparers.NumericsComparer"> + <summary> + Comparator for two <see cref="T:NUnit.Framework.Constraints.Numerics"/>s. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.Comparers.StreamsComparer"> + <summary> + Comparator for two <see cref="T:System.IO.Stream"/>s. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.Comparers.StringsComparer"> + <summary> + Comparator for two <see cref="T:System.String"/>s. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.Comparers.StructuralComparer"> + <summary> + Comparator for two types related by <see cref="T:System.Collections.IStructuralEquatable"/>. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.Comparers.TimeSpanToleranceComparer"> + <summary> + Comparator for two <see cref="T:System.DateTime"/>s or <see cref="T:System.TimeSpan"/>s. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.Comparers.TupleComparer"> + <summary> + Comparator for two <c>Tuple</c>s. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.Comparers.TupleComparerBase"> + <summary> + Base class for comparators for tuples (both regular Tuples and ValueTuples). + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.Comparers.ValueTupleComparer"> + <summary> + Comparator for two <c>ValueTuple</c>s. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.ComparisonAdapter"> + <summary> + ComparisonAdapter class centralizes all comparisons of + values in NUnit, adapting to the use of any provided + <see cref="T:System.Collections.IComparer"/>, <see cref="T:System.Collections.Generic.IComparer`1"/> + or <see cref="T:System.Comparison`1"/>. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ComparisonAdapter.Default"> + <summary> + Gets the default ComparisonAdapter, which wraps an + NUnitComparer object. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ComparisonAdapter.For(System.Collections.IComparer)"> + <summary> + Returns a ComparisonAdapter that wraps an <see cref="T:System.Collections.IComparer"/> + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ComparisonAdapter.For``1(System.Collections.Generic.IComparer{``0})"> + <summary> + Returns a ComparisonAdapter that wraps an <see cref="T:System.Collections.Generic.IComparer`1"/> + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ComparisonAdapter.For``1(System.Comparison{``0})"> + <summary> + Returns a ComparisonAdapter that wraps a <see cref="T:System.Comparison`1"/> + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ComparisonAdapter.Compare(System.Object,System.Object)"> + <summary> + Compares two objects + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ComparisonAdapter.DefaultComparisonAdapter.#ctor"> + <summary> + Construct a default ComparisonAdapter + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ComparisonAdapter.ComparerAdapter.#ctor(System.Collections.IComparer)"> + <summary> + Construct a ComparisonAdapter for an <see cref="T:System.Collections.IComparer"/> + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ComparisonAdapter.ComparerAdapter.Compare(System.Object,System.Object)"> + <summary> + Compares two objects + </summary> + <param name="expected"></param> + <param name="actual"></param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Constraints.ComparisonAdapter.ComparerAdapter`1"> + <summary> + ComparerAdapter extends <see cref="T:NUnit.Framework.Constraints.ComparisonAdapter"/> and + allows use of an <see cref="T:System.Collections.Generic.IComparer`1"/> or <see cref="T:System.Comparison`1"/> + to actually perform the comparison. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ComparisonAdapter.ComparerAdapter`1.#ctor(System.Collections.Generic.IComparer{`0})"> + <summary> + Construct a ComparisonAdapter for an <see cref="T:System.Collections.Generic.IComparer`1"/> + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ComparisonAdapter.ComparerAdapter`1.Compare(System.Object,System.Object)"> + <summary> + Compare a Type T to an object + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ComparisonAdapter.ComparisonAdapterForComparison`1.#ctor(System.Comparison{`0})"> + <summary> + Construct a ComparisonAdapter for a <see cref="T:System.Comparison`1"/> + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ComparisonAdapter.ComparisonAdapterForComparison`1.Compare(System.Object,System.Object)"> + <summary> + Compare a Type T to an object + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.ComparisonConstraint"> + <summary> + Abstract base class for constraints that compare values to + determine if one is greater than, equal to or less than + the other. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.ComparisonConstraint._expected"> + <summary> + The value against which a comparison is to be made + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.ComparisonConstraint._tolerance"> + <summary> + Tolerance used in making the comparison + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.ComparisonConstraint._comparer"> + <summary> + ComparisonAdapter to be used in making the comparison + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ComparisonConstraint.#ctor(System.Object)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.ComparisonConstraint"/> class. + </summary> + <param name="expected">The value against which to make a comparison.</param> + </member> + <member name="M:NUnit.Framework.Constraints.ComparisonConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>A ConstraintResult</returns> + </member> + <member name="M:NUnit.Framework.Constraints.ComparisonConstraint.PerformComparison(NUnit.Framework.Constraints.ComparisonAdapter,System.Object,System.Object,NUnit.Framework.Constraints.Tolerance)"> + <summary> + Protected function overridden by derived class to actually perform the comparison + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ComparisonConstraint.Using(System.Collections.IComparer)"> + <summary> + Modifies the constraint to use an <see cref="T:System.Collections.IComparer"/> and returns self + </summary> + <param name="comparer">The comparer used for comparison tests</param> + <returns>A constraint modified to use the given comparer</returns> + </member> + <member name="M:NUnit.Framework.Constraints.ComparisonConstraint.Using``1(System.Collections.Generic.IComparer{``0})"> + <summary> + Modifies the constraint to use an <see cref="T:System.Collections.Generic.IComparer`1"/> and returns self + </summary> + <param name="comparer">The comparer used for comparison tests</param> + <returns>A constraint modified to use the given comparer</returns> + </member> + <member name="M:NUnit.Framework.Constraints.ComparisonConstraint.Using``1(System.Comparison{``0})"> + <summary> + Modifies the constraint to use a <see cref="T:System.Comparison`1"/> and returns self + </summary> + <param name="comparer">The comparer used for comparison tests</param> + <returns>A constraint modified to use the given comparer</returns> + </member> + <member name="M:NUnit.Framework.Constraints.ComparisonConstraint.Within(System.Object)"> + <summary> + Set the tolerance for use in this comparison + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ComparisonConstraint.Percent"> + <summary> + Switches the .Within() modifier to interpret its tolerance as + a percentage that the actual values is allowed to deviate from + the expected value. + </summary> + <returns>Self</returns> + </member> + <member name="M:NUnit.Framework.Constraints.ComparisonConstraint.DefaultDescription(System.String)"> + <summary> + Provides standard description of what the constraint tests + based on comparison text. + </summary> + <param name="comparisonText">Describes the comparison being tested, throws <see cref="T:System.ArgumentNullException"/> + if null</param> + <exception cref="T:System.ArgumentNullException">Is thrown when null passed to a method</exception> + </member> + <member name="T:NUnit.Framework.Constraints.ActualValueDelegate`1"> + <summary> + Delegate used to delay evaluation of the actual value + to be used in evaluating a constraint + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.Constraint"> + <summary> + The Constraint class is the base of all built-in constraints + within NUnit. It provides the operator overloads used to combine + constraints. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.Constraint.#ctor(System.Object[])"> + <summary> + Construct a constraint with optional arguments + </summary> + <param name="args">Arguments to be saved</param> + </member> + <member name="P:NUnit.Framework.Constraints.Constraint.DisplayName"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Constraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Constraint.Arguments"> + <summary> + Arguments provided to this Constraint, for use in + formatting the description. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Constraint.Builder"> + <summary> + The ConstraintBuilder holding this constraint + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.Constraint.ApplyTo``1(``0)"> + <summary> + Applies the constraint to an actual value, returning a ConstraintResult. + </summary> + <param name="actual">The value to be tested</param> + <returns>A ConstraintResult</returns> + </member> + <member name="M:NUnit.Framework.Constraints.Constraint.ApplyTo``1(NUnit.Framework.Constraints.ActualValueDelegate{``0})"> + <summary> + 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. + </summary> + <param name="del">An ActualValueDelegate</param> + <returns>A ConstraintResult</returns> + </member> + <member name="M:NUnit.Framework.Constraints.Constraint.ApplyTo``1(``0@)"> + <summary> + 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. + </summary> + <param name="actual">A reference to the value to be tested</param> + <returns>A ConstraintResult</returns> + </member> + <member name="M:NUnit.Framework.Constraints.Constraint.GetTestObject``1(NUnit.Framework.Constraints.ActualValueDelegate{``0})"> + <summary> + 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. + </summary> + <param name="del">An ActualValueDelegate</param> + <returns>Delegate evaluation result</returns> + </member> + <member name="M:NUnit.Framework.Constraints.Constraint.ToString"> + <summary> + Default override of ToString returns the constraint DisplayName + followed by any arguments within angle brackets. + </summary> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Constraints.Constraint.GetStringRepresentation"> + <summary> + Returns the string representation of this constraint + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.Constraint.op_BitwiseAnd(NUnit.Framework.Constraints.Constraint,NUnit.Framework.Constraints.Constraint)"> + <summary> + This operator creates a constraint that is satisfied only if both + argument constraints are satisfied. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.Constraint.op_BitwiseOr(NUnit.Framework.Constraints.Constraint,NUnit.Framework.Constraints.Constraint)"> + <summary> + This operator creates a constraint that is satisfied if either + of the argument constraints is satisfied. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.Constraint.op_LogicalNot(NUnit.Framework.Constraints.Constraint)"> + <summary> + This operator creates a constraint that is satisfied if the + argument constraint is not satisfied. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Constraint.And"> + <summary> + Returns a ConstraintExpression by appending And + to the current constraint. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Constraint.With"> + <summary> + Returns a ConstraintExpression by appending And + to the current constraint. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Constraint.Or"> + <summary> + Returns a ConstraintExpression by appending Or + to the current constraint. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.Constraint.After(System.Int32)"> + <summary> + Returns a DelayedConstraint.WithRawDelayInterval with the specified delay time. + </summary> + <param name="delay">The delay, which defaults to milliseconds.</param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Constraints.Constraint.After(System.Int32,System.Int32)"> + <summary> + Returns a DelayedConstraint with the specified delay time + and polling interval. + </summary> + <param name="delayInMilliseconds">The delay in milliseconds.</param> + <param name="pollingInterval">The interval at which to test the constraint.</param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Constraints.Constraint.NUnit#Framework#Constraints#IResolveConstraint#Resolve"> + <summary> + Resolves any pending operators and returns the resolved constraint. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.ConstraintBuilder"> + <summary> + 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. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.ConstraintBuilder.OperatorStack"> + <summary> + OperatorStack is a type-safe stack for holding ConstraintOperators + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.OperatorStack.#ctor(NUnit.Framework.Constraints.ConstraintBuilder)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.ConstraintBuilder.OperatorStack"/> class. + </summary> + <param name="builder">The ConstraintBuilder using this stack.</param> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintBuilder.OperatorStack.Empty"> + <summary> + Gets a value indicating whether this <see cref="T:NUnit.Framework.Constraints.ConstraintBuilder.OperatorStack"/> is empty. + </summary> + <value><see langword="true"/> if empty; otherwise, <see langword="false"/>.</value> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintBuilder.OperatorStack.Top"> + <summary> + Gets the topmost operator without modifying the stack. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.OperatorStack.Push(NUnit.Framework.Constraints.ConstraintOperator)"> + <summary> + Pushes the specified operator onto the stack. + </summary> + <param name="op">The operator to put onto the stack.</param> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.OperatorStack.Pop"> + <summary> + Pops the topmost operator from the stack. + </summary> + <returns>The topmost operator on the stack</returns> + </member> + <member name="T:NUnit.Framework.Constraints.ConstraintBuilder.ConstraintStack"> + <summary> + ConstraintStack is a type-safe stack for holding Constraints + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.ConstraintStack.#ctor(NUnit.Framework.Constraints.ConstraintBuilder)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.ConstraintBuilder.ConstraintStack"/> class. + </summary> + <param name="builder">The ConstraintBuilder using this stack.</param> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintBuilder.ConstraintStack.Empty"> + <summary> + Gets a value indicating whether this <see cref="T:NUnit.Framework.Constraints.ConstraintBuilder.ConstraintStack"/> is empty. + </summary> + <value><see langword="true"/> if empty; otherwise, <see langword="false"/>.</value> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.ConstraintStack.Push(NUnit.Framework.Constraints.IConstraint)"> + <summary> + Pushes the specified constraint. As a side effect, + the constraint's Builder field is set to the + ConstraintBuilder owning this stack. + </summary> + <param name="constraint">The constraint to put onto the stack</param> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.ConstraintStack.Pop"> + <summary> + Pops this topmost constraint from the stack. + As a side effect, the constraint's Builder + field is set to null. + </summary> + <returns>The topmost constraint on the stack</returns> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.ConstraintBuilder"/> class. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.Append(NUnit.Framework.Constraints.ConstraintOperator)"> + <summary> + Appends the specified operator to the expression by first + reducing the operator stack and then pushing the new + operator on the stack. + </summary> + <param name="op">The operator to push.</param> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.Append(NUnit.Framework.Constraints.Constraint)"> + <summary> + Appends the specified constraint to the expression by pushing + it on the constraint stack. + </summary> + <param name="constraint">The constraint to push.</param> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.SetTopOperatorRightContext(System.Object)"> + <summary> + Sets the top operator right context. + </summary> + <param name="rightContext">The right context.</param> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.ReduceOperatorStack(System.Int32)"> + <summary> + Reduces the operator stack until the topmost item + precedence is greater than or equal to the target precedence. + </summary> + <param name="targetPrecedence">The target precedence.</param> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.Resolve"> + <summary> + Resolves this instance, returning a Constraint. If the Builder + is not currently in a resolvable state, an exception is thrown. + </summary> + <returns>The resolved constraint</returns> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintBuilder.IsResolvable"> + <summary> + Gets a value indicating whether this instance is resolvable. + </summary> + <value> + <see langword="true"/> if this instance is resolvable; otherwise, <see langword="false"/>. + </value> + </member> + <member name="T:NUnit.Framework.Constraints.ConstraintExpression"> + <summary> + 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. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.ConstraintExpression.builder"> + <summary> + The ConstraintBuilder holding the elements recognized so far + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.ConstraintExpression"/> class. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.#ctor(NUnit.Framework.Constraints.ConstraintBuilder)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.ConstraintExpression"/> + class passing in a ConstraintBuilder, which may be pre-populated. + </summary> + <param name="builder">The builder.</param> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.ToString"> + <summary> + 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. + </summary> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Append(NUnit.Framework.Constraints.ConstraintOperator)"> + <summary> + Appends an operator to the expression and returns the + resulting expression itself. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Append(NUnit.Framework.Constraints.SelfResolvingOperator)"> + <summary> + Appends a self-resolving operator to the expression and + returns a new ResolvableConstraintExpression. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Append(NUnit.Framework.Constraints.Constraint)"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.Not"> + <summary> + Returns a ConstraintExpression that negates any + following constraint. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.No"> + <summary> + Returns a ConstraintExpression that negates any + following constraint. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.All"> + <summary> + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.Some"> + <summary> + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if at least one of them succeeds. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.None"> + <summary> + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them fail. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Exactly(System.Int32)"> + <summary> + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding only if a specified number of them succeed. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.One"> + <summary> + Returns a <see cref="T:NUnit.Framework.Constraints.ItemsConstraintExpression"/>, which will + apply the following constraint to a collection of length one, succeeding + only if exactly one of them succeeds. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Property(System.String)"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.Length"> + <summary> + Returns a new ConstraintExpression, which will apply the following + constraint to the Length property of the object being tested. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.Count"> + <summary> + Returns a new ConstraintExpression, which will apply the following + constraint to the Count property of the object being tested. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.Message"> + <summary> + Returns a new ConstraintExpression, which will apply the following + constraint to the Message property of the object being tested. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.InnerException"> + <summary> + Returns a new ConstraintExpression, which will apply the following + constraint to the InnerException property of the object being tested. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Attribute(System.Type)"> + <summary> + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Attribute``1"> + <summary> + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.With"> + <summary> + With is currently a NOP - reserved for future use. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Matches(NUnit.Framework.Constraints.IResolveConstraint)"> + <summary> + Returns the constraint provided as an argument - used to allow custom + custom constraints to easily participate in the syntax. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Matches``1(System.Predicate{``0})"> + <summary> + Returns the constraint provided as an argument - used to allow custom + custom constraints to easily participate in the syntax. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.Null"> + <summary> + Returns a constraint that tests for null + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.True"> + <summary> + Returns a constraint that tests for True + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.False"> + <summary> + Returns a constraint that tests for False + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.Positive"> + <summary> + Returns a constraint that tests for a positive value + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.Negative"> + <summary> + Returns a constraint that tests for a negative value + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.Zero"> + <summary> + Returns a constraint that tests if item is equal to zero + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.NaN"> + <summary> + Returns a constraint that tests for NaN + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.Empty"> + <summary> + Returns a constraint that tests for empty + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.Unique"> + <summary> + Returns a constraint that tests whether a collection + contains all unique items. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.BinarySerializable"> + <summary> + Returns a constraint that tests whether an object graph is serializable in binary format. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.XmlSerializable"> + <summary> + Returns a constraint that tests whether an object graph is serializable in XML format. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.EqualTo(System.Object)"> + <summary> + Returns a constraint that tests two items for equality + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.SameAs(System.Object)"> + <summary> + Returns a constraint that tests that two references are the same object + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.GreaterThan(System.Object)"> + <summary> + Returns a constraint that tests whether the + actual value is greater than the supplied argument + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.GreaterThanOrEqualTo(System.Object)"> + <summary> + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.AtLeast(System.Object)"> + <summary> + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.LessThan(System.Object)"> + <summary> + Returns a constraint that tests whether the + actual value is less than the supplied argument + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.LessThanOrEqualTo(System.Object)"> + <summary> + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.AtMost(System.Object)"> + <summary> + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.TypeOf(System.Type)"> + <summary> + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.TypeOf``1"> + <summary> + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.InstanceOf(System.Type)"> + <summary> + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.InstanceOf``1"> + <summary> + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.AssignableFrom(System.Type)"> + <summary> + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.AssignableFrom``1"> + <summary> + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.AssignableTo(System.Type)"> + <summary> + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.AssignableTo``1"> + <summary> + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.EquivalentTo(System.Collections.IEnumerable)"> + <summary> + Returns a constraint that tests whether the actual value + is a collection containing the same elements as the + collection supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.SubsetOf(System.Collections.IEnumerable)"> + <summary> + Returns a constraint that tests whether the actual value + is a subset of the collection supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.SupersetOf(System.Collections.IEnumerable)"> + <summary> + Returns a constraint that tests whether the actual value + is a superset of the collection supplied as an argument. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.Ordered"> + <summary> + Returns a constraint that tests whether a collection is ordered + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Member(System.Object)"> + <summary> + Returns a new <see cref="T:NUnit.Framework.Constraints.SomeItemsConstraint"/> checking for the + presence of a particular object in the collection. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Contains(System.Object)"> + <summary> + <para> + Returns a new <see cref="T:NUnit.Framework.Constraints.SomeItemsConstraint"/> checking for the + presence of a particular object in the collection. + </para> + <para> + To search for a substring instead of a collection element, use the + <see cref="M:NUnit.Framework.Constraints.ConstraintExpression.Contains(System.String)"/> overload. + </para> + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Contains(System.String)"> + <summary> + <para> + 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. + </para> + <para> + To search for a collection element instead of a substring, use the + <see cref="M:NUnit.Framework.Constraints.ConstraintExpression.Contains(System.Object)"/> overload. + </para> + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Contain(System.Object)"> + <summary> + Returns a new <see cref="T:NUnit.Framework.Constraints.SomeItemsConstraint"/> checking for the + presence of a particular object in the collection. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Contain(System.String)"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.ContainKey(System.Object)"> + <summary> + Returns a new DictionaryContainsKeyConstraint checking for the + presence of a particular key in the Dictionary key collection. + </summary> + <param name="expected">The key to be matched in the Dictionary key collection</param> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.ContainValue(System.Object)"> + <summary> + Returns a new DictionaryContainsValueConstraint checking for the + presence of a particular value in the Dictionary value collection. + </summary> + <param name="expected">The value to be matched in the Dictionary value collection</param> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.StringContaining(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.ContainsSubstring(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.StartWith(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.StartsWith(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.StringStarting(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.EndWith(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.EndsWith(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.StringEnding(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Match(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Match(System.Text.RegularExpressions.Regex)"> + <summary> + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Matches(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Matches(System.Text.RegularExpressions.Regex)"> + <summary> + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.StringMatching(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.SamePath(System.String)"> + <summary> + Returns a constraint that tests whether the path provided + is the same as an expected path after canonicalization. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.SubPathOf(System.String)"> + <summary> + Returns a constraint that tests whether the path provided + is the a subpath of the expected path after canonicalization. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.SamePathOrUnder(System.String)"> + <summary> + Returns a constraint that tests whether the path provided + is the same path or under an expected path after canonicalization. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.InRange(System.Object,System.Object)"> + <summary> + Returns a constraint that tests whether the actual value falls + inclusively within a specified range. + </summary> + <param name="from">Inclusive beginning of the range.</param> + <param name="to">Inclusive end of the range.</param> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.Exist"> + <summary> + Returns a constraint that succeeds if the value + is a file or directory and it exists. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.AnyOf(System.Object[])"> + <summary> + Returns a constraint that tests if an item is equal to any of parameters + </summary> + <param name="expected">Expected values</param> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.ItemAt(System.Object[])"> + <summary> + Returns a new IndexerConstraintExpression, which will + apply any following constraint to that indexer value. + </summary> + <param name="indexArgs">Index accessor values.</param> + </member> + <member name="T:NUnit.Framework.Constraints.ConstraintStatus"> + <summary> + ConstraintStatus represents the status of a ConstraintResult + returned by a Constraint being applied to an actual value. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.ConstraintStatus.Unknown"> + <summary> + The status has not yet been set + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.ConstraintStatus.Success"> + <summary> + The constraint succeeded + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.ConstraintStatus.Failure"> + <summary> + The constraint failed + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.ConstraintStatus.Error"> + <summary> + An error occurred in applying the constraint (reserved for future use) + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.ConstraintResult"> + <summary> + Contains the result of matching a <see cref="T:NUnit.Framework.Constraints.Constraint"/> against an actual value. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintResult.#ctor(NUnit.Framework.Constraints.IConstraint,System.Object)"> + <summary> + Constructs a <see cref="T:NUnit.Framework.Constraints.ConstraintResult"/> for a particular <see cref="T:NUnit.Framework.Constraints.Constraint"/>. + </summary> + <param name="constraint">The Constraint to which this result applies.</param> + <param name="actualValue">The actual value to which the Constraint was applied.</param> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintResult.#ctor(NUnit.Framework.Constraints.IConstraint,System.Object,NUnit.Framework.Constraints.ConstraintStatus)"> + <summary> + Constructs a <see cref="T:NUnit.Framework.Constraints.ConstraintResult"/> for a particular <see cref="T:NUnit.Framework.Constraints.Constraint"/>. + </summary> + <param name="constraint">The Constraint to which this result applies.</param> + <param name="actualValue">The actual value to which the Constraint was applied.</param> + <param name="status">The status of the new ConstraintResult.</param> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintResult.#ctor(NUnit.Framework.Constraints.IConstraint,System.Object,System.Boolean)"> + <summary> + Constructs a <see cref="T:NUnit.Framework.Constraints.ConstraintResult"/> for a particular <see cref="T:NUnit.Framework.Constraints.Constraint"/>. + </summary> + <param name="constraint">The Constraint to which this result applies.</param> + <param name="actualValue">The actual value to which the Constraint was applied.</param> + <param name="isSuccess">If true, applies a status of Success to the result, otherwise Failure.</param> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintResult.ActualValue"> + <summary> + The actual value that was passed to the <see cref="M:NUnit.Framework.Constraints.Constraint.ApplyTo``1(``0)"/> method. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintResult.Status"> + <summary> + Gets and sets the ResultStatus for this result. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintResult.IsSuccess"> + <summary> + True if actual value meets the Constraint criteria otherwise false. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintResult.Name"> + <summary> + Display friendly name of the constraint. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintResult.Description"> + <summary> + Description of the constraint may be affected by the state the constraint had + when <see cref="M:NUnit.Framework.Constraints.Constraint.ApplyTo``1(``0)"/> was performed against the actual value. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintResult.WriteMessageTo(NUnit.Framework.Constraints.MessageWriter)"> + <summary> + 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. + </summary> + <param name="writer">The MessageWriter on which to display the message</param> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintResult.WriteAdditionalLinesTo(NUnit.Framework.Constraints.MessageWriter)"> + <summary> + Write some additional failure message. + </summary> + <param name="writer">The MessageWriter on which to display the message</param> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintResult.WriteActualValueTo(NUnit.Framework.Constraints.MessageWriter)"> + <summary> + 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. + </summary> + <param name="writer">The writer on which the actual value is displayed</param> + </member> + <member name="T:NUnit.Framework.Constraints.ContainsConstraint"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ContainsConstraint.#ctor(System.Object)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.ContainsConstraint"/> class. + </summary> + <param name="expected">The expected value contained within the string/collection.</param> + </member> + <member name="P:NUnit.Framework.Constraints.ContainsConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ContainsConstraint.IgnoreCase"> + <summary> + Flag the constraint to ignore case and return self. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ContainsConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="T:NUnit.Framework.Constraints.CountZeroConstraint"> + <summary> + CountZeroConstraint tests whether an instance has a property .Count with value zero. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.CountZeroConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CountZeroConstraint.HasCountProperty(System.Type)"> + <summary> + Checks if the specified <paramref name="type"/> has a int Count property. + </summary> + <param name="type">Type to check.</param> + <returns><see langword="true"/> when <paramref name="type"/> has a 'int Count' property, <see langword="false"/> otherwise.</returns> + </member> + <member name="M:NUnit.Framework.Constraints.CountZeroConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="T:NUnit.Framework.Constraints.DateTimes"> + <summary> + The DateTimes class contains common operations on Date and Time values. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.DelayedConstraint"> + <summary> + Applies a delay to the match so that a match can be evaluated in the future. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.DelayedConstraint.WithRawDelayInterval"> + <summary> + Allows only changing the time dimension of delay interval and setting a polling interval of a DelayedConstraint + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.DelayedConstraint.WithRawDelayInterval.#ctor(NUnit.Framework.Constraints.DelayedConstraint)"> + <summary> + Creates a new DelayedConstraint.WithRawDelayInterval + </summary> + <param name="parent">Parent DelayedConstraint on which delay interval dimension is required to be set</param> + </member> + <member name="P:NUnit.Framework.Constraints.DelayedConstraint.WithRawDelayInterval.Minutes"> + <summary> + Changes delay interval dimension to minutes + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.DelayedConstraint.WithRawDelayInterval.Seconds"> + <summary> + Changes delay interval dimension to seconds + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.DelayedConstraint.WithRawDelayInterval.MilliSeconds"> + <summary> + Changes delay interval dimension to milliseconds + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.DelayedConstraint.WithRawDelayInterval.PollEvery(System.Int32)"> + <summary> + Set polling interval, in milliseconds + </summary> + <param name="milliSeconds">A time interval, in milliseconds</param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Constraints.DelayedConstraint.WithDimensionedDelayInterval"> + <summary> + Allows only setting the polling interval of a DelayedConstraint + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.DelayedConstraint.WithDimensionedDelayInterval.#ctor(NUnit.Framework.Constraints.DelayedConstraint)"> + <summary> + Creates a new DelayedConstraint.WithDimensionedDelayInterval + </summary> + <param name="parent">Parent DelayedConstraint on which polling interval is required to be set</param> + </member> + <member name="M:NUnit.Framework.Constraints.DelayedConstraint.WithDimensionedDelayInterval.PollEvery(System.Int32)"> + <summary> + Set polling interval, in milliseconds + </summary> + <param name="milliSeconds">A time interval, in milliseconds</param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Constraints.DelayedConstraint.WithRawPollingInterval"> + <summary> + Allows only changing the time dimension of the polling interval of a DelayedConstraint + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.DelayedConstraint.WithRawPollingInterval.#ctor(NUnit.Framework.Constraints.DelayedConstraint)"> + <summary> + Creates a new DelayedConstraint.WithRawPollingInterval + </summary> + <param name="parent">Parent DelayedConstraint on which polling dimension is required to be set</param> + </member> + <member name="P:NUnit.Framework.Constraints.DelayedConstraint.WithRawPollingInterval.Minutes"> + <summary> + Changes polling interval dimension to minutes + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.DelayedConstraint.WithRawPollingInterval.Seconds"> + <summary> + Changes polling interval dimension to seconds + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.DelayedConstraint.WithRawPollingInterval.MilliSeconds"> + <summary> + Changes polling interval dimension to milliseconds + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.DelayedConstraint.DelayInterval"> + <summary> + Delay value store as an Interval object + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.DelayedConstraint.PollingInterval"> + <summary> + Polling value stored as an Interval object + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.DelayedConstraint.#ctor(NUnit.Framework.Constraints.IConstraint,System.Int32)"> + <summary> + Creates a new DelayedConstraint + </summary> + <param name="baseConstraint">The inner constraint to decorate</param> + <param name="delayInMilliseconds">The time interval after which the match is performed</param> + <exception cref="T:System.InvalidOperationException">If the value of <paramref name="delayInMilliseconds"/> is less than 0</exception> + </member> + <member name="M:NUnit.Framework.Constraints.DelayedConstraint.#ctor(NUnit.Framework.Constraints.IConstraint,System.Int32,System.Int32)"> + <summary> + Creates a new DelayedConstraint + </summary> + <param name="baseConstraint">The inner constraint to decorate</param> + <param name="delayInMilliseconds">The time interval after which the match is performed, in milliseconds</param> + <param name="pollingIntervalInMilliseconds">The time interval used for polling, in milliseconds</param> + <exception cref="T:System.InvalidOperationException">If the value of <paramref name="delayInMilliseconds"/> is less than 0</exception> + </member> + <member name="P:NUnit.Framework.Constraints.DelayedConstraint.Description"> + <summary> + Gets text describing a constraint + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.DelayedConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for if the base constraint fails, false if it succeeds</returns> + </member> + <member name="M:NUnit.Framework.Constraints.DelayedConstraint.ApplyTo``1(NUnit.Framework.Constraints.ActualValueDelegate{``0})"> + <summary> + Test whether the constraint is satisfied by a delegate + </summary> + <param name="del">The delegate whose value is to be tested</param> + <returns>A ConstraintResult</returns> + </member> + <member name="M:NUnit.Framework.Constraints.DelayedConstraint.ApplyTo``1(``0@)"> + <summary> + 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. + </summary> + <param name="actual">A reference to the value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="M:NUnit.Framework.Constraints.DelayedConstraint.GetStringRepresentation"> + <summary> + Returns the string representation of the constraint. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.DelayedConstraint.TimestampOffset(System.Int64,System.TimeSpan)"> + <summary> + Adjusts a Timestamp by a given TimeSpan + </summary> + <param name="timestamp"></param> + <param name="offset"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Constraints.DelayedConstraint.TimestampDiff(System.Int64,System.Int64)"> + <summary> + Returns the difference between two Timestamps as a TimeSpan + </summary> + <param name="timestamp1"></param> + <param name="timestamp2"></param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Constraints.DictionaryContainsKeyConstraint"> + <summary> + DictionaryContainsKeyConstraint is used to test whether a dictionary + contains an expected object as a key. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.DictionaryContainsKeyConstraint.#ctor(System.Object)"> + <summary> + Construct a DictionaryContainsKeyConstraint + </summary> + <param name="expected"></param> + </member> + <member name="P:NUnit.Framework.Constraints.DictionaryContainsKeyConstraint.DisplayName"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.DictionaryContainsKeyConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.DictionaryContainsKeyConstraint.Expected"> + <summary> + Gets the expected object + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.DictionaryContainsKeyConstraint.WithValue(System.Object)"> + <summary> + Returns a new DictionaryContainsKeyValuePairConstraint checking for the + presence of a particular key-value-pair in the dictionary. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.DictionaryContainsKeyConstraint.IgnoreCase"> + <summary> + Flag the constraint to ignore case and return self. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.DictionaryContainsKeyConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + </member> + <member name="M:NUnit.Framework.Constraints.DictionaryContainsKeyConstraint.Matches(System.Collections.IEnumerable)"> + <summary> + Test whether the expected key is contained in the dictionary + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.DictionaryContainsKeyConstraint.Using``2(System.Func{``0,``1,System.Boolean})"> + <summary> + Flag the constraint to use the supplied predicate function + </summary> + <param name="comparison">The comparison function to use.</param> + </member> + <member name="M:NUnit.Framework.Constraints.DictionaryContainsKeyConstraint.Using``1(System.Comparison{``0})"> + <summary> + Flag the constraint to use the supplied Comparison object. + </summary> + <param name="comparison">The Comparison object to use.</param> + </member> + <member name="M:NUnit.Framework.Constraints.DictionaryContainsKeyConstraint.Using(System.Collections.IComparer)"> + <summary> + Flag the constraint to use the supplied IComparer object. + </summary> + <param name="comparer">The IComparer object to use.</param> + </member> + <member name="M:NUnit.Framework.Constraints.DictionaryContainsKeyConstraint.Using``1(System.Collections.Generic.IComparer{``0})"> + <summary> + Flag the constraint to use the supplied IComparer object. + </summary> + <param name="comparer">The IComparer object to use.</param> + </member> + <member name="M:NUnit.Framework.Constraints.DictionaryContainsKeyConstraint.Using(System.Collections.IEqualityComparer)"> + <summary> + Flag the constraint to use the supplied IEqualityComparer object. + </summary> + <param name="comparer">The IComparer object to use.</param> + </member> + <member name="M:NUnit.Framework.Constraints.DictionaryContainsKeyConstraint.Using``1(System.Collections.Generic.IEqualityComparer{``0})"> + <summary> + Flag the constraint to use the supplied IEqualityComparer object. + </summary> + <param name="comparer">The IComparer object to use.</param> + </member> + <member name="M:NUnit.Framework.Constraints.DictionaryContainsKeyConstraint.Using``1(System.Func{``0,``0,System.Boolean})"> + <summary> + Flag the constraint to use the supplied boolean-returning delegate. + </summary> + <param name="comparer">The supplied boolean-returning delegate to use.</param> + </member> + <member name="T:NUnit.Framework.Constraints.DictionaryContainsKeyValuePairConstraint"> + <summary> + DictionaryContainsKeyValuePairConstraint is used to test whether a dictionary + contains an expected object as a key-value-pair. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.DictionaryContainsKeyValuePairConstraint.#ctor(System.Object,System.Object)"> + <summary> + Construct a DictionaryContainsKeyValuePairConstraint + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.DictionaryContainsKeyValuePairConstraint.DisplayName"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.DictionaryContainsKeyValuePairConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.DictionaryContainsKeyValuePairConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + </member> + <member name="M:NUnit.Framework.Constraints.DictionaryContainsKeyValuePairConstraint.Matches(System.Collections.IEnumerable)"> + <summary> + Test whether the expected key is contained in the dictionary + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.DictionaryContainsValueConstraint"> + <summary> + DictionaryContainsValueConstraint is used to test whether a dictionary + contains an expected object as a value. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.DictionaryContainsValueConstraint.#ctor(System.Object)"> + <summary> + Construct a DictionaryContainsValueConstraint + </summary> + <param name="expected"></param> + </member> + <member name="P:NUnit.Framework.Constraints.DictionaryContainsValueConstraint.DisplayName"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.DictionaryContainsValueConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.DictionaryContainsValueConstraint.Expected"> + <summary> + Gets the expected object + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.DictionaryContainsValueConstraint.Matches(System.Collections.IEnumerable)"> + <summary> + Test whether the expected value is contained in the dictionary + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.DictionaryContainsValueConstraint.Using``2(System.Func{``0,``1,System.Boolean})"> + <summary> + Flag the constraint to use the supplied predicate function + </summary> + <param name="comparison">The comparison function to use.</param> + <returns>Self.</returns> + </member> + <member name="T:NUnit.Framework.Constraints.EachItemConstraintResult"> + <summary> + Provides a <see cref="T:NUnit.Framework.Constraints.ConstraintResult"/> for the constraints + that are applied to each item in the collection + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EachItemConstraintResult.#ctor(NUnit.Framework.Constraints.IConstraint,System.Object,System.Object,System.Int32)"> + <summary> + Constructs a <see cref="T:NUnit.Framework.Constraints.EachItemConstraintResult" /> for a particular <see cref="T:NUnit.Framework.Constraints.Constraint" /> + Only used for Failure + </summary> + <param name="constraint">The Constraint to which this result applies</param> + <param name="actualValue">The actual value to which the Constraint was applied</param> + <param name="nonMatchingItem">Actual item that does not match expected condition</param> + <param name="nonMatchingIndex">Non matching item index</param> + </member> + <member name="M:NUnit.Framework.Constraints.EachItemConstraintResult.WriteAdditionalLinesTo(NUnit.Framework.Constraints.MessageWriter)"> + <summary> + Write constraint description, actual items, and non-matching item + </summary> + <param name="writer">The MessageWriter on which to display the message</param> + </member> + <member name="T:NUnit.Framework.Constraints.EmptyCollectionConstraint"> + <summary> + EmptyCollectionConstraint tests whether a collection is empty. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.EmptyCollectionConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EmptyCollectionConstraint.Matches(System.Collections.IEnumerable)"> + <summary> + Check that the collection is empty + </summary> + <param name="collection"></param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Constraints.EmptyConstraint"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.EmptyConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EmptyConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="T:NUnit.Framework.Constraints.EmptyDirectoryConstraint"> + <summary> + EmptyDirectoryConstraint is used to test that a directory is empty + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.EmptyDirectoryConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EmptyDirectoryConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="T:NUnit.Framework.Constraints.EmptyGuidConstraint"> + <summary> + EmptyGuidConstraint tests whether a Guid is empty. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.EmptyGuidConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EmptyGuidConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="T:NUnit.Framework.Constraints.EmptyStringConstraint"> + <summary> + EmptyStringConstraint tests whether a string is empty. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.EmptyStringConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EmptyStringConstraint.Matches(System.String)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="T:NUnit.Framework.Constraints.EndsWithConstraint"> + <summary> + EndsWithConstraint can test whether a string ends + with an expected substring. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EndsWithConstraint.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.EndsWithConstraint"/> class. + </summary> + <param name="expected">The expected string</param> + </member> + <member name="M:NUnit.Framework.Constraints.EndsWithConstraint.Matches(System.String)"> + <summary> + Test whether the constraint is matched by the actual value. + This is a template method, which calls the IsMatch method + of the derived class. + </summary> + <param name="actual"></param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Constraints.EqualConstraint"> + <summary> + 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. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.EqualConstraint._comparer"> + <summary> + NUnitEqualityComparer used to test equality. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EqualConstraint.#ctor(System.Object)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.EqualConstraint"/> class. + </summary> + <param name="expected">The expected value.</param> + </member> + <member name="P:NUnit.Framework.Constraints.EqualConstraint.Tolerance"> + <summary> + Gets the tolerance for this comparison. + </summary> + <value> + The tolerance. + </value> + </member> + <member name="P:NUnit.Framework.Constraints.EqualConstraint.CaseInsensitive"> + <summary> + Gets a value indicating whether to compare case insensitive. + </summary> + <value> + <see langword="true"/> if comparing case insensitive; otherwise, <see langword="false"/>. + </value> + </member> + <member name="P:NUnit.Framework.Constraints.EqualConstraint.ClipStrings"> + <summary> + Gets a value indicating whether or not to clip strings. + </summary> + <value> + <see langword="true"/> if set to clip strings otherwise, <see langword="false"/>. + </value> + </member> + <member name="P:NUnit.Framework.Constraints.EqualConstraint.FailurePoints"> + <summary> + Gets the failure points. + </summary> + <value> + The failure points. + </value> + </member> + <member name="P:NUnit.Framework.Constraints.EqualConstraint.IgnoreCase"> + <summary> + Flag the constraint to ignore case and return self. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.EqualConstraint.NoClip"> + <summary> + Flag the constraint to suppress string clipping + and return self. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.EqualConstraint.AsCollection"> + <summary> + Flag the constraint to compare arrays as collections + and return self. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EqualConstraint.Within(System.Object)"> + <summary> + Flag the constraint to use a tolerance when determining equality. + </summary> + <param name="amount">Tolerance value to be used</param> + <returns>Self.</returns> + </member> + <member name="P:NUnit.Framework.Constraints.EqualConstraint.WithSameOffset"> + <summary> + Flags the constraint to include <see cref="P:System.DateTimeOffset.Offset"/> + property in comparison of two <see cref="T:System.DateTimeOffset"/> values. + </summary> + <remarks> + Using this modifier does not allow to use the <see cref="M:NUnit.Framework.Constraints.EqualConstraint.Within(System.Object)"/> + constraint modifier. + </remarks> + </member> + <member name="P:NUnit.Framework.Constraints.EqualConstraint.Ulps"> + <summary> + Switches the .Within() modifier to interpret its tolerance as + a distance in representable values (see remarks). + </summary> + <returns>Self.</returns> + <remarks> + 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. + </remarks> + </member> + <member name="P:NUnit.Framework.Constraints.EqualConstraint.Percent"> + <summary> + Switches the .Within() modifier to interpret its tolerance as + a percentage that the actual values is allowed to deviate from + the expected value. + </summary> + <returns>Self</returns> + </member> + <member name="P:NUnit.Framework.Constraints.EqualConstraint.Days"> + <summary> + Causes the tolerance to be interpreted as a TimeSpan in days. + </summary> + <returns>Self</returns> + </member> + <member name="P:NUnit.Framework.Constraints.EqualConstraint.Hours"> + <summary> + Causes the tolerance to be interpreted as a TimeSpan in hours. + </summary> + <returns>Self</returns> + </member> + <member name="P:NUnit.Framework.Constraints.EqualConstraint.Minutes"> + <summary> + Causes the tolerance to be interpreted as a TimeSpan in minutes. + </summary> + <returns>Self</returns> + </member> + <member name="P:NUnit.Framework.Constraints.EqualConstraint.Seconds"> + <summary> + Causes the tolerance to be interpreted as a TimeSpan in seconds. + </summary> + <returns>Self</returns> + </member> + <member name="P:NUnit.Framework.Constraints.EqualConstraint.Milliseconds"> + <summary> + Causes the tolerance to be interpreted as a TimeSpan in milliseconds. + </summary> + <returns>Self</returns> + </member> + <member name="P:NUnit.Framework.Constraints.EqualConstraint.Ticks"> + <summary> + Causes the tolerance to be interpreted as a TimeSpan in clock ticks. + </summary> + <returns>Self</returns> + </member> + <member name="M:NUnit.Framework.Constraints.EqualConstraint.Using(System.Collections.IComparer)"> + <summary> + Flag the constraint to use the supplied IComparer object. + </summary> + <param name="comparer">The IComparer object to use.</param> + <returns>Self.</returns> + </member> + <member name="M:NUnit.Framework.Constraints.EqualConstraint.Using``1(System.Collections.Generic.IComparer{``0})"> + <summary> + Flag the constraint to use the supplied IComparer object. + </summary> + <param name="comparer">The IComparer object to use.</param> + <returns>Self.</returns> + </member> + <member name="M:NUnit.Framework.Constraints.EqualConstraint.Using``1(System.Func{``0,``0,System.Boolean})"> + <summary> + Flag the constraint to use the supplied boolean-returning delegate. + </summary> + <param name="comparer">The boolean-returning delegate to use.</param> + <returns>Self.</returns> + </member> + <member name="M:NUnit.Framework.Constraints.EqualConstraint.Using``1(System.Comparison{``0})"> + <summary> + Flag the constraint to use the supplied Comparison object. + </summary> + <param name="comparer">The IComparer object to use.</param> + <returns>Self.</returns> + </member> + <member name="M:NUnit.Framework.Constraints.EqualConstraint.Using(System.Collections.IEqualityComparer)"> + <summary> + Flag the constraint to use the supplied IEqualityComparer object. + </summary> + <param name="comparer">The IComparer object to use.</param> + <returns>Self.</returns> + </member> + <member name="M:NUnit.Framework.Constraints.EqualConstraint.Using``1(System.Collections.Generic.IEqualityComparer{``0})"> + <summary> + Flag the constraint to use the supplied IEqualityComparer object. + </summary> + <param name="comparer">The IComparer object to use.</param> + <returns>Self.</returns> + </member> + <member name="M:NUnit.Framework.Constraints.EqualConstraint.Using``2(System.Func{``0,``1,System.Boolean})"> + <summary> + Flag the constraint to use the supplied predicate function + </summary> + <param name="comparison">The comparison function to use.</param> + <returns>Self.</returns> + </member> + <member name="M:NUnit.Framework.Constraints.EqualConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="P:NUnit.Framework.Constraints.EqualConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.EqualConstraintResult"> + <summary> + The EqualConstraintResult class is tailored for formatting + and displaying the result of an EqualConstraint. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EqualConstraintResult.#ctor(NUnit.Framework.Constraints.EqualConstraint,System.Object,System.Boolean)"> + <summary> + Construct an EqualConstraintResult + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EqualConstraintResult.WriteMessageTo(NUnit.Framework.Constraints.MessageWriter)"> + <summary> + Write a failure message. Overridden to provide custom + failure messages for EqualConstraint. + </summary> + <param name="writer">The MessageWriter to write to</param> + </member> + <member name="M:NUnit.Framework.Constraints.EqualConstraintResult.DisplayCollectionDifferences(NUnit.Framework.Constraints.MessageWriter,System.Collections.ICollection,System.Collections.ICollection,System.Int32)"> + <summary> + Display the failure information for two collections that did not match. + </summary> + <param name="writer">The MessageWriter on which to display</param> + <param name="expected">The expected collection.</param> + <param name="actual">The actual collection</param> + <param name="depth">The depth of this failure in a set of nested collections</param> + </member> + <member name="M:NUnit.Framework.Constraints.EqualConstraintResult.DisplayTypesAndSizes(NUnit.Framework.Constraints.MessageWriter,System.Collections.IEnumerable,System.Collections.IEnumerable,System.Int32)"> + <summary> + 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. + </summary> + <param name="writer">The MessageWriter on which to display</param> + <param name="expected">The expected collection or array</param> + <param name="actual">The actual collection or array</param> + <param name="indent">The indentation level for the message line</param> + </member> + <member name="M:NUnit.Framework.Constraints.EqualConstraintResult.DisplayFailurePoint(NUnit.Framework.Constraints.MessageWriter,System.Collections.IEnumerable,System.Collections.IEnumerable,NUnit.Framework.Constraints.NUnitEqualityComparer.FailurePoint,System.Int32)"> + <summary> + 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. + </summary> + <param name="writer">The MessageWriter on which to display</param> + <param name="expected">The expected array</param> + <param name="actual">The actual array</param> + <param name="failurePoint">Index of the failure point in the underlying collections</param> + <param name="indent">The indentation level for the message line</param> + </member> + <member name="M:NUnit.Framework.Constraints.EqualConstraintResult.DisplayEnumerableDifferences(NUnit.Framework.Constraints.MessageWriter,System.Collections.IEnumerable,System.Collections.IEnumerable,System.Int32)"> + <summary> + Display the failure information for two IEnumerables that did not match. + </summary> + <param name="writer">The MessageWriter on which to display</param> + <param name="expected">The expected enumeration.</param> + <param name="actual">The actual enumeration</param> + <param name="depth">The depth of this failure in a set of nested collections</param> + </member> + <member name="T:NUnit.Framework.Constraints.EqualityAdapter"> + <summary> + EqualityAdapter class handles all equality comparisons + that use an <see cref="T:System.Collections.IEqualityComparer"/>, <see cref="T:System.Collections.Generic.IEqualityComparer`1"/> + or a <see cref="T:NUnit.Framework.Constraints.ComparisonAdapter"/>. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EqualityAdapter.AreEqual(System.Object,System.Object)"> + <summary> + Compares two objects, returning true if they are equal + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EqualityAdapter.CanCompare(System.Object,System.Object)"> + <summary> + Returns true if the two objects can be compared by this adapter. + The base adapter cannot handle IEnumerables except for strings. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EqualityAdapter.For(System.Collections.IComparer)"> + <summary> + Returns an <see cref="T:NUnit.Framework.Constraints.EqualityAdapter"/> that wraps an <see cref="T:System.Collections.IComparer"/>. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.EqualityAdapter.ComparerAdapter"> + <summary> + <see cref="T:NUnit.Framework.Constraints.EqualityAdapter"/> that wraps an <see cref="T:System.Collections.IComparer"/>. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EqualityAdapter.For(System.Collections.IEqualityComparer)"> + <summary> + Returns an <see cref="T:NUnit.Framework.Constraints.EqualityAdapter"/> that wraps an <see cref="T:System.Collections.IEqualityComparer"/>. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EqualityAdapter.For``2(System.Func{``0,``1,System.Boolean})"> + <summary> + Returns an EqualityAdapter that uses a predicate function for items comparison. + </summary> + <typeparam name="TExpected"></typeparam> + <typeparam name="TActual"></typeparam> + <param name="comparison"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Constraints.EqualityAdapter.PredicateEqualityAdapter`2.CanCompare(System.Object,System.Object)"> + <summary> + Returns true if the two objects can be compared by this adapter. + The base adapter cannot handle IEnumerables except for strings. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EqualityAdapter.PredicateEqualityAdapter`2.AreEqual(System.Object,System.Object)"> + <summary> + Compares two objects, returning true if they are equal + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EqualityAdapter.GenericEqualityAdapter`1.CanCompare(System.Object,System.Object)"> + <summary> + Returns true if the two objects can be compared by this adapter. + Generic adapter requires objects of the specified type. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EqualityAdapter.For``1(System.Collections.Generic.IEqualityComparer{``0})"> + <summary> + Returns an <see cref="T:NUnit.Framework.Constraints.EqualityAdapter"/> that wraps an <see cref="T:System.Collections.Generic.IEqualityComparer`1"/>. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EqualityAdapter.For``1(System.Collections.Generic.IComparer{``0})"> + <summary> + Returns an <see cref="T:NUnit.Framework.Constraints.EqualityAdapter"/> that wraps an <see cref="T:System.Collections.Generic.IComparer`1"/>. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.EqualityAdapter.ComparerAdapter`1"> + <summary> + <see cref="T:NUnit.Framework.Constraints.EqualityAdapter"/> that wraps an <see cref="T:System.Collections.IComparer"/>. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EqualityAdapter.For``1(System.Comparison{``0})"> + <summary> + Returns an <see cref="T:NUnit.Framework.Constraints.EqualityAdapter"/> that wraps a <see cref="T:System.Comparison`1"/>. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.ExactCountConstraint"> + <summary> + ExactCountConstraint applies another constraint to each + item in a collection, succeeding only if a specified + number of items succeed. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ExactCountConstraint.#ctor(System.Int32)"> + <summary> + Construct a standalone ExactCountConstraint + </summary> + <param name="expectedCount"></param> + </member> + <member name="M:NUnit.Framework.Constraints.ExactCountConstraint.#ctor(System.Int32,NUnit.Framework.Constraints.IConstraint)"> + <summary> + Construct an ExactCountConstraint on top of an existing constraint + </summary> + <param name="expectedCount"></param> + <param name="itemConstraint"></param> + </member> + <member name="M:NUnit.Framework.Constraints.ExactCountConstraint.ApplyTo``1(``0)"> + <summary> + Apply the item constraint to each item in the collection, + succeeding only if the expected number of items pass. + </summary> + <param name="actual">The value to be tested</param> + <returns>A ConstraintResult</returns> + </member> + <member name="P:NUnit.Framework.Constraints.ExactCountConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.ExactCountConstraintResult"> + <summary> + Contain the result of matching a <see cref="T:NUnit.Framework.Constraints.ExactCountConstraint"/> against an actual value. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.ExactCountConstraintResult._matchCount"> + <summary> + The count of matched items of the <see cref="T:NUnit.Framework.Constraints.ExactCountConstraint"/> + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.ExactCountConstraintResult._itemList"> + <summary> + A list with maximum count (+1) of items of the <see cref="T:NUnit.Framework.Constraints.ExactCountConstraint"/> + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ExactCountConstraintResult.#ctor(NUnit.Framework.Constraints.IConstraint,System.Object,System.Boolean,System.Int32,System.Collections.Generic.ICollection{System.Object})"> + <summary> + Constructs a <see cref="T:NUnit.Framework.Constraints.ConstraintResult"/> for a <see cref="T:NUnit.Framework.Constraints.ExactCountConstraint"/>. + </summary> + <param name="constraint">The Constraint to which this result applies.</param> + <param name="actualValue">The actual value to which the Constraint was applied.</param> + <param name="isSuccess">If true, applies a status of Success to the result, otherwise Failure.</param> + <param name="matchCount">Count of matched items of the <see cref="T:NUnit.Framework.Constraints.ExactCountConstraint"/></param> + <param name="itemList">A list with maximum count (+1) of items of the <see cref="T:NUnit.Framework.Constraints.ExactCountConstraint"/></param> + </member> + <member name="M:NUnit.Framework.Constraints.ExactCountConstraintResult.WriteActualValueTo(NUnit.Framework.Constraints.MessageWriter)"> + <summary> + Write the actual value for a failing constraint test to a MessageWriter. + </summary> + <param name="writer">The writer on which the actual value is displayed</param> + </member> + <member name="T:NUnit.Framework.Constraints.ExactTypeConstraint"> + <summary> + ExactTypeConstraint is used to test that an object + is of the exact type provided in the constructor + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ExactTypeConstraint.#ctor(System.Type)"> + <summary> + Construct an ExactTypeConstraint for a given Type + </summary> + <param name="type">The expected Type.</param> + </member> + <member name="P:NUnit.Framework.Constraints.ExactTypeConstraint.DisplayName"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ExactTypeConstraint.Matches(System.Object)"> + <summary> + Apply the constraint to an actual value, returning true if it succeeds + </summary> + <param name="actual">The actual argument</param> + <returns>True if the constraint succeeds, otherwise false.</returns> + </member> + <member name="P:NUnit.Framework.Constraints.ExceptionNotThrownConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ExceptionNotThrownConstraint.ApplyTo``1(``0)"> + <summary> + Applies the constraint to an actual value, returning a ConstraintResult. + </summary> + <param name="actual">The value to be tested</param> + <returns>A ConstraintResult</returns> + </member> + <member name="T:NUnit.Framework.Constraints.ExceptionTypeConstraint"> + <summary> + ExceptionTypeConstraint is a special version of ExactTypeConstraint + used to provided detailed info about the exception thrown in + an error message. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ExceptionTypeConstraint.#ctor(System.Type)"> + <summary> + Constructs an ExceptionTypeConstraint + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ExceptionTypeConstraint.ApplyTo``1(``0)"> + <summary> + Applies the constraint to an actual value, returning a ConstraintResult. + </summary> + <param name="actual">The value to be tested</param> + <returns>A ConstraintResult</returns> + </member> + <member name="T:NUnit.Framework.Constraints.FalseConstraint"> + <summary> + FalseConstraint tests that the actual value is false + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.FalseConstraint.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.FalseConstraint"/> class. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.FalseConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="T:NUnit.Framework.Constraints.FileExistsConstraint"> + <summary> + FileExistsConstraint is used to determine if a file exists + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.FileExistsConstraint.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.FileExistsConstraint"/> class. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.FileExistsConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.FileOrDirectoryExistsConstraint"> + <summary> + FileOrDirectoryExistsConstraint is used to determine if a file or directory exists + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.FileOrDirectoryExistsConstraint.IgnoreDirectories"> + <summary> + If true, the constraint will only check if files exist, not directories + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.FileOrDirectoryExistsConstraint.IgnoreFiles"> + <summary> + If true, the constraint will only check if directories exist, not files + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.FileOrDirectoryExistsConstraint.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.FileOrDirectoryExistsConstraint"/> class that + will check files and directories. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.FileOrDirectoryExistsConstraint.#ctor(System.Boolean)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.FileOrDirectoryExistsConstraint"/> class that + will only check files if ignoreDirectories is true. + </summary> + <param name="ignoreDirectories">if set to <see langword="true"/> [ignore directories].</param> + </member> + <member name="P:NUnit.Framework.Constraints.FileOrDirectoryExistsConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.FileOrDirectoryExistsConstraint.ApplyTo``1(``0)"> + <summary> + Applies the constraint to an actual value, returning a ConstraintResult. + </summary> + <param name="actual">The value to be tested</param> + <returns>A ConstraintResult</returns> + </member> + <member name="T:NUnit.Framework.Constraints.FloatingPointNumerics"> + <summary>Helper routines for working with floating point numbers</summary> + <remarks> + <para> + The floating point comparison code is based on this excellent article: + https://randomascii.wordpress.com/2012/02/25/comparing-floating-point-numbers-2012-edition/ + </para> + <para> + "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. + </para> + <para> + 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. + </para> + </remarks> + </member> + <member name="T:NUnit.Framework.Constraints.FloatingPointNumerics.FloatIntUnion"> + <summary>Union of a floating point variable and an integer</summary> + </member> + <member name="F:NUnit.Framework.Constraints.FloatingPointNumerics.FloatIntUnion.Float"> + <summary>The union's value as a floating point variable</summary> + </member> + <member name="F:NUnit.Framework.Constraints.FloatingPointNumerics.FloatIntUnion.Int"> + <summary>The union's value as an integer</summary> + </member> + <member name="F:NUnit.Framework.Constraints.FloatingPointNumerics.FloatIntUnion.UInt"> + <summary>The union's value as an unsigned integer</summary> + </member> + <member name="T:NUnit.Framework.Constraints.FloatingPointNumerics.DoubleLongUnion"> + <summary>Union of a double precision floating point variable and a long</summary> + </member> + <member name="F:NUnit.Framework.Constraints.FloatingPointNumerics.DoubleLongUnion.Double"> + <summary>The union's value as a double precision floating point variable</summary> + </member> + <member name="F:NUnit.Framework.Constraints.FloatingPointNumerics.DoubleLongUnion.Long"> + <summary>The union's value as a long</summary> + </member> + <member name="F:NUnit.Framework.Constraints.FloatingPointNumerics.DoubleLongUnion.ULong"> + <summary>The union's value as an unsigned long</summary> + </member> + <member name="M:NUnit.Framework.Constraints.FloatingPointNumerics.AreAlmostEqualUlps(System.Single,System.Single,System.Int32)"> + <summary>Compares two floating point values for equality</summary> + <param name="left">First floating point value to be compared</param> + <param name="right">Second floating point value t be compared</param> + <param name="maxUlps"> + Maximum number of representable floating point values that are allowed to + be between the left and the right floating point values + </param> + <returns>True if both numbers are equal or close to being equal</returns> + <remarks> + <para> + 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. + </para> + <para> + 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. + </para> + <para> + Implementation partially follows the code outlined here: + http://www.anttirt.net/2007/08/19/proper-floating-point-comparisons/ + </para> + </remarks> + </member> + <member name="M:NUnit.Framework.Constraints.FloatingPointNumerics.AreAlmostEqualUlps(System.Double,System.Double,System.Int64)"> + <summary>Compares two double precision floating point values for equality</summary> + <param name="left">First double precision floating point value to be compared</param> + <param name="right">Second double precision floating point value t be compared</param> + <param name="maxUlps"> + 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 + </param> + <returns>True if both numbers are equal or close to being equal</returns> + <remarks> + <para> + 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. + </para> + <para> + 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. + </para> + <para> + Implementation partially follows the code outlined here: + http://www.anttirt.net/2007/08/19/proper-floating-point-comparisons/ + </para> + </remarks> + </member> + <member name="T:NUnit.Framework.Constraints.GreaterThanConstraint"> + <summary> + Tests whether a value is greater than the value supplied to its constructor + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.GreaterThanConstraint.#ctor(System.Object)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.GreaterThanConstraint"/> class. + </summary> + <param name="expected">The expected value.</param> + </member> + <member name="P:NUnit.Framework.Constraints.GreaterThanConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.GreaterThanConstraint.PerformComparison(NUnit.Framework.Constraints.ComparisonAdapter,System.Object,System.Object,NUnit.Framework.Constraints.Tolerance)"> + <summary> + Perform the comparison + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.GreaterThanOrEqualConstraint"> + <summary> + Tests whether a value is greater than or equal to the value supplied to its constructor + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.GreaterThanOrEqualConstraint.#ctor(System.Object)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.GreaterThanOrEqualConstraint"/> class. + </summary> + <param name="expected">The expected value.</param> + </member> + <member name="P:NUnit.Framework.Constraints.GreaterThanOrEqualConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.GreaterThanOrEqualConstraint.PerformComparison(NUnit.Framework.Constraints.ComparisonAdapter,System.Object,System.Object,NUnit.Framework.Constraints.Tolerance)"> + <summary> + Perform the comparison + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.IConstraint"> + <summary> + Interface for all constraints + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.IConstraint.DisplayName"> + <summary> + The display name of this Constraint for use by ToString(). + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.IConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.IConstraint.Arguments"> + <summary> + Arguments provided to this Constraint, for use in + formatting the description. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.IConstraint.Builder"> + <summary> + The ConstraintBuilder holding this constraint + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.IConstraint.ApplyTo``1(``0)"> + <summary> + Applies the constraint to an actual value, returning a ConstraintResult. + </summary> + <param name="actual">The value to be tested</param> + <returns>A ConstraintResult</returns> + </member> + <member name="M:NUnit.Framework.Constraints.IConstraint.ApplyTo``1(NUnit.Framework.Constraints.ActualValueDelegate{``0})"> + <summary> + 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. + </summary> + <param name="del">An ActualValueDelegate</param> + <returns>A ConstraintResult</returns> + </member> + <member name="M:NUnit.Framework.Constraints.IConstraint.ApplyTo``1(``0@)"> + <summary> + 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. + </summary> + <param name="actual">A reference to the value to be tested</param> + <returns>A ConstraintResult</returns> + </member> + <member name="T:NUnit.Framework.Constraints.IndexerConstraint"> + <summary> + IndexerConstraint extracts a named property and uses + its value as the actual value for a chained constraint. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.IndexerConstraint.#ctor(System.Collections.Generic.IEnumerable{System.Object},NUnit.Framework.Constraints.IConstraint)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.IndexerConstraint"/> class. + </summary> + <param name="indexerArguments">The argument list for the indexer.</param> + <param name="baseConstraint">The constraint to apply to the indexer.</param> + </member> + <member name="M:NUnit.Framework.Constraints.IndexerConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + </member> + <member name="M:NUnit.Framework.Constraints.IndexerConstraint.GetStringRepresentation"> + <summary> + Returns the string representation of the constraint. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.InstanceOfTypeConstraint"> + <summary> + InstanceOfTypeConstraint is used to test that an object + is of the same type provided or derived from it. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.InstanceOfTypeConstraint.#ctor(System.Type)"> + <summary> + Construct an InstanceOfTypeConstraint for the type provided + </summary> + <param name="type">The expected Type</param> + </member> + <member name="P:NUnit.Framework.Constraints.InstanceOfTypeConstraint.DisplayName"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.InstanceOfTypeConstraint.Matches(System.Object)"> + <summary> + Apply the constraint to an actual value, returning true if it succeeds + </summary> + <param name="actual">The actual argument</param> + <returns>True if the constraint succeeds, otherwise false.</returns> + </member> + <member name="T:NUnit.Framework.Constraints.Interval"> + <summary> + Keeps track of an interval time which can be represented in + Minutes, Seconds or Milliseconds + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.Interval.#ctor(System.Int32)"> + <summary> + Constructs a interval given an value in milliseconds + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Interval.AsTimeSpan"> + <summary> + Gets Interval value represented as a TimeSpan object + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Interval.InMinutes"> + <summary> + Returns the interval with the current value as a number of minutes. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Interval.InSeconds"> + <summary> + Returns the interval with the current value as a number of seconds. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Interval.InMilliseconds"> + <summary> + Returns the interval with the current value as a number of milliseconds. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Interval.IsNotZero"> + <summary> + Is true for intervals created with a non-zero value + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.Interval.ToString"> + <summary> + Returns a string that represents the current object. + </summary> + <returns> + A string that represents the current object. + </returns> + </member> + <member name="T:NUnit.Framework.Constraints.Interval.IntervalUnit"> + <summary> + IntervalUnit provides the semantics to the value stored in Interval class. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.Interval.IntervalUnit.Minute"> + <summary> + Unit representing an Interval in minutes + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.Interval.IntervalUnit.Second"> + <summary> + Unit representing an Interval in seconds + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.Interval.IntervalUnit.Millisecond"> + <summary> + Unit representing an Interval in milliseconds + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.IResolveConstraint"> + <summary> + The IResolveConstraint interface is implemented by all + complete and resolvable constraints and expressions. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.IResolveConstraint.Resolve"> + <summary> + Return the top-level constraint for this expression + </summary> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Constraints.ItemsConstraintExpression"> + <summary> + An extension of ResolvableConstraintExpression that adds a no-op Items property for readability. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ItemsConstraintExpression.#ctor"> + <summary> + Create a new instance of ItemsConstraintExpression + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ItemsConstraintExpression.#ctor(NUnit.Framework.Constraints.ConstraintBuilder)"> + <summary> + Create a new instance of ResolvableConstraintExpression, + passing in a pre-populated ConstraintBuilder. + </summary> + <param name="builder"></param> + </member> + <member name="P:NUnit.Framework.Constraints.ItemsConstraintExpression.Items"> + <summary> + No-op property for readability. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.LessThanConstraint"> + <summary> + Tests whether a value is less than the value supplied to its constructor + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.LessThanConstraint.#ctor(System.Object)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.LessThanConstraint"/> class. + </summary> + <param name="expected">The expected value.</param> + </member> + <member name="P:NUnit.Framework.Constraints.LessThanConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.LessThanConstraint.PerformComparison(NUnit.Framework.Constraints.ComparisonAdapter,System.Object,System.Object,NUnit.Framework.Constraints.Tolerance)"> + <summary> + Perform the comparison + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.LessThanOrEqualConstraint"> + <summary> + Tests whether a value is less than or equal to the value supplied to its constructor + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.LessThanOrEqualConstraint.#ctor(System.Object)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.LessThanOrEqualConstraint"/> class. + </summary> + <param name="expected">The expected value.</param> + </member> + <member name="P:NUnit.Framework.Constraints.LessThanOrEqualConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.LessThanOrEqualConstraint.PerformComparison(NUnit.Framework.Constraints.ComparisonAdapter,System.Object,System.Object,NUnit.Framework.Constraints.Tolerance)"> + <summary> + Perform the comparison + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.MessageWriter"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.MessageWriter.#ctor"> + <summary> + Construct a MessageWriter given a culture + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.MessageWriter.MaxLineLength"> + <summary> + Abstract method to get the max line length + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.MessageWriter.WriteMessageLine(System.String,System.Object[])"> + <summary> + Method to write single line message with optional args, usually + written to precede the general failure message. + </summary> + <param name="message">The message to be written</param> + <param name="args">Any arguments used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Constraints.MessageWriter.WriteMessageLine(System.Int32,System.String,System.Object[])"> + <summary> + Method to write single line message with optional args, usually + written to precede the general failure message, at a given + indentation level. + </summary> + <param name="level">The indentation level of the message</param> + <param name="message">The message to be written</param> + <param name="args">Any arguments used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Constraints.MessageWriter.DisplayDifferences(NUnit.Framework.Constraints.ConstraintResult)"> + <summary> + 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. + </summary> + <param name="result">The failing constraint result</param> + </member> + <member name="M:NUnit.Framework.Constraints.MessageWriter.DisplayDifferences(System.Object,System.Object)"> + <summary> + 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. + </summary> + <param name="expected">The expected value</param> + <param name="actual">The actual value causing the failure</param> + </member> + <member name="M:NUnit.Framework.Constraints.MessageWriter.DisplayDifferences(System.Object,System.Object,NUnit.Framework.Constraints.Tolerance)"> + <summary> + Display Expected and Actual lines for given values, including + a tolerance value on the Expected line. + </summary> + <param name="expected">The expected value</param> + <param name="actual">The actual value causing the failure</param> + <param name="tolerance">The tolerance within which the test was made</param> + </member> + <member name="M:NUnit.Framework.Constraints.MessageWriter.DisplayStringDifferences(System.String,System.String,System.Int32,System.Boolean,System.Boolean)"> + <summary> + 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. + </summary> + <param name="expected">The expected string value</param> + <param name="actual">The actual string value</param> + <param name="mismatch">The point at which the strings don't match or -1</param> + <param name="ignoreCase">If true, case is ignored in locating the point where the strings differ</param> + <param name="clipping">If true, the strings should be clipped to fit the line</param> + </member> + <member name="M:NUnit.Framework.Constraints.MessageWriter.WriteActualValue(System.Object)"> + <summary> + Writes the text for an actual value. + </summary> + <param name="actual">The actual value.</param> + </member> + <member name="M:NUnit.Framework.Constraints.MessageWriter.WriteValue(System.Object)"> + <summary> + Writes the text for a generalized value. + </summary> + <param name="val">The value.</param> + </member> + <member name="M:NUnit.Framework.Constraints.MessageWriter.WriteCollectionElements(System.Collections.IEnumerable,System.Int64,System.Int32)"> + <summary> + Writes the text for a collection value, + starting at a particular point, to a max length + </summary> + <param name="collection">The collection containing elements to write.</param> + <param name="start">The starting point of the elements to write</param> + <param name="max">The maximum number of elements to write</param> + </member> + <member name="T:NUnit.Framework.Constraints.ValueFormatter"> + <summary> + Custom value formatter function + </summary> + <param name="val">The value</param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Constraints.ValueFormatterFactory"> + <summary> + Custom value formatter factory function + </summary> + <param name="next">The next formatter function</param> + <returns>ValueFormatter</returns> + <remarks>If the given formatter is unable to handle a certain format, it must call the next formatter in the chain</remarks> + </member> + <member name="T:NUnit.Framework.Constraints.MsgUtils"> + <summary> + Static methods used in creating messages + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.MsgUtils.DefaultMaxItems"> + <summary> + Default amount of items used by <see cref="M:NUnit.Framework.Constraints.MsgUtils.FormatCollection(System.Collections.IEnumerable,System.Int64,System.Int32)"/> method. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.MsgUtils.ELLIPSIS"> + <summary> + Static string used when strings are clipped + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.MsgUtils.Fmt_Null"> + <summary> + Formatting strings used for expected and actual values + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.MsgUtils.DefaultValueFormatter"> + <summary> + Current head of chain of value formatters. Public for testing. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.MsgUtils.AddFormatter(NUnit.Framework.Constraints.ValueFormatterFactory)"> + <summary> + Add a formatter to the chain of responsibility. + </summary> + <param name="formatterFactory"></param> + </member> + <member name="M:NUnit.Framework.Constraints.MsgUtils.FormatValue(System.Object)"> + <summary> + Formats text to represent a generalized value. + </summary> + <param name="val">The value</param> + <returns>The formatted text</returns> + </member> + <member name="M:NUnit.Framework.Constraints.MsgUtils.FormatCollection(System.Collections.IEnumerable,System.Int64,System.Int32)"> + <summary> + Formats text for a collection value, + starting at a particular point, to a max length + </summary> + <param name="collection">The collection containing elements to write.</param> + <param name="start">The starting point of the elements to write</param> + <param name="max">The maximum number of elements to write</param> + </member> + <member name="M:NUnit.Framework.Constraints.MsgUtils.GetTypeRepresentation(System.Object)"> + <summary> + 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. + </summary> + <param name="obj"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Constraints.MsgUtils.EscapeControlChars(System.String)"> + <summary> + Converts any control characters in a string + to their escaped representation. + </summary> + <param name="s">The string to be converted</param> + <returns>The converted string</returns> + </member> + <member name="M:NUnit.Framework.Constraints.MsgUtils.EscapeNullCharacters(System.String)"> + <summary> + Converts any null characters in a string + to their escaped representation. + </summary> + <param name="s">The string to be converted</param> + <returns>The converted string</returns> + </member> + <member name="M:NUnit.Framework.Constraints.MsgUtils.GetArrayIndicesAsString(System.Int32[])"> + <summary> + Return the a string representation for a set of indices into an array + </summary> + <param name="indices">Array of indices for which a string is needed</param> + </member> + <member name="M:NUnit.Framework.Constraints.MsgUtils.GetArrayIndicesFromCollectionIndex(System.Collections.IEnumerable,System.Int64)"> + <summary> + Get an array of indices representing the point in a collection or + array corresponding to a single int index into the collection. + </summary> + <param name="collection">The collection to which the indices apply</param> + <param name="index">Index in the collection</param> + <returns>Array of indices</returns> + </member> + <member name="M:NUnit.Framework.Constraints.MsgUtils.ClipString(System.String,System.Int32,System.Int32)"> + <summary> + Clip a string to a given length, starting at a particular offset, returning the clipped + string with ellipses representing the removed parts + </summary> + <param name="s">The string to be clipped</param> + <param name="maxStringLength">The maximum permitted length of the result string</param> + <param name="clipStart">The point at which to start clipping</param> + <returns>The clipped string</returns> + </member> + <member name="M:NUnit.Framework.Constraints.MsgUtils.ClipExpectedAndActual(System.String@,System.String@,System.Int32,System.Int32)"> + <summary> + Clip the expected and actual strings in a coordinated fashion, + so that they may be displayed together. + </summary> + <param name="expected"></param> + <param name="actual"></param> + <param name="maxDisplayLength"></param> + <param name="mismatch"></param> + </member> + <member name="M:NUnit.Framework.Constraints.MsgUtils.FindMismatchPosition(System.String,System.String,System.Int32,System.Boolean)"> + <summary> + Shows the position two strings start to differ. Comparison + starts at the start index. + </summary> + <param name="expected">The expected string</param> + <param name="actual">The actual string</param> + <param name="istart">The index in the strings at which comparison should start</param> + <param name="ignoreCase">Boolean indicating whether case should be ignored</param> + <returns>-1 if no mismatch found, or the index where mismatch found</returns> + </member> + <member name="T:NUnit.Framework.Constraints.NaNConstraint"> + <summary> + NaNConstraint tests that the actual value is a double or float NaN + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.NaNConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.NaNConstraint.ApplyTo``1(``0)"> + <summary> + Test that the actual value is an NaN + </summary> + <param name="actual"></param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Constraints.NoItemConstraint"> + <summary> + NoItemConstraint applies another constraint to each + item in a collection, failing if any of them succeeds. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.NoItemConstraint.#ctor(NUnit.Framework.Constraints.IConstraint)"> + <summary> + Construct a SomeItemsConstraint on top of an existing constraint + </summary> + <param name="itemConstraint"></param> + </member> + <member name="P:NUnit.Framework.Constraints.NoItemConstraint.DisplayName"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.NoItemConstraint.ApplyTo``1(``0)"> + <summary> + Apply the item constraint to each item in the collection, + failing if any item fails. + </summary> + <param name="actual"></param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Constraints.NotConstraint"> + <summary> + NotConstraint negates the effect of some other constraint + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.NotConstraint.#ctor(NUnit.Framework.Constraints.IConstraint)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.NotConstraint"/> class. + </summary> + <param name="baseConstraint">The base constraint to be negated.</param> + </member> + <member name="M:NUnit.Framework.Constraints.NotConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for if the base constraint fails, false if it succeeds</returns> + </member> + <member name="T:NUnit.Framework.Constraints.NullConstraint"> + <summary> + NullConstraint tests that the actual value is null + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.NullConstraint.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.NullConstraint"/> class. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.NullConstraint.ApplyTo``1(``0)"> + <summary> + Applies the constraint to an actual value, returning a ConstraintResult. + </summary> + <param name="actual">The value to be tested</param> + <returns>A ConstraintResult</returns> + </member> + <member name="T:NUnit.Framework.Constraints.Numerics"> + <summary> + The Numerics class contains common operations on numeric values. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.Numerics.IsNumericType(System.Object)"> + <summary> + Checks the type of the object, returning true if + the object is a numeric type. + </summary> + <param name="obj">The object to check</param> + <returns>true if the object is a numeric type</returns> + </member> + <member name="M:NUnit.Framework.Constraints.Numerics.IsFloatingPointNumeric(System.Object)"> + <summary> + Checks the type of the object, returning true if + the object is a floating point numeric type. + </summary> + <param name="obj">The object to check</param> + <returns>true if the object is a floating point numeric type</returns> + </member> + <member name="M:NUnit.Framework.Constraints.Numerics.IsFixedPointNumeric(System.Object)"> + <summary> + Checks the type of the object, returning true if + the object is a fixed point numeric type. + </summary> + <param name="obj">The object to check</param> + <returns>true if the object is a fixed point numeric type</returns> + </member> + <member name="M:NUnit.Framework.Constraints.Numerics.AreEqual(System.Object,System.Object,NUnit.Framework.Constraints.Tolerance@)"> + <summary> + 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. + </summary> + <param name="expected">The expected value</param> + <param name="actual">The actual value</param> + <param name="tolerance">A reference to the tolerance in effect</param> + <returns>True if the values are equal</returns> + </member> + <member name="M:NUnit.Framework.Constraints.Numerics.Compare(System.Object,System.Object)"> + <summary> + Compare two numeric values, performing the usual numeric conversions. + </summary> + <param name="expected">The expected value</param> + <param name="actual">The actual value</param> + <returns>The relationship of the values to each other</returns> + </member> + <member name="M:NUnit.Framework.Constraints.Numerics.Difference(System.Object,System.Object,NUnit.Framework.Constraints.ToleranceMode)"> + <summary> + Calculates the difference between 2 values in absolute/percent mode. + </summary> + <param name="expected">The expected value</param> + <param name="actual">The actual value</param> + <param name="toleranceMode">Tolerance mode to specify difference representation</param> + <returns>The difference between the values</returns> + </member> + <member name="T:NUnit.Framework.Constraints.NUnitComparer"> + <summary> + NUnitComparer encapsulates NUnit's default behavior + in comparing two objects. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.NUnitComparer.Default"> + <summary> + Returns the default NUnitComparer. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.NUnitComparer.Compare(System.Object,System.Object)"> + <summary> + Compares two objects + </summary> + <param name="x"></param> + <param name="y"></param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Constraints.NUnitEqualityComparer"> + <summary> + NUnitEqualityComparer encapsulates NUnit's handling of + equality tests between objects. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.NUnitEqualityComparer.caseInsensitive"> + <summary> + If true, all string comparisons will ignore case + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.NUnitEqualityComparer.compareAsCollection"> + <summary> + If true, arrays will be treated as collections, allowing + those of different dimensions to be compared + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.NUnitEqualityComparer.externalComparers"> + <summary> + Comparison objects used in comparisons for some constraints. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.NUnitEqualityComparer.failurePoints"> + <summary> + List of points at which a failure occurred. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.NUnitEqualityComparer._comparers"> + <summary> + List of comparers used to compare pairs of objects. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.NUnitEqualityComparer.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.NUnitEqualityComparer"/> class. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.NUnitEqualityComparer.Default"> + <summary> + Returns the default NUnitEqualityComparer + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.NUnitEqualityComparer.IgnoreCase"> + <summary> + Gets and sets a flag indicating whether case should + be ignored in determining equality. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.NUnitEqualityComparer.CompareAsCollection"> + <summary> + Gets and sets a flag indicating that arrays should be + compared as collections, without regard to their shape. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.NUnitEqualityComparer.ExternalComparers"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.NUnitEqualityComparer.FailurePoints"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.NUnitEqualityComparer.WithSameOffset"> + <summary> + Flags the comparer to include <see cref="P:System.DateTimeOffset.Offset"/> + property in comparison of two <see cref="T:System.DateTimeOffset"/> values. + </summary> + <remarks> + Using this modifier does not allow to use the <see cref="T:NUnit.Framework.Constraints.Tolerance"/> + modifier. + </remarks> + </member> + <member name="M:NUnit.Framework.Constraints.NUnitEqualityComparer.AreEqual(System.Object,System.Object,NUnit.Framework.Constraints.Tolerance@)"> + <summary> + Compares two objects for equality within a tolerance. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.NUnitEqualityComparer.AreEqual(System.Object,System.Object,NUnit.Framework.Constraints.Tolerance@,System.Boolean)"> + <summary> + Compares two objects for equality within a tolerance. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.NUnitEqualityComparer.FailurePoint"> + <summary> + FailurePoint class represents one point of failure + in an equality test. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.NUnitEqualityComparer.FailurePoint.Position"> + <summary> + The location of the failure + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.NUnitEqualityComparer.FailurePoint.ExpectedValue"> + <summary> + The expected value + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.NUnitEqualityComparer.FailurePoint.ActualValue"> + <summary> + The actual value + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.NUnitEqualityComparer.FailurePoint.ExpectedHasData"> + <summary> + Indicates whether the expected value is valid + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.NUnitEqualityComparer.FailurePoint.ActualHasData"> + <summary> + Indicates whether the actual value is valid + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.AllOperator"> + <summary> + Represents a constraint that succeeds if all the + members of a collection match a base constraint. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.AllOperator.ApplyPrefix(NUnit.Framework.Constraints.IConstraint)"> + <summary> + Returns a constraint that will apply the argument + to the members of a collection, succeeding if + they all succeed. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.AndOperator"> + <summary> + Operator that requires both its arguments to succeed + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.AndOperator.#ctor"> + <summary> + Construct an AndOperator + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.AndOperator.ApplyOperator(NUnit.Framework.Constraints.IConstraint,NUnit.Framework.Constraints.IConstraint)"> + <summary> + Apply the operator to produce an AndConstraint + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.AttributeOperator"> + <summary> + Operator that tests for the presence of a particular attribute + on a type and optionally applies further tests to the attribute. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.AttributeOperator.#ctor(System.Type)"> + <summary> + Construct an AttributeOperator for a particular Type + </summary> + <param name="type">The Type of attribute tested</param> + </member> + <member name="M:NUnit.Framework.Constraints.AttributeOperator.Reduce(NUnit.Framework.Constraints.ConstraintBuilder.ConstraintStack)"> + <summary> + 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. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.BinaryOperator"> + <summary> + Abstract base class for all binary operators + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.BinaryOperator.Reduce(NUnit.Framework.Constraints.ConstraintBuilder.ConstraintStack)"> + <summary> + 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. + </summary> + <param name="stack"></param> + </member> + <member name="P:NUnit.Framework.Constraints.BinaryOperator.LeftPrecedence"> + <summary> + Gets the left precedence of the operator + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.BinaryOperator.RightPrecedence"> + <summary> + Gets the right precedence of the operator + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.BinaryOperator.ApplyOperator(NUnit.Framework.Constraints.IConstraint,NUnit.Framework.Constraints.IConstraint)"> + <summary> + Abstract method that produces a constraint by applying + the operator to its left and right constraint arguments. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.CollectionOperator"> + <summary> + Abstract base for operators that indicate how to + apply a constraint to items in a collection. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionOperator.#ctor"> + <summary> + Constructs a CollectionOperator + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.ConstraintOperator"> + <summary> + 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. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.ConstraintOperator.left_precedence"> + <summary> + The precedence value used when the operator + is about to be pushed to the stack. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.ConstraintOperator.right_precedence"> + <summary> + The precedence value used when the operator + is on the top of the stack. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintOperator.LeftContext"> + <summary> + The syntax element preceding this operator + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintOperator.RightContext"> + <summary> + The syntax element following this operator + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintOperator.LeftPrecedence"> + <summary> + The precedence value used when the operator + is about to be pushed to the stack. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintOperator.RightPrecedence"> + <summary> + The precedence value used when the operator + is on the top of the stack. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintOperator.Reduce(NUnit.Framework.Constraints.ConstraintBuilder.ConstraintStack)"> + <summary> + 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. + </summary> + <param name="stack"></param> + </member> + <member name="T:NUnit.Framework.Constraints.ExactCountOperator"> + <summary> + Represents a constraint that succeeds if the specified + count of members of a collection match a base constraint. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ExactCountOperator.#ctor(System.Int32)"> + <summary> + Construct an ExactCountOperator for a specified count + </summary> + <param name="expectedCount">The expected count</param> + </member> + <member name="M:NUnit.Framework.Constraints.ExactCountOperator.Reduce(NUnit.Framework.Constraints.ConstraintBuilder.ConstraintStack)"> + <summary> + 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. + </summary> + <param name="stack"></param> + </member> + <member name="T:NUnit.Framework.Constraints.IndexerOperator"> + <summary> + Operator used to test for the presence of a Indexer + on an object and optionally apply further tests to the + value of that indexer. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.IndexerOperator.#ctor(System.Object[])"> + <summary> + Constructs a IndexerOperator for a particular set of indexer + parameters + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.IndexerOperator.ApplyPrefix(NUnit.Framework.Constraints.IConstraint)"> + <summary> + Returns a IndexerConstraint applied to its argument. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.NoneOperator"> + <summary> + Represents a constraint that succeeds if none of the + members of a collection match a base constraint. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.NoneOperator.ApplyPrefix(NUnit.Framework.Constraints.IConstraint)"> + <summary> + Returns a constraint that will apply the argument + to the members of a collection, succeeding if + none of them succeed. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.NotOperator"> + <summary> + Negates the test of the constraint it wraps. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.NotOperator.#ctor"> + <summary> + Constructs a new NotOperator + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.NotOperator.ApplyPrefix(NUnit.Framework.Constraints.IConstraint)"> + <summary> + Returns a NotConstraint applied to its argument. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.OrOperator"> + <summary> + Operator that requires at least one of its arguments to succeed + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.OrOperator.#ctor"> + <summary> + Construct an OrOperator + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.OrOperator.ApplyOperator(NUnit.Framework.Constraints.IConstraint,NUnit.Framework.Constraints.IConstraint)"> + <summary> + Apply the operator to produce an OrConstraint + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.PrefixOperator"> + <summary> + PrefixOperator takes a single constraint and modifies + its action in some way. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.PrefixOperator.Reduce(NUnit.Framework.Constraints.ConstraintBuilder.ConstraintStack)"> + <summary> + 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. + </summary> + <param name="stack"></param> + </member> + <member name="M:NUnit.Framework.Constraints.PrefixOperator.ApplyPrefix(NUnit.Framework.Constraints.IConstraint)"> + <summary> + Returns the constraint created by applying this + prefix to another constraint. + </summary> + <param name="constraint"></param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Constraints.PropOperator"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.PropOperator.Name"> + <summary> + Gets the name of the property to which the operator applies + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.PropOperator.#ctor(System.String)"> + <summary> + Constructs a PropOperator for a particular named property + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.PropOperator.Reduce(NUnit.Framework.Constraints.ConstraintBuilder.ConstraintStack)"> + <summary> + 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. + </summary> + <param name="stack"></param> + </member> + <member name="T:NUnit.Framework.Constraints.SelfResolvingOperator"> + <summary> + Abstract base class for operators that are able to reduce to a + constraint whether or not another syntactic element follows. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.SomeOperator"> + <summary> + Represents a constraint that succeeds if any of the + members of a collection match a base constraint. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.SomeOperator.ApplyPrefix(NUnit.Framework.Constraints.IConstraint)"> + <summary> + Returns a constraint that will apply the argument + to the members of a collection, succeeding if + any of them succeed. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.ThrowsOperator"> + <summary> + Operator that tests that an exception is thrown and + optionally applies further tests to the exception. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ThrowsOperator.#ctor"> + <summary> + Construct a ThrowsOperator + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ThrowsOperator.Reduce(NUnit.Framework.Constraints.ConstraintBuilder.ConstraintStack)"> + <summary> + 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. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.WithOperator"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.WithOperator.#ctor"> + <summary> + Constructor for the WithOperator + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.WithOperator.ApplyPrefix(NUnit.Framework.Constraints.IConstraint)"> + <summary> + Returns a constraint that wraps its argument + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.OrConstraint"> + <summary> + OrConstraint succeeds if either member succeeds + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.OrConstraint.#ctor(NUnit.Framework.Constraints.IConstraint,NUnit.Framework.Constraints.IConstraint)"> + <summary> + Create an OrConstraint from two other constraints + </summary> + <param name="left">The first constraint</param> + <param name="right">The second constraint</param> + </member> + <member name="P:NUnit.Framework.Constraints.OrConstraint.Description"> + <summary> + Gets text describing a constraint + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.OrConstraint.ApplyTo``1(``0)"> + <summary> + Apply the member constraints to an actual value, succeeding + succeeding as soon as one of them succeeds. + </summary> + <param name="actual">The actual value</param> + <returns>True if either constraint succeeded</returns> + </member> + <member name="T:NUnit.Framework.Constraints.PathConstraint"> + <summary> + PathConstraint serves as the abstract base of constraints + that operate on paths and provides several helper methods. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.PathConstraint.#ctor(System.String)"> + <summary> + Construct a PathConstraint for a give expected path + </summary> + <param name="expected">The expected path</param> + </member> + <member name="P:NUnit.Framework.Constraints.PathConstraint.RespectCase"> + <summary> + Modifies the current instance to be case-sensitive + and returns it. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.PathConstraint.GetStringRepresentation"> + <summary> + Returns the string representation of this constraint + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.PathConstraint.Canonicalize(System.String)"> + <summary> + Canonicalize the provided path + </summary> + <param name="path"></param> + <returns>The path in standardized form</returns> + </member> + <member name="M:NUnit.Framework.Constraints.PathConstraint.IsSubPath(System.String,System.String)"> + <summary> + Test whether one path in canonical form is a subpath of another path + </summary> + <param name="path1">The first path - supposed to be the parent path</param> + <param name="path2">The second path - supposed to be the child path</param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Constraints.PredicateConstraint`1"> + <summary> + Predicate constraint wraps a Predicate in a constraint, + returning success if the predicate is true. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.PredicateConstraint`1.#ctor(System.Predicate{`0})"> + <summary> + Construct a PredicateConstraint from a predicate + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.PredicateConstraint`1.Description"> + <summary> + Gets text describing a constraint + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.PredicateConstraint`1.ApplyTo``1(``0)"> + <summary> + Determines whether the predicate succeeds when applied + to the actual value. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.PrefixConstraint"> + <summary> + Abstract base class used for prefixes + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.PrefixConstraint.BaseConstraint"> + <summary> + The base constraint + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.PrefixConstraint.DescriptionPrefix"> + <summary> + Prefix used in forming the constraint description + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.PrefixConstraint.#ctor(NUnit.Framework.Constraints.IResolveConstraint)"> + <summary> + Construct given a base constraint + </summary> + <param name="baseConstraint"></param> + </member> + <member name="P:NUnit.Framework.Constraints.PrefixConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.PrefixConstraint.FormatDescription(System.String,NUnit.Framework.Constraints.IConstraint)"> + <summary> + Formats a prefix constraint's description. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.PropertyConstraint"> + <summary> + PropertyConstraint extracts a named property and uses + its value as the actual value for a chained constraint. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.PropertyConstraint.#ctor(System.String,NUnit.Framework.Constraints.IConstraint)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.PropertyConstraint"/> class. + </summary> + <param name="name">The name.</param> + <param name="baseConstraint">The constraint to apply to the property.</param> + </member> + <member name="M:NUnit.Framework.Constraints.PropertyConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + </member> + <member name="M:NUnit.Framework.Constraints.PropertyConstraint.GetStringRepresentation"> + <summary> + Returns the string representation of the constraint. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.PropertyConstraintResult"> + <summary> + Contains the result of matching a <see cref="T:NUnit.Framework.Constraints.PropertyConstraint"/> against an actual value. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.PropertyConstraintResult.#ctor(NUnit.Framework.Constraints.IConstraint,NUnit.Framework.Constraints.ConstraintResult)"> + <summary> + Constructs a <see cref="T:NUnit.Framework.Constraints.PropertyConstraintResult"/> for a particular <see cref="T:NUnit.Framework.Constraints.PropertyConstraint"/>. + </summary> + <param name="constraint">The Constraint to which this result applies.</param> + <param name="baseResult">The base result with actual value to which the Constraint was applied.</param> + </member> + <member name="M:NUnit.Framework.Constraints.PropertyConstraintResult.WriteAdditionalLinesTo(NUnit.Framework.Constraints.MessageWriter)"> + <summary> + Write the additional failure message for a failing constraint to a + MessageWriter. + </summary> + <param name="writer">The writer on which the actual value is displayed</param> + </member> + <member name="T:NUnit.Framework.Constraints.PropertyExistsConstraint"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.PropertyExistsConstraint.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.PropertyExistsConstraint"/> class. + </summary> + <param name="name">The name of the property.</param> + </member> + <member name="P:NUnit.Framework.Constraints.PropertyExistsConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.PropertyExistsConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the property exists for a given object + </summary> + <param name="actual">The object to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="M:NUnit.Framework.Constraints.PropertyExistsConstraint.GetStringRepresentation"> + <summary> + Returns the string representation of the constraint. + </summary> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Constraints.RangeConstraint"> + <summary> + RangeConstraint tests whether two values are within a + specified range. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.RangeConstraint.#ctor(System.Object,System.Object)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.RangeConstraint"/> class. + </summary> + <param name="from">Inclusive beginning of the range.</param> + <param name="to">Inclusive end of the range.</param> + </member> + <member name="P:NUnit.Framework.Constraints.RangeConstraint.Description"> + <summary> + Gets text describing a constraint + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.RangeConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="M:NUnit.Framework.Constraints.RangeConstraint.Using(System.Collections.IComparer)"> + <summary> + Modifies the constraint to use an <see cref="T:System.Collections.IComparer"/> and returns self. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.RangeConstraint.Using``1(System.Collections.Generic.IComparer{``0})"> + <summary> + Modifies the constraint to use an <see cref="T:System.Collections.Generic.IComparer`1"/> and returns self. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.RangeConstraint.Using``1(System.Comparison{``0})"> + <summary> + Modifies the constraint to use a <see cref="T:System.Comparison`1"/> and returns self. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.RegexConstraint"> + <summary> + RegexConstraint can test whether a string matches + the pattern provided. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.RegexConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.RegexConstraint.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.RegexConstraint"/> class. + </summary> + <param name="pattern">The pattern.</param> + </member> + <member name="M:NUnit.Framework.Constraints.RegexConstraint.#ctor(System.Text.RegularExpressions.Regex)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.RegexConstraint"/> class. + </summary> + <param name="regex">The Regex pattern object.</param> + </member> + <member name="P:NUnit.Framework.Constraints.RegexConstraint.IgnoreCase"> + <summary> + Modify the constraint to ignore case in matching. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.RegexConstraint.ApplyTo``1(``0)"> + <summary> + Applies the regex constraint to an actual value, returning a ConstraintResult. + </summary> + <param name="actual">The string to be tested.</param> + <returns>True for success, false for failure.</returns> + </member> + <member name="T:NUnit.Framework.Constraints.ResolvableConstraintExpression"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ResolvableConstraintExpression.#ctor"> + <summary> + Create a new instance of ResolvableConstraintExpression + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ResolvableConstraintExpression.#ctor(NUnit.Framework.Constraints.ConstraintBuilder)"> + <summary> + Create a new instance of ResolvableConstraintExpression, + passing in a pre-populated ConstraintBuilder. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ResolvableConstraintExpression.And"> + <summary> + Appends an And Operator to the expression + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ResolvableConstraintExpression.Or"> + <summary> + Appends an Or operator to the expression. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ResolvableConstraintExpression.NUnit#Framework#Constraints#IResolveConstraint#Resolve"> + <summary> + Resolve the current expression to a Constraint + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.ReusableConstraint"> + <summary> + ReusableConstraint wraps a constraint expression after + resolving it so that it can be reused consistently. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ReusableConstraint.#ctor(NUnit.Framework.Constraints.IResolveConstraint)"> + <summary> + Construct a ReusableConstraint from a constraint expression + </summary> + <param name="c">The expression to be resolved and reused</param> + </member> + <member name="M:NUnit.Framework.Constraints.ReusableConstraint.op_Implicit(NUnit.Framework.Constraints.Constraint)~NUnit.Framework.Constraints.ReusableConstraint"> + <summary> + Converts a constraint to a ReusableConstraint + </summary> + <param name="c">The constraint to be converted</param> + <returns>A ReusableConstraint</returns> + </member> + <member name="M:NUnit.Framework.Constraints.ReusableConstraint.ToString"> + <summary> + Returns a <see cref="T:System.String"/> that represents this instance. + </summary> + <returns> + A <see cref="T:System.String"/> that represents this instance. + </returns> + </member> + <member name="M:NUnit.Framework.Constraints.ReusableConstraint.Resolve"> + <summary> + Return the top-level constraint for this expression + </summary> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Constraints.SameAsConstraint"> + <summary> + SameAsConstraint tests whether an object is identical to + the object passed to its constructor + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.SameAsConstraint.#ctor(System.Object)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.SameAsConstraint"/> class. + </summary> + <param name="expected">The expected object.</param> + </member> + <member name="P:NUnit.Framework.Constraints.SameAsConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.SameAsConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="T:NUnit.Framework.Constraints.SamePathConstraint"> + <summary> + Summary description for SamePathConstraint. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.SamePathConstraint.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.SamePathConstraint"/> class. + </summary> + <param name="expected">The expected path</param> + </member> + <member name="P:NUnit.Framework.Constraints.SamePathConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.SamePathConstraint.Matches(System.String)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="T:NUnit.Framework.Constraints.SamePathOrUnderConstraint"> + <summary> + SamePathOrUnderConstraint tests that one path is under another + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.SamePathOrUnderConstraint.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.SamePathOrUnderConstraint"/> class. + </summary> + <param name="expected">The expected path</param> + </member> + <member name="P:NUnit.Framework.Constraints.SamePathOrUnderConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.SamePathOrUnderConstraint.Matches(System.String)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="T:NUnit.Framework.Constraints.SomeItemsConstraint"> + <summary> + SomeItemsConstraint applies another constraint to each + item in a collection, succeeding if any of them succeeds. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.SomeItemsConstraint.#ctor(NUnit.Framework.Constraints.IConstraint)"> + <summary> + Construct a SomeItemsConstraint on top of an existing constraint + </summary> + <param name="itemConstraint"></param> + </member> + <member name="P:NUnit.Framework.Constraints.SomeItemsConstraint.DisplayName"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.SomeItemsConstraint.ApplyTo``1(``0)"> + <summary> + Apply the item constraint to each item in the collection, + succeeding if any item succeeds. + </summary> + <param name="actual"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Constraints.SomeItemsConstraint.Using``2(System.Func{``0,``1,System.Boolean})"> + <summary> + Flag the constraint to use the supplied <see cref="T:System.Func`3"/> object. + </summary> + <typeparam name="TCollectionType">The type of the elements in the collection.</typeparam> + <typeparam name="TMemberType">The type of the member.</typeparam> + <param name="comparison">The comparison function to use.</param> + <returns>Self.</returns> + </member> + <member name="M:NUnit.Framework.Constraints.SomeItemsConstraint.Using(System.Collections.IComparer)"> + <summary> + Flag the constraint to use the supplied <see cref="T:System.Collections.IComparer"/> object. + </summary> + <param name="comparer">The IComparer object to use.</param> + <returns>Self.</returns> + </member> + <member name="M:NUnit.Framework.Constraints.SomeItemsConstraint.Using``1(System.Collections.Generic.IComparer{``0})"> + <summary> + Flag the constraint to use the supplied <see cref="T:System.Collections.Generic.IComparer`1"/> object. + </summary> + <param name="comparer">The IComparer object to use.</param> + <returns>Self.</returns> + </member> + <member name="M:NUnit.Framework.Constraints.SomeItemsConstraint.Using``1(System.Comparison{``0})"> + <summary> + Flag the constraint to use the supplied <see cref="T:System.Comparison`1"/> object. + </summary> + <param name="comparer">The IComparer object to use.</param> + <returns>Self.</returns> + </member> + <member name="M:NUnit.Framework.Constraints.SomeItemsConstraint.Using(System.Collections.IEqualityComparer)"> + <summary> + Flag the constraint to use the supplied <see cref="T:System.Collections.IEqualityComparer"/> object. + </summary> + <param name="comparer">The IComparer object to use.</param> + <returns>Self.</returns> + </member> + <member name="M:NUnit.Framework.Constraints.SomeItemsConstraint.Using``1(System.Collections.Generic.IEqualityComparer{``0})"> + <summary> + Flag the constraint to use the supplied <see cref="T:System.Collections.Generic.IEqualityComparer`1"/> object. + </summary> + <param name="comparer">The IComparer object to use.</param> + <returns>Self.</returns> + </member> + <member name="T:NUnit.Framework.Constraints.StartsWithConstraint"> + <summary> + StartsWithConstraint can test whether a string starts + with an expected substring. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.StartsWithConstraint.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.StartsWithConstraint"/> class. + </summary> + <param name="expected">The expected string</param> + </member> + <member name="M:NUnit.Framework.Constraints.StartsWithConstraint.Matches(System.String)"> + <summary> + Test whether the constraint is matched by the actual value. + This is a template method, which calls the IsMatch method + of the derived class. + </summary> + <param name="actual"></param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Constraints.StringConstraint"> + <summary> + StringConstraint is the abstract base for constraints + that operate on strings. It supports the IgnoreCase + modifier for string operations. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.StringConstraint.expected"> + <summary> + The expected value + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.StringConstraint.caseInsensitive"> + <summary> + Indicates whether tests should be case-insensitive + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.StringConstraint.descriptionText"> + <summary> + Description of this constraint + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.StringConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.StringConstraint.#ctor"> + <summary> + Constructs a StringConstraint without an expected value + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.StringConstraint.#ctor(System.String)"> + <summary> + Constructs a StringConstraint given an expected value + </summary> + <param name="expected">The expected value</param> + </member> + <member name="P:NUnit.Framework.Constraints.StringConstraint.IgnoreCase"> + <summary> + Modify the constraint to ignore case in matching. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.StringConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="M:NUnit.Framework.Constraints.StringConstraint.Matches(System.String)"> + <summary> + Test whether the constraint is satisfied by a given string + </summary> + <param name="actual">The string to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="T:NUnit.Framework.Constraints.SubPathConstraint"> + <summary> + SubPathConstraint tests that the actual path is under the expected path + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.SubPathConstraint.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.SubPathConstraint"/> class. + </summary> + <param name="expected">The expected path</param> + </member> + <member name="P:NUnit.Framework.Constraints.SubPathConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.SubPathConstraint.Matches(System.String)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="T:NUnit.Framework.Constraints.SubstringConstraint"> + <summary> + SubstringConstraint can test whether a string contains + the expected substring. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.SubstringConstraint.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.SubstringConstraint"/> class. + </summary> + <param name="expected">The expected.</param> + </member> + <member name="P:NUnit.Framework.Constraints.SubstringConstraint.IgnoreCase"> + <summary> + Modify the constraint to ignore case in matching. + This will call Using(StringComparison.CurrentCultureIgnoreCase). + </summary> + <exception cref="T:System.InvalidOperationException">Thrown when a comparison type different + than <see cref="F:System.StringComparison.CurrentCultureIgnoreCase"/> was already set.</exception> + </member> + <member name="M:NUnit.Framework.Constraints.SubstringConstraint.Matches(System.String)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="M:NUnit.Framework.Constraints.SubstringConstraint.Using(System.StringComparison)"> + <summary> + Modify the constraint to the specified comparison. + </summary> + <exception cref="T:System.InvalidOperationException">Thrown when a comparison type different + than <paramref name="comparisonType"/> was already set.</exception> + </member> + <member name="T:NUnit.Framework.Constraints.ThrowsConstraint"> + <summary> + ThrowsConstraint is used to test the exception thrown by + a delegate by applying a constraint to it. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ThrowsConstraint.#ctor(NUnit.Framework.Constraints.IConstraint)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.ThrowsConstraint"/> class, + using a constraint to be applied to the exception. + </summary> + <param name="baseConstraint">A constraint to apply to the caught exception.</param> + </member> + <member name="P:NUnit.Framework.Constraints.ThrowsConstraint.ActualException"> + <summary> + Get the actual exception thrown - used by Assert.Throws. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ThrowsConstraint.Description"> + <summary> + Gets text describing a constraint + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ThrowsConstraint.ApplyTo``1(``0)"> + <summary> + 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. + </summary> + <param name="actual">A delegate representing the code to be tested</param> + <returns>True if an exception is thrown and the constraint succeeds, otherwise false</returns> + </member> + <member name="M:NUnit.Framework.Constraints.ThrowsConstraint.ApplyTo``1(NUnit.Framework.Constraints.ActualValueDelegate{``0})"> + <summary> + Converts an ActualValueDelegate to a TestDelegate + before calling the primary overload. + </summary> + <param name="del"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Constraints.ThrowsConstraint.ThrowsConstraintResult.WriteActualValueTo(NUnit.Framework.Constraints.MessageWriter)"> + <summary> + 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. + </summary> + <param name="writer">The writer on which the actual value is displayed</param> + </member> + <member name="T:NUnit.Framework.Constraints.ThrowsExceptionConstraint"> + <summary> + ThrowsExceptionConstraint tests that an exception has + been thrown, without any further tests. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ThrowsExceptionConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ThrowsExceptionConstraint.ApplyTo``1(``0)"> + <summary> + Executes the code and returns success if an exception is thrown. + </summary> + <param name="actual">A delegate representing the code to be tested</param> + <returns>True if an exception is thrown, otherwise false</returns> + </member> + <member name="M:NUnit.Framework.Constraints.ThrowsExceptionConstraint.ApplyTo``1(NUnit.Framework.Constraints.ActualValueDelegate{``0})"> + <summary> + 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. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.ThrowsNothingConstraint"> + <summary> + ThrowsNothingConstraint tests that a delegate does not + throw an exception. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ThrowsNothingConstraint.Description"> + <summary> + Gets text describing a constraint + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ThrowsNothingConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True if no exception is thrown, otherwise false</returns> + </member> + <member name="M:NUnit.Framework.Constraints.ThrowsNothingConstraint.ApplyTo``1(NUnit.Framework.Constraints.ActualValueDelegate{``0})"> + <summary> + 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. + </summary> + <param name="del">An ActualValueDelegate</param> + <returns>A ConstraintResult</returns> + </member> + <member name="T:NUnit.Framework.Constraints.Tolerance"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Tolerance.Default"> + <summary> + Returns a default Tolerance object, equivalent to an exact match. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Tolerance.Exact"> + <summary> + Returns an empty Tolerance object, equivalent to an exact match. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.Tolerance.#ctor(System.Object)"> + <summary> + Constructs a linear tolerance of a specified amount + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.Tolerance.#ctor(System.Object,NUnit.Framework.Constraints.ToleranceMode)"> + <summary> + Constructs a tolerance given an amount and <see cref="T:NUnit.Framework.Constraints.ToleranceMode"/> + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Tolerance.Percent"> + <summary> + Returns a new tolerance, using the current amount as a percentage. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Tolerance.Ulps"> + <summary> + Returns a new tolerance, using the current amount in Ulps + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Tolerance.Days"> + <summary> + Returns a new tolerance with a <see cref="T:System.TimeSpan"/> as the amount, using + the current amount as a number of days. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Tolerance.Hours"> + <summary> + Returns a new tolerance with a <see cref="T:System.TimeSpan"/> as the amount, using + the current amount as a number of hours. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Tolerance.Minutes"> + <summary> + Returns a new tolerance with a <see cref="T:System.TimeSpan"/> as the amount, using + the current amount as a number of minutes. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Tolerance.Seconds"> + <summary> + Returns a new tolerance with a <see cref="T:System.TimeSpan"/> as the amount, using + the current amount as a number of seconds. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Tolerance.Milliseconds"> + <summary> + Returns a new tolerance with a <see cref="T:System.TimeSpan"/> as the amount, using + the current amount as a number of milliseconds. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Tolerance.Ticks"> + <summary> + Returns a new tolerance with a <see cref="T:System.TimeSpan"/> as the amount, using + the current amount as a number of clock ticks. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Tolerance.Mode"> + <summary> + Gets the <see cref="T:NUnit.Framework.Constraints.ToleranceMode"/> for the current Tolerance + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Tolerance.Amount"> + <summary> + Gets the magnitude of the current Tolerance instance. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Tolerance.IsUnsetOrDefault"> + <summary> + Returns true if the current tolerance has not been set or is using the . + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.Tolerance.ApplyToValue(System.Object)"> + <summary> + Apply the tolerance to an expected value and return + a Tolerance.Range that represents the acceptable values. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.Tolerance.CheckLinearAndNumeric"> + <summary> + Tests that the current Tolerance is linear with a + numeric value, throwing an exception if it is not. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.Tolerance.Range"> + <summary> + Tolerance.Range represents the range of values that match + a specific tolerance, when applied to a specific value. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.Tolerance.Range.LowerBound"> + <summary> + The lower bound of the range + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.Tolerance.Range.UpperBound"> + <summary> + The upper bound of the range + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.Tolerance.Range.#ctor(System.Object,System.Object)"> + <summary> + Constructs a range + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.ToleranceMode"> + <summary> + Modes in which the tolerance value for a comparison can be interpreted. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.ToleranceMode.Unset"> + <summary> + 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. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.ToleranceMode.Linear"> + <summary> + The tolerance is used as a numeric range within which + two compared values are considered to be equal. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.ToleranceMode.Percent"> + <summary> + Interprets the tolerance as the percentage by which + the two compared values my deviate from each other. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.ToleranceMode.Ulps"> + <summary> + Compares two values based in their distance in + representable numbers. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.TrueConstraint"> + <summary> + TrueConstraint tests that the actual value is true + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.TrueConstraint.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.TrueConstraint"/> class. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.TrueConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="T:NUnit.Framework.Constraints.TypeConstraint"> + <summary> + TypeConstraint is the abstract base for constraints + that take a Type as their expected value. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.TypeConstraint.expectedType"> + <summary> + The expected Type used by the constraint + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.TypeConstraint.actualType"> + <summary> + The type of the actual argument to which the constraint was applied + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.TypeConstraint.#ctor(System.Type,System.String)"> + <summary> + Construct a TypeConstraint for a given Type + </summary> + <param name="type">The expected type for the constraint</param> + <param name="descriptionPrefix">Prefix used in forming the constraint description</param> + </member> + <member name="M:NUnit.Framework.Constraints.TypeConstraint.ApplyTo``1(``0)"> + <summary> + Applies the constraint to an actual value, returning a ConstraintResult. + </summary> + <param name="actual">The value to be tested</param> + <returns>A ConstraintResult</returns> + </member> + <member name="M:NUnit.Framework.Constraints.TypeConstraint.Matches(System.Object)"> + <summary> + Apply the constraint to an actual value, returning true if it succeeds + </summary> + <param name="actual">The actual argument</param> + <returns>True if the constraint succeeds, otherwise false.</returns> + </member> + <member name="T:NUnit.Framework.Constraints.UniqueItemsConstraint"> + <summary> + UniqueItemsConstraint tests whether all the items in a + collection are unique. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.UniqueItemsConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.UniqueItemsConstraint.Matches(System.Collections.IEnumerable)"> + <summary> + Check that all items are unique. + </summary> + <param name="actual"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Constraints.UniqueItemsConstraint.ApplyTo``1(``0)"> + <inheritdoc /> + </member> + <member name="T:NUnit.Framework.Constraints.XmlSerializableConstraint"> + <summary> + XmlSerializableConstraint tests whether + an object is serializable in XML format. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.XmlSerializableConstraint.Description"> + <summary> + Gets text describing a constraint + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.XmlSerializableConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="M:NUnit.Framework.Constraints.XmlSerializableConstraint.GetStringRepresentation"> + <summary> + Returns the string representation of this constraint + </summary> + </member> + <member name="T:NUnit.Framework.Contains"> + <summary> + Helper class with properties and methods that supply + a number of constraints used in Asserts. + </summary> + </member> + <member name="M:NUnit.Framework.Contains.Item(System.Object)"> + <summary> + Returns a new <see cref="T:NUnit.Framework.Constraints.SomeItemsConstraint"/> checking for the + presence of a particular object in the collection. + </summary> + </member> + <member name="M:NUnit.Framework.Contains.Key(System.Object)"> + <summary> + Returns a new DictionaryContainsKeyConstraint checking for the + presence of a particular key in the dictionary. + </summary> + </member> + <member name="M:NUnit.Framework.Contains.Value(System.Object)"> + <summary> + Returns a new DictionaryContainsValueConstraint checking for the + presence of a particular value in the dictionary. + </summary> + </member> + <member name="M:NUnit.Framework.Contains.Substring(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + </summary> + </member> + <member name="T:NUnit.Framework.DirectoryAssert"> + <summary> + Asserts on Directories + </summary> + </member> + <member name="M:NUnit.Framework.DirectoryAssert.Equals(System.Object,System.Object)"> + <summary> + 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. + </summary> + <param name="a"></param> + <param name="b"></param> + </member> + <member name="M:NUnit.Framework.DirectoryAssert.ReferenceEquals(System.Object,System.Object)"> + <summary> + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + </summary> + <param name="a"></param> + <param name="b"></param> + </member> + <member name="M:NUnit.Framework.DirectoryAssert.AreEqual(System.IO.DirectoryInfo,System.IO.DirectoryInfo,System.String,System.Object[])"> + <summary> + 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 <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="expected">A directory containing the value that is expected</param> + <param name="actual">A directory containing the actual value</param> + <param name="message">The message to display if the directories are not equal</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.DirectoryAssert.AreEqual(System.IO.DirectoryInfo,System.IO.DirectoryInfo)"> + <summary> + 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 <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="expected">A directory containing the value that is expected</param> + <param name="actual">A directory containing the actual value</param> + </member> + <member name="M:NUnit.Framework.DirectoryAssert.AreNotEqual(System.IO.DirectoryInfo,System.IO.DirectoryInfo,System.String,System.Object[])"> + <summary> + Asserts that two directories are not equal. If they are equal + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="expected">A directory containing the value that is expected</param> + <param name="actual">A directory containing the actual value</param> + <param name="message">The message to display if directories are not equal</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.DirectoryAssert.AreNotEqual(System.IO.DirectoryInfo,System.IO.DirectoryInfo)"> + <summary> + Asserts that two directories are not equal. If they are equal + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="expected">A directory containing the value that is expected</param> + <param name="actual">A directory containing the actual value</param> + </member> + <member name="M:NUnit.Framework.DirectoryAssert.Exists(System.IO.DirectoryInfo,System.String,System.Object[])"> + <summary> + Asserts that the directory exists. If it does not exist + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="actual">A directory containing the actual value</param> + <param name="message">The message to display if directories are not equal</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.DirectoryAssert.Exists(System.IO.DirectoryInfo)"> + <summary> + Asserts that the directory exists. If it does not exist + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="actual">A directory containing the actual value</param> + </member> + <member name="M:NUnit.Framework.DirectoryAssert.Exists(System.String,System.String,System.Object[])"> + <summary> + Asserts that the directory exists. If it does not exist + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="actual">The path to a directory containing the actual value</param> + <param name="message">The message to display if directories are not equal</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.DirectoryAssert.Exists(System.String)"> + <summary> + Asserts that the directory exists. If it does not exist + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="actual">The path to a directory containing the actual value</param> + </member> + <member name="M:NUnit.Framework.DirectoryAssert.DoesNotExist(System.IO.DirectoryInfo,System.String,System.Object[])"> + <summary> + Asserts that the directory does not exist. If it does exist + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="actual">A directory containing the actual value</param> + <param name="message">The message to display if directories are not equal</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.DirectoryAssert.DoesNotExist(System.IO.DirectoryInfo)"> + <summary> + Asserts that the directory does not exist. If it does exist + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="actual">A directory containing the actual value</param> + </member> + <member name="M:NUnit.Framework.DirectoryAssert.DoesNotExist(System.String,System.String,System.Object[])"> + <summary> + Asserts that the directory does not exist. If it does exist + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="actual">The path to a directory containing the actual value</param> + <param name="message">The message to display if directories are not equal</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.DirectoryAssert.DoesNotExist(System.String)"> + <summary> + Asserts that the directory does not exist. If it does exist + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="actual">The path to a directory containing the actual value</param> + </member> + <member name="T:NUnit.Framework.Does"> + <summary> + Helper class with properties and methods that supply + a number of constraints used in Asserts. + </summary> + </member> + <member name="P:NUnit.Framework.Does.Not"> + <summary> + Returns a ConstraintExpression that negates any + following constraint. + </summary> + </member> + <member name="P:NUnit.Framework.Does.Exist"> + <summary> + Returns a constraint that succeeds if the value + is a file or directory and it exists. + </summary> + </member> + <member name="M:NUnit.Framework.Does.Contain(System.Object)"> + <summary> + Returns a new <see cref="T:NUnit.Framework.Constraints.SomeItemsConstraint"/> checking for the + presence of a particular object in the collection. + </summary> + </member> + <member name="M:NUnit.Framework.Does.Contain(System.String)"> + <summary> + Returns a new <see cref="T:NUnit.Framework.Constraints.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. + </summary> + </member> + <member name="M:NUnit.Framework.Does.ContainKey(System.Object)"> + <summary> + Returns a new DictionaryContainsKeyConstraint checking for the + presence of a particular key in the Dictionary key collection. + </summary> + <param name="expected">The key to be matched in the Dictionary key collection</param> + </member> + <member name="M:NUnit.Framework.Does.ContainValue(System.Object)"> + <summary> + Returns a new DictionaryContainsValueConstraint checking for the + presence of a particular value in the Dictionary value collection. + </summary> + <param name="expected">The value to be matched in the Dictionary value collection</param> + </member> + <member name="M:NUnit.Framework.Does.StartWith(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Does.EndWith(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Does.Match(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Does.Match(System.Text.RegularExpressions.Regex)"> + <summary> + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.ExceptionExtensions.GetStackTraceWithoutThrowing(System.Exception)"> + <summary> + If <see cref="P:System.Exception.StackTrace"/> throws, returns "SomeException was thrown by the Exception.StackTrace + property." See also <see cref="M:NUnit.Framework.Assert.GetEnvironmentStackTraceWithoutThrowing"/>. + </summary> + </member> + <member name="M:NUnit.Framework.ExceptionExtensions.GetMessageWithoutThrowing(System.Exception)"> + <summary> + If <see cref="P:System.Exception.Message"/> throws, returns "SomeException was thrown by the Exception.Message + property." + </summary> + </member> + <member name="M:NUnit.Framework.ExceptionExtensions.GetDataWithoutThrowing(System.Exception)"> + <summary> + If <see cref="P:System.Exception.Data"/> throws, returns "SomeException was thrown by the Exception.Data property." + </summary> + </member> + <member name="T:NUnit.Framework.AssertionException"> + <summary> + Thrown when an assertion failed. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionException.#ctor(System.String)"> + <param name="message">The error message that explains + the reason for the exception</param> + </member> + <member name="M:NUnit.Framework.AssertionException.#ctor(System.String,System.Exception)"> + <param name="message">The error message that explains + the reason for the exception</param> + <param name="inner">The exception that caused the + current exception</param> + </member> + <member name="M:NUnit.Framework.AssertionException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)"> + <summary> + Serialization Constructor + </summary> + </member> + <member name="P:NUnit.Framework.AssertionException.ResultState"> + <summary> + Gets the ResultState provided by this exception + </summary> + </member> + <member name="T:NUnit.Framework.IgnoreException"> + <summary> + Thrown when an assertion failed. + </summary> + </member> + <member name="M:NUnit.Framework.IgnoreException.#ctor(System.String)"> + <param name="message"></param> + </member> + <member name="M:NUnit.Framework.IgnoreException.#ctor(System.String,System.Exception)"> + <param name="message">The error message that explains + the reason for the exception</param> + <param name="inner">The exception that caused the + current exception</param> + </member> + <member name="M:NUnit.Framework.IgnoreException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)"> + <summary> + Serialization Constructor + </summary> + </member> + <member name="P:NUnit.Framework.IgnoreException.ResultState"> + <summary> + Gets the ResultState provided by this exception + </summary> + </member> + <member name="T:NUnit.Framework.InconclusiveException"> + <summary> + Thrown when a test executes inconclusively. + </summary> + </member> + <member name="M:NUnit.Framework.InconclusiveException.#ctor(System.String)"> + <param name="message">The error message that explains + the reason for the exception</param> + </member> + <member name="M:NUnit.Framework.InconclusiveException.#ctor(System.String,System.Exception)"> + <param name="message">The error message that explains + the reason for the exception</param> + <param name="inner">The exception that caused the + current exception</param> + </member> + <member name="M:NUnit.Framework.InconclusiveException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)"> + <summary> + Serialization Constructor + </summary> + </member> + <member name="P:NUnit.Framework.InconclusiveException.ResultState"> + <summary> + Gets the ResultState provided by this exception + </summary> + </member> + <member name="T:NUnit.Framework.MultipleAssertException"> + <summary> + Thrown when an assertion failed. + </summary> + </member> + <member name="M:NUnit.Framework.MultipleAssertException.#ctor(NUnit.Framework.Interfaces.ITestResult)"> + <summary> + 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. + </summary> + <param name="testResult"> + The current result, up to this point. The result is not used + internally by NUnit but is provided to facilitate debugging. + </param> + </member> + <member name="M:NUnit.Framework.MultipleAssertException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)"> + <summary> + Serialization Constructor + </summary> + </member> + <member name="P:NUnit.Framework.MultipleAssertException.ResultState"> + <summary> + Gets the <see cref="P:NUnit.Framework.MultipleAssertException.ResultState"/> provided by this exception. + </summary> + </member> + <member name="P:NUnit.Framework.MultipleAssertException.TestResult"> + <summary> + Gets the <see cref="T:NUnit.Framework.Interfaces.ITestResult"/> of this test at the point the exception was thrown, + </summary> + </member> + <member name="T:NUnit.Framework.ResultStateException"> + <summary> + Abstract base for Exceptions that terminate a test and provide a ResultState. + </summary> + </member> + <member name="M:NUnit.Framework.ResultStateException.#ctor(System.String)"> + <param name="message">The error message that explains + the reason for the exception</param> + </member> + <member name="M:NUnit.Framework.ResultStateException.#ctor(System.String,System.Exception)"> + <param name="message">The error message that explains + the reason for the exception</param> + <param name="inner">The exception that caused the + current exception</param> + </member> + <member name="M:NUnit.Framework.ResultStateException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)"> + <summary> + Serialization Constructor + </summary> + </member> + <member name="P:NUnit.Framework.ResultStateException.ResultState"> + <summary> + Gets the ResultState provided by this exception + </summary> + </member> + <member name="T:NUnit.Framework.SuccessException"> + <summary> + Thrown when an assertion failed. + </summary> + </member> + <member name="M:NUnit.Framework.SuccessException.#ctor(System.String)"> + <param name="message"></param> + </member> + <member name="M:NUnit.Framework.SuccessException.#ctor(System.String,System.Exception)"> + <param name="message">The error message that explains + the reason for the exception</param> + <param name="inner">The exception that caused the + current exception</param> + </member> + <member name="M:NUnit.Framework.SuccessException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)"> + <summary> + Serialization Constructor + </summary> + </member> + <member name="P:NUnit.Framework.SuccessException.ResultState"> + <summary> + Gets the ResultState provided by this exception + </summary> + </member> + <member name="T:NUnit.Framework.Extensions"> + <summary> + Contains extension methods that do not require a special <c>using</c> directive. + </summary> + </member> + <member name="T:NUnit.Framework.FileAssert"> + <summary> + Asserts on Files + </summary> + </member> + <member name="M:NUnit.Framework.FileAssert.Equals(System.Object,System.Object)"> + <summary> + 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. + </summary> + <param name="a"></param> + <param name="b"></param> + </member> + <member name="M:NUnit.Framework.FileAssert.ReferenceEquals(System.Object,System.Object)"> + <summary> + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + </summary> + <param name="a"></param> + <param name="b"></param> + </member> + <member name="M:NUnit.Framework.FileAssert.AreEqual(System.IO.Stream,System.IO.Stream,System.String,System.Object[])"> + <summary> + 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 <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="expected">The expected Stream</param> + <param name="actual">The actual Stream</param> + <param name="message">The message to display if Streams are not equal</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.FileAssert.AreEqual(System.IO.Stream,System.IO.Stream)"> + <summary> + 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 <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="expected">The expected Stream</param> + <param name="actual">The actual Stream</param> + </member> + <member name="M:NUnit.Framework.FileAssert.AreEqual(System.IO.FileInfo,System.IO.FileInfo,System.String,System.Object[])"> + <summary> + 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 <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="expected">A file containing the value that is expected</param> + <param name="actual">A file containing the actual value</param> + <param name="message">The message to display if Streams are not equal</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.FileAssert.AreEqual(System.IO.FileInfo,System.IO.FileInfo)"> + <summary> + 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 <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="expected">A file containing the value that is expected</param> + <param name="actual">A file containing the actual value</param> + </member> + <member name="M:NUnit.Framework.FileAssert.AreEqual(System.String,System.String,System.String,System.Object[])"> + <summary> + 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 <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="expected">The path to a file containing the value that is expected</param> + <param name="actual">The path to a file containing the actual value</param> + <param name="message">The message to display if Streams are not equal</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.FileAssert.AreEqual(System.String,System.String)"> + <summary> + 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 <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="expected">The path to a file containing the value that is expected</param> + <param name="actual">The path to a file containing the actual value</param> + </member> + <member name="M:NUnit.Framework.FileAssert.AreNotEqual(System.IO.Stream,System.IO.Stream,System.String,System.Object[])"> + <summary> + Asserts that two Streams are not equal. If they are equal + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="expected">The expected Stream</param> + <param name="actual">The actual Stream</param> + <param name="message">The message to be displayed when the two Stream are the same.</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.FileAssert.AreNotEqual(System.IO.Stream,System.IO.Stream)"> + <summary> + Asserts that two Streams are not equal. If they are equal + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="expected">The expected Stream</param> + <param name="actual">The actual Stream</param> + </member> + <member name="M:NUnit.Framework.FileAssert.AreNotEqual(System.IO.FileInfo,System.IO.FileInfo,System.String,System.Object[])"> + <summary> + Asserts that two files are not equal. If they are equal + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="expected">A file containing the value that is expected</param> + <param name="actual">A file containing the actual value</param> + <param name="message">The message to display if Streams are not equal</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.FileAssert.AreNotEqual(System.IO.FileInfo,System.IO.FileInfo)"> + <summary> + Asserts that two files are not equal. If they are equal + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="expected">A file containing the value that is expected</param> + <param name="actual">A file containing the actual value</param> + </member> + <member name="M:NUnit.Framework.FileAssert.AreNotEqual(System.String,System.String,System.String,System.Object[])"> + <summary> + Asserts that two files are not equal. If they are equal + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="expected">The path to a file containing the value that is expected</param> + <param name="actual">The path to a file containing the actual value</param> + <param name="message">The message to display if Streams are not equal</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.FileAssert.AreNotEqual(System.String,System.String)"> + <summary> + Asserts that two files are not equal. If they are equal + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="expected">The path to a file containing the value that is expected</param> + <param name="actual">The path to a file containing the actual value</param> + </member> + <member name="M:NUnit.Framework.FileAssert.Exists(System.IO.FileInfo,System.String,System.Object[])"> + <summary> + Asserts that the file exists. If it does not exist + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="actual">A file containing the actual value</param> + <param name="message">The message to display if Streams are not equal</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.FileAssert.Exists(System.IO.FileInfo)"> + <summary> + Asserts that the file exists. If it does not exist + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="actual">A file containing the actual value</param> + </member> + <member name="M:NUnit.Framework.FileAssert.Exists(System.String,System.String,System.Object[])"> + <summary> + Asserts that the file exists. If it does not exist + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="actual">The path to a file containing the actual value</param> + <param name="message">The message to display if Streams are not equal</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.FileAssert.Exists(System.String)"> + <summary> + Asserts that the file exists. If it does not exist + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="actual">The path to a file containing the actual value</param> + </member> + <member name="M:NUnit.Framework.FileAssert.DoesNotExist(System.IO.FileInfo,System.String,System.Object[])"> + <summary> + Asserts that the file does not exist. If it does exist + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="actual">A file containing the actual value</param> + <param name="message">The message to display if Streams are not equal</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.FileAssert.DoesNotExist(System.IO.FileInfo)"> + <summary> + Asserts that the file does not exist. If it does exist + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="actual">A file containing the actual value</param> + </member> + <member name="M:NUnit.Framework.FileAssert.DoesNotExist(System.String,System.String,System.Object[])"> + <summary> + Asserts that the file does not exist. If it does exist + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="actual">The path to a file containing the actual value</param> + <param name="message">The message to display if Streams are not equal</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.FileAssert.DoesNotExist(System.String)"> + <summary> + Asserts that the file does not exist. If it does exist + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="actual">The path to a file containing the actual value</param> + </member> + <member name="T:NUnit.Framework.Guard"> + <summary> + Class used to guard against unexpected argument values + or operations by throwing an appropriate exception. + </summary> + </member> + <member name="M:NUnit.Framework.Guard.ArgumentNotNull(System.Object,System.String)"> + <summary> + Throws an exception if an argument is null + </summary> + <param name="value">The value to be tested</param> + <param name="name">The name of the argument</param> + </member> + <member name="M:NUnit.Framework.Guard.ArgumentNotNullOrEmpty(System.String,System.String)"> + <summary> + Throws an exception if a string argument is null or empty + </summary> + <param name="value">The value to be tested</param> + <param name="name">The name of the argument</param> + </member> + <member name="M:NUnit.Framework.Guard.ArgumentInRange(System.Boolean,System.String,System.String)"> + <summary> + Throws an ArgumentOutOfRangeException if the specified condition is not met. + </summary> + <param name="condition">The condition that must be met</param> + <param name="message">The exception message to be used</param> + <param name="paramName">The name of the argument</param> + </member> + <member name="M:NUnit.Framework.Guard.ArgumentValid(System.Boolean,System.String,System.String)"> + <summary> + Throws an ArgumentException if the specified condition is not met. + </summary> + <param name="condition">The condition that must be met</param> + <param name="message">The exception message to be used</param> + <param name="paramName">The name of the argument</param> + </member> + <member name="M:NUnit.Framework.Guard.OperationValid(System.Boolean,System.String)"> + <summary> + Throws an InvalidOperationException if the specified condition is not met. + </summary> + <param name="condition">The condition that must be met</param> + <param name="message">The exception message to be used</param> + </member> + <member name="M:NUnit.Framework.Guard.ArgumentNotAsyncVoid(System.Delegate,System.String)"> + <summary> + Throws an <see cref="T:System.ArgumentException"/> if the specified delegate is <c>async void</c>. + </summary> + </member> + <member name="M:NUnit.Framework.Guard.ArgumentNotAsyncVoid(System.Reflection.MethodInfo,System.String)"> + <summary> + Throws an <see cref="T:System.ArgumentException"/> if the specified delegate is <c>async void</c>. + </summary> + </member> + <member name="T:NUnit.Framework.Has"> + <summary> + Helper class with properties and methods that supply + a number of constraints used in Asserts. + </summary> + </member> + <member name="P:NUnit.Framework.Has.No"> + <summary> + Returns a ConstraintExpression that negates any + following constraint. + </summary> + </member> + <member name="P:NUnit.Framework.Has.All"> + <summary> + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + </summary> + </member> + <member name="P:NUnit.Framework.Has.Some"> + <summary> + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if at least one of them succeeds. + </summary> + </member> + <member name="P:NUnit.Framework.Has.None"> + <summary> + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them fail. + </summary> + </member> + <member name="M:NUnit.Framework.Has.Exactly(System.Int32)"> + <summary> + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding only if a specified number of them succeed. + </summary> + </member> + <member name="P:NUnit.Framework.Has.One"> + <summary> + Returns a <see cref="T:NUnit.Framework.Constraints.ItemsConstraintExpression"/> which will apply + the following constraint to only one member of the collection, + and fail if none or more than one match occurs. + </summary> + </member> + <member name="M:NUnit.Framework.Has.Property(System.String)"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Has.Length"> + <summary> + Returns a new ConstraintExpression, which will apply the following + constraint to the Length property of the object being tested. + </summary> + </member> + <member name="P:NUnit.Framework.Has.Count"> + <summary> + Returns a new ConstraintExpression, which will apply the following + constraint to the Count property of the object being tested. + </summary> + </member> + <member name="P:NUnit.Framework.Has.Message"> + <summary> + Returns a new ConstraintExpression, which will apply the following + constraint to the Message property of the object being tested. + </summary> + </member> + <member name="P:NUnit.Framework.Has.InnerException"> + <summary> + Returns a new ConstraintExpression, which will apply the following + constraint to the InnerException property of the object being tested. + </summary> + </member> + <member name="M:NUnit.Framework.Has.Attribute(System.Type)"> + <summary> + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + </summary> + </member> + <member name="M:NUnit.Framework.Has.Attribute``1"> + <summary> + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + </summary> + </member> + <member name="M:NUnit.Framework.Has.Member(System.Object)"> + <summary> + Returns a new <see cref="T:NUnit.Framework.Constraints.SomeItemsConstraint"/> checking for the + presence of a particular object in the collection. + </summary> + </member> + <member name="M:NUnit.Framework.Has.ItemAt(System.Object[])"> + <summary> + Returns a new IndexerConstraintExpression, which will + apply any following constraint to that indexer value. + </summary> + <param name="indexArgs">Index accessor values.</param> + </member> + <member name="T:NUnit.Framework.Interfaces.AssertionResult"> + <summary> + The AssertionResult class represents the result of a single assertion. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.AssertionResult.#ctor(NUnit.Framework.Interfaces.AssertionStatus,System.String,System.String)"> + <summary> + Construct an AssertionResult + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.AssertionResult.Status"> + <summary> The pass/fail status of the assertion</summary> + </member> + <member name="P:NUnit.Framework.Interfaces.AssertionResult.Message"> + <summary>The message produced by the assertion, or null</summary> + </member> + <member name="P:NUnit.Framework.Interfaces.AssertionResult.StackTrace"> + <summary>The stack trace associated with the assertion, or null</summary> + </member> + <member name="M:NUnit.Framework.Interfaces.AssertionResult.Equals(System.Object)"> + <summary>Determines whether the specified object is equal to the current object.</summary> + <param name="obj">The object to compare with the current object.</param> + </member> + <member name="M:NUnit.Framework.Interfaces.AssertionResult.Equals(NUnit.Framework.Interfaces.AssertionResult)"> + <summary>Indicates whether the current object is equal to another object of the same type.</summary> + <param name="other">An object to compare with this object.</param> + </member> + <member name="M:NUnit.Framework.Interfaces.AssertionResult.GetHashCode"> + <summary>Serves as the default hash function.</summary> + </member> + <member name="M:NUnit.Framework.Interfaces.AssertionResult.ToString"> + <summary> + ToString Override + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.AssertionStatus"> + <summary> + 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. + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.AssertionStatus.Inconclusive"> + <summary> + An assumption failed + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.AssertionStatus.Passed"> + <summary> + The assertion succeeded + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.AssertionStatus.Warning"> + <summary> + A warning message was issued + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.AssertionStatus.Failed"> + <summary> + The assertion failed + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.AssertionStatus.Error"> + <summary> + An unexpected exception was thrown + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.IApplyToContext"> + <summary> + The IApplyToContext interface is implemented by attributes + that want to make changes to the execution context before + a test is run. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.IApplyToContext.ApplyToContext(NUnit.Framework.Internal.TestExecutionContext)"> + <summary> + Apply changes to the execution context + </summary> + <param name="context">The execution context</param> + </member> + <member name="T:NUnit.Framework.Interfaces.IApplyToTest"> + <summary> + The IApplyToTest interface is implemented by self-applying + attributes that modify the state of a test in some way. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.IApplyToTest.ApplyToTest(NUnit.Framework.Internal.Test)"> + <summary> + Modifies a test as defined for the specific attribute. + </summary> + <param name="test">The test to modify</param> + </member> + <member name="T:NUnit.Framework.Interfaces.ICombiningStrategy"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ICombiningStrategy.GetTestCases(System.Collections.IEnumerable[])"> + <summary> + Gets the test cases generated by the CombiningStrategy. + </summary> + <returns>The test cases.</returns> + </member> + <member name="T:NUnit.Framework.Interfaces.ICommandWrapper"> + <summary> + ICommandWrapper is implemented by attributes and other + objects able to wrap a TestCommand with another command. + </summary> + <remarks> + 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. + </remarks> + </member> + <member name="M:NUnit.Framework.Interfaces.ICommandWrapper.Wrap(NUnit.Framework.Internal.Commands.TestCommand)"> + <summary> + Wrap a command and return the result. + </summary> + <param name="command">The command to be wrapped</param> + <returns>The wrapped command</returns> + </member> + <member name="T:NUnit.Framework.Interfaces.IWrapTestMethod"> + <summary> + Objects implementing this interface are used to wrap + the TestMethodCommand itself. They apply after SetUp + has been run and before TearDown. + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.IWrapSetUpTearDown"> + <summary> + Objects implementing this interface are used to wrap + the entire test, including SetUp and TearDown. + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.IRepeatTest"> + <summary> + 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. + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.IDisposableFixture"> + <summary> + Any ITest that implements this interface is at a level that the implementing + class should be disposed at the end of the test run + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.IFixtureBuilder"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.IFixtureBuilder.BuildFrom(NUnit.Framework.Interfaces.ITypeInfo)"> + <summary> + Builds any number of test fixtures from the specified type. + </summary> + <param name="typeInfo">The type info of the fixture to be used.</param> + </member> + <member name="T:NUnit.Framework.Interfaces.IFixtureBuilder2"> + <summary> + The IFixtureBuilder2 interface extends IFixtureBuilder by allowing + use of a PreFilter, which is used to select methods as test cases. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.IFixtureBuilder2.BuildFrom(NUnit.Framework.Interfaces.ITypeInfo,NUnit.Framework.Interfaces.IPreFilter)"> + <summary> + Builds any number of test fixtures from the specified type. + </summary> + <param name="typeInfo">The type info of the fixture to be used.</param> + <param name="filter">PreFilter to be used to select methods.</param> + </member> + <member name="T:NUnit.Framework.Interfaces.IImplyFixture"> + <summary> + 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. + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.IMethodInfo"> + <summary> + The IMethodInfo class is used to encapsulate information + about a method in a platform-independent manner. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.IMethodInfo.TypeInfo"> + <summary> + Gets the Type from which this method was reflected. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.IMethodInfo.MethodInfo"> + <summary> + Gets the MethodInfo for this method. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.IMethodInfo.Name"> + <summary> + Gets the name of the method. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.IMethodInfo.IsAbstract"> + <summary> + Gets a value indicating whether the method is abstract. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.IMethodInfo.IsPublic"> + <summary> + Gets a value indicating whether the method is public. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.IMethodInfo.IsStatic"> + <summary> + Gets a value indicating whether the method is static. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.IMethodInfo.ContainsGenericParameters"> + <summary> + Gets a value indicating whether the method contains unassigned generic type parameters. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.IMethodInfo.IsGenericMethod"> + <summary> + Gets a value indicating whether the method is a generic method. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.IMethodInfo.IsGenericMethodDefinition"> + <summary> + Gets a value indicating whether the MethodInfo represents the definition of a generic method. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.IMethodInfo.ReturnType"> + <summary> + Gets the return Type of the method. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.IMethodInfo.GetParameters"> + <summary> + Gets the parameters of the method. + </summary> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Interfaces.IMethodInfo.GetGenericArguments"> + <summary> + Returns the Type arguments of a generic method or the Type parameters of a generic method definition. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.IMethodInfo.MakeGenericMethod(System.Type[])"> + <summary> + Replaces the type parameters of the method with the array of types provided and returns a new IMethodInfo. + </summary> + <param name="typeArguments">The type arguments to be used</param> + <returns>A new IMethodInfo with the type arguments replaced</returns> + </member> + <member name="M:NUnit.Framework.Interfaces.IMethodInfo.Invoke(System.Object,System.Object[])"> + <summary> + Invokes the method, converting any TargetInvocationException to an NUnitException. + </summary> + <param name="fixture">The object on which to invoke the method</param> + <param name="args">The argument list for the method</param> + <returns>The return value from the invoked method</returns> + </member> + <member name="T:NUnit.Framework.Interfaces.IParameterDataProvider"> + <summary> + Provides data for a single test parameter. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.IParameterDataProvider.HasDataFor(NUnit.Framework.Interfaces.IParameterInfo)"> + <summary> + Determines whether any data is available for a parameter. + </summary> + <param name="parameter">The parameter of a parameterized test.</param> + </member> + <member name="M:NUnit.Framework.Interfaces.IParameterDataProvider.GetDataFor(NUnit.Framework.Interfaces.IParameterInfo)"> + <summary> + Retrieves a list of arguments which can be passed to the specified parameter. + </summary> + <param name="parameter">The parameter of a parameterized test.</param> + </member> + <member name="T:NUnit.Framework.Interfaces.IParameterDataSource"> + <summary> + Provides data for a single test parameter. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.IParameterDataSource.GetData(NUnit.Framework.Interfaces.IParameterInfo)"> + <summary> + Retrieves a list of arguments which can be passed to the specified parameter. + </summary> + <param name="parameter">The parameter of a parameterized test.</param> + </member> + <member name="T:NUnit.Framework.Interfaces.IParameterInfo"> + <summary> + The IParameterInfo interface is an abstraction of a .NET parameter. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.IParameterInfo.IsOptional"> + <summary> + Gets a value indicating whether the parameter is optional + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.IParameterInfo.Method"> + <summary> + Gets an IMethodInfo representing the method for which this is a parameter + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.IParameterInfo.ParameterInfo"> + <summary> + Gets the underlying .NET ParameterInfo + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.IParameterInfo.ParameterType"> + <summary> + Gets the Type of the parameter + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.IPreFilter"> + <summary> + Implemented by filters for use in deciding which + Types and Methods should be used to generate tests. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.IPreFilter.IsMatch(System.Type)"> + <summary> + Use the filter on a Type, returning true if the type matches the filter + and should therefore be included in the discovery process. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.IPreFilter.IsMatch(System.Type,System.Reflection.MethodInfo)"> + <summary> + Use the filter on a Type, returning true if the type matches the filter + and should therefore be included in the discovery process. + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.IPropertyBag"> + <summary> + 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")); + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.IPropertyBag.Add(System.String,System.Object)"> + <summary> + Adds a key/value pair to the property bag + </summary> + <param name="key">The key</param> + <param name="value">The value</param> + </member> + <member name="M:NUnit.Framework.Interfaces.IPropertyBag.Set(System.String,System.Object)"> + <summary> + Sets the value for a key, removing any other + values that are already in the property set. + </summary> + <param name="key"></param> + <param name="value"></param> + </member> + <member name="M:NUnit.Framework.Interfaces.IPropertyBag.Get(System.String)"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.IPropertyBag.ContainsKey(System.String)"> + <summary> + Gets a flag indicating whether the specified key has + any entries in the property set. + </summary> + <param name="key">The key to be checked</param> + <returns>True if their are values present, otherwise false</returns> + </member> + <member name="P:NUnit.Framework.Interfaces.IPropertyBag.Item(System.String)"> + <summary> + Gets or sets the list of values for a particular key + </summary> + <param name="key">The key for which the values are to be retrieved or set</param> + </member> + <member name="P:NUnit.Framework.Interfaces.IPropertyBag.Keys"> + <summary> + Gets a collection containing all the keys in the property set + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.IReflectionInfo"> + <summary> + The IReflectionInfo interface is implemented by NUnit wrapper objects that perform reflection. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.IReflectionInfo.GetCustomAttributes``1(System.Boolean)"> + <summary> + Returns an array of custom attributes of the specified type applied to this object + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.IReflectionInfo.IsDefined``1(System.Boolean)"> + <summary> + Returns a value indicating whether an attribute of the specified type is defined on this object. + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.ISimpleTestBuilder"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ISimpleTestBuilder.BuildFrom(NUnit.Framework.Interfaces.IMethodInfo,NUnit.Framework.Internal.Test)"> + <summary> + Builds a single test from the specified method and context. + </summary> + <param name="method">The method to be used as a test</param> + <param name="suite">The TestSuite to which the method will be added</param> + </member> + <member name="T:NUnit.Framework.Interfaces.ISuiteBuilder"> + <summary> + The ISuiteBuilder interface is exposed by a class that knows how to + build a single test suite from a specified type. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ISuiteBuilder.CanBuildFrom(NUnit.Framework.Interfaces.ITypeInfo)"> + <summary> + 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. + </summary> + <param name="typeInfo">The type of the fixture to be used</param> + </member> + <member name="M:NUnit.Framework.Interfaces.ISuiteBuilder.BuildFrom(NUnit.Framework.Interfaces.ITypeInfo)"> + <summary> + Builds a single test suite from the specified type. + </summary> + <param name="typeInfo">The type of the fixture to be used</param> + </member> + <member name="M:NUnit.Framework.Interfaces.ISuiteBuilder.BuildFrom(NUnit.Framework.Interfaces.ITypeInfo,NUnit.Framework.Interfaces.IPreFilter)"> + <summary> + Builds a single test suite from the specified type, subject + to a filter that decides which methods are included. + </summary> + <param name="typeInfo">The type of the fixture to be used</param> + <param name="filter">A PreFilter for selecting methods.</param> + </member> + <member name="T:NUnit.Framework.Interfaces.ITest"> + <summary> + Common interface supported by all representations + of a test. Only includes informational fields. + The Run method is specifically excluded to allow + for data-only representations of a test. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITest.Id"> + <summary> + Gets the id of the test + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITest.Name"> + <summary> + Gets the name of the test + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITest.TestType"> + <summary> + Gets the type of the test + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITest.FullName"> + <summary> + Gets the fully qualified name of the test + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITest.ClassName"> + <summary> + Gets the name of the class containing this test. Returns + null if the test is not associated with a class. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITest.MethodName"> + <summary> + Gets the name of the method implementing this test. + Returns null if the test is not implemented as a method. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITest.TypeInfo"> + <summary> + Gets the Type of the test fixture, if applicable, or + null if no fixture type is associated with this test. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITest.Method"> + <summary> + Gets the method which declares the test, or <see langword="null"/> + if no method is associated with this test. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITest.RunState"> + <summary> + Gets the RunState of the test, indicating whether it can be run. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITest.TestCaseCount"> + <summary> + Count of the test cases ( 1 if this is a test case ) + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITest.Properties"> + <summary> + Gets the properties of the test + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITest.Parent"> + <summary> + Gets the parent test, if any. + </summary> + <value>The parent test or null if none exists.</value> + </member> + <member name="P:NUnit.Framework.Interfaces.ITest.IsSuite"> + <summary> + Returns true if this is a test suite + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITest.HasChildren"> + <summary> + Gets a bool indicating whether the current test + has any descendant tests. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITest.Tests"> + <summary> + Gets this test's child tests + </summary> + <value>A list of child tests</value> + </member> + <member name="P:NUnit.Framework.Interfaces.ITest.Fixture"> + <summary> + Gets a fixture object for running this test. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITest.Arguments"> + <summary> + The arguments to use in creating the test or empty array if none are required. + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.ITestBuilder"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ITestBuilder.BuildFrom(NUnit.Framework.Interfaces.IMethodInfo,NUnit.Framework.Internal.Test)"> + <summary> + Builds any number of tests from the specified method and context. + </summary> + <param name="method">The method to be used as a test</param> + <param name="suite">The TestSuite to which the method will be added</param> + </member> + <member name="T:NUnit.Framework.Interfaces.ITestCaseBuilder"> + <summary> + The ITestCaseBuilder interface is exposed by a class that knows how to + build a test from a specified method, possibly containing child test cases. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ITestCaseBuilder.CanBuildFrom(NUnit.Framework.Interfaces.IMethodInfo,NUnit.Framework.Internal.Test)"> + <summary> + 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. + </summary> + <param name="method">The test method to examine</param> + <param name="suite">The suite being populated</param> + </member> + <member name="M:NUnit.Framework.Interfaces.ITestCaseBuilder.BuildFrom(NUnit.Framework.Interfaces.IMethodInfo,NUnit.Framework.Internal.Test)"> + <summary> + Builds a single test from the specified method and context, + possibly containing child test cases. + </summary> + <param name="method">The method to be used as a test case</param> + <param name="suite">The test suite being populated, or null</param> + </member> + <member name="T:NUnit.Framework.Interfaces.ITestCaseData"> + <summary> + The ITestCaseData interface is implemented by a class + that is able to return complete test cases for use by + a parameterized test method. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestCaseData.ExpectedResult"> + <summary> + Gets the expected result of the test case + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestCaseData.HasExpectedResult"> + <summary> + Returns true if an expected result has been set + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.ITestData"> + <summary> + The ITestData interface is implemented by a class that + represents a single instance of a parameterized test. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestData.TestName"> + <summary> + Gets the name to be used for the test + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestData.RunState"> + <summary> + Gets the RunState for this test case. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestData.Arguments"> + <summary> + Gets the argument list to be provided to the test + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestData.Properties"> + <summary> + Gets the property dictionary for the test case + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.ITestFilter"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ITestFilter.Pass(NUnit.Framework.Interfaces.ITest)"> + <summary> + 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 + </summary> + <param name="test">The test to which the filter is applied</param> + <returns>True if the test passes the filter, otherwise false</returns> + </member> + <member name="M:NUnit.Framework.Interfaces.ITestFilter.IsExplicitMatch(NUnit.Framework.Interfaces.ITest)"> + <summary> + 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. + </summary> + <param name="test">The test to which the filter is applied</param> + <returns>True if the test matches the filter explicitly, otherwise false</returns> + </member> + <member name="T:NUnit.Framework.Interfaces.ITestFixtureData"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestFixtureData.TypeArgs"> + <summary> + Get the TypeArgs if separately set + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.ITestListener"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ITestListener.TestStarted(NUnit.Framework.Interfaces.ITest)"> + <summary> + Called when a test has just started + </summary> + <param name="test">The test that is starting</param> + </member> + <member name="M:NUnit.Framework.Interfaces.ITestListener.TestFinished(NUnit.Framework.Interfaces.ITestResult)"> + <summary> + Called when a test has finished + </summary> + <param name="result">The result of the test</param> + </member> + <member name="M:NUnit.Framework.Interfaces.ITestListener.TestOutput(NUnit.Framework.Interfaces.TestOutput)"> + <summary> + Called when a test produces output for immediate display + </summary> + <param name="output">A TestOutput object containing the text to display</param> + </member> + <member name="M:NUnit.Framework.Interfaces.ITestListener.SendMessage(NUnit.Framework.Interfaces.TestMessage)"> + <summary> + Called when a test produces a message to be sent to listeners + </summary> + <param name="message">A <see cref="T:NUnit.Framework.Interfaces.TestMessage"/> object containing the text to send</param> + </member> + <member name="T:NUnit.Framework.Interfaces.ITestResult"> + <summary> + The ITestResult interface represents the result of a test. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.ResultState"> + <summary> + Gets the ResultState of the test result, which + indicates the success or failure of the test. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.Name"> + <summary> + Gets the name of the test result + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.FullName"> + <summary> + Gets the full name of the test result + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.Duration"> + <summary> + Gets the elapsed time for running the test in seconds + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.StartTime"> + <summary> + Gets or sets the time the test started running. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.EndTime"> + <summary> + Gets or sets the time the test finished running. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.Message"> + <summary> + Gets the message associated with a test + failure or with not running the test + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.StackTrace"> + <summary> + Gets any stack trace associated with an + error or failure.</summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.TotalCount"> + <summary> + Gets the total number of tests executed + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.AssertCount"> + <summary> + Gets the number of asserts executed + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.FailCount"> + <summary> + Gets the number of test cases that failed + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.WarningCount"> + <summary> + Gets the number of test cases that had warnings + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.PassCount"> + <summary> + Gets the number of test cases that passed + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.SkipCount"> + <summary> + Gets the number of test cases that were skipped + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.InconclusiveCount"> + <summary> + Gets the number of test cases that were inconclusive + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.HasChildren"> + <summary> + Indicates whether this result has any child results. + Accessing HasChildren should not force creation of the + Children collection in classes implementing this interface. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.Children"> + <summary> + Gets the collection of child results. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.Test"> + <summary> + Gets the Test to which this result applies. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.Output"> + <summary> + Gets any text output written to this result. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.AssertionResults"> + <summary> + Gets a list of AssertionResults associated with the test + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.TestAttachments"> + <summary> + Gets the collection of files attached to the test + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.ITypeInfo"> + <summary> + The ITypeInfo interface is an abstraction of a .NET Type + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITypeInfo.Type"> + <summary> + Gets the underlying Type on which this ITypeInfo is based + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITypeInfo.BaseType"> + <summary> + Gets the base type of this type as an ITypeInfo + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ITypeInfo.IsType(System.Type)"> + <summary> + Returns true if the Type wrapped is equal to the argument + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITypeInfo.Name"> + <summary> + Gets the name of the Type + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITypeInfo.FullName"> + <summary> + Gets the full name of the Type + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITypeInfo.Assembly"> + <summary> + Gets the assembly in which the type is declared + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITypeInfo.Namespace"> + <summary> + Gets the namespace of the Type + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITypeInfo.IsAbstract"> + <summary> + Gets a value indicating whether the type is abstract. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITypeInfo.IsGenericType"> + <summary> + Gets a value indicating whether the Type is a generic Type + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITypeInfo.ContainsGenericParameters"> + <summary> + Gets a value indicating whether the Type has generic parameters that have not been replaced by specific Types. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITypeInfo.IsGenericTypeDefinition"> + <summary> + Gets a value indicating whether the Type is a generic Type definition + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITypeInfo.IsSealed"> + <summary> + Gets a value indicating whether the type is sealed. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITypeInfo.IsStaticClass"> + <summary> + Gets a value indicating whether this type is a static class. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ITypeInfo.GetDisplayName"> + <summary> + Get the display name for this typeInfo. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ITypeInfo.GetDisplayName(System.Object[])"> + <summary> + Get the display name for an object of this type, constructed with specific arguments + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ITypeInfo.GetGenericTypeDefinition"> + <summary> + Returns a Type representing a generic type definition from which this Type can be constructed. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ITypeInfo.MakeGenericType(System.Type[])"> + <summary> + Returns a new ITypeInfo representing an instance of this generic Type using the supplied Type arguments + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ITypeInfo.HasMethodWithAttribute(System.Type)"> + <summary> + Returns a value indicating whether this type has a method with a specified public attribute + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ITypeInfo.GetMethods(System.Reflection.BindingFlags)"> + <summary> + Returns an array of IMethodInfos for methods of this Type + that match the specified flags. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ITypeInfo.GetConstructor(System.Type[])"> + <summary> + Gets the public constructor taking the specified argument Types + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ITypeInfo.HasConstructor(System.Type[])"> + <summary> + Returns a value indicating whether this Type has a public constructor taking the specified argument Types. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ITypeInfo.Construct(System.Object[])"> + <summary> + Construct an object of this Type, using the specified arguments. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ITypeInfo.GetMethodsWithAttribute``1(System.Boolean)"> + <summary> + 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. + </summary> + <param name="inherit">Specifies whether to search the fixture type inheritance chain.</param> + </member> + <member name="T:NUnit.Framework.Interfaces.IXmlNodeBuilder"> + <summary> + An object implementing IXmlNodeBuilder is able to build + an XML representation of itself and any children. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.IXmlNodeBuilder.ToXml(System.Boolean)"> + <summary> + Returns a TNode representing the current object. + </summary> + <param name="recursive">If true, children are included where applicable</param> + <returns>A TNode representing the result</returns> + </member> + <member name="M:NUnit.Framework.Interfaces.IXmlNodeBuilder.AddToXml(NUnit.Framework.Interfaces.TNode,System.Boolean)"> + <summary> + Returns a TNode representing the current object after + adding it as a child of the supplied parent node. + </summary> + <param name="parentNode">The parent node.</param> + <param name="recursive">If true, children are included, where applicable</param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Interfaces.ResultState"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ResultState.#ctor(NUnit.Framework.Interfaces.TestStatus)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Interfaces.ResultState"/> class. + </summary> + <param name="status">The TestStatus.</param> + </member> + <member name="M:NUnit.Framework.Interfaces.ResultState.#ctor(NUnit.Framework.Interfaces.TestStatus,System.String)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Interfaces.ResultState"/> class. + </summary> + <param name="status">The TestStatus.</param> + <param name="label">The label.</param> + </member> + <member name="M:NUnit.Framework.Interfaces.ResultState.#ctor(NUnit.Framework.Interfaces.TestStatus,NUnit.Framework.Interfaces.FailureSite)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Interfaces.ResultState"/> class. + </summary> + <param name="status">The TestStatus.</param> + <param name="site">The stage at which the result was produced</param> + </member> + <member name="M:NUnit.Framework.Interfaces.ResultState.#ctor(NUnit.Framework.Interfaces.TestStatus,System.String,NUnit.Framework.Interfaces.FailureSite)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Interfaces.ResultState"/> class. + </summary> + <param name="status">The TestStatus.</param> + <param name="label">The label.</param> + <param name="site">The stage at which the result was produced</param> + </member> + <member name="F:NUnit.Framework.Interfaces.ResultState.Inconclusive"> + <summary> + The result is inconclusive + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.ResultState.Skipped"> + <summary> + The test has been skipped. + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.ResultState.Ignored"> + <summary> + The test has been ignored. + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.ResultState.Explicit"> + <summary> + The test was skipped because it is explicit + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.ResultState.Success"> + <summary> + The test succeeded + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.ResultState.Warning"> + <summary> + The test issued a warning + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.ResultState.Failure"> + <summary> + The test failed + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.ResultState.Error"> + <summary> + The test encountered an unexpected exception + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.ResultState.Cancelled"> + <summary> + The test was cancelled by the user + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.ResultState.NotRunnable"> + <summary> + The test was not runnable. + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.ResultState.ChildFailure"> + <summary> + A suite failed because one or more child tests failed or had errors + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.ResultState.ChildWarning"> + <summary> + A suite failed because one or more child tests had warnings + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.ResultState.ChildIgnored"> + <summary> + A suite is marked ignored because one or more child tests were ignored + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.ResultState.SetUpFailure"> + <summary> + A suite failed in its OneTimeSetUp + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.ResultState.SetUpError"> + <summary> + A suite had an unexpected exception in its OneTimeSetUp + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.ResultState.TearDownError"> + <summary> + A suite had an unexpected exception in its OneTimeDown + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ResultState.Status"> + <summary> + Gets the TestStatus for the test. + </summary> + <value>The status.</value> + </member> + <member name="P:NUnit.Framework.Interfaces.ResultState.Label"> + <summary> + Gets the label under which this test result is + categorized, or <see cref="F:System.String.Empty"/> if none. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ResultState.Site"> + <summary> + Gets the stage of test execution in which + the failure or other result took place. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ResultState.WithSite(NUnit.Framework.Interfaces.FailureSite)"> + <summary> + Get a new ResultState, which is the same as the current + one but with the FailureSite set to the specified value. + </summary> + <param name="site">The FailureSite to use</param> + <returns>A new ResultState</returns> + </member> + <member name="M:NUnit.Framework.Interfaces.ResultState.Matches(NUnit.Framework.Interfaces.ResultState)"> + <summary> + Test whether this ResultState has the same Status and Label + as another one. In other words, the whether two are equal + ignoring the Site. + </summary> + <param name="other"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Interfaces.ResultState.Equals(System.Object)"> + <summary>Determines whether the specified object is equal to the current object.</summary> + <param name="obj">The object to compare with the current object.</param> + </member> + <member name="M:NUnit.Framework.Interfaces.ResultState.Equals(NUnit.Framework.Interfaces.ResultState)"> + <summary>Indicates whether the current object is equal to another object of the same type.</summary> + <param name="other">An object to compare with this object.</param> + </member> + <member name="M:NUnit.Framework.Interfaces.ResultState.GetHashCode"> + <summary>Serves as the default hash function.</summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ResultState.op_Equality(NUnit.Framework.Interfaces.ResultState,NUnit.Framework.Interfaces.ResultState)"> + <summary> + Overload == operator for ResultStates + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ResultState.op_Inequality(NUnit.Framework.Interfaces.ResultState,NUnit.Framework.Interfaces.ResultState)"> + <summary> + Overload != operator for ResultStates + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ResultState.ToString"> + <summary> + Returns a <see cref="T:System.String"/> that represents this instance. + </summary> + <returns> + A <see cref="T:System.String"/> that represents this instance. + </returns> + </member> + <member name="T:NUnit.Framework.Interfaces.FailureSite"> + <summary> + The FailureSite enum indicates the stage of a test + in which an error or failure occurred. + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.FailureSite.Test"> + <summary> + Failure in the test itself + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.FailureSite.SetUp"> + <summary> + Failure in the SetUp method + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.FailureSite.TearDown"> + <summary> + Failure in the TearDown method + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.FailureSite.Parent"> + <summary> + Failure of a parent test + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.FailureSite.Child"> + <summary> + Failure of a child test + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.RunState"> + <summary> + The RunState enum indicates whether a test can be executed. + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.RunState.NotRunnable"> + <summary> + The test is not runnable. + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.RunState.Runnable"> + <summary> + The test is runnable. + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.RunState.Explicit"> + <summary> + The test can only be run explicitly + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.RunState.Skipped"> + <summary> + The test has been skipped. This value may + appear on a Test when certain attributes + are used to skip the test. + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.RunState.Ignored"> + <summary> + The test has been ignored. May appear on + a Test, when the IgnoreAttribute is used. + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.TestAttachment"> + <summary> + The TestAttachment class represents a file attached to a TestResult, + with an optional description. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.TestAttachment.FilePath"> + <summary> + Absolute file path to attachment file + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.TestAttachment.Description"> + <summary> + User specified description of attachment. May be null. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.TestAttachment.#ctor(System.String,System.String)"> + <summary> + Creates a TestAttachment class to represent a file attached to a test result. + </summary> + <param name="filePath">Absolute file path to attachment file</param> + <param name="description">User specified description of attachment. May be null.</param> + </member> + <member name="T:NUnit.Framework.Interfaces.TestMessage"> + <summary> + The <see cref="T:NUnit.Framework.Interfaces.TestMessage"/> class holds a message sent by a test to all listeners + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.TestMessage.#ctor(System.String,System.String,System.String)"> + <summary> + Construct with text, destination type and + the name of the test that produced the message. + </summary> + <param name="destination">Destination of the message</param> + <param name="text">Text to be sent</param> + <param name="testId">ID of the test that produced the message</param> + </member> + <member name="M:NUnit.Framework.Interfaces.TestMessage.ToString"> + <summary> + Converts <see cref="T:NUnit.Framework.Interfaces.TestMessage"/> object to string + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.TestMessage.Message"> + <summary> + The message to send to listeners + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.TestMessage.Destination"> + <summary> + The Destination of the message. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.TestMessage.TestId"> + <summary> + The ID of the test that sent the message + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.TestMessage.ToXml"> + <summary> + Returns the XML representation of the <see cref="T:NUnit.Framework.Interfaces.TestMessage"/> object. + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.TestOutput"> + <summary> + The TestOutput class holds a unit of output from + a test to a specific output stream + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.TestOutput.#ctor(System.String,System.String,System.String,System.String)"> + <summary> + Construct with text, output destination type and + the name of the test that produced the output. + </summary> + <param name="text">Text to be output</param> + <param name="stream">Name of the stream or channel to which the text should be written</param> + <param name="testId">Id of the test that produced the output</param> + <param name="testName">FullName of test that produced the output</param> + </member> + <member name="M:NUnit.Framework.Interfaces.TestOutput.ToString"> + <summary> + Return string representation of the object for debugging + </summary> + <returns></returns> + </member> + <member name="P:NUnit.Framework.Interfaces.TestOutput.Text"> + <summary> + Get the text + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.TestOutput.Stream"> + <summary> + Get the output type + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.TestOutput.TestName"> + <summary> + Get the name of the test that created the output + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.TestOutput.TestId"> + <summary> + Get the id of the test that created the output + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.TestOutput.ToXml"> + <summary> + Convert the TestOutput object to an XML string + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.TestStatus"> + <summary> + The TestStatus enum indicates the result of running a test + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.TestStatus.Inconclusive"> + <summary> + The test was inconclusive + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.TestStatus.Skipped"> + <summary> + The test has skipped + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.TestStatus.Passed"> + <summary> + The test succeeded + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.TestStatus.Warning"> + <summary> + There was a warning + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.TestStatus.Failed"> + <summary> + The test failed + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.TNode"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.TNode.#ctor(System.String)"> + <summary> + Constructs a new instance of TNode + </summary> + <param name="name">The name of the node</param> + </member> + <member name="M:NUnit.Framework.Interfaces.TNode.#ctor(System.String,System.String)"> + <summary> + Constructs a new instance of TNode with a value + </summary> + <param name="name">The name of the node</param> + <param name="value">The text content of the node</param> + </member> + <member name="M:NUnit.Framework.Interfaces.TNode.#ctor(System.String,System.String,System.Boolean)"> + <summary> + Constructs a new instance of TNode with a value + </summary> + <param name="name">The name of the node</param> + <param name="value">The text content of the node</param> + <param name="valueIsCDATA">Flag indicating whether to use CDATA when writing the text</param> + </member> + <member name="P:NUnit.Framework.Interfaces.TNode.Name"> + <summary> + Gets the name of the node + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.TNode.Value"> + <summary> + Gets the value of the node + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.TNode.ValueIsCDATA"> + <summary> + Gets a flag indicating whether the value should be output using CDATA. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.TNode.Attributes"> + <summary> + Gets the dictionary of attributes + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.TNode.ChildNodes"> + <summary> + Gets a list of child nodes + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.TNode.FirstChild"> + <summary> + Gets the first ChildNode + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.TNode.OuterXml"> + <summary> + Gets the XML representation of this node. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.TNode.FromXml(System.String)"> + <summary> + Create a TNode from its XML text representation + </summary> + <param name="xmlText">The XML text to be parsed</param> + <returns>A TNode</returns> + </member> + <member name="M:NUnit.Framework.Interfaces.TNode.AddElement(System.String)"> + <summary> + Adds a new element as a child of the current node and returns it. + </summary> + <param name="name">The element name.</param> + <returns>The newly created child element</returns> + </member> + <member name="M:NUnit.Framework.Interfaces.TNode.AddElement(System.String,System.String)"> + <summary> + Adds a new element with a value as a child of the current node and returns it. + </summary> + <param name="name">The element name</param> + <param name="value">The text content of the new element</param> + <returns>The newly created child element</returns> + </member> + <member name="M:NUnit.Framework.Interfaces.TNode.AddElementWithCDATA(System.String,System.String)"> + <summary> + 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. + </summary> + <param name="name">The element name</param> + <param name="value">The text content of the new element</param> + <returns>The newly created child element</returns> + </member> + <member name="M:NUnit.Framework.Interfaces.TNode.AddAttribute(System.String,System.String)"> + <summary> + Adds an attribute with a specified name and value to the XmlNode. + </summary> + <param name="name">The name of the attribute.</param> + <param name="value">The value of the attribute.</param> + </member> + <member name="M:NUnit.Framework.Interfaces.TNode.SelectSingleNode(System.String)"> + <summary> + 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. + </summary> + <param name="xpath"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Interfaces.TNode.SelectNodes(System.String)"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.TNode.WriteTo(System.Xml.XmlWriter)"> + <summary> + Writes the XML representation of the node to an XmlWriter + </summary> + <param name="writer"></param> + </member> + <member name="T:NUnit.Framework.Interfaces.NodeList"> + <summary> + Class used to represent a list of XmlResults + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.AttributeDictionary"> + <summary> + Class used to represent the attributes of a node + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.AttributeDictionary.Item(System.String)"> + <summary> + Gets or sets the value associated with the specified key. + Overridden to return null if attribute is not found. + </summary> + <param name="key">The key.</param> + <returns>Value of the attribute or null</returns> + </member> + <member name="T:NUnit.Framework.Internal.Abstractions.DebuggerProxy"> + <summary> + A production <see cref="T:NUnit.Framework.Internal.Abstractions.IDebugger"/> implementation that delegates directly to .NET's <see cref="T:System.Diagnostics.Debugger"/>. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Abstractions.DebuggerProxy.IsAttached"> + <summary> + Returns whether a debugger is currently attached to the process + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Abstractions.IDebugger"> + <summary> + A layer of abstraction around <see cref="T:System.Diagnostics.Debugger"/> to facilitate testing. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Abstractions.IDebugger.IsAttached"> + <summary> + Whether a debugger is currently attached to the process. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.AssemblyHelper"> + <summary> + AssemblyHelper provides static methods for working + with assemblies. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.AssemblyHelper.GetAssemblyPath(System.Reflection.Assembly)"> + <summary> + Gets the path from which an assembly was loaded. + For builds where this is not possible, returns + the name of the assembly. + </summary> + <param name="assembly">The assembly.</param> + <returns>The path.</returns> + </member> + <member name="M:NUnit.Framework.Internal.AssemblyHelper.GetDirectoryName(System.Reflection.Assembly)"> + <summary> + Gets the path to the directory from which an assembly was loaded. + </summary> + <param name="assembly">The assembly.</param> + <returns>The path.</returns> + </member> + <member name="M:NUnit.Framework.Internal.AssemblyHelper.GetAssemblyName(System.Reflection.Assembly)"> + <summary> + Gets the AssemblyName of an assembly. + </summary> + <param name="assembly">The assembly</param> + <returns>An AssemblyName</returns> + </member> + <member name="M:NUnit.Framework.Internal.AssemblyHelper.Load(System.String)"> + <summary> + Loads an assembly given a string, which may be the + path to the assembly or the AssemblyName + </summary> + </member> + <member name="M:NUnit.Framework.Internal.AssemblyHelper.GetAssemblyPathFromCodeBase(System.String)"> + <summary> + Gets the assembly path from code base. + </summary> + <remarks>Public for testing purposes</remarks> + <param name="codeBase">The code base.</param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Internal.AwaitAdapter"> + <summary> + Adapts various styles of asynchronous waiting to a common API. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Builders.CombinatorialStrategy"> + <summary> + CombinatorialStrategy creates test cases by using all possible + combinations of the parameter data. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Builders.CombinatorialStrategy.GetTestCases(System.Collections.IEnumerable[])"> + <summary> + Gets the test cases generated by the CombiningStrategy. + </summary> + <returns>The test cases.</returns> + </member> + <member name="T:NUnit.Framework.Internal.Builders.DatapointProvider"> + <summary> + Provides data from fields marked with the DatapointAttribute or the + DatapointsAttribute. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Builders.DatapointProvider.HasDataFor(NUnit.Framework.Interfaces.IParameterInfo)"> + <summary> + Determines whether any data is available for a parameter. + </summary> + <param name="parameter">The parameter of a parameterized test</param> + </member> + <member name="M:NUnit.Framework.Internal.Builders.DatapointProvider.GetDataFor(NUnit.Framework.Interfaces.IParameterInfo)"> + <summary> + Retrieves data for use with the supplied parameter. + </summary> + <param name="parameter">The parameter of a parameterized test</param> + </member> + <member name="T:NUnit.Framework.Internal.Builders.DefaultSuiteBuilder"> + <summary> + Built-in SuiteBuilder for all types of test classes. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Builders.DefaultSuiteBuilder.CanBuildFrom(NUnit.Framework.Interfaces.ITypeInfo)"> + <summary> + 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. + </summary> + <param name="typeInfo">The fixture type to check</param> + </member> + <member name="M:NUnit.Framework.Internal.Builders.DefaultSuiteBuilder.BuildFrom(NUnit.Framework.Interfaces.ITypeInfo)"> + <summary> + Builds a single test suite from the specified type. + </summary> + <param name="typeInfo">The fixture type to build</param> + </member> + <member name="M:NUnit.Framework.Internal.Builders.DefaultSuiteBuilder.BuildFrom(NUnit.Framework.Interfaces.ITypeInfo,NUnit.Framework.Interfaces.IPreFilter)"> + <summary> + Builds a single test suite from the specified type, subject + to a filter that decides which methods are included. + </summary> + <param name="typeInfo">The fixture type to build</param> + <param name="filter">A PreFilter for selecting methods.</param> + </member> + <member name="M:NUnit.Framework.Internal.Builders.DefaultSuiteBuilder.GetFixtureBuilderAttributes(NUnit.Framework.Interfaces.ITypeInfo)"> + <summary> + 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. + </summary> + <param name="typeInfo">The type being examined for attributes</param> + </member> + <member name="T:NUnit.Framework.Internal.Builders.DefaultTestCaseBuilder"> + <summary> + 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 + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Builders.DefaultTestCaseBuilder.CanBuildFrom(NUnit.Framework.Interfaces.IMethodInfo)"> + <summary> + 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. + </summary> + <param name="method">An IMethodInfo for the method being used as a test method</param> + </member> + <member name="M:NUnit.Framework.Internal.Builders.DefaultTestCaseBuilder.BuildFrom(NUnit.Framework.Interfaces.IMethodInfo)"> + <summary> + Builds a single test from the specified method and context, + possibly containing child test cases. + </summary> + <param name="method">The method for which a test is to be built</param> + </member> + <member name="M:NUnit.Framework.Internal.Builders.DefaultTestCaseBuilder.CanBuildFrom(NUnit.Framework.Interfaces.IMethodInfo,NUnit.Framework.Internal.Test)"> + <summary> + 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. + </summary> + <param name="method">An IMethodInfo for the method being used as a test method</param> + <param name="parentSuite">The test suite being built, to which the new test would be added</param> + </member> + <member name="M:NUnit.Framework.Internal.Builders.DefaultTestCaseBuilder.BuildFrom(NUnit.Framework.Interfaces.IMethodInfo,NUnit.Framework.Internal.Test)"> + <summary> + Builds a single test from the specified method and context, + possibly containing child test cases. + </summary> + <param name="method">The method for which a test is to be built</param> + <param name="parentSuite">The test fixture being populated, or null</param> + </member> + <member name="M:NUnit.Framework.Internal.Builders.DefaultTestCaseBuilder.BuildParameterizedMethodSuite(NUnit.Framework.Interfaces.IMethodInfo,System.Collections.Generic.IEnumerable{NUnit.Framework.Internal.TestMethod})"> + <summary> + Builds a ParameterizedMethodSuite containing individual test cases. + </summary> + <param name="method">The method for which a test is to be built.</param> + <param name="tests">The list of test cases to include.</param> + </member> + <member name="M:NUnit.Framework.Internal.Builders.DefaultTestCaseBuilder.BuildSingleTestMethod(NUnit.Framework.Interfaces.IMethodInfo,NUnit.Framework.Internal.Test)"> + <summary> + Build a simple, non-parameterized TestMethod for this method. + </summary> + <param name="method">The MethodInfo for which a test is to be built</param> + <param name="suite">The test suite for which the method is being built</param> + </member> + <member name="T:NUnit.Framework.Internal.Builders.MethodInfoCache"> + <summary> + Caches static information for IMethodInfo to reduce re-calculations and memory allocations from reflection. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Builders.MethodInfoCache.Get(NUnit.Framework.Interfaces.IMethodInfo)"> + <summary> + Returns cached metadata for method instance. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Builders.MethodInfoCache.TestMethodMetadata"> + <summary> + Memoization of TestMethod information to reduce subsequent allocations from parameter and attribute information. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Builders.NamespaceTreeBuilder"> + <summary> + Class that can build a tree of automatic namespace + suites from a group of fixtures. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Builders.NamespaceTreeBuilder._namespaceIndex"> + <summary> + NamespaceDictionary of all test suites we have created to represent + namespaces. Used to locate namespace parent suites for fixtures. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Builders.NamespaceTreeBuilder._globalInsertionPoint"> + <summary> + Point in the tree where items in the global namespace are added + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Builders.NamespaceTreeBuilder.#ctor(NUnit.Framework.Internal.TestSuite)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.Builders.NamespaceTreeBuilder"/> class. + </summary> + <param name="rootSuite">The root suite.</param> + </member> + <member name="P:NUnit.Framework.Internal.Builders.NamespaceTreeBuilder.RootSuite"> + <summary> + Gets the root entry in the tree created by the NamespaceTreeBuilder. + </summary> + <value>The root suite.</value> + </member> + <member name="M:NUnit.Framework.Internal.Builders.NamespaceTreeBuilder.Add(System.Collections.Generic.IList{NUnit.Framework.Internal.Test})"> + <summary> + Adds the specified fixtures to the tree. + </summary> + <param name="fixtures">The fixtures to be added.</param> + </member> + <member name="M:NUnit.Framework.Internal.Builders.NamespaceTreeBuilder.Add(NUnit.Framework.Internal.TestSuite)"> + <summary> + Adds the specified fixture to the tree. + </summary> + <param name="fixture">The fixture to be added.</param> + </member> + <member name="T:NUnit.Framework.Internal.Builders.NUnitTestCaseBuilder"> + <summary> + NUnitTestCaseBuilder is a utility class used by attributes + that build test cases. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Builders.NUnitTestCaseBuilder.#ctor"> + <summary> + Constructs an <see cref="T:NUnit.Framework.Internal.Builders.NUnitTestCaseBuilder"/> + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Builders.NUnitTestCaseBuilder.BuildTestMethod(NUnit.Framework.Interfaces.IMethodInfo,NUnit.Framework.Internal.Test,NUnit.Framework.Internal.TestCaseParameters)"> + <summary> + Builds a single NUnitTestMethod, either as a child of the fixture + or as one of a set of test cases under a ParameterizedTestMethodSuite. + </summary> + <param name="method">The MethodInfo from which to construct the TestMethod</param> + <param name="parentSuite">The suite or fixture to which the new test will be added</param> + <param name="parms">The ParameterSet to be used, or null</param> + </member> + <member name="M:NUnit.Framework.Internal.Builders.NUnitTestCaseBuilder.CheckTestMethodAttributes(NUnit.Framework.Internal.TestMethod,NUnit.Framework.Internal.Builders.MethodInfoCache.TestMethodMetadata)"> + <summary> + Checks to see if we have valid combinations of attributes. + </summary> + <param name="testMethod">The TestMethod to be checked. If it + is found to be non-runnable, it will be modified.</param> + <param name="metadata">Metadata for this TestMethod.</param> + <returns>True if the method signature is valid, false if not</returns> + </member> + <member name="M:NUnit.Framework.Internal.Builders.NUnitTestCaseBuilder.CheckTestMethodSignature(NUnit.Framework.Internal.TestMethod,NUnit.Framework.Internal.Builders.MethodInfoCache.TestMethodMetadata,NUnit.Framework.Internal.TestCaseParameters)"> + <summary> + 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. + </summary> + <param name="testMethod">The TestMethod to be checked. If it + is found to be non-runnable, it will be modified.</param> + <param name="metadata">Metadata for this TestMethod.</param> + <param name="parms">Parameters to be used for this test, or null</param> + <returns>True if the method signature is valid, false if not</returns> + <remarks> + The return value is no longer used internally, but is retained + for testing purposes. + </remarks> + </member> + <member name="T:NUnit.Framework.Internal.Builders.NUnitTestFixtureBuilder"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Builders.NUnitTestFixtureBuilder.BuildFrom(NUnit.Framework.Interfaces.ITypeInfo,NUnit.Framework.Interfaces.IPreFilter)"> + <summary> + 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. + </summary> + <param name="typeInfo">An ITypeInfo for the fixture to be used.</param> + <param name="filter">Filter used to select methods as tests.</param> + <returns>A TestSuite object or one derived from TestSuite.</returns> + </member> + <member name="M:NUnit.Framework.Internal.Builders.NUnitTestFixtureBuilder.BuildFrom(NUnit.Framework.Interfaces.ITypeInfo,NUnit.Framework.Interfaces.IPreFilter,NUnit.Framework.Interfaces.ITestFixtureData)"> + <summary> + Overload of BuildFrom called by tests that have arguments. + Builds a fixture using the provided type and information + in the ITestFixtureData object. + </summary> + <param name="typeInfo">The TypeInfo for which to construct a fixture.</param> + <param name="filter">Filter used to select methods as tests.</param> + <param name="testFixtureData">An object implementing ITestFixtureData or null.</param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Internal.Builders.NUnitTestFixtureBuilder.AddTestCasesToFixture(NUnit.Framework.Internal.TestFixture,NUnit.Framework.Interfaces.IPreFilter)"> + <summary> + Method to add test cases to the newly constructed fixture. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Builders.NUnitTestFixtureBuilder.BuildTestCase(NUnit.Framework.Interfaces.IMethodInfo,NUnit.Framework.Internal.TestSuite)"> + <summary> + 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. + </summary> + <param name="method">The method for which a test is to be created</param> + <param name="suite">The test suite being built.</param> + <returns>A newly constructed Test</returns> + </member> + <member name="T:NUnit.Framework.Internal.Builders.PairwiseStrategy"> + <summary> + PairwiseStrategy creates test cases by combining the parameter + data so that all possible pairs of data items are used. + </summary> + <remarks> + <para> + 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. + </para> + <para> + The PairwiseStrategy code is based on "jenny" tool by Bob Jenkins: + https://burtleburtle.net/bob/math/jenny.html + </para> + </remarks> + </member> + <member name="T:NUnit.Framework.Internal.Builders.PairwiseStrategy.FleaRand"> + <summary> + FleaRand is a pseudo-random number generator developed by Bob Jenkins: + https://burtleburtle.net/bob/rand/talksmall.html#flea + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Builders.PairwiseStrategy.FleaRand.#ctor(System.UInt32)"> + <summary> + Initializes a new instance of the FleaRand class. + </summary> + <param name="seed">The seed.</param> + </member> + <member name="T:NUnit.Framework.Internal.Builders.PairwiseStrategy.FeatureInfo"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Builders.PairwiseStrategy.FeatureInfo.#ctor(System.Int32,System.Int32)"> + <summary> + Initializes a new instance of FeatureInfo class. + </summary> + <param name="dimension">Index of a dimension.</param> + <param name="feature">Index of a feature.</param> + </member> + <member name="T:NUnit.Framework.Internal.Builders.PairwiseStrategy.FeatureTuple"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Builders.PairwiseStrategy.FeatureTuple.#ctor(NUnit.Framework.Internal.Builders.PairwiseStrategy.FeatureInfo)"> + <summary> + Initializes a new instance of FeatureTuple class for a single feature. + </summary> + <param name="feature1">Single feature.</param> + </member> + <member name="M:NUnit.Framework.Internal.Builders.PairwiseStrategy.FeatureTuple.#ctor(NUnit.Framework.Internal.Builders.PairwiseStrategy.FeatureInfo,NUnit.Framework.Internal.Builders.PairwiseStrategy.FeatureInfo)"> + <summary> + Initializes a new instance of FeatureTuple class for a pair of features. + </summary> + <param name="feature1">First feature.</param> + <param name="feature2">Second feature.</param> + </member> + <member name="T:NUnit.Framework.Internal.Builders.PairwiseStrategy.TestCaseInfo"> + <summary> + TestCase represents a single test case covering a list of features. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Builders.PairwiseStrategy.TestCaseInfo.#ctor(System.Int32)"> + <summary> + Initializes a new instance of TestCaseInfo class. + </summary> + <param name="length">A number of features in the test case.</param> + </member> + <member name="T:NUnit.Framework.Internal.Builders.PairwiseStrategy.PairwiseTestCaseGenerator"> + <summary> + PairwiseTestCaseGenerator class implements an algorithm which generates + a set of test cases which covers all pairs of possible values of test + function. + </summary> + <remarks> + <para> + The algorithm starts with creating a set of all feature tuples which we + will try to cover (see <see + cref="M:NUnit.Framework.Internal.Builders.PairwiseStrategy.PairwiseTestCaseGenerator.CreateAllTuples" /> 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). + </para> + <para> + 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. + </para> + <para> + Picking a tuple to cover + </para> + <para> + 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. + </para> + <para> + Test generation + </para> + <para> + 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. + </para> + <para> + 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). + </para> + <para>Maximizing test coverage</para> + <para> + 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. + </para> + <para> + This process repeats while it shows progress. If the last iteration + doesn't improve coverage, the process ends. + </para> + <para> + In addition, for better results, before start every iteration, the + algorithm "scrambles" dimensions - so for every iteration dimension + probes in a different order. + </para> + </remarks> + </member> + <member name="M:NUnit.Framework.Internal.Builders.PairwiseStrategy.PairwiseTestCaseGenerator.GetTestCases(System.Int32[])"> + <summary> + Creates a set of test cases for specified dimensions. + </summary> + <param name="dimensions"> + An array which contains information about dimensions. Each element of + this array represents a number of features in the specific dimension. + </param> + <returns> + A set of test cases. + </returns> + </member> + <member name="M:NUnit.Framework.Internal.Builders.PairwiseStrategy.GetTestCases(System.Collections.IEnumerable[])"> + <summary> + Gets the test cases generated by this strategy instance. + </summary> + <returns>A set of test cases.</returns> + </member> + <member name="T:NUnit.Framework.Internal.Builders.ParameterDataProvider"> + <summary> + The ParameterDataProvider class implements IParameterDataProvider + and hosts one or more individual providers. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Builders.ParameterDataProvider.#ctor(NUnit.Framework.Interfaces.IParameterDataProvider[])"> + <summary> + Construct with a collection of individual providers + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Builders.ParameterDataProvider.HasDataFor(NUnit.Framework.Interfaces.IParameterInfo)"> + <summary> + Determines whether any data is available for a parameter. + </summary> + <param name="parameter">The parameter of a parameterized test</param> + </member> + <member name="M:NUnit.Framework.Internal.Builders.ParameterDataProvider.GetDataFor(NUnit.Framework.Interfaces.IParameterInfo)"> + <summary> + Retrieves data for use with the supplied parameter. + </summary> + <param name="parameter">The parameter of a parameterized test</param> + </member> + <member name="T:NUnit.Framework.Internal.Builders.ParameterDataSourceProvider"> + <summary> + ParameterDataSourceProvider supplies individual argument values for + single parameters using attributes implementing IParameterDataSource. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Builders.ParameterDataSourceProvider.HasDataFor(NUnit.Framework.Interfaces.IParameterInfo)"> + <summary> + Determines whether any data is available for a parameter. + </summary> + <param name="parameter">The parameter of a parameterized test</param> + </member> + <member name="M:NUnit.Framework.Internal.Builders.ParameterDataSourceProvider.GetDataFor(NUnit.Framework.Interfaces.IParameterInfo)"> + <summary> + Retrieves data for use with the supplied parameter. + </summary> + <param name="parameter">The parameter of a parameterized test</param> + </member> + <member name="T:NUnit.Framework.Internal.Builders.SequentialStrategy"> + <summary> + SequentialStrategy creates test cases by using all of the + parameter data sources in parallel, substituting <see langword="null"/> + when any of them run out of data. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Builders.SequentialStrategy.GetTestCases(System.Collections.IEnumerable[])"> + <summary> + Gets the test cases generated by the CombiningStrategy. + </summary> + <returns>The test cases.</returns> + </member> + <member name="T:NUnit.Framework.Internal.Commands.AfterTestActionCommand"> + <summary> + TestActionAfterCommand handles the AfterTest method of a single + TestActionItem, provided the items BeforeTest has been run. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.AfterTestActionCommand.#ctor(NUnit.Framework.Internal.Commands.TestCommand,NUnit.Framework.Internal.Commands.TestActionItem)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.Commands.AfterTestActionCommand"/> class. + </summary> + <param name="innerCommand">The inner command.</param> + <param name="action">The TestActionItem to run before the inner command.</param> + </member> + <member name="T:NUnit.Framework.Internal.Commands.AfterTestCommand"> + <summary> + AfterCommand is a DelegatingTestCommand that performs some + specific action after the inner command is run. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.AfterTestCommand.#ctor(NUnit.Framework.Internal.Commands.TestCommand)"> + <summary> + Construct an AfterCommand + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.AfterTestCommand.Execute(NUnit.Framework.Internal.TestExecutionContext)"> + <summary> + Execute the command + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Commands.AfterTestCommand.AfterTest"> + <summary> + Set this to perform action after the inner command. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Commands.ApplyChangesToContextCommand"> + <summary> + 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. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Commands.BeforeAndAfterTestCommand"> + <summary> + TestActionCommand handles a single ITestAction applied + to a test. It runs the BeforeTest method, then runs the + test and finally runs the AfterTest method. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.BeforeAndAfterTestCommand.#ctor(NUnit.Framework.Internal.Commands.TestCommand)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.Commands.TestActionCommand"/> class. + </summary> + <param name="innerCommand">The inner command.</param> + </member> + <member name="M:NUnit.Framework.Internal.Commands.BeforeAndAfterTestCommand.Execute(NUnit.Framework.Internal.TestExecutionContext)"> + <summary> + Runs the test, saving a TestResult in the supplied TestExecutionContext. + </summary> + <param name="context">The context in which the test should run.</param> + <returns>A TestResult</returns> + </member> + <member name="F:NUnit.Framework.Internal.Commands.BeforeAndAfterTestCommand.BeforeTest"> + <summary> + Perform the before test action + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Commands.BeforeAndAfterTestCommand.AfterTest"> + <summary> + Perform the after test action + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Commands.BeforeTestActionCommand"> + <summary> + TestActionBeforeCommand handles the BeforeTest method of a single + TestActionItem, relying on the item to remember it has been run. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.BeforeTestActionCommand.#ctor(NUnit.Framework.Internal.Commands.TestCommand,NUnit.Framework.Internal.Commands.TestActionItem)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.Commands.BeforeTestActionCommand"/> class. + </summary> + <param name="innerCommand">The inner command.</param> + <param name="action">The TestActionItem to run before the inner command.</param> + </member> + <member name="T:NUnit.Framework.Internal.Commands.BeforeTestCommand"> + <summary> + BeforeTestCommand is a DelegatingTestCommand that performs some + specific action before the inner command is run. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.BeforeTestCommand.#ctor(NUnit.Framework.Internal.Commands.TestCommand)"> + <summary> + Construct a BeforeCommand + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.BeforeTestCommand.Execute(NUnit.Framework.Internal.TestExecutionContext)"> + <summary> + Execute the command + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Commands.BeforeTestCommand.BeforeTest"> + <summary> + Action to perform before the inner command. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Commands.ConstructFixtureCommand"> + <summary> + ConstructFixtureCommand constructs the user test object if necessary. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.ConstructFixtureCommand.#ctor(NUnit.Framework.Internal.Commands.TestCommand)"> + <summary> + Constructs a OneTimeSetUpCommand for a suite + </summary> + <param name="innerCommand">The inner command to which the command applies</param> + </member> + <member name="T:NUnit.Framework.Internal.Commands.DelegatingTestCommand"> + <summary> + DelegatingTestCommand wraps an inner TestCommand. + Derived classes may do what they like before or + after running the inner command. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Commands.DelegatingTestCommand.innerCommand"> + <summary>TODO: Documentation needed for field</summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.DelegatingTestCommand.#ctor(NUnit.Framework.Internal.Commands.TestCommand)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.Commands.DelegatingTestCommand"/> class. + </summary> + <param name="innerCommand">The inner command.</param> + </member> + <member name="M:NUnit.Framework.Internal.Commands.DelegatingTestCommand.RunTestMethodInThreadAbortSafeZone(NUnit.Framework.Internal.TestExecutionContext,System.Action)"> + <summary> + Runs the test with exception handling. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Commands.DisposeFixtureCommand"> + <summary> + OneTimeTearDownCommand performs any teardown actions + specified for a suite and calls Dispose on the user + test object, if any. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.DisposeFixtureCommand.#ctor(NUnit.Framework.Internal.Commands.TestCommand)"> + <summary> + Construct a OneTimeTearDownCommand + </summary> + <param name="innerCommand">The command wrapped by this command</param> + </member> + <member name="T:NUnit.Framework.Internal.Commands.EmptyTestCommand"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.EmptyTestCommand.#ctor(NUnit.Framework.Internal.Test)"> + <summary> + Construct a NullCommand for a test + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.EmptyTestCommand.Execute(NUnit.Framework.Internal.TestExecutionContext)"> + <summary> + Execute the command + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Commands.FixturePerTestCaseCommand"> + <summary> + ConstructFixtureCommand constructs the user test object if necessary. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.FixturePerTestCaseCommand.#ctor(NUnit.Framework.Internal.Commands.TestCommand)"> + <summary> + Handles the construction and disposement of a fixture per test case + </summary> + <param name="innerCommand">The inner command to which the command applies</param> + </member> + <member name="T:NUnit.Framework.Internal.Commands.MaxTimeCommand"> + <summary> + <see cref="T:NUnit.Framework.Internal.Commands.MaxTimeCommand" /> adjusts the result of a successful test + to a failure if the elapsed time has exceeded the specified maximum + time allowed. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.MaxTimeCommand.#ctor(NUnit.Framework.Internal.Commands.TestCommand,System.Int32)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.Commands.MaxTimeCommand"/> class. + </summary> + <param name="innerCommand">The inner command.</param> + <param name="maxTime">The max time allowed in milliseconds</param> + </member> + <member name="T:NUnit.Framework.Internal.Commands.OneTimeSetUpCommand"> + <summary> + OneTimeSetUpCommand runs any one-time setup methods for a suite, + constructing the user test object if necessary. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.OneTimeSetUpCommand.#ctor(NUnit.Framework.Internal.Commands.TestCommand,NUnit.Framework.Internal.Commands.SetUpTearDownItem)"> + <summary> + Constructs a OneTimeSetUpCommand for a suite + </summary> + <param name="innerCommand">The inner command to which the command applies</param> + <param name="setUpTearDown">A SetUpTearDownList for use by the command</param> + </member> + <member name="T:NUnit.Framework.Internal.Commands.OneTimeTearDownCommand"> + <summary> + OneTimeTearDownCommand performs any teardown actions + specified for a suite and calls Dispose on the user + test object, if any. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.OneTimeTearDownCommand.#ctor(NUnit.Framework.Internal.Commands.TestCommand,NUnit.Framework.Internal.Commands.SetUpTearDownItem)"> + <summary> + Construct a OneTimeTearDownCommand + </summary> + <param name="innerCommand">The command wrapped by this command</param> + <param name="setUpTearDownItem">A SetUpTearDownList for use by the command</param> + </member> + <member name="T:NUnit.Framework.Internal.Commands.SetUpTearDownCommand"> + <summary> + SetUpTearDownCommand runs SetUp methods for a suite, + runs the test and then runs TearDown methods. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.SetUpTearDownCommand.#ctor(NUnit.Framework.Internal.Commands.TestCommand,NUnit.Framework.Internal.Commands.SetUpTearDownItem)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.Commands.SetUpTearDownCommand"/> class. + </summary> + <param name="innerCommand">The inner command.</param> + <param name="setUpTearDown">List of setup/teardown items</param> + </member> + <member name="T:NUnit.Framework.Internal.Commands.SetUpTearDownItem"> + <summary> + SetUpTearDownItem holds the setup and teardown methods + for a single level of the inheritance hierarchy. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.SetUpTearDownItem.#ctor(System.Collections.Generic.IList{NUnit.Framework.Interfaces.IMethodInfo},System.Collections.Generic.IList{NUnit.Framework.Interfaces.IMethodInfo},NUnit.Framework.Internal.Execution.IMethodValidator)"> + <summary> + Construct a SetUpTearDownNode + </summary> + <param name="setUpMethods">A list of setup methods for this level</param> + <param name="tearDownMethods">A list teardown methods for this level</param> + <param name="methodValidator">A method validator to validate each method before calling.</param> + </member> + <member name="P:NUnit.Framework.Internal.Commands.SetUpTearDownItem.HasMethods"> + <summary> + Returns true if this level has any methods at all. + This flag is used to discard levels that do nothing. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.SetUpTearDownItem.RunSetUp(NUnit.Framework.Internal.TestExecutionContext)"> + <summary> + Run SetUp on this level. + </summary> + <param name="context">The execution context to use for running.</param> + </member> + <member name="M:NUnit.Framework.Internal.Commands.SetUpTearDownItem.RunTearDown(NUnit.Framework.Internal.TestExecutionContext)"> + <summary> + Run TearDown for this level. + </summary> + <param name="context"></param> + </member> + <member name="T:NUnit.Framework.Internal.Commands.SkipCommand"> + <summary> + TODO: Documentation needed for class + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.SkipCommand.#ctor(NUnit.Framework.Internal.Test)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.Commands.SkipCommand"/> class. + </summary> + <param name="test">The test being skipped.</param> + </member> + <member name="M:NUnit.Framework.Internal.Commands.SkipCommand.Execute(NUnit.Framework.Internal.TestExecutionContext)"> + <summary> + Overridden to simply set the CurrentResult to the + appropriate Skipped state. + </summary> + <param name="context">The execution context for the test</param> + <returns>A TestResult</returns> + </member> + <member name="T:NUnit.Framework.Internal.Commands.TestActionCommand"> + <summary> + TestActionCommand handles a single ITestAction applied + to a test. It runs the BeforeTest method, then runs the + test and finally runs the AfterTest method. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.TestActionCommand.#ctor(NUnit.Framework.Internal.Commands.TestCommand,NUnit.Framework.ITestAction)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.Commands.TestActionCommand"/> class. + </summary> + <param name="innerCommand">The inner command.</param> + <param name="action">The TestAction with which to wrap the inner command.</param> + </member> + <member name="T:NUnit.Framework.Internal.Commands.TestActionItem"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.TestActionItem.#ctor(NUnit.Framework.ITestAction)"> + <summary> + Construct a TestActionItem + </summary> + <param name="action">The ITestAction to be included</param> + </member> + <member name="P:NUnit.Framework.Internal.Commands.TestActionItem.BeforeTestWasRun"> + <summary> + Get flag indicating if the BeforeTest entry was already called. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.TestActionItem.BeforeTest(NUnit.Framework.Interfaces.ITest)"> + <summary> + Run the BeforeTest method of the action and remember that it has been run. + </summary> + <param name="test">The test to which the action applies</param> + </member> + <member name="M:NUnit.Framework.Internal.Commands.TestActionItem.AfterTest(NUnit.Framework.Interfaces.ITest)"> + <summary> + Run the AfterTest action, but only if the BeforeTest + action was actually run. + </summary> + <param name="test">The test to which the action applies</param> + </member> + <member name="T:NUnit.Framework.Internal.Commands.TestCommand"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.TestCommand.#ctor(NUnit.Framework.Internal.Test)"> + <summary> + Construct a TestCommand for a test. + </summary> + <param name="test">The test to be executed</param> + </member> + <member name="P:NUnit.Framework.Internal.Commands.TestCommand.Test"> + <summary> + Gets the test associated with this command. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.TestCommand.Execute(NUnit.Framework.Internal.TestExecutionContext)"> + <summary> + Runs the test in a specified context, returning a TestResult. + </summary> + <param name="context">The TestExecutionContext to be used for running the test.</param> + <returns>A TestResult</returns> + </member> + <member name="T:NUnit.Framework.Internal.Commands.TestMethodCommand"> + <summary> + TestMethodCommand is the lowest level concrete command + used to run actual test cases. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.TestMethodCommand.#ctor(NUnit.Framework.Internal.TestMethod)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.Commands.TestMethodCommand"/> class. + </summary> + <param name="testMethod">The test.</param> + </member> + <member name="M:NUnit.Framework.Internal.Commands.TestMethodCommand.Execute(NUnit.Framework.Internal.TestExecutionContext)"> + <summary> + 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. + </summary> + <param name="context">The execution context</param> + </member> + <member name="T:NUnit.Framework.Internal.Commands.TheoryResultCommand"> + <summary> + TheoryResultCommand adjusts the result of a Theory so that + it fails if all the results were inconclusive. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.TheoryResultCommand.#ctor(NUnit.Framework.Internal.Commands.TestCommand)"> + <summary> + Constructs a TheoryResultCommand + </summary> + <param name="command">The command to be wrapped by this one</param> + </member> + <member name="T:NUnit.Framework.Internal.Commands.TimeoutCommand"> + <summary> + <see cref="T:NUnit.Framework.Internal.Commands.TimeoutCommand"/> 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.TimeoutCommand.#ctor(NUnit.Framework.Internal.Commands.TestCommand,System.Int32)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.Commands.TimeoutCommand"/> class. + </summary> + <param name="innerCommand">The inner command</param> + <param name="timeout">Timeout value</param> + </member> + <member name="M:NUnit.Framework.Internal.Commands.TimeoutCommand.#ctor(NUnit.Framework.Internal.Commands.TestCommand,System.Int32,NUnit.Framework.Internal.Abstractions.IDebugger)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.Commands.TimeoutCommand"/> class. + </summary> + <param name="innerCommand">The inner command</param> + <param name="timeout">Timeout value</param> + <param name="debugger">An <see cref="T:NUnit.Framework.Internal.Abstractions.IDebugger" /> instance</param> + </member> + <member name="T:NUnit.Framework.Internal.ConstraintUtils"> + <summary> + Provides methods to support consistent checking in constraints. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ConstraintUtils.RequireActual``1(System.Object,System.String,System.Boolean)"> + <summary> + Requires that the provided object is actually of the type required. + </summary> + <param name="actual">The object to verify.</param> + <param name="paramName">Name of the parameter as passed into the checking method.</param> + <param name="allowNull"> + If <see langword="true"/> and <typeparamref name="T"/> can be null, returns null rather than throwing when <paramref name="actual"/> is null. + If <typeparamref name="T"/> cannot be null, this parameter is ignored.</param> + <typeparam name="T">The type to require.</typeparam> + </member> + <member name="T:NUnit.Framework.Internal.CultureDetector"> + <summary> + CultureDetector is a helper class used by NUnit to determine + whether a test should be run based on the current culture. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.CultureDetector.#ctor"> + <summary> + Default constructor uses the current culture. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.CultureDetector.#ctor(System.String)"> + <summary> + Construct a CultureDetector for a particular culture for testing. + </summary> + <param name="culture">The culture to be used</param> + </member> + <member name="M:NUnit.Framework.Internal.CultureDetector.IsCultureSupported(System.String[])"> + <summary> + Test to determine if one of a collection of cultures + is being used currently. + </summary> + <param name="cultures"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Internal.CultureDetector.IsCultureSupported(NUnit.Framework.CultureAttribute)"> + <summary> + Tests to determine if the current culture is supported + based on a culture attribute. + </summary> + <param name="cultureAttribute">The attribute to examine</param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Internal.CultureDetector.IsCultureSupported(System.String)"> + <summary> + Test to determine if the a particular culture or comma- + delimited set of cultures is in use. + </summary> + <param name="culture">Name of the culture or comma-separated list of culture ids</param> + <returns>True if the culture is in use on the system</returns> + </member> + <member name="P:NUnit.Framework.Internal.CultureDetector.Reason"> + <summary> + Return the last failure reason. Results are not + defined if called before IsSupported( Attribute ) + is called. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.DefaultBlockingAwaitAdapter"> + <summary> + Useful when wrapping awaiters whose <c>GetResult</c> method does not block until complete. + Contains a default mechanism to implement <see cref="M:NUnit.Framework.Internal.AwaitAdapter.BlockUntilCompleted"/> + via <see cref="P:NUnit.Framework.Internal.AwaitAdapter.IsCompleted"/> and <see cref="M:NUnit.Framework.Internal.AwaitAdapter.OnCompleted(System.Action)"/>. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.ExceptionHelper"> + <summary> + ExceptionHelper provides static methods for working with exceptions + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ExceptionHelper.Rethrow(System.Exception)"> + <summary> + Rethrows an exception, preserving its stack trace + </summary> + <param name="exception">The exception to rethrow</param> + </member> + <member name="M:NUnit.Framework.Internal.ExceptionHelper.BuildMessage(System.Exception,System.Boolean)"> + <summary> + 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. + </summary> + <param name="exception">The exception.</param> + <param name="excludeExceptionNames">Flag indicating whether exception names should be excluded.</param> + <returns>A combined message string.</returns> + </member> + <member name="M:NUnit.Framework.Internal.ExceptionHelper.BuildStackTrace(System.Exception)"> + <summary> + Builds up a message, using the Message field of the specified exception + as well as any InnerExceptions. + </summary> + <param name="exception">The exception.</param> + <returns>A combined stack trace.</returns> + </member> + <member name="M:NUnit.Framework.Internal.ExceptionHelper.RecordException(System.Delegate,System.String)"> + <summary> + Executes a parameterless synchronous or async delegate and returns the exception it throws, if any. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Execution.CompositeWorkItem"> + <summary> + A CompositeWorkItem represents a test suite and + encapsulates the execution of the suite as well + as all its child tests. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.CompositeWorkItem.Children"> + <summary> + List of Child WorkItems + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.CompositeWorkItem.IsolateChildTests"> + <summary> + Indicates whether this work item should use a separate dispatcher. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.CompositeWorkItem.#ctor(NUnit.Framework.Internal.TestSuite,NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Construct a CompositeWorkItem for executing a test suite + using a filter to select child tests. + </summary> + <param name="suite">The TestSuite to be executed</param> + <param name="childFilter">A filter used to select child tests</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.CompositeWorkItem.PerformWork"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.CompositeWorkItem.OnAllChildItemsCompleted"> + <summary> + + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.CompositeWorkItem.Cancel(System.Boolean)"> + <summary> + Cancel (abort or stop) a CompositeWorkItem and all of its children + </summary> + <param name="force">true if the CompositeWorkItem and all of its children should be aborted, false if it should allow all currently running tests to complete</param> + </member> + <member name="T:NUnit.Framework.Internal.Execution.CompositeWorkItem.OneTimeTearDownWorkItem"> + <summary> + OneTimeTearDownWorkItem represents the cleanup + and one-time teardown phase of a CompositeWorkItem + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.CompositeWorkItem.OneTimeTearDownWorkItem.#ctor(NUnit.Framework.Internal.Execution.CompositeWorkItem)"> + <summary> + Construct a OneTimeTearDownWOrkItem wrapping a CompositeWorkItem + </summary> + <param name="originalItem">The CompositeWorkItem being wrapped</param> + </member> + <member name="P:NUnit.Framework.Internal.Execution.CompositeWorkItem.OneTimeTearDownWorkItem.Name"> + <summary> + The WorkItem name, overridden to indicate this is the teardown. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.CompositeWorkItem.OneTimeTearDownWorkItem.ExecutionStrategy"> + <summary> + The ExecutionStrategy for use in running this work item + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.CompositeWorkItem.OneTimeTearDownWorkItem.Execute"> + <summary> + + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.CompositeWorkItem.OneTimeTearDownWorkItem.PerformWork"> + <summary> + PerformWork is not used in CompositeWorkItem + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.CompositeWorkItem.OneTimeTearDownWorkItem.WorkItemCancelled"> + <summary> + 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. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Execution.EventListenerTextWriter"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.#ctor(System.String,System.IO.TextWriter)"> + <summary> + Construct an EventListenerTextWriter + </summary> + <param name="streamName">The name of the stream to use for events</param> + <param name="defaultWriter">The default writer to use if no listener is available</param> + </member> + <member name="P:NUnit.Framework.Internal.Execution.EventListenerTextWriter.Encoding"> + <summary> + Get the Encoding for this TextWriter + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.Write(System.String,System.Object[])"> + <summary> + Write formatted string + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.Write(System.String,System.Object,System.Object,System.Object)"> + <summary> + Write formatted string + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.Write(System.String,System.Object)"> + <summary> + Write formatted string + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.Write(System.Object)"> + <summary> + Write an object + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.Write(System.String)"> + <summary> + Write a string + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.Write(System.Decimal)"> + <summary> + Write a decimal + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.Write(System.Double)"> + <summary> + Write a double + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.Write(System.String,System.Object,System.Object)"> + <summary> + Write formatted string + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.Write(System.UInt64)"> + <summary> + Write a ulong + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.Write(System.Int64)"> + <summary> + Write a long + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.Write(System.UInt32)"> + <summary> + Write a uint + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.Write(System.Int32)"> + <summary> + Write an int + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.Write(System.Char)"> + <summary> + Write a char + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.Write(System.Boolean)"> + <summary> + Write a boolean + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.Write(System.Char[],System.Int32,System.Int32)"> + <summary> + Write chars + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.Write(System.Char[])"> + <summary> + Write chars + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.Write(System.Single)"> + <summary> + Write a float + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.WriteLine(System.String)"> + <summary> + Write a string with newline + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.WriteLine(System.Object)"> + <summary> + Write an object with newline + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.WriteLine(System.String,System.Object[])"> + <summary> + Write formatted string with newline + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.WriteLine(System.String,System.Object,System.Object)"> + <summary> + Write formatted string with newline + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.WriteLine(System.String,System.Object,System.Object,System.Object)"> + <summary> + Write formatted string with newline + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.WriteLine(System.Decimal)"> + <summary> + Write a decimal with newline + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.WriteLine(System.String,System.Object)"> + <summary> + Write a formatted string with newline + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.WriteLine(System.Double)"> + <summary> + Write a double with newline + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.WriteLine(System.UInt32)"> + <summary> + Write a uint with newline + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.WriteLine(System.UInt64)"> + <summary> + Write a ulong with newline + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.WriteLine(System.Int64)"> + <summary> + Write a long with newline + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.WriteLine(System.Int32)"> + <summary> + Write an int with newline + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.WriteLine(System.Boolean)"> + <summary> + Write a bool with newline + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.WriteLine(System.Char[],System.Int32,System.Int32)"> + <summary> + Write chars with newline + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.WriteLine(System.Char[])"> + <summary> + Write chars with newline + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.WriteLine(System.Char)"> + <summary> + Write a char with newline + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.WriteLine(System.Single)"> + <summary> + Write a float with newline + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.WriteLine"> + <summary> + Write newline + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Execution.EventPumpState"> + <summary> + The EventPumpState enum represents the state of an + EventPump. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Execution.EventPumpState.Stopped"> + <summary> + The pump is stopped + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Execution.EventPumpState.Pumping"> + <summary> + The pump is pumping events with no stop requested + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Execution.EventPumpState.Stopping"> + <summary> + The pump is pumping events but a stop has been requested + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Execution.EventPump"> + <summary> + 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. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Execution.EventPump._eventListener"> + <summary> + The downstream listener to which we send events + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Execution.EventPump._events"> + <summary> + The queue that holds our events + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Execution.EventPump._pumpThread"> + <summary> + Thread to do the pumping + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Execution.EventPump._pumpState"> + <summary> + The current state of the event pump + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventPump.#ctor(NUnit.Framework.Interfaces.ITestListener,NUnit.Framework.Internal.Execution.EventQueue)"> + <summary> + Constructor + </summary> + <param name="eventListener">The EventListener to receive events</param> + <param name="events">The event queue to pull events from</param> + </member> + <member name="P:NUnit.Framework.Internal.Execution.EventPump.PumpState"> + <summary> + Gets or sets the current state of the pump + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.EventPump.Name"> + <summary> + Gets or sets the name of this EventPump + (used only internally and for testing). + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventPump.Dispose"> + <summary> + Dispose stops the pump + Disposes the used WaitHandle, too. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventPump.Start"> + <summary> + Start the pump + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventPump.Stop"> + <summary> + Tell the pump to stop after emptying the queue. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventPump.PumpThreadProc"> + <summary> + 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. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Execution.Event"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.Event.Send(NUnit.Framework.Interfaces.ITestListener)"> + <summary> + The Send method is implemented by derived classes to send the event to the specified listener. + </summary> + <param name="listener">The listener.</param> + </member> + <member name="T:NUnit.Framework.Internal.Execution.TestStartedEvent"> + <summary> + TestStartedEvent holds information needed to call the TestStarted method. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.TestStartedEvent.#ctor(NUnit.Framework.Interfaces.ITest)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.Execution.TestStartedEvent"/> class. + </summary> + <param name="test">The test.</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.TestStartedEvent.Send(NUnit.Framework.Interfaces.ITestListener)"> + <summary> + Calls TestStarted on the specified listener. + </summary> + <param name="listener">The listener.</param> + </member> + <member name="T:NUnit.Framework.Internal.Execution.TestFinishedEvent"> + <summary> + TestFinishedEvent holds information needed to call the TestFinished method. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.TestFinishedEvent.#ctor(NUnit.Framework.Interfaces.ITestResult)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.Execution.TestFinishedEvent"/> class. + </summary> + <param name="result">The result.</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.TestFinishedEvent.Send(NUnit.Framework.Interfaces.ITestListener)"> + <summary> + Calls TestFinished on the specified listener. + </summary> + <param name="listener">The listener.</param> + </member> + <member name="T:NUnit.Framework.Internal.Execution.TestOutputEvent"> + <summary> + TestOutputEvent holds information needed to call the TestOutput method. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.TestOutputEvent.#ctor(NUnit.Framework.Interfaces.TestOutput)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.Execution.TestOutputEvent"/> class. + </summary> + <param name="output">The output object.</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.TestOutputEvent.Send(NUnit.Framework.Interfaces.ITestListener)"> + <summary> + Calls TestOutput on the specified listener. + </summary> + <param name="listener">The listener.</param> + </member> + <member name="T:NUnit.Framework.Internal.Execution.TestMessageEvent"> + <summary> + TestMessageEvent holds information needed to call the SendMessage method. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.TestMessageEvent.#ctor(NUnit.Framework.Interfaces.TestMessage)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.Execution.TestMessageEvent"/> class. + </summary> + <param name="testMessage">The test message object.</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.TestMessageEvent.Send(NUnit.Framework.Interfaces.ITestListener)"> + <summary> + Calls <see cref="M:NUnit.Framework.Internal.Execution.TestMessageEvent.Send(NUnit.Framework.Interfaces.ITestListener)"/> on the specified listener. + </summary> + <param name="listener">The listener.</param> + </member> + <member name="P:NUnit.Framework.Internal.Execution.TestMessageEvent.TestMessage"> + <summary> + Holds <see cref="P:NUnit.Framework.Internal.Execution.TestMessageEvent.TestMessage"/> object for sending to all listeners + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Execution.EventQueue"> + <summary> + Implements a queue of work items each of which + is queued as a WaitCallback. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.EventQueue.Count"> + <summary> + Gets the count of items in the queue. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventQueue.Enqueue(NUnit.Framework.Internal.Execution.Event)"> + <summary> + Enqueues the specified event + </summary> + <param name="e">The event to enqueue.</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventQueue.Dequeue(System.Boolean)"> + <summary> + Removes the first element from the queue and returns it (or <see langword="null"/>). + </summary> + <param name="blockWhenEmpty"> + If <see langword="true"/> and the queue is empty, the calling thread is blocked until + either an element is enqueued, or <see cref="M:NUnit.Framework.Internal.Execution.EventQueue.Stop"/> is called. + </param> + <returns> + <list type="bullet"> + <item> + <term>If the queue not empty</term> + <description>the first element.</description> + </item> + <item> + <term>otherwise, if <paramref name="blockWhenEmpty"/>==<see langword="false"/> + or <see cref="M:NUnit.Framework.Internal.Execution.EventQueue.Stop"/> has been called</term> + <description><see langword="null"/>.</description> + </item> + </list> + </returns> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventQueue.Stop"> + <summary> + Stop processing of the queue + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Execution.IMethodValidator"> + <summary> + Validates method to execute. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.IMethodValidator.Validate(System.Reflection.MethodInfo)"> + <summary> + Determines whether a method is allowed to execute and throws an exception otherwise. + </summary> + <param name="method">The method to validate.</param> + </member> + <member name="T:NUnit.Framework.Internal.Execution.IWorkItemDispatcher"> + <summary> + An IWorkItemDispatcher handles execution of work items. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.IWorkItemDispatcher.LevelOfParallelism"> + <summary> + The level of parallelism supported. Zero if not supported. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.IWorkItemDispatcher.Start(NUnit.Framework.Internal.Execution.WorkItem)"> + <summary> + Start execution, performing any initialization. Sets + the top level work item and dispatches it. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.IWorkItemDispatcher.Dispatch(NUnit.Framework.Internal.Execution.WorkItem)"> + <summary> + 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. + </summary> + <param name="work">The item to dispatch</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.IWorkItemDispatcher.CancelRun(System.Boolean)"> + <summary> + Cancel the ongoing run completely. + If no run is in process, the call has no effect. + </summary> + <param name="force">true if the IWorkItemDispatcher should abort all currently running WorkItems, false if it should allow all currently running WorkItems to complete</param> + </member> + <member name="T:NUnit.Framework.Internal.Execution.MainThreadWorkItemDispatcher"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.MainThreadWorkItemDispatcher.LevelOfParallelism"> + <summary> + The level of parallelism supported + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.MainThreadWorkItemDispatcher.Start(NUnit.Framework.Internal.Execution.WorkItem)"> + <summary> + Start execution, dispatching the top level + work into the main thread. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.MainThreadWorkItemDispatcher.Dispatch(NUnit.Framework.Internal.Execution.WorkItem)"> + <summary> + Dispatch a single work item for execution by + executing it directly. + </summary> + <param name="work">The item to dispatch</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.MainThreadWorkItemDispatcher.CancelRun(System.Boolean)"> + <summary> + This method is not supported for + this dispatcher. Using it will throw a + NotSupportedException. + </summary> + <param name="force">Not used</param> + <exception cref="T:System.NotSupportedException">If used, it will always throw this.</exception> + </member> + <member name="T:NUnit.Framework.Internal.Execution.ParallelExecutionStrategy"> + <summary> + Enumeration representing the strategy to follow in executing a work item. + The value is only relevant when running under the parallel dispatcher. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Execution.ParallelExecutionStrategy.Direct"> + <summary> + Run directly on same thread + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Execution.ParallelExecutionStrategy.Parallel"> + <summary> + Enqueue for parallel execution + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Execution.ParallelExecutionStrategy.NonParallel"> + <summary> + Enqueue for non-parallel execution + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Execution.ParallelWorkItemDispatcher"> + <summary> + ParallelWorkItemDispatcher handles execution of work items by + queuing them for worker threads to process. + </summary> + </member> + <member name="E:NUnit.Framework.Internal.Execution.ParallelWorkItemDispatcher.ShiftStarting"> + <summary> + Event raised whenever a shift is starting. + </summary> + </member> + <member name="E:NUnit.Framework.Internal.Execution.ParallelWorkItemDispatcher.ShiftFinished"> + <summary> + Event raised whenever a shift has ended. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.ParallelWorkItemDispatcher.#ctor(System.Int32)"> + <summary> + Construct a ParallelWorkItemDispatcher + </summary> + <param name="levelOfParallelism">Number of workers to use</param> + </member> + <member name="P:NUnit.Framework.Internal.Execution.ParallelWorkItemDispatcher.LevelOfParallelism"> + <summary> + Number of parallel worker threads + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.ParallelWorkItemDispatcher.Shifts"> + <summary> + Enumerates all the shifts supported by the dispatcher + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.ParallelWorkItemDispatcher.Queues"> + <summary> + Enumerates all the Queues supported by the dispatcher + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.ParallelWorkItemDispatcher.Start(NUnit.Framework.Internal.Execution.WorkItem)"> + <summary> + Start execution, setting the top level work, + enqueuing it and starting a shift to execute it. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.ParallelWorkItemDispatcher.Dispatch(NUnit.Framework.Internal.Execution.WorkItem)"> + <summary> + 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. + </summary> + <param name="work">The item to dispatch</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.ParallelWorkItemDispatcher.CancelRun(System.Boolean)"> + <summary> + Cancel the ongoing run completely. + If no run is in process, the call has no effect. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.ParallelWorkItemDispatcher.IsolateQueues(NUnit.Framework.Internal.Execution.WorkItem)"> + <summary> + Save the state of the queues and create a new isolated set + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.ParallelWorkItemDispatcher.TryRestoreQueues"> + <summary> + Try to remove isolated queues and restore old ones + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Execution.QueuingEventListener"> + <summary> + QueuingEventListener uses an EventQueue to store any + events received on its EventListener interface. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.QueuingEventListener.Events"> + <summary> + The EventQueue created and filled by this listener + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.QueuingEventListener.#ctor"> + <summary> + Construct a QueuingEventListener + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.QueuingEventListener.TestStarted(NUnit.Framework.Interfaces.ITest)"> + <summary> + A test has started + </summary> + <param name="test">The test that is starting</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.QueuingEventListener.TestFinished(NUnit.Framework.Interfaces.ITestResult)"> + <summary> + A test case finished + </summary> + <param name="result">Result of the test case</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.QueuingEventListener.TestOutput(NUnit.Framework.Interfaces.TestOutput)"> + <summary> + Called when a test produces output for immediate display + </summary> + <param name="output">A TestOutput object containing the text to display</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.QueuingEventListener.SendMessage(NUnit.Framework.Interfaces.TestMessage)"> + <summary> + Called when a test produces a message to be sent to listeners + </summary> + <param name="message">A <see cref="T:NUnit.Framework.Interfaces.TestMessage"/> object containing the text to send</param> + </member> + <member name="T:NUnit.Framework.Internal.Execution.SimpleWorkItem"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.SimpleWorkItem.#ctor(NUnit.Framework.Internal.TestMethod,NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Construct a simple work item for a test. + </summary> + <param name="test">The test to be executed</param> + <param name="filter">The filter used to select this test</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.SimpleWorkItem.#ctor(NUnit.Framework.Internal.TestMethod,NUnit.Framework.Interfaces.ITestFilter,NUnit.Framework.Internal.Abstractions.IDebugger)"> + <summary> + Construct a simple work item for a test. + </summary> + <param name="test">The test to be executed</param> + <param name="filter">The filter used to select this test</param> + <param name="debugger">An <see cref="T:NUnit.Framework.Internal.Abstractions.IDebugger"/> instance</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.SimpleWorkItem.PerformWork"> + <summary> + Method that performs actually performs the work. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.SimpleWorkItem.MakeTestCommand"> + <summary> + Creates a test command for use in running this test. + </summary> + <returns>A TestCommand</returns> + </member> + <member name="T:NUnit.Framework.Internal.Execution.SimpleWorkItemDispatcher"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.SimpleWorkItemDispatcher.LevelOfParallelism"> + <summary> + The level of parallelism supported + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.SimpleWorkItemDispatcher.Start(NUnit.Framework.Internal.Execution.WorkItem)"> + <summary> + Start execution, creating the execution thread, + setting the top level work and dispatching it. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.SimpleWorkItemDispatcher.Dispatch(NUnit.Framework.Internal.Execution.WorkItem)"> + <summary> + Dispatch a single work item for execution by + executing it directly. + </summary> + <param name="work">The item to dispatch</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.SimpleWorkItemDispatcher.CancelRun(System.Boolean)"> + <summary> + Cancel (abort or stop) the ongoing run. + If no run is in process, the call has no effect. + </summary> + <param name="force">true if the run should be aborted, false if it should allow its currently running test to complete</param> + </member> + <member name="T:NUnit.Framework.Internal.Execution.StaticMethodValidator"> + <summary> + Checks whether the method to execute is static. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.StaticMethodValidator.#ctor(System.String)"> + <summary> + Construct a StaticMethodValidator. + </summary> + <param name="failMessage">The error message to output in case the validation fails.</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.StaticMethodValidator.Validate(System.Reflection.MethodInfo)"> + <summary> + Determines whether a method to execute is static and throws an InvalidOperationException otherwise. + </summary> + <param name="method">The method to validate.</param> + </member> + <member name="T:NUnit.Framework.Internal.Execution.TestWorker"> + <summary> + A TestWorker pulls work items from a queue + and executes them. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Execution.TestWorker.TestWorkerEventHandler"> + <summary> + Event handler for TestWorker events + </summary> + <param name="worker">The TestWorker sending the event</param> + <param name="work">The WorkItem that caused the event</param> + </member> + <member name="E:NUnit.Framework.Internal.Execution.TestWorker.Busy"> + <summary> + Event signaled immediately before executing a WorkItem + </summary> + </member> + <member name="E:NUnit.Framework.Internal.Execution.TestWorker.Idle"> + <summary> + Event signaled immediately after executing a WorkItem + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.TestWorker.#ctor(NUnit.Framework.Internal.Execution.WorkItemQueue,System.String)"> + <summary> + Construct a new TestWorker. + </summary> + <param name="queue">The queue from which to pull work items</param> + <param name="name">The name of this worker</param> + </member> + <member name="P:NUnit.Framework.Internal.Execution.TestWorker.WorkQueue"> + <summary> + The WorkItemQueue from which this worker pulls WorkItems + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.TestWorker.Name"> + <summary> + The name of this worker - also used for the thread + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.TestWorker.IsAlive"> + <summary> + Indicates whether the worker thread is running + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Execution.TestWorker._currentWorkItem"> + <summary> + Our ThreadProc, which pulls and runs tests in a loop + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.TestWorker.Start"> + <summary> + Create thread and start processing work items. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.TestWorker.Cancel(System.Boolean)"> + <summary> + Stop the thread, either immediately or after finishing the current WorkItem + </summary> + <param name="force">true if the thread should be aborted, false if it should allow the currently running test to complete</param> + </member> + <member name="T:NUnit.Framework.Internal.Execution.TextCapture"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.TextCapture.#ctor(System.IO.TextWriter)"> + <summary> + Construct a TextCapture object + </summary> + <param name="defaultWriter">The default destination for non-intercepted output</param> + </member> + <member name="P:NUnit.Framework.Internal.Execution.TextCapture.Encoding"> + <summary> + Gets the Encoding in use by this TextWriter + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.TextCapture.Write(System.Char)"> + <summary> + Writes a single character + </summary> + <param name="value">The char to write</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.TextCapture.Write(System.String)"> + <summary> + Writes a string + </summary> + <param name="value">The string to write</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.TextCapture.WriteLine(System.String)"> + <summary> + Writes a string followed by a line terminator + </summary> + <param name="value">The string to write</param> + </member> + <member name="T:NUnit.Framework.Internal.Execution.WorkItem"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItem.#ctor(NUnit.Framework.Internal.Test,NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Construct a WorkItem for a particular test. + </summary> + <param name="test">The test that the WorkItem will run</param> + <param name="filter">Filter used to include or exclude child items</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItem.#ctor(NUnit.Framework.Internal.Execution.WorkItem)"> + <summary> + 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. + </summary> + <param name="wrappedItem">The WorkItem being wrapped</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItem.InitializeContext(NUnit.Framework.Internal.TestExecutionContext)"> + <summary> + Initialize the TestExecutionContext. This must be done + before executing the WorkItem. + </summary> + <remarks> + 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. + </remarks> + <param name="context">The TestExecutionContext to use</param> + </member> + <member name="E:NUnit.Framework.Internal.Execution.WorkItem.Completed"> + <summary> + Event triggered when the item is complete + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkItem.State"> + <summary> + Gets the current state of the WorkItem + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkItem.Test"> + <summary> + The test being executed by the work item + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkItem.Name"> + <summary> + The name of the work item - defaults to the Test name. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkItem.Filter"> + <summary> + Filter used to include or exclude child tests + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkItem.Context"> + <summary> + The execution context + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkItem.TestWorker"> + <summary> + The worker executing this item. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkItem.ExecutionStrategy"> + <summary> + The ParallelExecutionStrategy to use for this work item + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkItem.IsolateChildTests"> + <summary> + Indicates whether this work item should use a separate dispatcher. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkItem.Result"> + <summary> + The test result + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkItem.ParallelScope"> + <summary> + Gets the ParallelScope associated with the test, if any, + otherwise returning ParallelScope.Default; + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItem.Execute"> + <summary> + Execute the current work item, including any + child work items. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItem.WaitForCompletion"> + <summary> + Wait until the execution of this item is complete + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItem.MarkNotRunnable(System.String)"> + <summary> + Marks the WorkItem as NotRunnable. + </summary> + <param name="reason">Reason for test being NotRunnable.</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItem.Cancel(System.Boolean)"> + <summary> + Cancel (abort or stop) a WorkItem + </summary> + <param name="force">true if the WorkItem should be aborted, false if it should run to completion</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItem.Dispose"> + <summary> + Standard Dispose + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItem.PerformWork"> + <summary> + Method that performs actually performs the work. It should + set the State to WorkItemState.Complete when done. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItem.WorkItemComplete"> + <summary> + Method called by the derived class when all work is complete + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItem.BuildSetUpTearDownList(NUnit.Framework.Interfaces.IMethodInfo[],NUnit.Framework.Interfaces.IMethodInfo[],NUnit.Framework.Internal.Execution.IMethodValidator)"> + <summary> + Builds the set up tear down list. + </summary> + <param name="setUpMethods">Unsorted array of setup MethodInfos.</param> + <param name="tearDownMethods">Unsorted array of teardown MethodInfos.</param> + <param name="methodValidator">Method validator used before each method execution.</param> + <returns>A list of SetUpTearDownItems</returns> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItem.ChangeResult(NUnit.Framework.Interfaces.ResultState,System.String)"> + <summary> + Changes the result of the test, logging the old and new states + </summary> + <param name="resultState">The new ResultState</param> + <param name="message">The new message</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItem.GetTargetApartment(NUnit.Framework.Interfaces.ITest)"> + <summary> + Recursively walks up the test hierarchy to see if the + <see cref="T:System.Threading.ApartmentState"/> has been set on any of the parent tests. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Execution.WorkItemBuilder"> + <summary> + WorkItemBuilder class knows how to build a tree of work items from a tree of tests + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItemBuilder.CreateWorkItem(NUnit.Framework.Interfaces.ITest,NUnit.Framework.Interfaces.ITestFilter,System.Boolean)"> + <summary> + Creates a work item. + </summary> + <param name="test">The test for which this WorkItem is being created.</param> + <param name="filter">The filter to be used in selecting any child Tests.</param> + <param name="recursive">True if child work items should be created and added.</param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItemBuilder.CreateWorkItem(NUnit.Framework.Interfaces.ITest,NUnit.Framework.Interfaces.ITestFilter,NUnit.Framework.Internal.Abstractions.IDebugger,System.Boolean,System.Boolean)"> + <summary> + Creates a work item. + </summary> + <param name="test">The test for which this WorkItem is being created.</param> + <param name="filter">The filter to be used in selecting any child Tests.</param> + <param name="debugger">An <see cref="T:NUnit.Framework.Internal.Abstractions.IDebugger" /> instance.</param> + <param name="recursive">True if child work items should be created and added.</param> + <param name="root"><see langword="true"/> if work item needs to be created unconditionally, if <see langword="false"/> <see langword="null"/> will be returned for tests that don't match the filter.</param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItemBuilder.WorkItemOrderComparer.Compare(NUnit.Framework.Internal.Execution.WorkItem,NUnit.Framework.Internal.Execution.WorkItem)"> + <summary> + Compares two objects and returns a value indicating whether one is less than, equal to, or greater than the other. + </summary> + <returns> + A signed integer that indicates the relative values of <paramref name="x"/> and <paramref name="y"/>, as shown in the following table.Value Meaning Less than zero<paramref name="x"/> is less than <paramref name="y"/>.Zero<paramref name="x"/> equals <paramref name="y"/>.Greater than zero<paramref name="x"/> is greater than <paramref name="y"/>. + </returns> + <param name="x">The first object to compare.</param><param name="y">The second object to compare.</param> + </member> + <member name="T:NUnit.Framework.Internal.Execution.WorkItemQueueState"> + <summary> + WorkItemQueueState indicates the current state of a WorkItemQueue + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Execution.WorkItemQueueState.Paused"> + <summary> + The queue is paused + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Execution.WorkItemQueueState.Running"> + <summary> + The queue is running + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Execution.WorkItemQueueState.Stopped"> + <summary> + The queue is stopped + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Execution.WorkItemQueue"> + <summary> + A WorkItemQueue holds work items that are ready to + be run, either initially or after some dependency + has been satisfied. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItemQueue.#ctor(System.String,System.Boolean,System.Threading.ApartmentState)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.Execution.WorkItemQueue"/> class. + </summary> + <param name="name">The name of the queue.</param> + <param name="isParallel">Flag indicating whether this is a parallel queue</param> + <param name="apartment">ApartmentState to use for items on this queue</param> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkItemQueue.Name"> + <summary> + Gets the name of the work item queue. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkItemQueue.IsParallelQueue"> + <summary> + Gets a flag indicating whether this queue is used for parallel execution + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkItemQueue.TargetApartment"> + <summary> + Gets the target ApartmentState for work items on this queue + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkItemQueue.ItemsProcessed"> + <summary> + Gets the total number of items processed so far + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkItemQueue.State"> + <summary> + Gets the current state of the queue + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkItemQueue.IsEmpty"> + <summary> + Get a bool indicating whether the queue is empty. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItemQueue.Enqueue(NUnit.Framework.Internal.Execution.WorkItem)"> + <summary> + Enqueue a WorkItem to be processed + </summary> + <param name="work">The WorkItem to process</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItemQueue.Enqueue(NUnit.Framework.Internal.Execution.WorkItem,System.Int32)"> + <summary> + Enqueue a WorkItem to be processed - internal for testing + </summary> + <param name="work">The WorkItem to process</param> + <param name="priority">The priority at which to process the item</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItemQueue.Dequeue"> + <summary> + Dequeue a WorkItem for processing + </summary> + <returns>A WorkItem or null if the queue has stopped</returns> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItemQueue.Start"> + <summary> + Start or restart processing of items from the queue + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItemQueue.Stop"> + <summary> + Signal the queue to stop + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItemQueue.Pause"> + <summary> + Pause the queue for restarting later + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItemQueue.Save"> + <summary> + Save the current inner queue and create new ones for use by + a non-parallel fixture with parallel children. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItemQueue.Restore"> + <summary> + Restore the inner queue that was previously saved + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Execution.WorkItemState"> + <summary> + The current state of a work item + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Execution.WorkItemState.Ready"> + <summary> + Ready to run or continue + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Execution.WorkItemState.Running"> + <summary> + Work Item is executing + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Execution.WorkItemState.Complete"> + <summary> + Complete + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Execution.ShiftChangeEventHandler"> + <summary> + Handler for ShiftChange events. + </summary> + <param name="shift">The shift that is starting or ending.</param> + </member> + <member name="T:NUnit.Framework.Internal.Execution.WorkShift"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkShift.#ctor(System.String)"> + <summary> + Construct a WorkShift + </summary> + </member> + <member name="E:NUnit.Framework.Internal.Execution.WorkShift.EndOfShift"> + <summary> + Event that fires when the shift has ended + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkShift.Name"> + <summary> + The Name of this shift + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkShift.IsActive"> + <summary> + Gets a flag indicating whether the shift is currently active + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkShift.HasWork"> + <summary> + Gets a bool indicating whether this shift has any work to do + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkShift.Queues"> + <summary> + Gets a list of the queues associated with this shift. + </summary> + <remarks>Internal for testing - immutable once initialized</remarks> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkShift.Workers"> + <summary> + Gets the list of workers associated with this shift. + </summary> + <remarks>Internal for testing - immutable once initialized</remarks> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkShift.AddQueue(NUnit.Framework.Internal.Execution.WorkItemQueue)"> + <summary> + Add a WorkItemQueue to the shift, starting it if the + shift is currently active. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkShift.Assign(NUnit.Framework.Internal.Execution.TestWorker)"> + <summary> + Assign a worker to the shift. + </summary> + <param name="worker"></param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkShift.Start"> + <summary> + Start or restart processing for the shift + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkShift.EndShift"> + <summary> + End the shift, pausing all queues and raising + the EndOfShift event. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkShift.ShutDown"> + <summary> + Shut down the shift. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkShift.Cancel(System.Boolean)"> + <summary> + Cancel (abort or stop) the shift without completing all work + </summary> + <param name="force">true if the WorkShift should be aborted, false if it should allow its currently running tests to complete</param> + </member> + <member name="T:NUnit.Framework.Internal.TextMessageWriter"> + <summary> + 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. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TextMessageWriter.Pfx_Expected"> + <summary> + Prefix used for the expected value line of a message + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TextMessageWriter.Pfx_Actual"> + <summary> + Prefix used for the actual value line of a message + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TextMessageWriter.Pfx_Difference"> + <summary> + Prefix used for the actual difference between actual and expected values if compared with a tolerance + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TextMessageWriter.PrefixLength"> + <summary> + Length of a message prefix + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TextMessageWriter.#ctor"> + <summary> + Construct a TextMessageWriter + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TextMessageWriter.#ctor(System.String,System.Object[])"> + <summary> + Construct a TextMessageWriter, specifying a user message + and optional formatting arguments. + </summary> + <param name="userMessage"></param> + <param name="args"></param> + </member> + <member name="P:NUnit.Framework.Internal.TextMessageWriter.MaxLineLength"> + <summary> + Gets or sets the maximum line length for this writer + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TextMessageWriter.WriteMessageLine(System.Int32,System.String,System.Object[])"> + <summary> + Method to write single line message with optional args, usually + written to precede the general failure message, at a given + indentation level. + </summary> + <param name="level">The indentation level of the message</param> + <param name="message">The message to be written</param> + <param name="args">Any arguments used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Internal.TextMessageWriter.DisplayDifferences(NUnit.Framework.Constraints.ConstraintResult)"> + <summary> + 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. + </summary> + <param name="result">The result of the constraint that failed</param> + </member> + <member name="M:NUnit.Framework.Internal.TextMessageWriter.ResolveTypeNameDifference(System.Object,System.Object,System.String@,System.String@)"> + <summary> + Gets the unique type name between expected and actual. + </summary> + <param name="expected">The expected value</param> + <param name="actual">The actual value causing the failure</param> + <param name="expectedType">Output of the unique type name for expected</param> + <param name="actualType">Output of the unique type name for actual</param> + </member> + <member name="M:NUnit.Framework.Internal.TextMessageWriter.DisplayDifferences(System.Object,System.Object)"> + <summary> + 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. + </summary> + <param name="expected">The expected value</param> + <param name="actual">The actual value causing the failure</param> + </member> + <member name="M:NUnit.Framework.Internal.TextMessageWriter.DisplayDifferences(System.Object,System.Object,NUnit.Framework.Constraints.Tolerance)"> + <summary> + Display Expected and Actual lines for given values, including + a tolerance value on the expected line. + </summary> + <param name="expected">The expected value</param> + <param name="actual">The actual value causing the failure</param> + <param name="tolerance">The tolerance within which the test was made</param> + </member> + <member name="M:NUnit.Framework.Internal.TextMessageWriter.DisplayStringDifferences(System.String,System.String,System.Int32,System.Boolean,System.Boolean)"> + <summary> + 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. + </summary> + <param name="expected">The expected string value</param> + <param name="actual">The actual string value</param> + <param name="mismatch">The point at which the strings don't match or -1</param> + <param name="ignoreCase">If true, case is ignored in string comparisons</param> + <param name="clipping">If true, clip the strings to fit the max line length</param> + </member> + <member name="M:NUnit.Framework.Internal.TextMessageWriter.WriteActualValue(System.Object)"> + <summary> + Writes the text for an actual value. + </summary> + <param name="actual">The actual value.</param> + </member> + <member name="M:NUnit.Framework.Internal.TextMessageWriter.WriteValue(System.Object)"> + <summary> + Writes the text for a generalized value. + </summary> + <param name="val">The value.</param> + </member> + <member name="M:NUnit.Framework.Internal.TextMessageWriter.WriteCollectionElements(System.Collections.IEnumerable,System.Int64,System.Int32)"> + <summary> + Writes the text for a collection value, + starting at a particular point, to a max length + </summary> + <param name="collection">The collection containing elements to write.</param> + <param name="start">The starting point of the elements to write</param> + <param name="max">The maximum number of elements to write</param> + </member> + <member name="M:NUnit.Framework.Internal.TextMessageWriter.WriteExpectedLine(NUnit.Framework.Constraints.ConstraintResult)"> + <summary> + Write the generic 'Expected' line for a constraint + </summary> + <param name="result">The constraint that failed</param> + </member> + <member name="M:NUnit.Framework.Internal.TextMessageWriter.WriteExpectedLine(System.Object,NUnit.Framework.Constraints.Tolerance)"> + <summary> + Write the generic 'Expected' line for a given value + and tolerance. + </summary> + <param name="expected">The expected value</param> + <param name="tolerance">The tolerance within which the test was made</param> + </member> + <member name="M:NUnit.Framework.Internal.TextMessageWriter.WriteActualLine(NUnit.Framework.Constraints.ConstraintResult)"> + <summary> + Write the generic 'Actual' line for a constraint + </summary> + <param name="result">The ConstraintResult for which the actual value is to be written</param> + </member> + <member name="M:NUnit.Framework.Internal.TextMessageWriter.WriteActualLine(System.Object)"> + <summary> + Write the generic 'Actual' line for a given value + </summary> + <param name="actual">The actual value causing a failure</param> + </member> + <member name="T:NUnit.Framework.Internal.Extensions.IPropertyBagDataExtensions"> + <summary> + Extensions to <see cref="T:NUnit.Framework.Interfaces.IPropertyBag"/>. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Extensions.IPropertyBagDataExtensions.AddIgnoreUntilReason(NUnit.Framework.Interfaces.IPropertyBag,System.DateTimeOffset,System.String)"> + <summary> + Adds the skip reason to tests that are ignored until a specific date. + </summary> + <param name="properties">The test properties to add the skip reason to</param> + <param name="untilDate">The date that the test is being ignored until</param> + <param name="reason">The reason the test is being ignored until that date</param> + </member> + <member name="T:NUnit.Framework.Internal.Filters.AndFilter"> + <summary> + Combines multiple filters so that a test must pass all + of them in order to pass this filter. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Filters.AndFilter.#ctor"> + <summary> + Constructs an empty AndFilter + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Filters.AndFilter.#ctor(NUnit.Framework.Internal.TestFilter[])"> + <summary> + Constructs an AndFilter from an array of filters + </summary> + <param name="filters"></param> + </member> + <member name="M:NUnit.Framework.Internal.Filters.AndFilter.Pass(NUnit.Framework.Interfaces.ITest,System.Boolean)"> + <summary> + Checks whether the AndFilter is matched by a test + </summary> + <param name="test">The test to be matched</param> + <param name="negated">If set to <see langword="true"/> we are carrying a negation through</param> + <returns>True if all the component filters pass, otherwise false</returns> + </member> + <member name="M:NUnit.Framework.Internal.Filters.AndFilter.Match(NUnit.Framework.Interfaces.ITest)"> + <summary> + Checks whether the AndFilter is matched by a test + </summary> + <param name="test">The test to be matched</param> + <returns>True if all the component filters match, otherwise false</returns> + </member> + <member name="M:NUnit.Framework.Internal.Filters.AndFilter.IsExplicitMatch(NUnit.Framework.Interfaces.ITest)"> + <summary> + Checks whether the AndFilter is explicit matched by a test. + </summary> + <param name="test">The test to be matched</param> + <returns>True if all the component filters explicit match, otherwise false</returns> + </member> + <member name="P:NUnit.Framework.Internal.Filters.AndFilter.ElementName"> + <summary> + Gets the element name + </summary> + <value>Element name</value> + </member> + <member name="T:NUnit.Framework.Internal.Filters.CategoryFilter"> + <summary> + CategoryFilter is able to select or exclude tests + based on their categories. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Filters.CategoryFilter.#ctor(System.String)"> + <summary> + Construct a CategoryFilter using a single category name + </summary> + <param name="name">A category name</param> + </member> + <member name="M:NUnit.Framework.Internal.Filters.CategoryFilter.Match(NUnit.Framework.Interfaces.ITest)"> + <summary> + Check whether the filter matches a test + </summary> + <param name="test">The test to be matched</param> + <returns></returns> + </member> + <member name="P:NUnit.Framework.Internal.Filters.CategoryFilter.ElementName"> + <summary> + Gets the element name + </summary> + <value>Element name</value> + </member> + <member name="T:NUnit.Framework.Internal.Filters.ClassNameFilter"> + <summary> + ClassName filter selects tests based on the class FullName + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Filters.ClassNameFilter.#ctor(System.String)"> + <summary> + Construct a FullNameFilter for a single name + </summary> + <param name="expectedValue">The name the filter will recognize.</param> + </member> + <member name="M:NUnit.Framework.Internal.Filters.ClassNameFilter.Match(NUnit.Framework.Interfaces.ITest)"> + <summary> + Match a test against a single value. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Filters.ClassNameFilter.ElementName"> + <summary> + Gets the element name + </summary> + <value>Element name</value> + </member> + <member name="T:NUnit.Framework.Internal.Filters.CompositeFilter"> + <summary> + A base class for multi-part filters + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Filters.CompositeFilter.#ctor"> + <summary> + Constructs an empty CompositeFilter + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Filters.CompositeFilter.#ctor(NUnit.Framework.Internal.TestFilter[])"> + <summary> + Constructs a CompositeFilter from an array of filters + </summary> + <param name="filters"></param> + </member> + <member name="P:NUnit.Framework.Internal.Filters.CompositeFilter.Filters"> + <summary> + Return a list of the composing filters. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Filters.CompositeFilter.Pass(NUnit.Framework.Interfaces.ITest,System.Boolean)"> + <summary> + Checks whether the CompositeFilter is matched by a test. + </summary> + <param name="test">The test to be matched</param> + <param name="negated">If set to <see langword="true"/> we are carrying a negation through</param> + </member> + <member name="M:NUnit.Framework.Internal.Filters.CompositeFilter.Match(NUnit.Framework.Interfaces.ITest)"> + <summary> + Checks whether the CompositeFilter is matched by a test. + </summary> + <param name="test">The test to be matched</param> + </member> + <member name="M:NUnit.Framework.Internal.Filters.CompositeFilter.IsExplicitMatch(NUnit.Framework.Interfaces.ITest)"> + <summary> + Checks whether the CompositeFilter is explicit matched by a test. + </summary> + <param name="test">The test to be matched</param> + </member> + <member name="M:NUnit.Framework.Internal.Filters.CompositeFilter.AddToXml(NUnit.Framework.Interfaces.TNode,System.Boolean)"> + <summary> + Adds an XML node + </summary> + <param name="parentNode">Parent node</param> + <param name="recursive">True if recursive</param> + <returns>The added XML node</returns> + </member> + <member name="P:NUnit.Framework.Internal.Filters.CompositeFilter.ElementName"> + <summary> + Gets the element name + </summary> + <value>Element name</value> + </member> + <member name="T:NUnit.Framework.Internal.Filters.FullNameFilter"> + <summary> + FullName filter selects tests based on their FullName + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Filters.FullNameFilter.#ctor(System.String)"> + <summary> + Construct a FullNameFilter for a single name + </summary> + <param name="expectedValue">The name the filter will recognize.</param> + </member> + <member name="M:NUnit.Framework.Internal.Filters.FullNameFilter.Match(NUnit.Framework.Interfaces.ITest)"> + <summary> + Match a test against a single value. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Filters.FullNameFilter.ElementName"> + <summary> + Gets the element name + </summary> + <value>Element name</value> + </member> + <member name="T:NUnit.Framework.Internal.Filters.IdFilter"> + <summary> + IdFilter selects tests based on their id + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Filters.IdFilter.#ctor(System.String)"> + <summary> + Construct an IdFilter for a single value + </summary> + <param name="id">The id the filter will recognize.</param> + </member> + <member name="M:NUnit.Framework.Internal.Filters.IdFilter.Match(NUnit.Framework.Interfaces.ITest)"> + <summary> + Match a test against a single value. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Filters.IdFilter.ElementName"> + <summary> + Gets the element name + </summary> + <value>Element name</value> + </member> + <member name="T:NUnit.Framework.Internal.Filters.InFilter"> + <summary> + Optimized filter to check in condition using HashSet. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Filters.InFilter.#ctor(System.Func{NUnit.Framework.Interfaces.ITest,System.String},System.Collections.Generic.IEnumerable{System.String},System.String)"> + <summary> + Constructs new InFilter. + </summary> + <param name="selector">Selector to get value to check.</param> + <param name="values">Valid values for the filter.</param> + <param name="xmlElementName">The XML element name the original filter used.</param> + </member> + <member name="M:NUnit.Framework.Internal.Filters.InFilter.TryOptimize(NUnit.Framework.Internal.Filters.OrFilter,NUnit.Framework.Internal.Filters.InFilter@)"> + <summary> + Tries to optimize OrFilter into InFilter if contained filters are all same and non-regex. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Filters.MethodNameFilter"> + <summary> + FullName filter selects tests based on their FullName + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Filters.MethodNameFilter.#ctor(System.String)"> + <summary> + Construct a MethodNameFilter for a single name + </summary> + <param name="expectedValue">The name the filter will recognize.</param> + </member> + <member name="M:NUnit.Framework.Internal.Filters.MethodNameFilter.Match(NUnit.Framework.Interfaces.ITest)"> + <summary> + Match a test against a single value. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Filters.MethodNameFilter.ElementName"> + <summary> + Gets the element name + </summary> + <value>Element name</value> + </member> + <member name="T:NUnit.Framework.Internal.Filters.NamespaceFilter"> + <summary> + ClassName filter selects tests based on the class FullName + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Filters.NamespaceFilter.#ctor(System.String)"> + <summary> + Construct a NamespaceFilter for a single namespace + </summary> + <param name="expectedValue">The namespace the filter will recognize.</param> + </member> + <member name="M:NUnit.Framework.Internal.Filters.NamespaceFilter.Match(NUnit.Framework.Interfaces.ITest)"> + <summary> + Match a test against a single value. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Filters.NamespaceFilter.ElementName"> + <summary> + Gets the element name + </summary> + <value>Element name</value> + </member> + <member name="T:NUnit.Framework.Internal.Filters.NotFilter"> + <summary> + NotFilter negates the operation of another filter + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Filters.NotFilter.#ctor(NUnit.Framework.Internal.TestFilter)"> + <summary> + Construct a not filter on another filter + </summary> + <param name="baseFilter">The filter to be negated</param> + </member> + <member name="P:NUnit.Framework.Internal.Filters.NotFilter.BaseFilter"> + <summary> + Gets the base filter + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Filters.NotFilter.Pass(NUnit.Framework.Interfaces.ITest,System.Boolean)"> + <summary> + Determine if a particular test passes the filter criteria. + </summary> + <param name="test">The test to which the filter is applied</param> + <param name="negated">If set to <see langword="true"/> we are carrying a negation through</param> + <returns>True if the test passes the filter, otherwise false</returns> + </member> + <member name="M:NUnit.Framework.Internal.Filters.NotFilter.Match(NUnit.Framework.Interfaces.ITest)"> + <summary> + Check whether the filter matches a test + </summary> + <param name="test">The test to be matched</param> + <returns>True if it matches, otherwise false</returns> + </member> + <member name="M:NUnit.Framework.Internal.Filters.NotFilter.IsExplicitMatch(NUnit.Framework.Interfaces.ITest)"> + <summary> + 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. + </summary> + <param name="test">The test to which the filter is applied</param> + <returns>True if the test matches the filter explicitly, otherwise false</returns> + </member> + <member name="M:NUnit.Framework.Internal.Filters.NotFilter.AddToXml(NUnit.Framework.Interfaces.TNode,System.Boolean)"> + <summary> + Adds an XML node + </summary> + <param name="parentNode">Parent node</param> + <param name="recursive">True if recursive</param> + <returns>The added XML node</returns> + </member> + <member name="T:NUnit.Framework.Internal.Filters.OrFilter"> + <summary> + Combines multiple filters so that a test must pass one + of them in order to pass this filter. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Filters.OrFilter.#ctor"> + <summary> + Constructs an empty OrFilter + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Filters.OrFilter.#ctor(NUnit.Framework.Internal.TestFilter[])"> + <summary> + Constructs an OrFilter from an array of filters + </summary> + <param name="filters"></param> + </member> + <member name="M:NUnit.Framework.Internal.Filters.OrFilter.Pass(NUnit.Framework.Interfaces.ITest,System.Boolean)"> + <summary> + Checks whether the OrFilter is matched by a test + </summary> + <param name="test">The test to be matched</param> + <param name="negated">If set to <see langword="true"/> we are carrying a negation through</param> + <returns>True if any of the component filters pass, otherwise false</returns> + </member> + <member name="M:NUnit.Framework.Internal.Filters.OrFilter.Match(NUnit.Framework.Interfaces.ITest)"> + <summary> + Checks whether the OrFilter is matched by a test + </summary> + <param name="test">The test to be matched</param> + <returns>True if any of the component filters match, otherwise false</returns> + </member> + <member name="M:NUnit.Framework.Internal.Filters.OrFilter.IsExplicitMatch(NUnit.Framework.Interfaces.ITest)"> + <summary> + Checks whether the OrFilter is explicit matched by a test + </summary> + <param name="test">The test to be matched</param> + <returns>True if any of the component filters explicit match, otherwise false</returns> + </member> + <member name="P:NUnit.Framework.Internal.Filters.OrFilter.ElementName"> + <summary> + Gets the element name + </summary> + <value>Element name</value> + </member> + <member name="T:NUnit.Framework.Internal.Filters.PropertyFilter"> + <summary> + PropertyFilter is able to select or exclude tests + based on their properties. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Filters.PropertyFilter.#ctor(System.String,System.String)"> + <summary> + Construct a PropertyFilter using a property name and expected value + </summary> + <param name="propertyName">A property name</param> + <param name="expectedValue">The expected value of the property</param> + </member> + <member name="M:NUnit.Framework.Internal.Filters.PropertyFilter.Match(NUnit.Framework.Interfaces.ITest)"> + <summary> + Check whether the filter matches a test + </summary> + <param name="test">The test to be matched</param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Internal.Filters.PropertyFilter.AddToXml(NUnit.Framework.Interfaces.TNode,System.Boolean)"> + <summary> + Adds an XML node + </summary> + <param name="parentNode">Parent node</param> + <param name="recursive">True if recursive</param> + <returns>The added XML node</returns> + </member> + <member name="P:NUnit.Framework.Internal.Filters.PropertyFilter.ElementName"> + <summary> + Gets the element name + </summary> + <value>Element name</value> + </member> + <member name="T:NUnit.Framework.Internal.Filters.TestNameFilter"> + <summary> + TestName filter selects tests based on their Name + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Filters.TestNameFilter.#ctor(System.String)"> + <summary> + Construct a TestNameFilter for a single name + </summary> + <param name="expectedValue">The name the filter will recognize.</param> + </member> + <member name="M:NUnit.Framework.Internal.Filters.TestNameFilter.Match(NUnit.Framework.Interfaces.ITest)"> + <summary> + Match a test against a single value. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Filters.TestNameFilter.ElementName"> + <summary> + Gets the element name + </summary> + <value>Element name</value> + </member> + <member name="T:NUnit.Framework.Internal.Filters.ValueMatchFilter"> + <summary> + ValueMatchFilter selects tests based on some value, which + is expected to be contained in the test. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Filters.ValueMatchFilter.ExpectedValue"> + <summary> + Returns the value matched by the filter - used for testing + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Filters.ValueMatchFilter.IsRegex"> + <summary> + Indicates whether the value is a regular expression + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Filters.ValueMatchFilter.#ctor(System.String)"> + <summary> + Construct a ValueMatchFilter for a single value. + </summary> + <param name="expectedValue">The value to be included.</param> + </member> + <member name="M:NUnit.Framework.Internal.Filters.ValueMatchFilter.Match(System.String)"> + <summary> + Match the input provided by the derived class + </summary> + <param name="input">The value to be matched</param> + <returns>True for a match, false otherwise.</returns> + </member> + <member name="M:NUnit.Framework.Internal.Filters.ValueMatchFilter.AddToXml(NUnit.Framework.Interfaces.TNode,System.Boolean)"> + <summary> + Adds an XML node + </summary> + <param name="parentNode">Parent node</param> + <param name="recursive">True if recursive</param> + <returns>The added XML node</returns> + </member> + <member name="P:NUnit.Framework.Internal.Filters.ValueMatchFilter.ElementName"> + <summary> + Gets the element name + </summary> + <value>Element name</value> + </member> + <member name="T:NUnit.Framework.Internal.GenericMethodHelper"> + <summary> + GenericMethodHelper is able to deduce the Type arguments for + a generic method from the actual arguments provided. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.GenericMethodHelper.ConflictingTypesMarker"> + <summary> + A special value, which is used to indicate that BestCommonType() method + was unable to find a common type for the specified arguments. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.GenericMethodHelper.#ctor(System.Reflection.MethodInfo)"> + <summary> + Construct a GenericMethodHelper for a method + </summary> + <param name="method">MethodInfo for the method to examine</param> + </member> + <member name="M:NUnit.Framework.Internal.GenericMethodHelper.TryGetTypeArguments(System.Object[],System.Type[]@)"> + <summary> + Return the type arguments for the method, deducing them + from the arguments actually provided. + </summary> + <param name="argList">The arguments to the method</param> + <param name="typeArguments">If successful, an array of type arguments.</param> + </member> + <member name="T:NUnit.Framework.Internal.ImmutableStack`1"> + <summary> + A minimalistic implementation of an immutable stack. Add members as needed. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.ImmutableStack`1.Empty"> + <summary> + Represents an empty stack. <see langword="default"/> may be used instead. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ImmutableStack`1.Push(`0)"> + <summary> + Returns a new immutable stack which begins with the specified value and continues with the values in the + current stack. + </summary> + <param name="value">The beginning value of the new stack.</param> + </member> + <member name="T:NUnit.Framework.Internal.InvalidDataSourceException"> + <summary> + InvalidTestFixtureException is thrown when an appropriate test + fixture constructor using the provided arguments cannot be found. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.InvalidDataSourceException.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.InvalidTestFixtureException"/> class. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.InvalidDataSourceException.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.InvalidTestFixtureException"/> class. + </summary> + <param name="message">The message.</param> + </member> + <member name="M:NUnit.Framework.Internal.InvalidDataSourceException.#ctor(System.String,System.Exception)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.InvalidTestFixtureException"/> class. + </summary> + <param name="message">The message.</param> + <param name="inner">The inner.</param> + </member> + <member name="M:NUnit.Framework.Internal.InvalidDataSourceException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)"> + <summary> + Serialization Constructor + </summary> + </member> + <member name="T:NUnit.Framework.Internal.InvalidPlatformException"> + <summary> + InvalidPlatformException is thrown when the platform name supplied + to a test is not recognized. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.InvalidPlatformException.#ctor"> + <summary> + Instantiates a new instance of the <see cref="T:NUnit.Framework.Internal.InvalidPlatformException"/> class. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.InvalidPlatformException.#ctor(System.String)"> + <summary> + Instantiates a new instance of the <see cref="T:NUnit.Framework.Internal.InvalidPlatformException"/> class + </summary> + <param name="message">The message.</param> + </member> + <member name="M:NUnit.Framework.Internal.InvalidPlatformException.#ctor(System.String,System.Exception)"> + <summary> + Instantiates a new instance of the <see cref="T:NUnit.Framework.Internal.InvalidPlatformException"/> class + </summary> + <param name="message">The message.</param> + <param name="inner">The inner.</param> + </member> + <member name="M:NUnit.Framework.Internal.InvalidPlatformException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)"> + <summary> + Serialization constructor for the <see cref="T:NUnit.Framework.Internal.InvalidPlatformException"/> class + </summary> + </member> + <member name="T:NUnit.Framework.Internal.InvalidTestFixtureException"> + <summary> + InvalidTestFixtureException is thrown when an appropriate test + fixture constructor using the provided arguments cannot be found. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.InvalidTestFixtureException.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.InvalidTestFixtureException"/> class. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.InvalidTestFixtureException.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.InvalidTestFixtureException"/> class. + </summary> + <param name="message">The message.</param> + </member> + <member name="M:NUnit.Framework.Internal.InvalidTestFixtureException.#ctor(System.String,System.Exception)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.InvalidTestFixtureException"/> class. + </summary> + <param name="message">The message.</param> + <param name="inner">The inner.</param> + </member> + <member name="M:NUnit.Framework.Internal.InvalidTestFixtureException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)"> + <summary> + Serialization Constructor + </summary> + </member> + <member name="T:NUnit.Framework.Internal.ILogger"> + <summary> + Interface for logging within the engine + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ILogger.Error(System.String)"> + <summary> + Logs the specified message at the error level. + </summary> + <param name="message">The message.</param> + </member> + <member name="M:NUnit.Framework.Internal.ILogger.Error(System.String,System.Object[])"> + <summary> + Logs the specified message at the error level. + </summary> + <param name="message">The message.</param> + <param name="args">The arguments.</param> + </member> + <member name="M:NUnit.Framework.Internal.ILogger.Warning(System.String)"> + <summary> + Logs the specified message at the warning level. + </summary> + <param name="message">The message.</param> + </member> + <member name="M:NUnit.Framework.Internal.ILogger.Warning(System.String,System.Object[])"> + <summary> + Logs the specified message at the warning level. + </summary> + <param name="message">The message.</param> + <param name="args">The arguments.</param> + </member> + <member name="M:NUnit.Framework.Internal.ILogger.Info(System.String)"> + <summary> + Logs the specified message at the info level. + </summary> + <param name="message">The message.</param> + </member> + <member name="M:NUnit.Framework.Internal.ILogger.Info(System.String,System.Object[])"> + <summary> + Logs the specified message at the info level. + </summary> + <param name="message">The message.</param> + <param name="args">The arguments.</param> + </member> + <member name="M:NUnit.Framework.Internal.ILogger.Debug(System.String)"> + <summary> + Logs the specified message at the debug level. + </summary> + <param name="message">The message.</param> + </member> + <member name="M:NUnit.Framework.Internal.ILogger.Debug(System.String,System.Object[])"> + <summary> + Logs the specified message at the debug level. + </summary> + <param name="message">The message.</param> + <param name="args">The arguments.</param> + </member> + <member name="T:NUnit.Framework.Internal.InternalTrace"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.InternalTrace.Initialized"> + <summary> + Gets a flag indicating whether the InternalTrace is initialized + </summary> + </member> + <member name="M:NUnit.Framework.Internal.InternalTrace.Initialize(System.String,NUnit.Framework.Internal.InternalTraceLevel)"> + <summary> + Initialize the internal trace facility using the name of the log + to be written to and the trace level. + </summary> + <param name="logName">The log name</param> + <param name="level">The trace level</param> + </member> + <member name="M:NUnit.Framework.Internal.InternalTrace.Initialize(System.IO.TextWriter,NUnit.Framework.Internal.InternalTraceLevel)"> + <summary> + Initialize the internal trace using a provided TextWriter and level + </summary> + <param name="writer">A TextWriter</param> + <param name="level">The InternalTraceLevel</param> + </member> + <member name="M:NUnit.Framework.Internal.InternalTrace.GetLogger(System.String)"> + <summary> + Get a named Logger + </summary> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Internal.InternalTrace.GetLogger(System.Type)"> + <summary> + Get a logger named for a particular Type. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.InternalTraceLevel"> + <summary> + InternalTraceLevel is an enumeration controlling the + level of detailed presented in the internal log. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.InternalTraceLevel.Default"> + <summary> + Use the default settings as specified by the user. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.InternalTraceLevel.Off"> + <summary> + Do not display any trace messages + </summary> + </member> + <member name="F:NUnit.Framework.Internal.InternalTraceLevel.Error"> + <summary> + Display Error messages only + </summary> + </member> + <member name="F:NUnit.Framework.Internal.InternalTraceLevel.Warning"> + <summary> + Display Warning level and higher messages + </summary> + </member> + <member name="F:NUnit.Framework.Internal.InternalTraceLevel.Info"> + <summary> + Display informational and higher messages + </summary> + </member> + <member name="F:NUnit.Framework.Internal.InternalTraceLevel.Debug"> + <summary> + Display debug messages and higher - i.e. all messages + </summary> + </member> + <member name="F:NUnit.Framework.Internal.InternalTraceLevel.Verbose"> + <summary> + Display debug messages and higher - i.e. all messages + </summary> + </member> + <member name="T:NUnit.Framework.Internal.InternalTraceWriter"> + <summary> + A trace listener that writes to a separate file per domain + and process using it. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.InternalTraceWriter.#ctor(System.String)"> + <summary> + Construct an InternalTraceWriter that writes to a file. + </summary> + <param name="logPath">Path to the file to use</param> + </member> + <member name="M:NUnit.Framework.Internal.InternalTraceWriter.#ctor(System.IO.TextWriter)"> + <summary> + Construct an InternalTraceWriter that writes to a + TextWriter provided by the caller. + </summary> + <param name="writer"></param> + </member> + <member name="P:NUnit.Framework.Internal.InternalTraceWriter.Encoding"> + <summary> + Returns the character encoding in which the output is written. + </summary> + <returns>The character encoding in which the output is written.</returns> + </member> + <member name="M:NUnit.Framework.Internal.InternalTraceWriter.Write(System.Char)"> + <summary> + Writes a character to the text string or stream. + </summary> + <param name="value">The character to write to the text stream.</param> + </member> + <member name="M:NUnit.Framework.Internal.InternalTraceWriter.Write(System.String)"> + <summary> + Writes a string to the text string or stream. + </summary> + <param name="value">The string to write.</param> + </member> + <member name="M:NUnit.Framework.Internal.InternalTraceWriter.WriteLine(System.String)"> + <summary> + Writes a string followed by a line terminator to the text string or stream. + </summary> + <param name="value">The string to write. If <paramref name="value" /> is null, only the line terminator is written.</param> + </member> + <member name="M:NUnit.Framework.Internal.InternalTraceWriter.Dispose(System.Boolean)"> + <summary> + Releases the unmanaged resources used by the <see cref="T:System.IO.TextWriter" /> and optionally releases the managed resources. + </summary> + <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param> + </member> + <member name="M:NUnit.Framework.Internal.InternalTraceWriter.Flush"> + <summary> + Clears all buffers for the current writer and causes any buffered data to be written to the underlying device. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Logger"> + <summary> + Provides internal logging to the NUnit framework + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Logger.#ctor(System.String,NUnit.Framework.Internal.InternalTraceLevel,System.IO.TextWriter)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.Logger"/> class. + </summary> + <param name="name">The name.</param> + <param name="level">The log level.</param> + <param name="writer">The writer where logs are sent.</param> + </member> + <member name="M:NUnit.Framework.Internal.Logger.Error(System.String)"> + <summary> + Logs the message at error level. + </summary> + <param name="message">The message.</param> + </member> + <member name="M:NUnit.Framework.Internal.Logger.Error(System.String,System.Object[])"> + <summary> + Logs the message at error level. + </summary> + <param name="message">The message.</param> + <param name="args">The message arguments.</param> + </member> + <member name="M:NUnit.Framework.Internal.Logger.Warning(System.String)"> + <summary> + Logs the message at warm level. + </summary> + <param name="message">The message.</param> + </member> + <member name="M:NUnit.Framework.Internal.Logger.Warning(System.String,System.Object[])"> + <summary> + Logs the message at warning level. + </summary> + <param name="message">The message.</param> + <param name="args">The message arguments.</param> + </member> + <member name="M:NUnit.Framework.Internal.Logger.Info(System.String)"> + <summary> + Logs the message at info level. + </summary> + <param name="message">The message.</param> + </member> + <member name="M:NUnit.Framework.Internal.Logger.Info(System.String,System.Object[])"> + <summary> + Logs the message at info level. + </summary> + <param name="message">The message.</param> + <param name="args">The message arguments.</param> + </member> + <member name="M:NUnit.Framework.Internal.Logger.Debug(System.String)"> + <summary> + Logs the message at debug level. + </summary> + <param name="message">The message.</param> + </member> + <member name="M:NUnit.Framework.Internal.Logger.Debug(System.String,System.Object[])"> + <summary> + Logs the message at debug level. + </summary> + <param name="message">The message.</param> + <param name="args">The message arguments.</param> + </member> + <member name="T:NUnit.Framework.Internal.MethodWrapper"> + <summary> + The MethodWrapper class wraps a MethodInfo so that it may + be used in a platform-independent manner. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.MethodWrapper.#ctor(System.Type,System.Reflection.MethodInfo)"> + <summary> + Construct a MethodWrapper for a Type and a MethodInfo. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.MethodWrapper.#ctor(System.Type,System.String)"> + <summary> + Construct a MethodInfo for a given Type and method name. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.MethodWrapper.TypeInfo"> + <summary> + Gets the Type from which this method was reflected. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.MethodWrapper.MethodInfo"> + <summary> + Gets the MethodInfo for this method. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.MethodWrapper.Name"> + <summary> + Gets the name of the method. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.MethodWrapper.IsAbstract"> + <summary> + Gets a value indicating whether the method is abstract. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.MethodWrapper.IsPublic"> + <summary> + Gets a value indicating whether the method is public. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.MethodWrapper.IsStatic"> + <summary> + Gets a value indicating whether the method is static. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.MethodWrapper.ContainsGenericParameters"> + <summary> + Gets a value indicating whether the method contains unassigned generic type parameters. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.MethodWrapper.IsGenericMethod"> + <summary> + Gets a value indicating whether the method is a generic method. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.MethodWrapper.IsGenericMethodDefinition"> + <summary> + Gets a value indicating whether the MethodInfo represents the definition of a generic method. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.MethodWrapper.ReturnType"> + <summary> + Gets the return Type of the method. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.MethodWrapper.GetParameters"> + <summary> + Gets the parameters of the method. + </summary> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Internal.MethodWrapper.GetGenericArguments"> + <summary> + Returns the Type arguments of a generic method or the Type parameters of a generic method definition. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.MethodWrapper.MakeGenericMethod(System.Type[])"> + <summary> + Replaces the type parameters of the method with the array of types provided and returns a new IMethodInfo. + </summary> + <param name="typeArguments">The type arguments to be used</param> + <returns>A new IMethodInfo with the type arguments replaced</returns> + </member> + <member name="M:NUnit.Framework.Internal.MethodWrapper.GetCustomAttributes``1(System.Boolean)"> + <summary> + Returns an array of custom attributes of the specified type applied to this method + </summary> + </member> + <member name="M:NUnit.Framework.Internal.MethodWrapper.IsDefined``1(System.Boolean)"> + <summary> + Gets a value indicating whether one or more attributes of the specified type are defined on the method. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.MethodWrapper.Invoke(System.Object,System.Object[])"> + <summary> + Invokes the method, converting any TargetInvocationException to an NUnitException. + </summary> + <param name="fixture">The object on which to invoke the method</param> + <param name="args">The argument list for the method</param> + <returns>The return value from the invoked method</returns> + </member> + <member name="M:NUnit.Framework.Internal.MethodWrapper.ToString"> + <summary> + Override ToString() so that error messages in NUnit's own tests make sense + </summary> + </member> + <member name="M:NUnit.Framework.Internal.MethodWrapper.Equals(NUnit.Framework.Internal.MethodWrapper)"> + <inheritdoc /> + </member> + <member name="M:NUnit.Framework.Internal.MethodWrapper.Equals(System.Object)"> + <inheritdoc /> + </member> + <member name="M:NUnit.Framework.Internal.MethodWrapper.GetHashCode"> + <inheritdoc /> + </member> + <member name="T:NUnit.Framework.Internal.NUnitCallContext"> + <summary> + This class ensures the <see cref="T:System.Runtime.Remoting.Messaging.CallContext"/> 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 + </summary> + </member> + <member name="T:NUnit.Framework.Internal.NUnitException"> + <summary> + Thrown when an assertion failed. Here to preserve the inner + exception and hence its stack trace. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.NUnitException.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.NUnitException"/> class. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.NUnitException.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.NUnitException"/> class. + </summary> + <param name="message">The error message that explains + the reason for the exception</param> + </member> + <member name="M:NUnit.Framework.Internal.NUnitException.#ctor(System.String,System.Exception)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.NUnitException"/> class. + </summary> + <param name="message">The error message that explains + the reason for the exception</param> + <param name="inner">The exception that caused the + current exception</param> + </member> + <member name="M:NUnit.Framework.Internal.NUnitException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)"> + <summary> + Serialization Constructor + </summary> + </member> + <member name="T:NUnit.Framework.Internal.On"> + <summary> + Enables the <see cref="M:NUnit.Framework.Internal.On.Dispose(System.Action)"/> syntax. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.On.Dispose(System.Action)"> + <summary> + 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. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.OSPlatform"> + <summary> + OSPlatform represents a particular operating system platform + </summary> + </member> + <member name="F:NUnit.Framework.Internal.OSPlatform.UnixPlatformID_Microsoft"> + <summary> + Platform ID for Unix as defined by .NET + </summary> + </member> + <member name="F:NUnit.Framework.Internal.OSPlatform.UnixPlatformID_Mono"> + <summary> + Platform ID for Unix as defined by Mono + </summary> + </member> + <member name="F:NUnit.Framework.Internal.OSPlatform.XBoxPlatformID"> + <summary> + Platform ID for XBox as defined by .NET and Mono + </summary> + </member> + <member name="F:NUnit.Framework.Internal.OSPlatform.MacOSXPlatformID"> + <summary> + Platform ID for MacOSX as defined by .NET and Mono + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.CurrentPlatform"> + <summary> + Get the OSPlatform under which we are currently running + </summary> + </member> + <member name="M:NUnit.Framework.Internal.OSPlatform.GetWindows81PlusVersion(System.Version)"> + <summary> + Gets the actual OS Version, not the incorrect value that might be + returned for Win 8.1 and Win 10 + </summary> + <remarks> + 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. + </remarks> + <param name="version">The original version</param> + <returns>The correct OS version</returns> + </member> + <member name="T:NUnit.Framework.Internal.OSPlatform.ProductType"> + <summary> + Product Type Enumeration used for Windows + </summary> + </member> + <member name="F:NUnit.Framework.Internal.OSPlatform.ProductType.Unknown"> + <summary> + Product type is unknown or unspecified + </summary> + </member> + <member name="F:NUnit.Framework.Internal.OSPlatform.ProductType.WorkStation"> + <summary> + Product type is Workstation + </summary> + </member> + <member name="F:NUnit.Framework.Internal.OSPlatform.ProductType.DomainController"> + <summary> + Product type is Domain Controller + </summary> + </member> + <member name="F:NUnit.Framework.Internal.OSPlatform.ProductType.Server"> + <summary> + Product type is Server + </summary> + </member> + <member name="M:NUnit.Framework.Internal.OSPlatform.#ctor(System.PlatformID,System.Version)"> + <summary> + Construct from a platform ID and version + </summary> + </member> + <member name="M:NUnit.Framework.Internal.OSPlatform.#ctor(System.PlatformID,System.Version,NUnit.Framework.Internal.OSPlatform.ProductType)"> + <summary> + Construct from a platform ID, version and product type + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.Platform"> + <summary> + Get the platform ID of this instance + </summary> + </member> + <member name="M:NUnit.Framework.Internal.OSPlatform.ToString"> + <summary> + Implemented to use in place of Environment.OSVersion.ToString() + </summary> + <returns>A representation of the platform ID and version in an approximation of the format used by Environment.OSVersion.ToString()</returns> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.Version"> + <summary> + Get the Version of this instance + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.Product"> + <summary> + Get the Product Type of this instance + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWindows"> + <summary> + Return true if this is a windows platform + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsUnix"> + <summary> + Return true if this is a Unix or Linux platform + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWin32S"> + <summary> + Return true if the platform is Win32S + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWin32Windows"> + <summary> + Return true if the platform is Win32Windows + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWin32NT"> + <summary> + Return true if the platform is Win32NT + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWinCE"> + <summary> + Return true if the platform is Windows CE + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsXbox"> + <summary> + Return true if the platform is Xbox + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsMacOSX"> + <summary> + Return true if the platform is MacOSX + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWin95"> + <summary> + Return true if the platform is Windows 95 + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWin98"> + <summary> + Return true if the platform is Windows 98 + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWinME"> + <summary> + Return true if the platform is Windows ME + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsNT3"> + <summary> + Return true if the platform is NT 3 + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsNT4"> + <summary> + Return true if the platform is NT 4 + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsNT5"> + <summary> + Return true if the platform is NT 5 + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWin2K"> + <summary> + Return true if the platform is Windows 2000 + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWinXP"> + <summary> + Return true if the platform is Windows XP + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWin2003Server"> + <summary> + Return true if the platform is Windows 2003 Server + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsNT6"> + <summary> + Return true if the platform is NT 6 + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsNT60"> + <summary> + Return true if the platform is NT 6.0 + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsNT61"> + <summary> + Return true if the platform is NT 6.1 + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsNT62"> + <summary> + Return true if the platform is NT 6.2 + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsNT63"> + <summary> + Return true if the platform is NT 6.3 + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsVista"> + <summary> + Return true if the platform is Vista + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWin2008Server"> + <summary> + Return true if the platform is Windows 2008 Server (original or R2) + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWin2008ServerR1"> + <summary> + Return true if the platform is Windows 2008 Server (original) + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWin2008ServerR2"> + <summary> + Return true if the platform is Windows 2008 Server R2 + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWin2012Server"> + <summary> + Return true if the platform is Windows 2012 Server (original or R2) + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWin2012ServerR1"> + <summary> + Return true if the platform is Windows 2012 Server (original) + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWin2012ServerR2"> + <summary> + Return true if the platform is Windows 2012 Server R2 + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWindows7"> + <summary> + Return true if the platform is Windows 7 + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWindows8"> + <summary> + Return true if the platform is Windows 8 + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWindows81"> + <summary> + Return true if the platform is Windows 8.1 + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWindows10"> + <summary> + Return true if the platform is Windows 10 + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWindowsServer10"> + <summary> + Return true if the platform is Windows Server. This is named Windows + Server 10 to distinguish it from previous versions of Windows Server. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.ParamAttributeTypeConversions"> + <summary> + <para> + 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. + </para> + <para> + For example, since you can’t apply attributes using <see cref="T:System.Decimal"/> arguments, we allow the C# syntax + <c>10</c> (<see cref="T:System.Int32"/> value) or <c>0.1</c> (<see cref="T:System.Double"/> value) to be specified. + NUnit then converts it to match the method’s <see cref="T:System.Decimal"/> parameters, just as if you were actually + using the syntax <c>TestMethod(10)</c> or <c>TestMethod(0.1)</c>. + </para> + <para> + For another example, you might have written the syntax <c>10</c> and picked up the <see cref="T:System.Int32"/> attribute + constructor overload; however, the test method for which this value is intended only has a <see cref="T:System.Byte"/> + signature. Again, NUnit simulates what would have happened if the inferred C# syntax was transplanted + and you were actually using the syntax <c>TestMethod(10)</c>. + </para> + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ParamAttributeTypeConversions.ConvertData(System.Object[],System.Type)"> + <summary> + Converts an array of objects to the <paramref name="targetType"/>, if it is supported. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ParamAttributeTypeConversions.Convert(System.Object,System.Type)"> + <summary> + Converts a single value to the <paramref name="targetType"/>, if it is supported. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ParamAttributeTypeConversions.TryConvert(System.Object,System.Type,System.Object@)"> + <summary> + 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. + </summary> + <param name="value">The value to be converted</param> + <param name="targetType">The target <see cref="T:System.Type"/> in which the <paramref name="value"/> should be converted</param> + <param name="convertedValue">If conversion was successfully applied, the <paramref name="value"/> converted into <paramref name="targetType"/></param> + <returns> + <see langword="true"/> if <paramref name="value"/> was converted and <paramref name="convertedValue"/> should be used; + <see langword="false"/> is no conversion was applied and <paramref name="convertedValue"/> should be ignored + </returns> + </member> + <member name="T:NUnit.Framework.Internal.ParameterWrapper"> + <summary> + The ParameterWrapper class wraps a ParameterInfo so that it may + be used in a platform-independent manner. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ParameterWrapper.#ctor(NUnit.Framework.Interfaces.IMethodInfo,System.Reflection.ParameterInfo)"> + <summary> + Construct a ParameterWrapper for a given method and parameter + </summary> + <param name="method"></param> + <param name="parameterInfo"></param> + </member> + <member name="P:NUnit.Framework.Internal.ParameterWrapper.IsOptional"> + <summary> + Gets a value indicating whether the parameter is optional + </summary> + </member> + <member name="P:NUnit.Framework.Internal.ParameterWrapper.Method"> + <summary> + Gets an IMethodInfo representing the method for which this is a parameter. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.ParameterWrapper.ParameterInfo"> + <summary> + Gets the underlying ParameterInfo + </summary> + </member> + <member name="P:NUnit.Framework.Internal.ParameterWrapper.ParameterType"> + <summary> + Gets the Type of the parameter + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ParameterWrapper.GetCustomAttributes``1(System.Boolean)"> + <summary> + Returns an array of custom attributes of the specified type applied to this method + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ParameterWrapper.IsDefined``1(System.Boolean)"> + <summary> + Gets a value indicating whether one or more attributes of the specified type are defined on the parameter. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.PlatformHelper"> + <summary> + PlatformHelper class is used by the PlatformAttribute class to + determine whether a platform is supported. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PlatformHelper.OSPlatforms"> + <summary> + Comma-delimited list of all supported OS platform constants + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PlatformHelper.RuntimePlatforms"> + <summary> + Comma-delimited list of all supported Runtime platform constants + </summary> + </member> + <member name="M:NUnit.Framework.Internal.PlatformHelper.#ctor"> + <summary> + Default constructor uses the operating system and + common language runtime of the system. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.PlatformHelper.#ctor(NUnit.Framework.Internal.OSPlatform,NUnit.Framework.Internal.RuntimeFramework)"> + <summary> + Construct a PlatformHelper for a particular operating + system and common language runtime. Used in testing. + </summary> + <param name="rt">RuntimeFramework to be used</param> + <param name="os">OperatingSystem to be used</param> + </member> + <member name="M:NUnit.Framework.Internal.PlatformHelper.IsPlatformSupported(System.String[])"> + <summary> + Test to determine if one of a collection of platforms + is being used currently. + </summary> + <param name="platforms"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Internal.PlatformHelper.IsPlatformSupported(NUnit.Framework.PlatformAttribute)"> + <summary> + Tests to determine if the current platform is supported + based on a platform attribute. + </summary> + <param name="platformAttribute">The attribute to examine</param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Internal.PlatformHelper.IsPlatformSupported(NUnit.Framework.TestCaseAttribute)"> + <summary> + Tests to determine if the current platform is supported + based on a platform attribute. + </summary> + <param name="testCaseAttribute">The attribute to examine</param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Internal.PlatformHelper.IsPlatformSupported(System.String)"> + <summary> + Test to determine if a particular platform or comma-delimited set of platforms is in use. + </summary> + <param name="platform">Name of the platform or comma-separated list of platform ids</param> + <returns>True if the platform is in use on the system</returns> + </member> + <member name="P:NUnit.Framework.Internal.PlatformHelper.Reason"> + <summary> + Return the last failure reason. Results are not + defined if called before IsSupported( Attribute ) + is called. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.PreFilter"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.PreFilter.Empty"> + <summary> + Return a new PreFilter, without elements, which is considered + empty and always matches. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.PreFilter.IsEmpty"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.PreFilter.Add(System.String)"> + <summary> + Add a new filter element to the filter + </summary> + <param name="filterText"></param> + </member> + <member name="M:NUnit.Framework.Internal.PreFilter.IsMatch(System.Type)"> + <summary> + Use the filter on a Type, returning true if the type matches the filter + and should therefore be included in the discovery process. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.PreFilter.IsMatch(System.Type,System.Reflection.MethodInfo)"> + <summary> + Use the filter on a Type, returning true if the type matches the filter + and should therefore be included in the discovery process. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.PropertyBag"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.PropertyBag.Add(System.String,System.Object)"> + <summary> + Adds a key/value pair to the property set + </summary> + <param name="key">The key</param> + <param name="value">The value</param> + </member> + <member name="M:NUnit.Framework.Internal.PropertyBag.Set(System.String,System.Object)"> + <summary> + Sets the value for a key, removing any other + values that are already in the property set. + </summary> + <param name="key"></param> + <param name="value"></param> + </member> + <member name="M:NUnit.Framework.Internal.PropertyBag.Get(System.String)"> + <summary> + 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. + </summary> + <param name="key"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Internal.PropertyBag.ContainsKey(System.String)"> + <summary> + Gets a flag indicating whether the specified key has + any entries in the property set. + </summary> + <param name="key">The key to be checked</param> + <returns> + True if their are values present, otherwise false + </returns> + </member> + <member name="P:NUnit.Framework.Internal.PropertyBag.Keys"> + <summary> + Gets a collection containing all the keys in the property set + </summary> + <value></value> + </member> + <member name="P:NUnit.Framework.Internal.PropertyBag.Item(System.String)"> + <summary> + Gets or sets the list of values for a particular key + </summary> + </member> + <member name="M:NUnit.Framework.Internal.PropertyBag.ToXml(System.Boolean)"> + <summary> + Returns an XmlNode representing the current PropertyBag. + </summary> + <param name="recursive">Not used</param> + <returns>An XmlNode representing the PropertyBag</returns> + </member> + <member name="M:NUnit.Framework.Internal.PropertyBag.AddToXml(NUnit.Framework.Interfaces.TNode,System.Boolean)"> + <summary> + Returns an XmlNode representing the PropertyBag after + adding it as a child of the supplied parent node. + </summary> + <param name="parentNode">The parent node.</param> + <param name="recursive">Not used</param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Internal.PropertyNames"> + <summary> + The PropertyNames class provides static constants for the + standard property ids that NUnit uses on tests. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PropertyNames.AppDomain"> + <summary> + The FriendlyName of the AppDomain in which the assembly is running + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PropertyNames.JoinType"> + <summary> + The selected strategy for joining parameter data into test cases + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PropertyNames.ProcessId"> + <summary> + The process ID of the executing assembly + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PropertyNames.ProviderStackTrace"> + <summary> + The stack trace from any data provider that threw + an exception. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PropertyNames.SkipReason"> + <summary> + The reason a test was not run + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PropertyNames.Author"> + <summary> + The author of the tests + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PropertyNames.ApartmentState"> + <summary> + The ApartmentState required for running the test + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PropertyNames.Category"> + <summary> + The categories applying to a test + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PropertyNames.Description"> + <summary> + The Description of a test + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PropertyNames.LevelOfParallelism"> + <summary> + The number of threads to be used in running tests + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PropertyNames.MaxTime"> + <summary> + The maximum time in ms, above which the test is considered to have failed + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PropertyNames.ParallelScope"> + <summary> + The ParallelScope associated with a test + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PropertyNames.RepeatCount"> + <summary> + The number of times the test should be repeated + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PropertyNames.RequiresThread"> + <summary> + Indicates that the test should be run on a separate thread + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PropertyNames.SetCulture"> + <summary> + The culture to be set for a test + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PropertyNames.SetUICulture"> + <summary> + The UI culture to be set for a test + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PropertyNames.TestOf"> + <summary> + The type that is under test + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PropertyNames.Timeout"> + <summary> + The timeout value for the test + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PropertyNames.IgnoreUntilDate"> + <summary> + The test will be ignored until the given date + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PropertyNames.Order"> + <summary> + The optional Order the test will run in + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Randomizer"> + <summary> + 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. + </summary> + <remarks> + 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. + </remarks> + </member> + <member name="P:NUnit.Framework.Internal.Randomizer.InitialSeed"> + <summary> + Initial seed used to create randomizers for this run + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.GetRandomizer(System.Reflection.MemberInfo)"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.GetRandomizer(System.Reflection.ParameterInfo)"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.CreateRandomizer"> + <summary> + Create a new Randomizer using the next seed + available to ensure that each randomizer gives + a unique sequence of values. + </summary> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.#ctor"> + <summary> + Default constructor + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.#ctor(System.Int32)"> + <summary> + Construct based on seed value + </summary> + <param name="seed"></param> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextUInt"> + <summary> + Returns a random unsigned int. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextUInt(System.UInt32)"> + <summary> + Returns a random unsigned int less than the specified maximum. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextUInt(System.UInt32,System.UInt32)"> + <summary> + Returns a random unsigned int within a specified range. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextShort"> + <summary> + Returns a non-negative random short. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextShort(System.Int16)"> + <summary> + Returns a non-negative random short less than the specified maximum. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextShort(System.Int16,System.Int16)"> + <summary> + Returns a non-negative random short within a specified range. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextUShort"> + <summary> + Returns a random unsigned short. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextUShort(System.UInt16)"> + <summary> + Returns a random unsigned short less than the specified maximum. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextUShort(System.UInt16,System.UInt16)"> + <summary> + Returns a random unsigned short within a specified range. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextLong"> + <summary> + Returns a random long. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextLong(System.Int64)"> + <summary> + Returns a random long less than the specified maximum. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextLong(System.Int64,System.Int64)"> + <summary> + Returns a non-negative random long within a specified range. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextULong"> + <summary> + Returns a random ulong. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextULong(System.UInt64)"> + <summary> + Returns a random ulong less than the specified maximum. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextULong(System.UInt64,System.UInt64)"> + <summary> + Returns a non-negative random long within a specified range. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextByte"> + <summary> + Returns a random Byte + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextByte(System.Byte)"> + <summary> + Returns a random Byte less than the specified maximum. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextByte(System.Byte,System.Byte)"> + <summary> + Returns a random Byte within a specified range + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextSByte"> + <summary> + Returns a random SByte + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextSByte(System.SByte)"> + <summary> + Returns a random sbyte less than the specified maximum. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextSByte(System.SByte,System.SByte)"> + <summary> + Returns a random sbyte within a specified range + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextBool"> + <summary> + Returns a random bool + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextBool(System.Double)"> + <summary> + Returns a random bool based on the probability a true result + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextDouble(System.Double)"> + <summary> + Returns a random double between 0.0 and the specified maximum. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextDouble(System.Double,System.Double)"> + <summary> + Returns a random double within a specified range. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextFloat"> + <summary> + Returns a random float. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextFloat(System.Single)"> + <summary> + Returns a random float between 0.0 and the specified maximum. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextFloat(System.Single,System.Single)"> + <summary> + Returns a random float within a specified range. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextEnum(System.Type)"> + <summary> + Returns a random enum value of the specified Type as an object. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextEnum``1"> + <summary> + Returns a random enum value of the specified Type. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Randomizer.DefaultStringChars"> + <summary> + Default characters for random functions. + </summary> + <remarks>Default characters are the English alphabet (uppercase & lowercase), Arabic numerals, and underscore</remarks> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.GetString(System.Int32,System.String)"> + <summary> + Generate a random string based on the characters from the input string. + </summary> + <param name="outputLength">desired length of output string.</param> + <param name="allowedChars">string representing the set of characters from which to construct the resulting string</param> + <returns>A random string of arbitrary length</returns> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.GetString(System.Int32)"> + <summary> + Generate a random string based on the characters from the input string. + </summary> + <param name="outputLength">desired length of output string.</param> + <returns>A random string of arbitrary length</returns> + <remarks>Uses <see cref="F:NUnit.Framework.Internal.Randomizer.DefaultStringChars">DefaultStringChars</see> as the input character set </remarks> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.GetString"> + <summary> + Generate a random string based on the characters from the input string. + </summary> + <returns>A random string of the default length</returns> + <remarks>Uses <see cref="F:NUnit.Framework.Internal.Randomizer.DefaultStringChars">DefaultStringChars</see> as the input character set </remarks> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextDecimal"> + <summary> + Returns a random decimal. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextDecimal(System.Decimal)"> + <summary> + Returns a random decimal between positive zero and the specified maximum. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextDecimal(System.Decimal,System.Decimal)"> + <summary> + Returns a random decimal within a specified range, which is not + permitted to exceed decimal.MaxVal in the current implementation. + </summary> + <remarks> + A limitation of this implementation is that the range from min + to max must not exceed decimal.MaxVal. + </remarks> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextGuid"> + <summary> + Generates a valid version 4 <see cref="T:System.Guid"/>. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Reflect"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Reflect.HasMethodWithAttribute(System.Type,System.Type)"> + <summary> + Examine a fixture type and return true if it has a method with + a particular attribute. + </summary> + <param name="fixtureType">The type to examine</param> + <param name="attributeType">The attribute Type to look for</param> + <returns>True if found, otherwise false</returns> + </member> + <member name="M:NUnit.Framework.Internal.Reflect.Construct(System.Type)"> + <summary> + Invoke the default constructor on a Type + </summary> + <param name="type">The Type to be constructed</param> + <returns>An instance of the Type</returns> + </member> + <member name="M:NUnit.Framework.Internal.Reflect.Construct(System.Type,System.Object[])"> + <summary> + Invoke a constructor on a Type with arguments + </summary> + <param name="type">The Type to be constructed</param> + <param name="arguments">Arguments to the constructor</param> + <returns>An instance of the Type</returns> + </member> + <member name="M:NUnit.Framework.Internal.Reflect.GetTypeArray(System.Object[])"> + <summary> + Returns an array of types from an array of objects. + Differs from <see cref="M:System.Type.GetTypeArray(System.Object[])"/> by returning <see langword="null"/> + for null elements rather than throwing <see cref="T:System.ArgumentNullException"/>. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Reflect.GetConstructors(System.Type,System.Type[])"> + <summary> + Gets the constructors to which the specified argument types can be coerced. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Reflect.ParametersMatch(System.Reflection.ParameterInfo[],System.Type[])"> + <summary> + Determines if the given types can be coerced to match the given parameters. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Reflect.CanImplicitlyConvertTo(System.Type,System.Type)"> + <summary> + Determines whether the current type can be implicitly converted to the specified type. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Reflect.InvokeMethod(System.Reflection.MethodInfo,System.Object)"> + <summary> + Invoke a parameterless method returning void on an object. + </summary> + <param name="method">A MethodInfo for the method to be invoked</param> + <param name="fixture">The object on which to invoke the method</param> + </member> + <member name="M:NUnit.Framework.Internal.Reflect.InvokeMethod(System.Reflection.MethodInfo,System.Object,System.Object[])"> + <summary> + Invoke a method, converting any TargetInvocationException to an NUnitException. + </summary> + <param name="method">A MethodInfo for the method to be invoked</param> + <param name="fixture">The object on which to invoke the method</param> + <param name="args">The argument list for the method</param> + <returns>The return value from the invoked method</returns> + </member> + <member name="M:NUnit.Framework.Internal.Reflect.GetUltimateShadowingProperty(System.Type,System.String,System.Reflection.BindingFlags)"> + <summary> + <para> + Selects the ultimate shadowing property just like <c>dynamic</c> would, + rather than throwing <see cref="T:System.Reflection.AmbiguousMatchException"/> + for properties that shadow properties of a different property type + which is what <see cref="M:System.Type.GetProperty(System.String,System.Reflection.BindingFlags)"/> does. + </para> + <para> + 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. + </para> + </summary> + <param name="type">See <see cref="M:System.Type.GetProperty(System.String,System.Reflection.BindingFlags)"/>.</param> + <param name="name">See <see cref="M:System.Type.GetProperty(System.String,System.Reflection.BindingFlags)"/>.</param> + <param name="bindingFlags">See <see cref="M:System.Type.GetProperty(System.String,System.Reflection.BindingFlags)"/>.</param> + </member> + <member name="M:NUnit.Framework.Internal.Reflect.GetNonGenericPublicInstanceMethod(System.Type,System.String,System.Type[])"> + <summary> + Same as <c>GetMethod(<paramref name="name"/>, <see cref="F:System.Reflection.BindingFlags.Public"/> | + <see cref="F:System.Reflection.BindingFlags.Instance"/>, <see langword="null"/>, <paramref name="parameterTypes"/>, + <see langword="null"/>)</c> except that it also chooses only non-generic methods. + Useful for avoiding the <see cref="T:System.Reflection.AmbiguousMatchException"/> you can have with <c>GetMethod</c>. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Reflect.GetDefaultIndexer(System.Type,System.Type[])"> + <summary> + Returns the get accessor for the indexer. + </summary> + <param name="type">Type to reflect on for the indexer.</param> + <param name="indexerTypes">List of indexer types that matches the indexer type order.</param> + <returns>The Get accessor</returns> + </member> + <member name="M:NUnit.Framework.Internal.Reflect.GetMemberIncludingFromBase(System.Type,System.String,System.Reflection.BindingFlags)"> + <summary> + Searches for the specified members, using the specified binding constraints. + </summary> + <remarks> + Similar to <see cref="M:System.Type.GetMember(System.String,System.Reflection.BindingFlags)"/> but also finds private static members from the base class. + </remarks> + <param name="type">The type to find the members from.</param> + <param name="name">The string containing the name of the members to get.</param> + <param name="flags">A bitwise combination of the enumeration values that specify how the search is conducted.</param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Internal.TestCaseResult"> + <summary> + Represents the result of running a single test case. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestCaseResult.#ctor(NUnit.Framework.Internal.TestMethod)"> + <summary> + Construct a TestCaseResult based on a TestMethod + </summary> + <param name="test">A TestMethod to which the result applies.</param> + </member> + <member name="P:NUnit.Framework.Internal.TestCaseResult.FailCount"> + <summary> + Gets the number of test cases that failed + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestCaseResult.TotalCount"> + <summary> + Gets the number of test cases that executed + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestCaseResult.WarningCount"> + <summary> + Gets the number of test cases that had warnings + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestCaseResult.PassCount"> + <summary> + Gets the number of test cases that passed + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestCaseResult.SkipCount"> + <summary> + Gets the number of test cases that were skipped + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestCaseResult.InconclusiveCount"> + <summary> + Gets the number of test cases that were inconclusive + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestCaseResult.HasChildren"> + <summary> + Indicates whether this result has any child results. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestCaseResult.Children"> + <summary> + Gets the collection of child results. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.TestResult"> + <summary> + The TestResult class represents the result of a test. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TestResult.CHILD_ERRORS_MESSAGE"> + <summary> + Error message for when child tests have errors + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TestResult.CHILD_WARNINGS_MESSAGE"> + <summary> + Error message for when child tests have warnings + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TestResult.CHILD_IGNORE_MESSAGE"> + <summary> + Error message for when child tests are ignored + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TestResult.USER_CANCELLED_MESSAGE"> + <summary> + Error message for when user has cancelled the test run + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TestResult.MIN_DURATION"> + <summary> + The minimum duration for tests + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TestResult.InternalAssertCount"> + <summary> + Aggregate assertion count + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TestResult.RwLock"> + <summary> + ReaderWriterLock + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestResult.#ctor(NUnit.Framework.Interfaces.ITest)"> + <summary> + Construct a test result given a Test + </summary> + <param name="test">The test to be used</param> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.Test"> + <summary> + Gets the test with which this result is associated. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.ResultState"> + <summary> + Gets the ResultState of the test result, which + indicates the success or failure of the test. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.Name"> + <summary> + Gets the name of the test result + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.FullName"> + <summary> + Gets the full name of the test result + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.Duration"> + <summary> + Gets or sets the elapsed time for running the test in seconds + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.StartTime"> + <summary> + Gets or sets the time the test started running. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.EndTime"> + <summary> + Gets or sets the time the test finished running. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestResult.AddTestAttachment(NUnit.Framework.Interfaces.TestAttachment)"> + <summary> + Adds a test attachment to the test result + </summary> + <param name="attachment">The TestAttachment object to attach</param> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.TestAttachments"> + <summary> + Gets the collection of files attached to the test + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.Message"> + <summary> + Gets the message associated with a test + failure or with not running the test + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.StackTrace"> + <summary> + Gets any stack trace associated with an + error or failure. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.AssertCount"> + <summary> + Gets or sets the count of asserts executed + when running the test. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.TotalCount"> + <summary> + Gets the number of test cases executed + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.FailCount"> + <summary> + Gets the number of test cases that failed + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.WarningCount"> + <summary> + Gets the number of test cases that had warnings + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.PassCount"> + <summary> + Gets the number of test cases that passed + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.SkipCount"> + <summary> + Gets the number of test cases that were skipped + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.InconclusiveCount"> + <summary> + Gets the number of test cases that were inconclusive + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.HasChildren"> + <summary> + Indicates whether this result has any child results. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.Children"> + <summary> + Gets the collection of child results. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.OutWriter"> + <summary> + Gets a TextWriter, which will write output to be included in the result. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.Output"> + <summary> + Gets any text output written to this result. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.AssertionResults"> + <summary> + Gets a list of assertion results associated with the test. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestResult.ToXml(System.Boolean)"> + <summary> + Returns the XML representation of the result. + </summary> + <param name="recursive">If true, descendant results are included</param> + <returns>An XmlNode representing the result</returns> + </member> + <member name="M:NUnit.Framework.Internal.TestResult.AddToXml(NUnit.Framework.Interfaces.TNode,System.Boolean)"> + <summary> + Adds the XML representation of the result as a child of the + supplied parent node.. + </summary> + <param name="parentNode">The parent node.</param> + <param name="recursive">If true, descendant results are included</param> + <returns></returns> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.PendingFailures"> + <summary> + Gets a count of pending failures (from Multiple Assert) + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.WorstAssertionStatus"> + <summary> + Gets the worst assertion status (highest enum) in all the assertion results + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestResult.SetResult(NUnit.Framework.Interfaces.ResultState)"> + <summary> + Set the result of the test + </summary> + <param name="resultState">The ResultState to use in the result</param> + </member> + <member name="M:NUnit.Framework.Internal.TestResult.SetResult(NUnit.Framework.Interfaces.ResultState,System.String)"> + <summary> + Set the result of the test + </summary> + <param name="resultState">The ResultState to use in the result</param> + <param name="message">A message associated with the result state</param> + </member> + <member name="M:NUnit.Framework.Internal.TestResult.SetResult(NUnit.Framework.Interfaces.ResultState,System.String,System.String)"> + <summary> + Set the result of the test + </summary> + <param name="resultState">The ResultState to use in the result</param> + <param name="message">A message associated with the result state</param> + <param name="stackTrace">Stack trace giving the location of the command</param> + </member> + <member name="M:NUnit.Framework.Internal.TestResult.RecordException(System.Exception)"> + <summary> + Set the test result based on the type of exception thrown + </summary> + <param name="ex">The exception that was thrown</param> + </member> + <member name="M:NUnit.Framework.Internal.TestResult.RecordException(System.Exception,NUnit.Framework.Interfaces.FailureSite)"> + <summary> + Set the test result based on the type of exception thrown + </summary> + <param name="ex">The exception that was thrown</param> + <param name="site">The FailureSite to use in the result</param> + </member> + <member name="M:NUnit.Framework.Internal.TestResult.RecordTearDownException(System.Exception)"> + <summary> + 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. + </summary> + <param name="ex">The Exception to be recorded</param> + </member> + <member name="M:NUnit.Framework.Internal.TestResult.RecordTestCompletion"> + <summary> + Update overall test result, including legacy Message, based + on AssertionResults that have been saved to this point. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestResult.RecordAssertion(NUnit.Framework.Interfaces.AssertionResult)"> + <summary> + Record an assertion result + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestResult.RecordAssertion(NUnit.Framework.Interfaces.AssertionStatus,System.String,System.String)"> + <summary> + Record an assertion result + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestResult.RecordAssertion(NUnit.Framework.Interfaces.AssertionStatus,System.String)"> + <summary> + Record an assertion result + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestResult.CreateLegacyFailureMessage"> + <summary> + Creates a failure message incorporating failures + from a Multiple Assert block for use by runners + that don't know about AssertionResults. + </summary> + <returns>Message as a string</returns> + </member> + <member name="M:NUnit.Framework.Internal.TestResult.AddFailureElement(NUnit.Framework.Interfaces.TNode)"> + <summary> + Adds a failure element to a node and returns it. + </summary> + <param name="targetNode">The target node.</param> + <returns>The new failure element.</returns> + </member> + <member name="M:NUnit.Framework.Internal.TestResult.AddAttachmentsElement(NUnit.Framework.Interfaces.TNode)"> + <summary> + Adds an attachments element to a node and returns it. + </summary> + <param name="targetNode">The target node.</param> + <returns>The new attachments element.</returns> + </member> + <member name="T:NUnit.Framework.Internal.TestSuiteResult"> + <summary> + Represents the result of running a test suite + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestSuiteResult.#ctor(NUnit.Framework.Internal.TestSuite)"> + <summary> + Construct a TestSuiteResult base on a TestSuite + </summary> + <param name="suite">The TestSuite to which the result applies</param> + </member> + <member name="P:NUnit.Framework.Internal.TestSuiteResult.TotalCount"> + <summary> + Gets the number of test cases that executed + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestSuiteResult.FailCount"> + <summary> + Gets the number of test cases that failed + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestSuiteResult.PassCount"> + <summary> + Gets the number of test cases that passed + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestSuiteResult.WarningCount"> + <summary> + Gets the number of test cases that passed + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestSuiteResult.SkipCount"> + <summary> + Gets the number of test cases that were skipped + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestSuiteResult.InconclusiveCount"> + <summary> + Gets the number of test cases that were inconclusive + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestSuiteResult.HasChildren"> + <summary> + Indicates whether this result has any child results. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestSuiteResult.Children"> + <summary> + Gets the collection of child results. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestSuiteResult.AddResult(NUnit.Framework.Interfaces.ITestResult)"> + <summary> + Adds a child result to this result, setting this result's + ResultState to Failure if the child result failed. + </summary> + <param name="result">The result to be added</param> + </member> + <member name="T:NUnit.Framework.Internal.RuntimeFramework"> + <summary> + RuntimeFramework represents a particular version + of a common language runtime implementation. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.RuntimeFramework.DefaultVersion"> + <summary> + DefaultVersion is an empty Version, used to indicate that + NUnit should select the CLR version to use for the test. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.RuntimeFramework.#ctor(NUnit.Framework.Internal.RuntimeType,System.Version)"> + <summary> + 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. + </summary> + <param name="runtime">The runtime type of the framework</param> + <param name="version">The version of the framework</param> + </member> + <member name="P:NUnit.Framework.Internal.RuntimeFramework.CurrentFramework"> + <summary> + Static method to return a RuntimeFramework object + for the framework that is currently in use. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.RuntimeFramework.Runtime"> + <summary> + The type of this runtime framework + </summary> + </member> + <member name="P:NUnit.Framework.Internal.RuntimeFramework.FrameworkVersion"> + <summary> + The framework version for this runtime framework + </summary> + </member> + <member name="P:NUnit.Framework.Internal.RuntimeFramework.ClrVersion"> + <summary> + The CLR version for this runtime framework + </summary> + </member> + <member name="P:NUnit.Framework.Internal.RuntimeFramework.AllowAnyVersion"> + <summary> + Return true if any CLR version may be used in + matching this RuntimeFramework object. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.RuntimeFramework.DisplayName"> + <summary> + Returns the Display name for this framework + </summary> + </member> + <member name="M:NUnit.Framework.Internal.RuntimeFramework.Parse(System.String)"> + <summary> + 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'. + </summary> + <param name="s"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Internal.RuntimeFramework.ToString"> + <summary> + Overridden to return the short name of the framework + </summary> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Internal.RuntimeFramework.Supports(NUnit.Framework.Internal.RuntimeFramework)"> + <summary> + 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. + </summary> + <param name="target">The RuntimeFramework to be matched.</param> + <returns>True on match, otherwise false</returns> + </member> + <member name="T:NUnit.Framework.Internal.RuntimeType"> + <summary> + Enumeration identifying a common language + runtime implementation. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.RuntimeType.Any"> + <summary>Any supported runtime framework</summary> + </member> + <member name="F:NUnit.Framework.Internal.RuntimeType.NetFramework"> + <summary>Microsoft .NET Framework</summary> + </member> + <member name="F:NUnit.Framework.Internal.RuntimeType.Net"> + <summary>Microsoft .NET Framework</summary> + </member> + <member name="F:NUnit.Framework.Internal.RuntimeType.SSCLI"> + <summary>Microsoft Shared Source CLI</summary> + </member> + <member name="F:NUnit.Framework.Internal.RuntimeType.Mono"> + <summary>Mono</summary> + </member> + <member name="F:NUnit.Framework.Internal.RuntimeType.MonoTouch"> + <summary>MonoTouch</summary> + </member> + <member name="F:NUnit.Framework.Internal.RuntimeType.NetCore"> + <summary>Microsoft .NET Core, including .NET 5+</summary> + </member> + <member name="T:NUnit.Framework.Internal.SandboxedThreadState"> + <summary> + Holds thread state which is captured and restored in order to sandbox user code. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.SandboxedThreadState.Principal"> + <summary> + Thread principal. + This will be null on platforms that don't support <see cref="P:System.Threading.Thread.CurrentPrincipal"/>. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.SandboxedThreadState.Capture"> + <summary> + Captures a snapshot of the tracked state of the current thread to be restored later. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.SandboxedThreadState.Restore"> + <summary> + Restores the tracked state of the current thread to the previously captured state. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.SandboxedThreadState.WithCulture(System.Globalization.CultureInfo)"> + <summary> + Returns a copy with the specified culture. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.SandboxedThreadState.WithUICulture(System.Globalization.CultureInfo)"> + <summary> + Returns a copy with the specified UI culture. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.SandboxedThreadState.WithPrincipal(System.Security.Principal.IPrincipal)"> + <summary> + Returns a copy with the specified principal. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.SingleThreadedTestSynchronizationContext.Post(System.Threading.SendOrPostCallback,System.Object)"> + <summary> + May be called from any thread. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.SingleThreadedTestSynchronizationContext.Send(System.Threading.SendOrPostCallback,System.Object)"> + <summary> + May be called from any thread. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.SingleThreadedTestSynchronizationContext.ShutDown"> + <summary> + May be called from any thread. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.SingleThreadedTestSynchronizationContext.Run"> + <summary> + May be called from any thread, but may only be called once. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.StackFilter"> + <summary> + StackFilter class is used to remove internal NUnit + entries from a stack trace so that the resulting + trace provides better information about the test. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.StackFilter.DefaultFilter"> + <summary> + Single instance of our default filter + </summary> + </member> + <member name="M:NUnit.Framework.Internal.StackFilter.#ctor(System.String,System.String)"> + <summary> + Construct a stack filter instance + </summary> + <param name="topOfStackPattern">Regex pattern used to delete lines from the top of the stack</param> + <param name="bottomOfStackPattern">Regex pattern used to delete lines from the bottom of the stack</param> + </member> + <member name="M:NUnit.Framework.Internal.StackFilter.#ctor(System.String)"> + <summary> + Construct a stack filter instance + </summary> + <param name="topOfStackPattern">Regex pattern used to delete lines from the top of the stack</param> + </member> + <member name="M:NUnit.Framework.Internal.StackFilter.#ctor"> + <summary> + Construct a stack filter instance + </summary> + </member> + <member name="M:NUnit.Framework.Internal.StackFilter.Filter(System.String)"> + <summary> + Filters a raw stack trace and returns the result. + </summary> + <param name="rawTrace">The original stack trace</param> + <returns>A filtered stack trace</returns> + </member> + <member name="T:NUnit.Framework.Internal.StringUtil"> + <summary> + Provides methods to support legacy string comparison methods. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.StringUtil.Compare(System.String,System.String,System.Boolean)"> + <summary> + Compares two strings for equality, ignoring case if requested. + </summary> + <param name="strA">The first string.</param> + <param name="strB">The second string..</param> + <param name="ignoreCase">if set to <see langword="true"/>, the case of the letters in the strings is ignored.</param> + <returns>Zero if the strings are equivalent, a negative number if strA is sorted first, a positive number if + strB is sorted first</returns> + </member> + <member name="M:NUnit.Framework.Internal.StringUtil.StringsEqual(System.String,System.String,System.Boolean)"> + <summary> + Compares two strings for equality, ignoring case if requested. + </summary> + <param name="strA">The first string.</param> + <param name="strB">The second string..</param> + <param name="ignoreCase">if set to <see langword="true"/>, the case of the letters in the strings is ignored.</param> + <returns>True if the strings are equivalent, false if not.</returns> + </member> + <member name="T:NUnit.Framework.Internal.TestCaseParameters"> + <summary> + The TestCaseParameters class encapsulates method arguments and + other selected parameters needed for constructing + a parameterized test case. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TestCaseParameters._expectedResult"> + <summary> + The expected result to be returned + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestCaseParameters.#ctor"> + <summary> + Default Constructor creates an empty parameter set + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestCaseParameters.#ctor(System.Exception)"> + <summary> + Construct a non-runnable ParameterSet, specifying + the provider exception that made it invalid. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestCaseParameters.#ctor(System.Object[])"> + <summary> + Construct a parameter set with a list of arguments + </summary> + <param name="args"></param> + </member> + <member name="M:NUnit.Framework.Internal.TestCaseParameters.#ctor(NUnit.Framework.Interfaces.ITestCaseData)"> + <summary> + Construct a ParameterSet from an object implementing ITestCaseData + </summary> + <param name="data"></param> + </member> + <member name="P:NUnit.Framework.Internal.TestCaseParameters.ExpectedResult"> + <summary> + The expected result of the test, which + must match the method return type. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestCaseParameters.HasExpectedResult"> + <summary> + Gets a value indicating whether an expected result was specified. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.TestCaseTimeoutException"> + <summary> + TestCaseTimeoutException is thrown when a test running directly + on a TestWorker thread is cancelled due to timeout. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestCaseTimeoutException.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.TestCaseTimeoutException"/> class. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestCaseTimeoutException.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.TestCaseTimeoutException"/> class. + </summary> + <param name="message">The message.</param> + </member> + <member name="M:NUnit.Framework.Internal.TestCaseTimeoutException.#ctor(System.String,System.Exception)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.TestCaseTimeoutException"/> class. + </summary> + <param name="message">The message.</param> + <param name="inner">The inner.</param> + </member> + <member name="M:NUnit.Framework.Internal.TestCaseTimeoutException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)"> + <summary> + Serialization Constructor + </summary> + </member> + <member name="T:NUnit.Framework.Internal.TestExecutionContext"> + <summary> + 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. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TestExecutionContext._priorContext"> + <summary> + Link to a prior saved context + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TestExecutionContext._executionStatus"> + <summary> + Indicates that a stop has been requested + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TestExecutionContext._listener"> + <summary> + The event listener currently receiving notifications + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TestExecutionContext._assertCount"> + <summary> + The number of assertions for the current test + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TestExecutionContext._currentResult"> + <summary> + The current test result + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestExecutionContext.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.TestExecutionContext"/> class. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestExecutionContext.#ctor(NUnit.Framework.Internal.TestExecutionContext)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.TestExecutionContext"/> class. + </summary> + <param name="other">An existing instance of TestExecutionContext.</param> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.CurrentContext"> + <summary> + Gets and sets the current context. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.CurrentTest"> + <summary> + Gets or sets the current test + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.StartTime"> + <summary> + The time the current test started execution + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.StartTicks"> + <summary> + The time the current test started in Ticks + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.Duration"> + <summary> + Gets the elapsed time for running the test in seconds + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.CurrentResult"> + <summary> + Gets or sets the current test result + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.OutWriter"> + <summary> + Gets a TextWriter that will send output to the current test result. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.TestObject"> + <summary> + The current test object - that is the user fixture + object on which tests are being executed. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.StopOnError"> + <summary> + Get or set indicator that run should stop on the first error + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.ExecutionStatus"> + <summary> + Gets an enum indicating whether a stop has been requested. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.Listener"> + <summary> + The current test event listener + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.Dispatcher"> + <summary> + The current WorkItemDispatcher. Made public for + use by nunitlite.tests + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.ParallelScope"> + <summary> + The ParallelScope to be used by tests running in this context. + For builds with out the parallel feature, it has no effect. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.DefaultFloatingPointTolerance"> + <summary> + Default tolerance value used for floating point equality + when no other tolerance is specified. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.TestWorker"> + <summary> + The worker that spawned the context. + For builds without the parallel feature, it is null. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.RandomGenerator"> + <summary> + Gets the RandomGenerator specific to this Test + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.AssertCount"> + <summary> + Gets the assert count. + </summary> + <value>The assert count.</value> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.MultipleAssertLevel"> + <summary> + The current nesting level of multiple assert blocks + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.TestCaseTimeout"> + <summary> + Gets or sets the test case timeout value + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.UpstreamActions"> + <summary> + Gets a list of ITestActions set by upstream tests + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.CurrentCulture"> + <summary> + Saves or restores the CurrentCulture + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.CurrentUICulture"> + <summary> + Saves or restores the CurrentUICulture + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.CurrentPrincipal"> + <summary> + Gets or sets the current <see cref="T:System.Security.Principal.IPrincipal"/> for the Thread. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.CurrentValueFormatter"> + <summary> + The current head of the ValueFormatter chain, copied from MsgUtils.ValueFormatter + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.IsSingleThreaded"> + <summary> + If true, all tests must run on the same thread. No new thread may be spawned. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.CurrentRepeatCount"> + <summary> + The number of times the current test has been scheduled for execution. + Currently only being executed in a test using the <see cref="T:NUnit.Framework.RetryAttribute"/> + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestExecutionContext.UpdateContextFromEnvironment"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestExecutionContext.EstablishExecutionEnvironment"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestExecutionContext.IncrementAssertCount"> + <summary> + Increments the assert count by one. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestExecutionContext.IncrementAssertCount(System.Int32)"> + <summary> + Increments the assert count by a specified amount. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestExecutionContext.AddFormatter(NUnit.Framework.Constraints.ValueFormatterFactory)"> + <summary> + Adds a new ValueFormatterFactory to the chain of formatters + </summary> + <param name="formatterFactory">The new factory</param> + </member> + <member name="M:NUnit.Framework.Internal.TestExecutionContext.SendMessage(System.String,System.String)"> + <summary> + Sends a message from test to listeners. This message is not kind of test output and doesn't go to test result. + </summary> + <param name="destination">A name recognized by the intended listeners.</param> + <param name="message">A message to be sent</param> + </member> + <member name="M:NUnit.Framework.Internal.TestExecutionContext.InitializeLifetimeService"> + <summary> + Obtain lifetime service object + </summary> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Internal.TestExecutionContext.IsolatedContext"> + <summary> + 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. + </summary> + <example> + using (new TestExecutionContext.IsolatedContext()) + { + // Code that should not impact the result + } + </example> + </member> + <member name="M:NUnit.Framework.Internal.TestExecutionContext.IsolatedContext.#ctor"> + <summary> + Save the original current TestExecutionContext and + make a new isolated context current. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestExecutionContext.IsolatedContext.Dispose"> + <summary> + Restore the original TestExecutionContext. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.TestExecutionContext.AdhocContext"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestExecutionContext.AdhocContext.#ctor"> + <summary> + Construct an AdhocTestExecutionContext, which is used + whenever the current TestExecutionContext is found to be null. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.TestExecutionStatus"> + <summary> + Enumeration indicating whether the tests are + running normally or being cancelled. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TestExecutionStatus.Running"> + <summary> + Running normally with no stop requested + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TestExecutionStatus.StopRequested"> + <summary> + A graceful stop has been requested + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TestExecutionStatus.AbortRequested"> + <summary> + A forced stop has been requested + </summary> + </member> + <member name="T:NUnit.Framework.Internal.TestFilter"> + <summary> + 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. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TestFilter.Empty"> + <summary> + Unique Empty filter. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestFilter.IsEmpty"> + <summary> + Indicates whether this is the EmptyFilter + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestFilter.TopLevel"> + <summary> + Indicates whether this is a top-level filter, + not contained in any other filter. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestFilter.Pass(NUnit.Framework.Interfaces.ITest)"> + <summary> + 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. + </summary> + <param name="test">The test to which the filter is applied</param> + <returns>True if the test passes the filter, otherwise false</returns> + </member> + <member name="M:NUnit.Framework.Internal.TestFilter.Pass(NUnit.Framework.Interfaces.ITest,System.Boolean)"> + <summary> + 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. + </summary> + <param name="test">The test to which the filter is applied</param> + <param name="negated">If set to <see langword="true"/> we are carrying a negation through</param> + <returns>True if the test passes the filter, otherwise false</returns> + </member> + <member name="M:NUnit.Framework.Internal.TestFilter.IsExplicitMatch(NUnit.Framework.Interfaces.ITest)"> + <summary> + 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. + </summary> + <param name="test">The test to which the filter is applied</param> + <returns>True if the test matches the filter explicitly, otherwise false</returns> + </member> + <member name="M:NUnit.Framework.Internal.TestFilter.Match(NUnit.Framework.Interfaces.ITest)"> + <summary> + 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. + </summary> + <param name="test">The test to which the filter is applied</param> + <returns>True if the filter matches the any parent of the test</returns> + </member> + <member name="M:NUnit.Framework.Internal.TestFilter.MatchParent(NUnit.Framework.Interfaces.ITest)"> + <summary> + Determine whether any ancestor of the test matches the filter criteria + </summary> + <param name="test">The test to which the filter is applied</param> + <returns>True if the filter matches the an ancestor of the test</returns> + </member> + <member name="M:NUnit.Framework.Internal.TestFilter.MatchDescendant(NUnit.Framework.Interfaces.ITest)"> + <summary> + Determine whether any descendant of the test matches the filter criteria. + </summary> + <param name="test">The test to be matched</param> + <returns>True if at least one descendant matches the filter criteria</returns> + </member> + <member name="M:NUnit.Framework.Internal.TestFilter.FromXml(System.String)"> + <summary> + Create a TestFilter instance from an XML representation. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestFilter.FromXml(NUnit.Framework.Interfaces.TNode)"> + <summary> + Create a TestFilter from its TNode representation + </summary> + </member> + <member name="T:NUnit.Framework.Internal.TestFilter.EmptyFilter"> + <summary> + Nested class provides an empty filter - one that always + returns true when called. It never matches explicitly. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestFilter.ToXml(System.Boolean)"> + <summary> + Adds an XML node + </summary> + <param name="recursive">True if recursive</param> + <returns>The added XML node</returns> + </member> + <member name="M:NUnit.Framework.Internal.TestFilter.AddToXml(NUnit.Framework.Interfaces.TNode,System.Boolean)"> + <summary> + Adds an XML node + </summary> + <param name="parentNode">Parent node</param> + <param name="recursive">True if recursive</param> + <returns>The added XML node</returns> + </member> + <member name="T:NUnit.Framework.Internal.TestFixtureParameters"> + <summary> + The TestCaseParameters class encapsulates method arguments and + other selected parameters needed for constructing + a parameterized test case. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestFixtureParameters.#ctor"> + <summary> + Default Constructor creates an empty parameter set + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestFixtureParameters.#ctor(System.Exception)"> + <summary> + Construct a non-runnable ParameterSet, specifying + the provider exception that made it invalid. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestFixtureParameters.#ctor(System.Object[])"> + <summary> + Construct a parameter set with a list of arguments + </summary> + <param name="args"></param> + </member> + <member name="M:NUnit.Framework.Internal.TestFixtureParameters.#ctor(NUnit.Framework.Interfaces.ITestFixtureData)"> + <summary> + Construct a ParameterSet from an object implementing ITestCaseData + </summary> + <param name="data"></param> + </member> + <member name="P:NUnit.Framework.Internal.TestFixtureParameters.TypeArgs"> + <summary> + Type arguments used to create a generic fixture instance + </summary> + </member> + <member name="T:NUnit.Framework.Internal.TestListener"> + <summary> + TestListener provides an implementation of ITestListener that + does nothing. It is used only through its NULL property. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestListener.TestStarted(NUnit.Framework.Interfaces.ITest)"> + <summary> + Called when a test has just started + </summary> + <param name="test">The test that is starting</param> + </member> + <member name="M:NUnit.Framework.Internal.TestListener.TestFinished(NUnit.Framework.Interfaces.ITestResult)"> + <summary> + Called when a test case has finished + </summary> + <param name="result">The result of the test</param> + </member> + <member name="M:NUnit.Framework.Internal.TestListener.TestOutput(NUnit.Framework.Interfaces.TestOutput)"> + <summary> + Called when a test produces output for immediate display + </summary> + <param name="output">A TestOutput object containing the text to display</param> + </member> + <member name="M:NUnit.Framework.Internal.TestListener.SendMessage(NUnit.Framework.Interfaces.TestMessage)"> + <summary> + Called when a test produces a message to be sent to listeners + </summary> + <param name="message">A <see cref="T:NUnit.Framework.Interfaces.TestMessage"/> object containing the message to send</param> + </member> + <member name="M:NUnit.Framework.Internal.TestListener.#ctor"> + <summary> + Construct a new TestListener - private so it may not be used. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestListener.NULL"> + <summary> + Get a listener that does nothing + </summary> + </member> + <member name="T:NUnit.Framework.Internal.TestNameGenerator"> + <summary> + TestNameGenerator is able to create test names according to + a coded pattern. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TestNameGenerator.DefaultTestNamePattern"> + <summary> + Default pattern used to generate names + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestNameGenerator.#ctor"> + <summary> + Construct a TestNameGenerator + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestNameGenerator.#ctor(System.String)"> + <summary> + Construct a TestNameGenerator + </summary> + <param name="pattern">The pattern used by this generator.</param> + </member> + <member name="M:NUnit.Framework.Internal.TestNameGenerator.GetDisplayName(NUnit.Framework.Internal.TestMethod)"> + <summary> + Get the display name for a TestMethod and its arguments + </summary> + <param name="testMethod">A TestMethod</param> + <returns>The display name</returns> + </member> + <member name="M:NUnit.Framework.Internal.TestNameGenerator.GetDisplayName(NUnit.Framework.Internal.TestMethod,System.Object[])"> + <summary> + Get the display name for a TestMethod and its arguments + </summary> + <param name="testMethod">A TestMethod</param> + <param name="args">Arguments to be used</param> + <returns>The display name</returns> + </member> + <member name="M:NUnit.Framework.Internal.TestNameGenerator.NameFragment.MayNeedEscape(System.String)"> + <summary> + Checks if string contains any character that might need escaping. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestNameGenerator.NameFragment.MayNeedEscape(System.Char)"> + <summary> + Checks whether given char *might* need escaping. + </summary> + <returns>False when absolutely no escaping is needed, otherwise true.</returns> + </member> + <member name="T:NUnit.Framework.Internal.TestParameters"> + <summary> + TestParameters is the abstract base class for all classes + that know how to provide data for constructing a test. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestParameters.#ctor"> + <summary> + Default Constructor creates an empty parameter set + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestParameters.#ctor(System.Object[])"> + <summary> + Construct a parameter set with a list of arguments + </summary> + <param name="args"></param> + </member> + <member name="M:NUnit.Framework.Internal.TestParameters.#ctor(System.Exception)"> + <summary> + Construct a non-runnable ParameterSet, specifying + the provider exception that made it invalid. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestParameters.#ctor(NUnit.Framework.Interfaces.ITestData)"> + <summary> + Construct a ParameterSet from an object implementing ITestData + </summary> + <param name="data"></param> + </member> + <member name="P:NUnit.Framework.Internal.TestParameters.RunState"> + <summary> + The RunState for this set of parameters. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestParameters.Arguments"> + <summary> + The arguments to be used in running the test, + which must match the method signature. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestParameters.TestName"> + <summary> + A name to be used for this test case in lieu + of the standard generated name containing + the argument list. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestParameters.Properties"> + <summary> + Gets the property dictionary for this test + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestParameters.ApplyToTest(NUnit.Framework.Internal.Test)"> + <summary> + Applies ParameterSet values to the test itself. + </summary> + <param name="test">A test.</param> + </member> + <member name="P:NUnit.Framework.Internal.TestParameters.OriginalArguments"> + <summary> + The original arguments provided by the user, + used for display purposes. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestParameters.ArgDisplayNames"> + <summary> + The list of display names to use as the parameters in the test name. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.TestProgressReporter"> + <summary> + TestProgressReporter translates ITestListener events into + the async callbacks that are used to inform the client + software about the progress of a test run. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestProgressReporter.#ctor(System.Web.UI.ICallbackEventHandler)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.TestProgressReporter"/> class. + </summary> + <param name="handler">The callback handler to be used for reporting progress.</param> + </member> + <member name="M:NUnit.Framework.Internal.TestProgressReporter.TestStarted(NUnit.Framework.Interfaces.ITest)"> + <summary> + Called when a test has just started + </summary> + <param name="test">The test that is starting</param> + </member> + <member name="M:NUnit.Framework.Internal.TestProgressReporter.TestFinished(NUnit.Framework.Interfaces.ITestResult)"> + <summary> + Called when a test has finished. Sends a result summary to the callback. + to + </summary> + <param name="result">The result of the test</param> + </member> + <member name="M:NUnit.Framework.Internal.TestProgressReporter.TestOutput(NUnit.Framework.Interfaces.TestOutput)"> + <summary> + Called when a test produces output for immediate display + </summary> + <param name="output">A TestOutput object containing the text to display</param> + </member> + <member name="M:NUnit.Framework.Internal.TestProgressReporter.SendMessage(NUnit.Framework.Interfaces.TestMessage)"> + <summary> + Called when a test produces a message to be sent to listeners + </summary> + <param name="message">A <see cref="T:NUnit.Framework.Interfaces.TestMessage"/> object containing the text to send</param> + </member> + <member name="M:NUnit.Framework.Internal.TestProgressReporter.GetParent(NUnit.Framework.Interfaces.ITest)"> + <summary> + Returns the parent test item for the target test item if it exists + </summary> + <param name="test"></param> + <returns>parent test item</returns> + </member> + <member name="M:NUnit.Framework.Internal.TestProgressReporter.FormatAttributeValue(System.String)"> + <summary> + Makes a string safe for use as an attribute, replacing + characters that can't be used with their + corresponding XML representations. + </summary> + <param name="original">The string to be used</param> + <returns>A new string with the values replaced</returns> + </member> + <member name="T:NUnit.Framework.Internal.ParameterizedFixtureSuite"> + <summary> + ParameterizedFixtureSuite serves as a container for the set of test + fixtures created from a given Type using various parameters. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ParameterizedFixtureSuite.#ctor(NUnit.Framework.Interfaces.ITypeInfo)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.ParameterizedFixtureSuite"/> class. + </summary> + <param name="typeInfo">The ITypeInfo for the type that represents the suite.</param> + </member> + <member name="M:NUnit.Framework.Internal.ParameterizedFixtureSuite.#ctor(NUnit.Framework.Internal.ParameterizedFixtureSuite,NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Creates a copy of the given suite with only the descendants that pass the specified filter. + </summary> + <param name="suite">The <see cref="T:NUnit.Framework.Internal.ParameterizedFixtureSuite"/> to copy.</param> + <param name="filter">Determines which descendants are copied.</param> + </member> + <member name="P:NUnit.Framework.Internal.ParameterizedFixtureSuite.TestType"> + <summary> + Gets a string representing the type of test + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ParameterizedFixtureSuite.Copy(NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Creates a filtered copy of the test suite. + </summary> + <param name="filter">Determines which descendants are copied.</param> + </member> + <member name="T:NUnit.Framework.Internal.ParameterizedMethodSuite"> + <summary> + ParameterizedMethodSuite holds a collection of individual + TestMethods with their arguments applied. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ParameterizedMethodSuite.#ctor(NUnit.Framework.Interfaces.IMethodInfo)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.ParameterizedMethodSuite"/> class. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ParameterizedMethodSuite.#ctor(NUnit.Framework.Internal.ParameterizedMethodSuite,NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Creates a copy of the given suite with only the descendants that pass the specified filter. + </summary> + <param name="suite">The <see cref="T:NUnit.Framework.Internal.ParameterizedMethodSuite"/> to copy.</param> + <param name="filter">Determines which descendants are copied.</param> + </member> + <member name="P:NUnit.Framework.Internal.ParameterizedMethodSuite.Method"> + <summary> + Gets a MethodInfo for the method implementing this test. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.ParameterizedMethodSuite.TestType"> + <summary> + Gets a string representing the type of test + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ParameterizedMethodSuite.Copy(NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Creates a filtered copy of the test suite. + </summary> + <param name="filter">Determines which descendants are copied.</param> + </member> + <member name="T:NUnit.Framework.Internal.SetUpFixture"> + <summary> + SetUpFixture extends TestSuite and supports + Setup and TearDown methods. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.SetUpFixture.#ctor(NUnit.Framework.Interfaces.ITypeInfo)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.SetUpFixture"/> class. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.SetUpFixture.#ctor(NUnit.Framework.Internal.SetUpFixture,NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Creates a copy of the given suite with only the descendants that pass the specified filter. + </summary> + <param name="setUpFixture">The <see cref="T:NUnit.Framework.Internal.SetUpFixture"/> to copy.</param> + <param name="filter">Determines which descendants are copied.</param> + </member> + <member name="P:NUnit.Framework.Internal.SetUpFixture.TypeInfo"> + <summary> + Gets the TypeInfo of the fixture used in running this test. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.SetUpFixture.Copy(NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Creates a filtered copy of the test suite. + </summary> + <param name="filter">Determines which descendants are copied.</param> + </member> + <member name="T:NUnit.Framework.Internal.Test"> + <summary> + The Test abstract class represents a test within the framework. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Test._nextID"> + <summary> + Static value to seed ids. It's started at 1000 so any + uninitialized ids will stand out. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Test._declaringTypeInfo"> + <summary> + Used to cache the declaring type for this MethodInfo + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Test._method"> + <summary> + Method property backing field + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Test.#ctor(System.String)"> + <summary> + Constructs a test given its name + </summary> + <param name="name">The name of the test</param> + </member> + <member name="M:NUnit.Framework.Internal.Test.#ctor(System.String,System.String)"> + <summary> + Constructs a test given the path through the + test hierarchy to its parent and a name. + </summary> + <param name="pathName">The parent tests full name</param> + <param name="name">The name of the test</param> + </member> + <member name="M:NUnit.Framework.Internal.Test.#ctor(NUnit.Framework.Interfaces.ITypeInfo)"> + <summary> + Constructs a test for a specific type. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Test.#ctor(NUnit.Framework.Interfaces.IMethodInfo)"> + <summary> + Constructs a test for a specific method. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Test.Id"> + <summary> + Gets or sets the id of the test + </summary> + <value></value> + </member> + <member name="P:NUnit.Framework.Internal.Test.Name"> + <summary> + Gets or sets the name of the test + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Test.FullName"> + <summary> + Gets or sets the fully qualified name of the test + </summary> + <value></value> + </member> + <member name="P:NUnit.Framework.Internal.Test.ClassName"> + <summary> + Gets the name of the class where this test was declared. + Returns null if the test is not associated with a class. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Test.MethodName"> + <summary> + Gets the name of the method implementing this test. + Returns null if the test is not implemented as a method. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Test.Arguments"> + <summary> + The arguments to use in creating the test or empty array if none required. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Test.TypeInfo"> + <summary> + Gets the TypeInfo of the fixture used in running this test + or null if no fixture type is associated with it. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Test.Method"> + <summary> + Gets a MethodInfo for the method implementing this test. + Returns null if the test is not implemented as a method. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Test.RunState"> + <summary> + Whether or not the test should be run + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Test.XmlElementName"> + <summary> + Gets the name used for the top-level element in the + XML representation of this test + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Test.TestType"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Test.TestCaseCount"> + <summary> + Gets a count of test cases represented by + or contained under this test. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Test.Properties"> + <summary> + Gets the properties for this test + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Test.IsSuite"> + <summary> + Returns true if this is a TestSuite + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Test.HasChildren"> + <summary> + Gets a bool indicating whether the current test + has any descendant tests. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Test.Parent"> + <summary> + Gets the parent as a Test object. + Used by the core to set the parent. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Test.Tests"> + <summary> + Gets this test's child tests + </summary> + <value>A list of child tests</value> + </member> + <member name="P:NUnit.Framework.Internal.Test.Fixture"> + <summary> + Gets or sets a fixture object for running this test. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Test.IdPrefix"> + <summary> + Static prefix used for ids in this AppDomain. + Set by FrameworkController. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Test.Seed"> + <summary> + Gets or Sets the Int value representing the seed for the RandomGenerator + </summary> + <value></value> + </member> + <member name="P:NUnit.Framework.Internal.Test.SetUpMethods"> + <summary> + The SetUp methods. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Test.TearDownMethods"> + <summary> + The teardown methods + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Test.MakeTestResult"> + <summary> + Creates a TestResult for this test. + </summary> + <returns>A TestResult suitable for this type of test.</returns> + </member> + <member name="M:NUnit.Framework.Internal.Test.ApplyAttributesToTest(System.Reflection.ICustomAttributeProvider)"> + <summary> + Modify a newly constructed test by applying any of NUnit's common + attributes, based on a supplied <see cref="T:System.Reflection.ICustomAttributeProvider"/>, 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Test.MakeInvalid(System.String)"> + <summary> + Mark the test as Invalid (not runnable) specifying a reason + </summary> + <param name="reason">The reason the test is not runnable</param> + </member> + <member name="M:NUnit.Framework.Internal.Test.GetCustomAttributes``1(System.Boolean)"> + <summary> + Get custom attributes applied to a test + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Test.PopulateTestNode(NUnit.Framework.Interfaces.TNode,System.Boolean)"> + <summary> + Add standard attributes and members to a test node. + </summary> + <param name="thisNode"></param> + <param name="recursive"></param> + </member> + <member name="M:NUnit.Framework.Internal.Test.ToXml(System.Boolean)"> + <summary> + Returns the XML representation of the test + </summary> + <param name="recursive">If true, include child tests recursively</param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Internal.Test.AddToXml(NUnit.Framework.Interfaces.TNode,System.Boolean)"> + <summary> + Returns an XmlNode representing the current result after + adding it as a child of the supplied parent node. + </summary> + <param name="parentNode">The parent node.</param> + <param name="recursive">If true, descendant results are included</param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Internal.Test.CompareTo(System.Object)"> + <summary>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.</summary> + <param name="obj">An object to compare with this instance. </param> + </member> + <member name="M:NUnit.Framework.Internal.Test.CompareTo(NUnit.Framework.Internal.Test)"> + <summary>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. </summary> + <param name="other">An object to compare with this instance.</param> + </member> + <member name="T:NUnit.Framework.Internal.TestAssembly"> + <summary> + TestAssembly is a TestSuite that represents the execution + of tests in a managed assembly. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestAssembly.#ctor(System.Reflection.Assembly,System.String)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.TestAssembly"/> class + specifying the Assembly and the suite name. + </summary> + <param name="assembly">The assembly this test represents.</param> + <param name="assemblyNameOrPath"> + This becomes the full name of the suite and the filename part is used as the suite name. + </param> + </member> + <member name="M:NUnit.Framework.Internal.TestAssembly.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.TestAssembly"/> class + specifying the suite name for an assembly that could not be loaded. + </summary> + <param name="assemblyNameOrPath"> + This becomes the full name of the suite and the filename part is used as the suite name. + </param> + </member> + <member name="M:NUnit.Framework.Internal.TestAssembly.#ctor(NUnit.Framework.Internal.TestAssembly,NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Creates a copy of the given assembly with only the descendants that pass the specified filter. + </summary> + <param name="assembly">The <see cref="T:NUnit.Framework.Internal.TestAssembly"/> to copy.</param> + <param name="filter">Determines which descendants are copied.</param> + </member> + <member name="P:NUnit.Framework.Internal.TestAssembly.Assembly"> + <summary> + Gets the Assembly represented by this instance. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestAssembly.TestType"> + <summary> + Gets the name used for the top-level element in the + XML representation of this test + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestAssembly.GetCustomAttributes``1(System.Boolean)"> + <summary> + Get custom attributes specified on the assembly + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestAssembly.Copy(NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Creates a filtered copy of the test suite. + </summary> + <param name="filter">Determines which descendants are copied.</param> + </member> + <member name="T:NUnit.Framework.Internal.TestFixture"> + <summary> + TestFixture is a surrogate for a user test fixture class, + containing one or more tests. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestFixture.LifeCycle"> + <summary> + The life cycle specified for the current test fixture. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestFixture.#ctor(NUnit.Framework.Interfaces.ITypeInfo,System.Object[])"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.TestFixture"/> class. + </summary> + <param name="fixtureType">Type of the fixture.</param> + <param name="arguments">Arguments used to instantiate the test fixture, or null if none used</param> + </member> + <member name="M:NUnit.Framework.Internal.TestFixture.#ctor(NUnit.Framework.Internal.TestFixture,NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Creates a copy of the given suite with only the descendants that pass the specified filter. + </summary> + <param name="fixture">The <see cref="T:NUnit.Framework.Internal.TestFixture"/> to copy.</param> + <param name="filter">Determines which descendants are copied.</param> + </member> + <member name="P:NUnit.Framework.Internal.TestFixture.TypeInfo"> + <summary> + Gets the TypeInfo of the fixture used in running this test. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestFixture.Copy(NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Creates a filtered copy of the test suite. + </summary> + <param name="filter">Determines which descendants are copied.</param> + </member> + <member name="T:NUnit.Framework.Internal.TestMethod"> + <summary> + The TestMethod class represents a Test implemented as a method. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TestMethod.parms"> + <summary> + The ParameterSet used to create this test method + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestMethod.#ctor(NUnit.Framework.Interfaces.IMethodInfo)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.TestMethod"/> class. + </summary> + <param name="method">The method to be used as a test.</param> + </member> + <member name="M:NUnit.Framework.Internal.TestMethod.#ctor(NUnit.Framework.Interfaces.IMethodInfo,NUnit.Framework.Internal.Test)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.TestMethod"/> class. + </summary> + <param name="method">The method to be used as a test.</param> + <param name="parentSuite">The suite or fixture to which the new test will be added</param> + </member> + <member name="P:NUnit.Framework.Internal.TestMethod.Method"> + <summary> + Gets a MethodInfo for the method implementing this test. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestMethod.Arguments"> + <summary> + The arguments to use in executing the test method, or empty array if none are provided. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestMethod.MakeTestResult"> + <summary> + Overridden to return a TestCaseResult. + </summary> + <returns>A TestResult for this test.</returns> + </member> + <member name="P:NUnit.Framework.Internal.TestMethod.HasChildren"> + <summary> + Gets a bool indicating whether the current test + has any descendant tests. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestMethod.AddToXml(NUnit.Framework.Interfaces.TNode,System.Boolean)"> + <summary> + Returns a TNode representing the current result after + adding it as a child of the supplied parent node. + </summary> + <param name="parentNode">The parent node.</param> + <param name="recursive">If true, descendant results are included</param> + <returns></returns> + </member> + <member name="P:NUnit.Framework.Internal.TestMethod.Tests"> + <summary> + Gets this test's child tests + </summary> + <value>A list of child tests</value> + </member> + <member name="P:NUnit.Framework.Internal.TestMethod.XmlElementName"> + <summary> + Gets the name used for the top-level element in the + XML representation of this test + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestMethod.MethodName"> + <summary> + Returns the name of the method + </summary> + </member> + <member name="T:NUnit.Framework.Internal.TestSuite"> + <summary> + TestSuite represents a composite test, which contains other tests. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TestSuite.tests"> + <summary> + Our collection of child tests + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestSuite.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.TestSuite"/> class. + </summary> + <param name="name">The name of the suite.</param> + </member> + <member name="M:NUnit.Framework.Internal.TestSuite.#ctor(System.String,System.String)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.TestSuite"/> class. + </summary> + <param name="parentSuiteName">Name of the parent suite.</param> + <param name="name">The name of the suite.</param> + </member> + <member name="M:NUnit.Framework.Internal.TestSuite.#ctor(NUnit.Framework.Interfaces.ITypeInfo,System.Object[])"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.TestSuite"/> class. + </summary> + <param name="fixtureType">Type of the fixture.</param> + <param name="arguments">Arguments used to instantiate the test fixture, or null if none used.</param> + </member> + <member name="M:NUnit.Framework.Internal.TestSuite.#ctor(System.Type)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.TestSuite"/> class. + </summary> + <param name="fixtureType">Type of the fixture.</param> + </member> + <member name="M:NUnit.Framework.Internal.TestSuite.#ctor(NUnit.Framework.Internal.TestSuite,NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Creates a copy of the given suite with only the descendants that pass the specified filter. + </summary> + <param name="suite">The <see cref="T:NUnit.Framework.Internal.TestSuite"/> to copy.</param> + <param name="filter">Determines which descendants are copied.</param> + </member> + <member name="M:NUnit.Framework.Internal.TestSuite.Sort"> + <summary> + Sorts tests under this suite. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestSuite.Add(NUnit.Framework.Internal.Test)"> + <summary> + Adds a test to the suite. + </summary> + <param name="test">The test.</param> + </member> + <member name="M:NUnit.Framework.Internal.TestSuite.Copy(NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Creates a filtered copy of the test suite. + </summary> + <param name="filter">Determines which descendants are copied.</param> + </member> + <member name="P:NUnit.Framework.Internal.TestSuite.Tests"> + <summary> + Gets this test's child tests + </summary> + <value>The list of child tests</value> + </member> + <member name="P:NUnit.Framework.Internal.TestSuite.TestCaseCount"> + <summary> + Gets a count of test cases represented by + or contained under this test. + </summary> + <value></value> + </member> + <member name="P:NUnit.Framework.Internal.TestSuite.Arguments"> + <summary> + The arguments to use in creating the fixture, or empty array if none are provided. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestSuite.MaintainTestOrder"> + <summary> + Set to true to suppress sorting this suite's contents + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestSuite.OneTimeSetUpMethods"> + <summary> + OneTimeSetUp methods for this suite + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestSuite.OneTimeTearDownMethods"> + <summary> + OneTimeTearDown methods for this suite + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestSuite.MakeTestResult"> + <summary> + Overridden to return a TestSuiteResult. + </summary> + <returns>A TestResult for this test.</returns> + </member> + <member name="P:NUnit.Framework.Internal.TestSuite.HasChildren"> + <summary> + Gets a bool indicating whether the current test + has any descendant tests. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestSuite.XmlElementName"> + <summary> + Gets the name used for the top-level element in the + XML representation of this test + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestSuite.AddToXml(NUnit.Framework.Interfaces.TNode,System.Boolean)"> + <summary> + Returns an XmlNode representing the current result after + adding it as a child of the supplied parent node. + </summary> + <param name="parentNode">The parent node.</param> + <param name="recursive">If true, descendant results are included</param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Internal.TestSuite.CheckSetUpTearDownMethods(NUnit.Framework.Interfaces.IMethodInfo[])"> + <summary> + Check that setup and teardown methods marked by certain attributes + meet NUnit's requirements and mark the tests not runnable otherwise. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.ThreadUtility"> + <summary> + ThreadUtility provides a set of static methods convenient + for working with threads. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ThreadUtility.Delay(System.Int32,System.Threading.WaitCallback,System.Object)"> + <summary> + Pre-Task compatibility + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ThreadUtility.Abort(System.Threading.Thread,System.Int32)"> + <summary> + Abort a thread, helping to dislodging it if it is blocked in native code + </summary> + <param name="thread">The thread to abort</param> + <param name="nativeId">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 <see cref="M:NUnit.Framework.Internal.ThreadUtility.GetCurrentThreadNativeId"/> from the running thread itself.</param> + </member> + <member name="M:NUnit.Framework.Internal.ThreadUtility.Kill(System.Threading.Thread,System.Int32)"> + <summary> + Do our best to kill a thread + </summary> + <param name="thread">The thread to kill</param> + <param name="nativeId">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 <see cref="M:NUnit.Framework.Internal.ThreadUtility.GetCurrentThreadNativeId"/> from the running thread itself.</param> + </member> + <member name="M:NUnit.Framework.Internal.ThreadUtility.Kill(System.Threading.Thread,System.Object,System.Int32)"> + <summary> + Do our best to kill a thread, passing state info + </summary> + <param name="thread">The thread to kill</param> + <param name="stateInfo">Info for the ThreadAbortException handler</param> + <param name="nativeId">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 <see cref="M:NUnit.Framework.Internal.ThreadUtility.GetCurrentThreadNativeId"/> from the running thread itself.</param> + </member> + <member name="M:NUnit.Framework.Internal.ThreadUtility.DislodgeThreadInNativeMessageWait(System.Threading.Thread,System.Int32)"> + <summary> + Schedule a thread pool thread to check on the aborting thread in case it's in a message pump native blocking wait + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ThreadUtility.GetCurrentThreadNativeId"> + <summary> + Captures the current thread's native id. If provided to <see cref="M:NUnit.Framework.Internal.ThreadUtility.Kill(System.Threading.Thread,System.Int32)"/> later, allows the thread to be killed if it's in a message pump native blocking wait. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ThreadUtility.PostThreadCloseMessage(System.Int32)"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ThreadUtility.GetCurrentThreadPrincipal"> + <summary>Gets <see cref="P:System.Threading.Thread.CurrentPrincipal"/> or <see langword="null" /> if the current platform does not support it.</summary> + </member> + <member name="M:NUnit.Framework.Internal.ThreadUtility.SetCurrentThreadPrincipal(System.Security.Principal.IPrincipal)"> + <summary>Sets <see cref="P:System.Threading.Thread.CurrentPrincipal"/> if current platform supports it.</summary> + <param name="principal">Value to set. If the current platform does not support <see cref="P:System.Threading.Thread.CurrentPrincipal"/> then the only allowed value is <see langword="null"/>.</param> + </member> + <member name="T:NUnit.Framework.Internal.TypeHelper"> + <summary> + TypeHelper provides static methods that operate on Types. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TypeHelper.GetDisplayName(System.Type)"> + <summary> + Gets the display name for a Type as used by NUnit. + </summary> + <param name="type">The Type for which a display name is needed.</param> + <returns>The display name for the Type</returns> + </member> + <member name="M:NUnit.Framework.Internal.TypeHelper.GetDisplayName(System.Type,System.Object[])"> + <summary> + Gets the display name for a Type as used by NUnit. + </summary> + <param name="type">The Type for which a display name is needed.</param> + <param name="arglist">The arglist provided.</param> + <returns>The display name for the Type</returns> + </member> + <member name="M:NUnit.Framework.Internal.TypeHelper.TryGetBestCommonType(System.Type,System.Type,System.Type@)"> + <summary> + Returns the best fit for a common type to be used in + matching actual arguments to a methods Type parameters. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TypeHelper.IsNumeric(System.Type)"> + <summary> + Determines whether the specified type is numeric. + </summary> + <param name="type">The type to be examined.</param> + <returns> + <see langword="true"/> if the specified type is numeric; otherwise, <see langword="false"/>. + </returns> + </member> + <member name="M:NUnit.Framework.Internal.TypeHelper.ConvertArgumentList(System.Object[],NUnit.Framework.Interfaces.IParameterInfo[])"> + <summary> + Convert an argument list to the required parameter types. + Currently, only widening numeric conversions are performed. + </summary> + <param name="arglist">An array of args to be converted</param> + <param name="parameters">A ParameterInfo[] whose types will be used as targets</param> + </member> + <member name="M:NUnit.Framework.Internal.TypeHelper.CanDeduceTypeArgsFromArgs(System.Type,System.Object[],System.Type[]@)"> + <summary> + Determines whether this instance can deduce type args for a generic type from the supplied arguments. + </summary> + <param name="type">The type to be examined.</param> + <param name="arglist">The arglist.</param> + <param name="typeArgsOut">The type args to be used.</param> + <returns> + <see langword="true"/> if this the provided args give sufficient information to determine the type args to be used; otherwise, <see langword="false"/>. + </returns> + </member> + <member name="M:NUnit.Framework.Internal.TypeHelper.GetDeclaredInterfaces(System.Type)"> + <summary> + Return the interfaces implemented by a Type. + </summary> + <param name="type">The Type to be examined.</param> + <returns>An array of Types for the interfaces.</returns> + </member> + <member name="M:NUnit.Framework.Internal.TypeHelper.IsValueTuple(System.Type)"> + <summary> + Return whether or not the given type is a ValueTuple. + </summary> + <param name="type">Type.</param> + <returns>Whether or not the given type is a ValueTuple.</returns> + </member> + <member name="M:NUnit.Framework.Internal.TypeHelper.IsTuple(System.Type)"> + <summary> + Return whether or not the given type is a Tuple. + </summary> + <param name="type">Type.</param> + <returns>Whether or not the given type is a Tuple.</returns> + </member> + <member name="M:NUnit.Framework.Internal.TypeHelper.CanCast``1(System.Object)"> + <summary> + Determines whether the cast to the given type would succeed. + If <paramref name="obj"/> is <see langword="null"/> and <typeparamref name="T"/> + can be <see langword="null"/>, the cast succeeds just like the C# language feature. + </summary> + <param name="obj">The object to cast.</param> + </member> + <member name="M:NUnit.Framework.Internal.TypeHelper.TryCast``1(System.Object,``0@)"> + <summary> + Casts to a value of the given type if possible. + If <paramref name="obj"/> is <see langword="null"/> and <typeparamref name="T"/> + can be <see langword="null"/>, the cast succeeds just like the C# language feature. + </summary> + <param name="obj">The object to cast.</param> + <param name="value">The value of the object, if the cast succeeded.</param> + </member> + <member name="T:NUnit.Framework.Internal.TypeNameDifferenceResolver"> + <summary> + Used for resolving the type difference between objects. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TypeNameDifferenceResolver.ResolveTypeNameDifference(System.Object,System.Object,System.String@,System.String@)"> + <summary> + Gets the shortened type name difference between <paramref name="expected"/> and <paramref name="actual"/>. + </summary> + <param name="expected">The expected object.</param> + <param name="actual">The actual object.</param> + <param name="expectedTypeShortened">Output of the unique type name for the expected object.</param> + <param name="actualTypeShortened">Output of the unique type name for actual object.</param> + </member> + <member name="M:NUnit.Framework.Internal.TypeNameDifferenceResolver.ResolveTypeNameDifference(System.Type,System.Type,System.String@,System.String@)"> + <summary> + Gets the shortened type name difference between <paramref name="expected"/> and <paramref name="actual"/>. + </summary> + <param name="expected">The expected object <see cref="T:System.Type"/>.</param> + <param name="actual">The actual object <see cref="T:System.Type"/>.</param> + <param name="expectedTypeShortened">Output of the unique type name for the expected object.</param> + <param name="actualTypeShortened">Output of the unique type name for actual object.</param> + </member> + <member name="M:NUnit.Framework.Internal.TypeNameDifferenceResolver.GetShortenedGenericParams(System.Type,System.Type,System.Collections.Generic.List{System.String}@,System.Collections.Generic.List{System.String}@)"> + <summary> + Obtain the shortened generic template parameters of the given <paramref name="expectedFullType"/> and <paramref name="actualFullType"/>, + if they are generic. + </summary> + <param name="expectedFullType">The expected <see cref="T:System.Type"/>.</param> + <param name="actualFullType">The actual <see cref="T:System.Type"/>.</param> + <param name="shortenedParamsExpected">Shortened generic parameters of the expected <see cref="T:System.Type"/>.</param> + <param name="shortenedParamsActual">Shortened generic parameters of the actual <see cref="T:System.Type"/>.</param> + </member> + <member name="M:NUnit.Framework.Internal.TypeNameDifferenceResolver.FullyShortenTypeName(System.Type)"> + <summary> + Obtain a shortened name of the given <see cref="T:System.Type"/>. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TypeNameDifferenceResolver.ShortenTypeNames(System.Type,System.Type,System.String@,System.String@)"> + <summary> + Shorten the given <see cref="T:System.Type"/> names by only including the relevant differing namespaces/types, if they differ. + </summary> + <param name="expectedType">The expected <see cref="T:System.Type"/>.</param> + <param name="actualType">The actual <see cref="T:System.Type"/>.</param> + <param name="expectedTypeShortened">The shortened expected <see cref="T:System.Type"/> name.</param> + <param name="actualTypeShortened">The shortened actual <see cref="T:System.Type"/> name.</param> + </member> + <member name="M:NUnit.Framework.Internal.TypeNameDifferenceResolver.IsTypeGeneric(System.Type)"> + <summary> + Returns whether or not the <see cref="T:System.Type"/> is generic. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TypeNameDifferenceResolver.GetGenericTypeName(System.Type)"> + <summary> + Returns the fully qualified generic <see cref="T:System.Type"/> name of a given <see cref="T:System.Type"/>. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TypeNameDifferenceResolver.ReconstructGenericTypeName(System.String,System.Collections.Generic.List{System.String})"> + <summary> + Reconstruct a generic type name using the provided generic type name, and a + <see cref="T:NUnit.Framework.List"/> of the template parameters. + </summary> + <param name="genericTypeName">The name of the generic type, including the number of template parameters expected.</param> + <param name="templateParamNames">A <see cref="T:NUnit.Framework.List"/> of names of the template parameters of the provided generic type.</param> + </member> + <member name="M:NUnit.Framework.Internal.TypeNameDifferenceResolver.GetShortenedGenericTypes(System.Type,System.Type,System.String@,System.String@)"> + <summary> + Obtain the shortened generic <see cref="T:System.Type"/> names of the given expected and actual <see cref="T:System.Type"/>s. + </summary> + <param name="expected">The expected <see cref="T:System.Type"/>.</param> + <param name="actual">The actual <see cref="T:System.Type"/>.</param> + <param name="shortenedGenericNameExpected">The shortened expected generic name.</param> + <param name="shortenedGenericNameActual">The shortened actual generic name.</param> + </member> + <member name="T:NUnit.Framework.Internal.TypeWrapper"> + <summary> + The TypeWrapper class wraps a Type so it may be used in + a platform-independent manner. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TypeWrapper.#ctor(System.Type)"> + <summary> + Construct a TypeWrapper for a specified Type. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TypeWrapper.Type"> + <summary> + Gets the underlying Type on which this TypeWrapper is based. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TypeWrapper.BaseType"> + <summary> + Gets the base type of this type as an ITypeInfo + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TypeWrapper.Name"> + <summary> + Gets the Name of the Type + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TypeWrapper.FullName"> + <summary> + Gets the FullName of the Type + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TypeWrapper.Assembly"> + <summary> + Gets the assembly in which the type is declared + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TypeWrapper.Namespace"> + <summary> + Gets the namespace of the Type + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TypeWrapper.IsAbstract"> + <summary> + Gets a value indicating whether the type is abstract. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TypeWrapper.IsGenericType"> + <summary> + Gets a value indicating whether the Type is a generic Type + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TypeWrapper.IsType(System.Type)"> + <summary> + Returns true if the Type wrapped is T + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TypeWrapper.ContainsGenericParameters"> + <summary> + Gets a value indicating whether the Type has generic parameters that have not been replaced by specific Types. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TypeWrapper.IsGenericTypeDefinition"> + <summary> + Gets a value indicating whether the Type is a generic Type definition + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TypeWrapper.IsSealed"> + <summary> + Gets a value indicating whether the type is sealed. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TypeWrapper.IsStaticClass"> + <summary> + Gets a value indicating whether this type represents a static class. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TypeWrapper.GetDisplayName"> + <summary> + Get the display name for this type + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TypeWrapper.GetDisplayName(System.Object[])"> + <summary> + Get the display name for an object of this type, constructed with the specified args. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TypeWrapper.MakeGenericType(System.Type[])"> + <summary> + Returns a new ITypeInfo representing an instance of this generic Type using the supplied Type arguments + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TypeWrapper.GetGenericTypeDefinition"> + <summary> + Returns a Type representing a generic type definition from which this Type can be constructed. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TypeWrapper.GetCustomAttributes``1(System.Boolean)"> + <summary> + Returns an array of custom attributes of the specified type applied to this type + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TypeWrapper.IsDefined``1(System.Boolean)"> + <summary> + Returns a value indicating whether the type has an attribute of the specified type. + </summary> + <typeparam name="T"></typeparam> + <param name="inherit"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Internal.TypeWrapper.HasMethodWithAttribute(System.Type)"> + <summary> + Returns a flag indicating whether this type has a method with an attribute of the specified type. + </summary> + <param name="attributeType"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Internal.TypeWrapper.GetMethods(System.Reflection.BindingFlags)"> + <summary> + Returns an array of IMethodInfos for methods of this Type + that match the specified flags. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TypeWrapper.GetConstructor(System.Type[])"> + <summary> + Gets the public constructor taking the specified argument Types + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TypeWrapper.HasConstructor(System.Type[])"> + <summary> + Returns a value indicating whether this Type has a public constructor taking the specified argument Types. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TypeWrapper.Construct(System.Object[])"> + <summary> + Construct an object of this Type, using the specified arguments. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TypeWrapper.ToString"> + <summary> + Override ToString() so that error messages in NUnit's own tests make sense + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TypeWrapper.GetMethodsWithAttribute``1(System.Boolean)"> + <summary> + 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. + </summary> + <param name="inherit">Specifies whether to search the fixture type inheritance chain.</param> + </member> + <member name="T:NUnit.Framework.Internal.ValueGenerator.Step"> + <summary> + Encapsulates the ability to increment a value by an amount which may be of a different type. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ValueGenerator.CreateStep(System.Object)"> + <summary> + Creates a <see cref="T:NUnit.Framework.Internal.ValueGenerator.Step"/> 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, + <see cref="T:System.NotSupportedException"/> is thrown. + </summary> + <exception cref="T:System.NotSupportedException"/> + </member> + <member name="M:NUnit.Framework.Internal.ValueGenerator.TryCreateStep(System.Object,NUnit.Framework.Internal.ValueGenerator.Step@)"> + <summary> + Creates a <see cref="T:NUnit.Framework.Internal.ValueGenerator.Step"/> 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. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.ValueGenerator`1.ComparableStep`1"> + <summary> + Provides a convenient shorthand when <typeparamref name="TStep"/> is <see cref="T:System.IComparable`1"/> + and the default value of <typeparamref name="TStep"/> represents zero. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ValueGenerator`1.ComparableStep`1.#ctor(`1,System.Func{`0,`1,`0})"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.ValueGenerator`1.ComparableStep`1"/> class. + </summary> + <param name="value">The amount by which to increment each time this step is applied.</param> + <param name="apply"> + Must increment the given value and return the result. + If the result is outside the range representable by <typeparamref name="T"/>, + must throw <see cref="T:System.OverflowException"/>. If the result does not change due to lack + of precision representable by <typeparamref name="T"/>, must throw <see cref="T:System.ArithmeticException"/>. + </param> + </member> + <member name="M:NUnit.Framework.Internal.ValueGenerator`1.ComparableStep`1.Apply(`0)"> + <summary> + Increments the given value and returns the result. + If the result is outside the range representable by <typeparamref name="T"/>, + throws <see cref="T:System.OverflowException"/>. If the result does not change due to lack + of precision representable by <typeparamref name="T"/>, throws <see cref="T:System.ArithmeticException"/>. + </summary> + <exception cref="T:System.OverflowException"/> + <exception cref="T:System.ArithmeticException"/> + </member> + <member name="T:NUnit.Framework.Internal.ValueGenerator`1.Step"> + <summary> + Encapsulates the ability to increment a <typeparamref name="T"/> value by an amount + which may be of a different type. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ValueGenerator`1.Step.Apply(`0)"> + <summary> + Increments the given value and returns the result. + If the result is outside the range representable by <typeparamref name="T"/>, + throws <see cref="T:System.OverflowException"/>. If the result does not change due to lack + of precision representable by <typeparamref name="T"/>, throws <see cref="T:System.ArithmeticException"/>. + </summary> + <exception cref="T:System.OverflowException"/> + <exception cref="T:System.ArithmeticException"/> + </member> + <member name="M:NUnit.Framework.Internal.ValueGenerator`1.CreateStep(System.Object)"> + <summary> + Creates a <see cref="T:NUnit.Framework.Internal.ValueGenerator`1.Step"/> from the specified value if the current instance is able to + use it to increment values of type <typeparamref name="T"/>. If the creation fails, + <see cref="T:System.NotSupportedException"/> is thrown. + </summary> + <exception cref="T:System.NotSupportedException"/> + </member> + <member name="M:NUnit.Framework.Internal.ValueGenerator`1.TryCreateStep(System.Object,NUnit.Framework.Internal.ValueGenerator.Step@)"> + <summary> + Creates a <see cref="T:NUnit.Framework.Internal.ValueGenerator`1.Step"/> from the specified value if the current instance is able to + use it to increment values of type <typeparamref name="T"/>. A return value indicates + whether the creation succeeded. + </summary> + </member> + <member name="T:NUnit.Framework.IgnoredTestCaseData"> + <summary> + The IgnoredTestCaseData class represents a ignored TestCaseData. It adds + the ability to set a date until which the test will be ignored. + </summary> + </member> + <member name="F:NUnit.Framework.IgnoredTestCaseData._prevRunState"> + <summary> + The previous RunState + </summary> + </member> + <member name="M:NUnit.Framework.IgnoredTestCaseData.Until(System.DateTimeOffset)"> + <summary> + Set the date that the test is being ignored until + </summary> + <param name="datetime">The date that the test is being ignored until</param> + <returns>A modified TestCaseData.</returns> + </member> + <member name="T:NUnit.Framework.Is"> + <summary> + Helper class with properties and methods that supply + a number of constraints used in Asserts. + </summary> + </member> + <member name="P:NUnit.Framework.Is.Not"> + <summary> + Returns a ConstraintExpression that negates any + following constraint. + </summary> + </member> + <member name="P:NUnit.Framework.Is.All"> + <summary> + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + </summary> + </member> + <member name="P:NUnit.Framework.Is.Null"> + <summary> + Returns a constraint that tests for null + </summary> + </member> + <member name="P:NUnit.Framework.Is.True"> + <summary> + Returns a constraint that tests for True + </summary> + </member> + <member name="P:NUnit.Framework.Is.False"> + <summary> + Returns a constraint that tests for False + </summary> + </member> + <member name="P:NUnit.Framework.Is.Positive"> + <summary> + Returns a constraint that tests for a positive value + </summary> + </member> + <member name="P:NUnit.Framework.Is.Negative"> + <summary> + Returns a constraint that tests for a negative value + </summary> + </member> + <member name="P:NUnit.Framework.Is.Zero"> + <summary> + Returns a constraint that tests for equality with zero + </summary> + </member> + <member name="P:NUnit.Framework.Is.NaN"> + <summary> + Returns a constraint that tests for NaN + </summary> + </member> + <member name="P:NUnit.Framework.Is.Empty"> + <summary> + Returns a constraint that tests for empty + </summary> + </member> + <member name="P:NUnit.Framework.Is.Unique"> + <summary> + Returns a constraint that tests whether a collection + contains all unique items. + </summary> + </member> + <member name="P:NUnit.Framework.Is.BinarySerializable"> + <summary> + Returns a constraint that tests whether an object graph is serializable in binary format. + </summary> + </member> + <member name="P:NUnit.Framework.Is.XmlSerializable"> + <summary> + Returns a constraint that tests whether an object graph is serializable in XML format. + </summary> + </member> + <member name="M:NUnit.Framework.Is.EqualTo(System.Object)"> + <summary> + Returns a constraint that tests two items for equality + </summary> + </member> + <member name="M:NUnit.Framework.Is.SameAs(System.Object)"> + <summary> + Returns a constraint that tests that two references are the same object + </summary> + </member> + <member name="M:NUnit.Framework.Is.GreaterThan(System.Object)"> + <summary> + Returns a constraint that tests whether the + actual value is greater than the supplied argument + </summary> + </member> + <member name="M:NUnit.Framework.Is.GreaterThanOrEqualTo(System.Object)"> + <summary> + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + </summary> + </member> + <member name="M:NUnit.Framework.Is.AtLeast(System.Object)"> + <summary> + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + </summary> + </member> + <member name="M:NUnit.Framework.Is.LessThan(System.Object)"> + <summary> + Returns a constraint that tests whether the + actual value is less than the supplied argument + </summary> + </member> + <member name="M:NUnit.Framework.Is.LessThanOrEqualTo(System.Object)"> + <summary> + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + </summary> + </member> + <member name="M:NUnit.Framework.Is.AtMost(System.Object)"> + <summary> + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + </summary> + </member> + <member name="M:NUnit.Framework.Is.TypeOf(System.Type)"> + <summary> + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Is.TypeOf``1"> + <summary> + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Is.InstanceOf(System.Type)"> + <summary> + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + </summary> + </member> + <member name="M:NUnit.Framework.Is.InstanceOf``1"> + <summary> + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + </summary> + </member> + <member name="M:NUnit.Framework.Is.AssignableFrom(System.Type)"> + <summary> + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Is.AssignableFrom``1"> + <summary> + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Is.AssignableTo(System.Type)"> + <summary> + Returns a constraint that tests whether the actual value + is assignable to the type supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Is.AssignableTo``1"> + <summary> + Returns a constraint that tests whether the actual value + is assignable to the type supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Is.EquivalentTo(System.Collections.IEnumerable)"> + <summary> + Returns a constraint that tests whether the actual value + is a collection containing the same elements as the + collection supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Is.SubsetOf(System.Collections.IEnumerable)"> + <summary> + Returns a constraint that tests whether the actual value + is a subset of the collection supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Is.SupersetOf(System.Collections.IEnumerable)"> + <summary> + Returns a constraint that tests whether the actual value + is a superset of the collection supplied as an argument. + </summary> + </member> + <member name="P:NUnit.Framework.Is.Ordered"> + <summary> + Returns a constraint that tests whether a collection is ordered + </summary> + </member> + <member name="M:NUnit.Framework.Is.SamePath(System.String)"> + <summary> + Returns a constraint that tests whether the path provided + is the same as an expected path after canonicalization. + </summary> + </member> + <member name="M:NUnit.Framework.Is.SubPathOf(System.String)"> + <summary> + Returns a constraint that tests whether the path provided + is a subpath of the expected path after canonicalization. + </summary> + </member> + <member name="M:NUnit.Framework.Is.SamePathOrUnder(System.String)"> + <summary> + Returns a constraint that tests whether the path provided + is the same path or under an expected path after canonicalization. + </summary> + </member> + <member name="M:NUnit.Framework.Is.InRange(System.Object,System.Object)"> + <summary> + Returns a constraint that tests whether the actual value falls + inclusively within a specified range. + </summary> + <param name="from">Inclusive beginning of the range.</param> + <param name="to">Inclusive end of the range.</param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Is.AnyOf(System.Object[])"> + <summary> + Returns a constraint that tests if an item is equal to any of parameters + </summary> + <param name="expected">Expected values</param> + </member> + <member name="T:NUnit.Framework.ITestAction"> + <summary> + When implemented by an attribute, this interface implemented to provide actions to execute before and after tests. + </summary> + </member> + <member name="M:NUnit.Framework.ITestAction.BeforeTest(NUnit.Framework.Interfaces.ITest)"> + <summary> + Executed before each test is run + </summary> + <param name="test">The test that is going to be run.</param> + </member> + <member name="M:NUnit.Framework.ITestAction.AfterTest(NUnit.Framework.Interfaces.ITest)"> + <summary> + Executed after each test is run + </summary> + <param name="test">The test that has just been run.</param> + </member> + <member name="P:NUnit.Framework.ITestAction.Targets"> + <summary> + Provides the target for the action attribute + </summary> + <returns>The target for the action attribute</returns> + </member> + <member name="T:NUnit.Framework.Iz"> + <summary> + The Iz class is a synonym for Is intended for use in VB, + which regards Is as a keyword. + </summary> + </member> + <member name="T:NUnit.Framework.List"> + <summary> + The List class is a helper class with properties and methods + that supply a number of constraints used with lists and collections. + </summary> + </member> + <member name="M:NUnit.Framework.List.Map(System.Collections.ICollection)"> + <summary> + List.Map returns a ListMapper, which can be used to map + the original collection to another collection. + </summary> + <param name="actual"></param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.ListMapper"> + <summary> + ListMapper is used to transform a collection used as an actual argument + producing another collection to be used in the assertion. + </summary> + </member> + <member name="M:NUnit.Framework.ListMapper.#ctor(System.Collections.ICollection)"> + <summary> + Construct a ListMapper based on a collection + </summary> + <param name="original">The collection to be transformed</param> + </member> + <member name="M:NUnit.Framework.ListMapper.Property(System.String)"> + <summary> + Produces a collection containing all the values of a property + </summary> + <param name="name">The collection of property values</param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.StringAssert"> + <summary> + Basic Asserts on strings. + </summary> + </member> + <member name="M:NUnit.Framework.StringAssert.Equals(System.Object,System.Object)"> + <summary> + 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. + </summary> + <param name="a"></param> + <param name="b"></param> + </member> + <member name="M:NUnit.Framework.StringAssert.ReferenceEquals(System.Object,System.Object)"> + <summary> + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + </summary> + <param name="a"></param> + <param name="b"></param> + </member> + <member name="M:NUnit.Framework.StringAssert.Contains(System.String,System.String,System.String,System.Object[])"> + <summary> + Asserts that a string is found within another string. + </summary> + <param name="expected">The expected string</param> + <param name="actual">The string to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Arguments used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.StringAssert.Contains(System.String,System.String)"> + <summary> + Asserts that a string is found within another string. + </summary> + <param name="expected">The expected string</param> + <param name="actual">The string to be examined</param> + </member> + <member name="M:NUnit.Framework.StringAssert.DoesNotContain(System.String,System.String,System.String,System.Object[])"> + <summary> + Asserts that a string is not found within another string. + </summary> + <param name="expected">The expected string</param> + <param name="actual">The string to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Arguments used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.StringAssert.DoesNotContain(System.String,System.String)"> + <summary> + Asserts that a string is found within another string. + </summary> + <param name="expected">The expected string</param> + <param name="actual">The string to be examined</param> + </member> + <member name="M:NUnit.Framework.StringAssert.StartsWith(System.String,System.String,System.String,System.Object[])"> + <summary> + Asserts that a string starts with another string. + </summary> + <param name="expected">The expected string</param> + <param name="actual">The string to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Arguments used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.StringAssert.StartsWith(System.String,System.String)"> + <summary> + Asserts that a string starts with another string. + </summary> + <param name="expected">The expected string</param> + <param name="actual">The string to be examined</param> + </member> + <member name="M:NUnit.Framework.StringAssert.DoesNotStartWith(System.String,System.String,System.String,System.Object[])"> + <summary> + Asserts that a string does not start with another string. + </summary> + <param name="expected">The expected string</param> + <param name="actual">The string to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Arguments used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.StringAssert.DoesNotStartWith(System.String,System.String)"> + <summary> + Asserts that a string does not start with another string. + </summary> + <param name="expected">The expected string</param> + <param name="actual">The string to be examined</param> + </member> + <member name="M:NUnit.Framework.StringAssert.EndsWith(System.String,System.String,System.String,System.Object[])"> + <summary> + Asserts that a string ends with another string. + </summary> + <param name="expected">The expected string</param> + <param name="actual">The string to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Arguments used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.StringAssert.EndsWith(System.String,System.String)"> + <summary> + Asserts that a string ends with another string. + </summary> + <param name="expected">The expected string</param> + <param name="actual">The string to be examined</param> + </member> + <member name="M:NUnit.Framework.StringAssert.DoesNotEndWith(System.String,System.String,System.String,System.Object[])"> + <summary> + Asserts that a string does not end with another string. + </summary> + <param name="expected">The expected string</param> + <param name="actual">The string to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Arguments used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.StringAssert.DoesNotEndWith(System.String,System.String)"> + <summary> + Asserts that a string does not end with another string. + </summary> + <param name="expected">The expected string</param> + <param name="actual">The string to be examined</param> + </member> + <member name="M:NUnit.Framework.StringAssert.AreEqualIgnoringCase(System.String,System.String,System.String,System.Object[])"> + <summary> + Asserts that two strings are equal, without regard to case. + </summary> + <param name="expected">The expected string</param> + <param name="actual">The actual string</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Arguments used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.StringAssert.AreEqualIgnoringCase(System.String,System.String)"> + <summary> + Asserts that two strings are equal, without regard to case. + </summary> + <param name="expected">The expected string</param> + <param name="actual">The actual string</param> + </member> + <member name="M:NUnit.Framework.StringAssert.AreNotEqualIgnoringCase(System.String,System.String,System.String,System.Object[])"> + <summary> + Asserts that two strings are not equal, without regard to case. + </summary> + <param name="expected">The expected string</param> + <param name="actual">The actual string</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Arguments used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.StringAssert.AreNotEqualIgnoringCase(System.String,System.String)"> + <summary> + Asserts that two strings are not equal, without regard to case. + </summary> + <param name="expected">The expected string</param> + <param name="actual">The actual string</param> + </member> + <member name="M:NUnit.Framework.StringAssert.IsMatch(System.String,System.String,System.String,System.Object[])"> + <summary> + Asserts that a string matches an expected regular expression pattern. + </summary> + <param name="pattern">The regex pattern to be matched</param> + <param name="actual">The actual string</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Arguments used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.StringAssert.IsMatch(System.String,System.String)"> + <summary> + Asserts that a string matches an expected regular expression pattern. + </summary> + <param name="pattern">The regex pattern to be matched</param> + <param name="actual">The actual string</param> + </member> + <member name="M:NUnit.Framework.StringAssert.DoesNotMatch(System.String,System.String,System.String,System.Object[])"> + <summary> + Asserts that a string does not match an expected regular expression pattern. + </summary> + <param name="pattern">The regex pattern to be used</param> + <param name="actual">The actual string</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Arguments used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.StringAssert.DoesNotMatch(System.String,System.String)"> + <summary> + Asserts that a string does not match an expected regular expression pattern. + </summary> + <param name="pattern">The regex pattern to be used</param> + <param name="actual">The actual string</param> + </member> + <member name="T:NUnit.Framework.TestCaseData"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.TestCaseData.#ctor(System.Object[])"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.TestCaseData"/> class. + </summary> + <param name="args">The arguments.</param> + </member> + <member name="M:NUnit.Framework.TestCaseData.#ctor(System.Object)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.TestCaseData"/> class. + </summary> + <param name="arg">The argument.</param> + </member> + <member name="M:NUnit.Framework.TestCaseData.#ctor(System.Object,System.Object)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.TestCaseData"/> class. + </summary> + <param name="arg1">The first argument.</param> + <param name="arg2">The second argument.</param> + </member> + <member name="M:NUnit.Framework.TestCaseData.#ctor(System.Object,System.Object,System.Object)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.TestCaseData"/> class. + </summary> + <param name="arg1">The first argument.</param> + <param name="arg2">The second argument.</param> + <param name="arg3">The third argument.</param> + </member> + <member name="M:NUnit.Framework.TestCaseData.Returns(System.Object)"> + <summary> + Sets the expected result for the test + </summary> + <param name="result">The expected result</param> + <returns>A modified TestCaseData</returns> + </member> + <member name="M:NUnit.Framework.TestCaseData.SetName(System.String)"> + <summary> + Sets the name of the test case + </summary> + <returns>The modified TestCaseData instance</returns> + </member> + <member name="M:NUnit.Framework.TestCaseData.SetArgDisplayNames(System.String[])"> + <summary> + Sets the list of display names to use as the parameters in the test name. + </summary> + </member> + <member name="M:NUnit.Framework.TestCaseData.SetDescription(System.String)"> + <summary> + Sets the description for the test case + being constructed. + </summary> + <param name="description">The description.</param> + <returns>The modified TestCaseData instance.</returns> + </member> + <member name="M:NUnit.Framework.TestCaseData.SetCategory(System.String)"> + <summary> + Applies a category to the test + </summary> + <param name="category"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.TestCaseData.SetProperty(System.String,System.String)"> + <summary> + Applies a named property to the test + </summary> + <param name="propName"></param> + <param name="propValue"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.TestCaseData.SetProperty(System.String,System.Int32)"> + <summary> + Applies a named property to the test + </summary> + <param name="propName"></param> + <param name="propValue"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.TestCaseData.SetProperty(System.String,System.Double)"> + <summary> + Applies a named property to the test + </summary> + <param name="propName"></param> + <param name="propValue"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.TestCaseData.Explicit"> + <summary> + Marks the test case as explicit. + </summary> + </member> + <member name="M:NUnit.Framework.TestCaseData.Explicit(System.String)"> + <summary> + Marks the test case as explicit, specifying the reason. + </summary> + </member> + <member name="M:NUnit.Framework.TestCaseData.Ignore(System.String)"> + <summary> + Ignores this TestCase, specifying the reason. + </summary> + <param name="reason">The reason.</param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.TestContext"> + <summary> + Provide the context information of the current test. + This is an adapter for the internal ExecutionContext + class, hiding the internals from the user test. + </summary> + </member> + <member name="M:NUnit.Framework.TestContext.#ctor(NUnit.Framework.Internal.TestExecutionContext)"> + <summary> + Construct a TestContext for an ExecutionContext + </summary> + <param name="testExecutionContext">The ExecutionContext to adapt</param> + </member> + <member name="P:NUnit.Framework.TestContext.CurrentContext"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.Out"> + <summary> + Gets a TextWriter that will send output to the current test result. + </summary> + </member> + <member name="F:NUnit.Framework.TestContext.Error"> + <summary> + Gets a TextWriter that will send output directly to Console.Error + </summary> + </member> + <member name="F:NUnit.Framework.TestContext.Progress"> + <summary> + Gets a TextWriter for use in displaying immediate progress messages + </summary> + </member> + <member name="F:NUnit.Framework.TestContext.Parameters"> + <summary> + TestParameters object holds parameters for the test run, if any are specified + </summary> + </member> + <member name="F:NUnit.Framework.TestContext.DefaultWorkDirectory"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.Test"> + <summary> + Get a representation of the current test. + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.Result"> + <summary> + Gets a Representation of the TestResult for the current test. + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.WorkerId"> + <summary> + Gets the unique name of the Worker that is executing this test. + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.TestDirectory"> + <summary> + Gets the directory containing the current test assembly. + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.WorkDirectory"> + <summary> + Gets the directory to be used for outputting files created + by this test run. + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.Random"> + <summary> + Gets the random generator. + </summary> + <value> + The random generator. + </value> + </member> + <member name="P:NUnit.Framework.TestContext.AssertCount"> + <summary> + Gets the number of assertions executed + up to this point in the test. + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.CurrentRepeatCount"> + <summary> + Get the number of times the current Test has been repeated + when using the <see cref="T:NUnit.Framework.RetryAttribute"/> or <see cref="T:NUnit.Framework.RepeatAttribute"/>. + </summary> + </member> + <member name="M:NUnit.Framework.TestContext.Write(System.Boolean)"> + <summary>Write the string representation of a boolean value to the current result</summary> + </member> + <member name="M:NUnit.Framework.TestContext.Write(System.Char)"> + <summary>Write a char to the current result</summary> + </member> + <member name="M:NUnit.Framework.TestContext.Write(System.Char[])"> + <summary>Write a char array to the current result</summary> + </member> + <member name="M:NUnit.Framework.TestContext.Write(System.Double)"> + <summary>Write the string representation of a double to the current result</summary> + </member> + <member name="M:NUnit.Framework.TestContext.Write(System.Int32)"> + <summary>Write the string representation of an Int32 value to the current result</summary> + </member> + <member name="M:NUnit.Framework.TestContext.Write(System.Int64)"> + <summary>Write the string representation of an Int64 value to the current result</summary> + </member> + <member name="M:NUnit.Framework.TestContext.Write(System.Decimal)"> + <summary>Write the string representation of a decimal value to the current result</summary> + </member> + <member name="M:NUnit.Framework.TestContext.Write(System.Object)"> + <summary>Write the string representation of an object to the current result</summary> + </member> + <member name="M:NUnit.Framework.TestContext.Write(System.Single)"> + <summary>Write the string representation of a Single value to the current result</summary> + </member> + <member name="M:NUnit.Framework.TestContext.Write(System.String)"> + <summary>Write a string to the current result</summary> + </member> + <member name="M:NUnit.Framework.TestContext.Write(System.UInt32)"> + <summary>Write the string representation of a UInt32 value to the current result</summary> + </member> + <member name="M:NUnit.Framework.TestContext.Write(System.UInt64)"> + <summary>Write the string representation of a UInt64 value to the current result</summary> + </member> + <member name="M:NUnit.Framework.TestContext.Write(System.String,System.Object)"> + <summary>Write a formatted string to the current result</summary> + </member> + <member name="M:NUnit.Framework.TestContext.Write(System.String,System.Object,System.Object)"> + <summary>Write a formatted string to the current result</summary> + </member> + <member name="M:NUnit.Framework.TestContext.Write(System.String,System.Object,System.Object,System.Object)"> + <summary>Write a formatted string to the current result</summary> + </member> + <member name="M:NUnit.Framework.TestContext.Write(System.String,System.Object[])"> + <summary>Write a formatted string to the current result</summary> + </member> + <member name="M:NUnit.Framework.TestContext.WriteLine"> + <summary>Write a line terminator to the current result</summary> + </member> + <member name="M:NUnit.Framework.TestContext.WriteLine(System.Boolean)"> + <summary>Write the string representation of a boolean value to the current result followed by a line terminator</summary> + </member> + <member name="M:NUnit.Framework.TestContext.WriteLine(System.Char)"> + <summary>Write a char to the current result followed by a line terminator</summary> + </member> + <member name="M:NUnit.Framework.TestContext.WriteLine(System.Char[])"> + <summary>Write a char array to the current result followed by a line terminator</summary> + </member> + <member name="M:NUnit.Framework.TestContext.WriteLine(System.Double)"> + <summary>Write the string representation of a double to the current result followed by a line terminator</summary> + </member> + <member name="M:NUnit.Framework.TestContext.WriteLine(System.Int32)"> + <summary>Write the string representation of an Int32 value to the current result followed by a line terminator</summary> + </member> + <member name="M:NUnit.Framework.TestContext.WriteLine(System.Int64)"> + <summary>Write the string representation of an Int64 value to the current result followed by a line terminator</summary> + </member> + <member name="M:NUnit.Framework.TestContext.WriteLine(System.Decimal)"> + <summary>Write the string representation of a decimal value to the current result followed by a line terminator</summary> + </member> + <member name="M:NUnit.Framework.TestContext.WriteLine(System.Object)"> + <summary>Write the string representation of an object to the current result followed by a line terminator</summary> + </member> + <member name="M:NUnit.Framework.TestContext.WriteLine(System.Single)"> + <summary>Write the string representation of a Single value to the current result followed by a line terminator</summary> + </member> + <member name="M:NUnit.Framework.TestContext.WriteLine(System.String)"> + <summary>Write a string to the current result followed by a line terminator</summary> + </member> + <member name="M:NUnit.Framework.TestContext.WriteLine(System.UInt32)"> + <summary>Write the string representation of a UInt32 value to the current result followed by a line terminator</summary> + </member> + <member name="M:NUnit.Framework.TestContext.WriteLine(System.UInt64)"> + <summary>Write the string representation of a UInt64 value to the current result followed by a line terminator</summary> + </member> + <member name="M:NUnit.Framework.TestContext.WriteLine(System.String,System.Object)"> + <summary>Write a formatted string to the current result followed by a line terminator</summary> + </member> + <member name="M:NUnit.Framework.TestContext.WriteLine(System.String,System.Object,System.Object)"> + <summary>Write a formatted string to the current result followed by a line terminator</summary> + </member> + <member name="M:NUnit.Framework.TestContext.WriteLine(System.String,System.Object,System.Object,System.Object)"> + <summary>Write a formatted string to the current result followed by a line terminator</summary> + </member> + <member name="M:NUnit.Framework.TestContext.WriteLine(System.String,System.Object[])"> + <summary>Write a formatted string to the current result followed by a line terminator</summary> + </member> + <member name="M:NUnit.Framework.TestContext.AddFormatter(NUnit.Framework.Constraints.ValueFormatterFactory)"> + <summary> + 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. + </summary> + <param name="formatterFactory">The factory delegate</param> + </member> + <member name="M:NUnit.Framework.TestContext.AddTestAttachment(System.String,System.String)"> + <summary> + Attach a file to the current test result + </summary> + <param name="filePath">Relative or absolute file path to attachment</param> + <param name="description">Optional description of attachment</param> + </member> + <member name="M:NUnit.Framework.TestContext.AddFormatter``1(NUnit.Framework.Constraints.ValueFormatter)"> + <summary> + 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. + </summary> + <typeparam name="TSupported">The type supported by this formatter</typeparam> + <param name="formatter">The ValueFormatter delegate</param> + </member> + <member name="T:NUnit.Framework.TestContext.TestAdapter"> + <summary> + TestAdapter adapts a Test for consumption by + the user test code. + </summary> + </member> + <member name="M:NUnit.Framework.TestContext.TestAdapter.#ctor(NUnit.Framework.Internal.Test)"> + <summary> + Construct a TestAdapter for a Test + </summary> + <param name="test">The Test to be adapted</param> + </member> + <member name="P:NUnit.Framework.TestContext.TestAdapter.ID"> + <summary> + Gets the unique Id of a test + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.TestAdapter.Name"> + <summary> + The name of the test, which may or may not be + the same as the method name. + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.TestAdapter.MethodName"> + <summary> + The name of the method representing the test. + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.TestAdapter.FullName"> + <summary> + The FullName of the test + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.TestAdapter.ClassName"> + <summary> + The ClassName of the test + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.TestAdapter.Properties"> + <summary> + A shallow copy of the properties of the test. + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.TestAdapter.Arguments"> + <summary> + The arguments to use in creating the test or empty array if none are required. + </summary> + </member> + <member name="T:NUnit.Framework.TestContext.ResultAdapter"> + <summary> + ResultAdapter adapts a TestResult for consumption by + the user test code. + </summary> + </member> + <member name="M:NUnit.Framework.TestContext.ResultAdapter.#ctor(NUnit.Framework.Internal.TestResult)"> + <summary> + Construct a ResultAdapter for a TestResult + </summary> + <param name="result">The TestResult to be adapted</param> + </member> + <member name="P:NUnit.Framework.TestContext.ResultAdapter.Outcome"> + <summary> + Gets a ResultState representing the outcome of the test + up to this point in its execution. + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.ResultAdapter.Assertions"> + <summary> + Gets a list of the assertion results generated + up to this point in the test. + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.ResultAdapter.Message"> + <summary> + Gets the message associated with a test + failure or with not running the test + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.ResultAdapter.StackTrace"> + <summary> + Gets any stack trace associated with an + error or failure. + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.ResultAdapter.FailCount"> + <summary> + Gets the number of test cases that failed + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.ResultAdapter.WarningCount"> + <summary> + Gets the number of test cases that had warnings + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.ResultAdapter.PassCount"> + <summary> + Gets the number of test cases that passed + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.ResultAdapter.SkipCount"> + <summary> + Gets the number of test cases that were skipped + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.ResultAdapter.InconclusiveCount"> + <summary> + Gets the number of test cases that were inconclusive + when running the test and all its children. + </summary> + </member> + <member name="T:NUnit.Framework.TestContext.PropertyBagAdapter"> + <summary> + <see cref="T:NUnit.Framework.TestContext.PropertyBagAdapter"/> adapts an <see cref="T:NUnit.Framework.Interfaces.IPropertyBag"/> + for consumption by the user. + </summary> + </member> + <member name="M:NUnit.Framework.TestContext.PropertyBagAdapter.#ctor(NUnit.Framework.Interfaces.IPropertyBag)"> + <summary> + Construct a <see cref="T:NUnit.Framework.TestContext.PropertyBagAdapter"/> from a source + <see cref="T:NUnit.Framework.Interfaces.IPropertyBag"/>. + </summary> + </member> + <member name="M:NUnit.Framework.TestContext.PropertyBagAdapter.Get(System.String)"> + <summary> + Get the first property with the given <paramref name="key"/>, if it can be found, otherwise + returns null. + </summary> + </member> + <member name="M:NUnit.Framework.TestContext.PropertyBagAdapter.ContainsKey(System.String)"> + <summary> + Indicates whether <paramref name="key"/> is found in this + <see cref="T:NUnit.Framework.TestContext.PropertyBagAdapter"/>. + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.PropertyBagAdapter.Item(System.String)"> + <summary> + Returns a collection of properties + with the given <paramref name="key"/>. + </summary> + </member> + <member name="M:NUnit.Framework.TestContext.PropertyBagAdapter.Count(System.String)"> + <summary> + Returns the count of elements with the given <paramref name="key"/>. + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.PropertyBagAdapter.Keys"> + <summary> + Returns a collection of the property keys. + </summary> + </member> + <member name="T:NUnit.Framework.TestFixtureData"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.TestFixtureData.#ctor(System.Object[])"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.TestFixtureData"/> class. + </summary> + <param name="args">The arguments.</param> + </member> + <member name="M:NUnit.Framework.TestFixtureData.#ctor(System.Object)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.TestFixtureData"/> class. + </summary> + <param name="arg">The argument.</param> + </member> + <member name="M:NUnit.Framework.TestFixtureData.#ctor(System.Object,System.Object)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.TestFixtureData"/> class. + </summary> + <param name="arg1">The first argument.</param> + <param name="arg2">The second argument.</param> + </member> + <member name="M:NUnit.Framework.TestFixtureData.#ctor(System.Object,System.Object,System.Object)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.TestFixtureData"/> class. + </summary> + <param name="arg1">The first argument.</param> + <param name="arg2">The second argument.</param> + <param name="arg3">The third argument.</param> + </member> + <member name="M:NUnit.Framework.TestFixtureData.SetName(System.String)"> + <summary> + Sets the name of the test fixture + </summary> + <returns>The modified TestFixtureData instance</returns> + </member> + <member name="M:NUnit.Framework.TestFixtureData.SetArgDisplayNames(System.String[])"> + <summary> + Sets the list of display names to use as the parameters in the test name. + </summary> + </member> + <member name="M:NUnit.Framework.TestFixtureData.Explicit"> + <summary> + Marks the test fixture as explicit. + </summary> + </member> + <member name="M:NUnit.Framework.TestFixtureData.Explicit(System.String)"> + <summary> + Marks the test fixture as explicit, specifying the reason. + </summary> + </member> + <member name="M:NUnit.Framework.TestFixtureData.Ignore(System.String)"> + <summary> + Ignores this TestFixture, specifying the reason. + </summary> + <param name="reason">The reason.</param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.TestParameters"> + <summary> + TestParameters class holds any named parameters supplied to the test run + </summary> + </member> + <member name="P:NUnit.Framework.TestParameters.Count"> + <summary> + Gets the number of test parameters + </summary> + </member> + <member name="P:NUnit.Framework.TestParameters.Names"> + <summary> + Gets a collection of the test parameter names + </summary> + </member> + <member name="M:NUnit.Framework.TestParameters.Exists(System.String)"> + <summary> + Gets a flag indicating whether a parameter with the specified name exists. + </summary> + <param name="name">Name of the parameter</param> + <returns>True if it exists, otherwise false</returns> + </member> + <member name="P:NUnit.Framework.TestParameters.Item(System.String)"> + <summary> + Indexer provides access to the internal dictionary + </summary> + <param name="name">Name of the parameter</param> + <returns>Value of the parameter or null if not present</returns> + </member> + <member name="M:NUnit.Framework.TestParameters.Get(System.String)"> + <summary> + Get method is a simple alternative to the indexer + </summary> + <param name="name">Name of the parameter</param> + <returns>Value of the parameter or null if not present</returns> + </member> + <member name="M:NUnit.Framework.TestParameters.Get(System.String,System.String)"> + <summary> + Get the value of a parameter or a default string + </summary> + <param name="name">Name of the parameter</param> + <param name="defaultValue">Default value of the parameter</param> + <returns>Value of the parameter or default value if not present</returns> + </member> + <member name="M:NUnit.Framework.TestParameters.Get``1(System.String,``0)"> + <summary> + Get the value of a parameter or return a default + </summary> + <typeparam name="T">The return Type</typeparam> + <param name="name">Name of the parameter</param> + <param name="defaultValue">Default value of the parameter</param> + <returns>Value of the parameter or default value if not present</returns> + </member> + <member name="M:NUnit.Framework.TestParameters.Add(System.String,System.String)"> + <summary> + Adds a parameter to the list + </summary> + <param name="name">Name of the parameter</param> + <param name="value">Value of the parameter</param> + </member> + <member name="T:NUnit.Framework.Throws"> + <summary> + Helper class with properties and methods that supply + constraints that operate on exceptions. + </summary> + </member> + <member name="P:NUnit.Framework.Throws.Exception"> + <summary> + Creates a constraint specifying an expected exception + </summary> + </member> + <member name="P:NUnit.Framework.Throws.InnerException"> + <summary> + Creates a constraint specifying an exception with a given InnerException + </summary> + </member> + <member name="P:NUnit.Framework.Throws.TargetInvocationException"> + <summary> + Creates a constraint specifying an expected TargetInvocationException + </summary> + </member> + <member name="P:NUnit.Framework.Throws.ArgumentException"> + <summary> + Creates a constraint specifying an expected ArgumentException + </summary> + </member> + <member name="P:NUnit.Framework.Throws.ArgumentNullException"> + <summary> + Creates a constraint specifying an expected ArgumentNullException + </summary> + </member> + <member name="P:NUnit.Framework.Throws.InvalidOperationException"> + <summary> + Creates a constraint specifying an expected InvalidOperationException + </summary> + </member> + <member name="P:NUnit.Framework.Throws.Nothing"> + <summary> + Creates a constraint specifying that no exception is thrown + </summary> + </member> + <member name="M:NUnit.Framework.Throws.TypeOf(System.Type)"> + <summary> + Creates a constraint specifying the exact type of exception expected + </summary> + </member> + <member name="M:NUnit.Framework.Throws.TypeOf``1"> + <summary> + Creates a constraint specifying the exact type of exception expected + </summary> + </member> + <member name="M:NUnit.Framework.Throws.InstanceOf(System.Type)"> + <summary> + Creates a constraint specifying the type of exception expected + </summary> + </member> + <member name="M:NUnit.Framework.Throws.InstanceOf``1"> + <summary> + Creates a constraint specifying the type of exception expected + </summary> + </member> + <member name="T:NUnit.Framework.Warn"> + <summary> + Provides static methods to express conditions + that must be met for the test to succeed. If + any test fails, a warning is issued. + </summary> + </member> + <member name="M:NUnit.Framework.Warn.Equals(System.Object,System.Object)"> + <summary> + DO NOT USE! + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + </summary> + <param name="a">The left object.</param> + <param name="b">The right object.</param> + <returns>Not applicable</returns> + </member> + <member name="M:NUnit.Framework.Warn.ReferenceEquals(System.Object,System.Object)"> + <summary> + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + </summary> + <param name="a">The left object.</param> + <param name="b">The right object.</param> + </member> + <member name="M:NUnit.Framework.Warn.Unless``1(NUnit.Framework.Constraints.ActualValueDelegate{``0},NUnit.Framework.Constraints.IResolveConstraint)"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="del">An ActualValueDelegate returning the value to be tested</param> + <param name="expr">A Constraint expression to be applied</param> + </member> + <member name="M:NUnit.Framework.Warn.Unless``1(NUnit.Framework.Constraints.ActualValueDelegate{``0},NUnit.Framework.Constraints.IResolveConstraint,System.String,System.Object[])"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="del">An ActualValueDelegate returning the value to be tested</param> + <param name="expr">A Constraint expression to be applied</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Warn.Unless``1(NUnit.Framework.Constraints.ActualValueDelegate{``0},NUnit.Framework.Constraints.IResolveConstraint,System.Func{System.String})"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="del">An ActualValueDelegate returning the value to be tested</param> + <param name="expr">A Constraint expression to be applied</param> + <param name="getExceptionMessage">A function to build the message included with the Exception</param> + </member> + <member name="M:NUnit.Framework.Warn.Unless(System.Boolean,System.String,System.Object[])"> + <summary> + Asserts that a condition is true. If the condition is false, a warning is issued. + </summary> + <param name="condition">The evaluated condition</param> + <param name="message">The message to display if the condition is false</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Warn.Unless(System.Boolean)"> + <summary> + Asserts that a condition is true. If the condition is false, a warning is issued. + </summary> + <param name="condition">The evaluated condition</param> + </member> + <member name="M:NUnit.Framework.Warn.Unless(System.Boolean,System.Func{System.String})"> + <summary> + Asserts that a condition is true. If the condition is false, a warning is issued. + </summary> + <param name="condition">The evaluated condition</param> + <param name="getExceptionMessage">A function to build the message included with the Exception</param> + </member> + <member name="M:NUnit.Framework.Warn.Unless(System.Func{System.Boolean},System.String,System.Object[])"> + <summary> + Asserts that a condition is true. If the condition is false, a warning is issued. + </summary> + <param name="condition">A lambda that returns a Boolean</param> + <param name="message">The message to display if the condition is false</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Warn.Unless(System.Func{System.Boolean})"> + <summary> + Asserts that a condition is true. If the condition is false, a warning is issued. + </summary> + <param name="condition">A lambda that returns a Boolean</param> + </member> + <member name="M:NUnit.Framework.Warn.Unless(System.Func{System.Boolean},System.Func{System.String})"> + <summary> + Asserts that a condition is true. If the condition is false, a warning is issued. + </summary> + <param name="condition">A lambda that returns a Boolean</param> + <param name="getExceptionMessage">A function to build the message included with the Exception</param> + </member> + <member name="M:NUnit.Framework.Warn.Unless(NUnit.Framework.TestDelegate,NUnit.Framework.Constraints.IResolveConstraint)"> + <summary> + Asserts that the code represented by a delegate throws an exception + that satisfies the constraint provided. + </summary> + <param name="code">A TestDelegate to be executed</param> + <param name="constraint">A Constraint expression to be applied</param> + </member> + <member name="M:NUnit.Framework.Warn.Unless``1(``0,NUnit.Framework.Constraints.IResolveConstraint)"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="actual">The actual value to test</param> + <param name="expression">A Constraint expression to be applied</param> + </member> + <member name="M:NUnit.Framework.Warn.Unless``1(``0,NUnit.Framework.Constraints.IResolveConstraint,System.String,System.Object[])"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="actual">The actual value to test</param> + <param name="expression">A Constraint expression to be applied</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Warn.Unless``1(``0,NUnit.Framework.Constraints.IResolveConstraint,System.Func{System.String})"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="actual">The actual value to test</param> + <param name="expression">A Constraint expression to be applied</param> + <param name="getExceptionMessage">A function to build the message included with the Exception</param> + </member> + <member name="M:NUnit.Framework.Warn.If``1(NUnit.Framework.Constraints.ActualValueDelegate{``0},NUnit.Framework.Constraints.IResolveConstraint)"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + fails and issuing a warning on success. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="del">An ActualValueDelegate returning the value to be tested</param> + <param name="expr">A Constraint expression to be applied</param> + </member> + <member name="M:NUnit.Framework.Warn.If``1(NUnit.Framework.Constraints.ActualValueDelegate{``0},NUnit.Framework.Constraints.IResolveConstraint,System.String,System.Object[])"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + fails and issuing a warning on success. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="del">An ActualValueDelegate returning the value to be tested</param> + <param name="expr">A Constraint expression to be applied</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Warn.If``1(NUnit.Framework.Constraints.ActualValueDelegate{``0},NUnit.Framework.Constraints.IResolveConstraint,System.Func{System.String})"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + fails and issuing a warning on failure. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="del">An ActualValueDelegate returning the value to be tested</param> + <param name="expr">A Constraint expression to be applied</param> + <param name="getExceptionMessage">A function to build the message included with the Exception</param> + </member> + <member name="M:NUnit.Framework.Warn.If(System.Boolean,System.String,System.Object[])"> + <summary> + Asserts that a condition is true. If the condition is false, a warning is issued. + </summary> + <param name="condition">The evaluated condition</param> + <param name="message">The message to display if the condition is false</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Warn.If(System.Boolean)"> + <summary> + Asserts that a condition is true. If the condition is false, a warning is issued. + </summary> + <param name="condition">The evaluated condition</param> + </member> + <member name="M:NUnit.Framework.Warn.If(System.Boolean,System.Func{System.String})"> + <summary> + Asserts that a condition is true. If the condition is false, a warning is issued. + </summary> + <param name="condition">The evaluated condition</param> + <param name="getExceptionMessage">A function to build the message included with the Exception</param> + </member> + <member name="M:NUnit.Framework.Warn.If(System.Func{System.Boolean},System.String,System.Object[])"> + <summary> + Asserts that a condition is false. If the condition is true a warning is issued. + </summary> + <param name="condition">A lambda that returns a Boolean</param> + <param name="message">The message to display if the condition is true</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Warn.If(System.Func{System.Boolean})"> + <summary> + Asserts that a condition is false. If the condition is true a warning is issued. + </summary> + <param name="condition">A lambda that returns a Boolean</param> + </member> + <member name="M:NUnit.Framework.Warn.If(System.Func{System.Boolean},System.Func{System.String})"> + <summary> + Asserts that a condition is false. If the condition is true a warning is issued. + </summary> + <param name="condition">A lambda that returns a Boolean</param> + <param name="getExceptionMessage">A function to build the message included with the Exception</param> + </member> + <member name="M:NUnit.Framework.Warn.If``1(``0,NUnit.Framework.Constraints.IResolveConstraint)"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + fails and issuing a warning if it succeeds. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="actual">The actual value to test</param> + <param name="expression">A Constraint expression to be applied</param> + </member> + <member name="M:NUnit.Framework.Warn.If``1(``0,NUnit.Framework.Constraints.IResolveConstraint,System.String,System.Object[])"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + fails and issuing a warning if it succeeds. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="actual">The actual value to test</param> + <param name="expression">A Constraint expression to be applied</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Warn.If``1(``0,NUnit.Framework.Constraints.IResolveConstraint,System.Func{System.String})"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="actual">The actual value to test</param> + <param name="expression">A Constraint expression to be applied</param> + <param name="getExceptionMessage">A function to build the message included with the Exception</param> + </member> + <member name="T:NUnit.FrameworkPackageSettings"> + <summary> + 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. + </summary> + </member> + <member name="F:NUnit.FrameworkPackageSettings.DebugTests"> + <summary> + Flag (bool) indicating whether tests are being debugged. + </summary> + </member> + <member name="F:NUnit.FrameworkPackageSettings.PauseBeforeRun"> + <summary> + Flag (bool) indicating whether to pause execution of tests to allow + the user to attach a debugger. + </summary> + </member> + <member name="F:NUnit.FrameworkPackageSettings.InternalTraceLevel"> + <summary> + The InternalTraceLevel for this run. Values are: "Default", + "Off", "Error", "Warning", "Info", "Debug", "Verbose". + Default is "Off". "Debug" and "Verbose" are synonyms. + </summary> + </member> + <member name="F:NUnit.FrameworkPackageSettings.WorkDirectory"> + <summary> + Full path of the directory to be used for work and result files. + This path is provided to tests by the framework TestContext. + </summary> + </member> + <member name="F:NUnit.FrameworkPackageSettings.DefaultTimeout"> + <summary> + 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. + </summary> + </member> + <member name="F:NUnit.FrameworkPackageSettings.DefaultCulture"> + <summary> + 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. + </summary> + </member> + <member name="F:NUnit.FrameworkPackageSettings.DefaultUICulture"> + <summary> + 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. + </summary> + </member> + <member name="F:NUnit.FrameworkPackageSettings.InternalTraceWriter"> + <summary> + A TextWriter to which the internal trace will be sent. + </summary> + </member> + <member name="F:NUnit.FrameworkPackageSettings.LOAD"> + <summary> + A list of tests to be loaded. + </summary> + </member> + <member name="F:NUnit.FrameworkPackageSettings.NumberOfTestWorkers"> + <summary> + 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. + </summary> + </member> + <member name="F:NUnit.FrameworkPackageSettings.RandomSeed"> + <summary> + 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. + </summary> + </member> + <member name="F:NUnit.FrameworkPackageSettings.StopOnError"> + <summary> + If true, execution stops after the first error or failure. + </summary> + </member> + <member name="F:NUnit.FrameworkPackageSettings.SynchronousEvents"> + <summary> + If true, use of the event queue is suppressed and test events are synchronous. + </summary> + </member> + <member name="F:NUnit.FrameworkPackageSettings.DefaultTestNamePattern"> + <summary> + The default naming pattern used in generating test names + </summary> + </member> + <member name="F:NUnit.FrameworkPackageSettings.TestParameters"> + <summary> + Parameters to be passed on to the tests, serialized to a single string which needs parsing. Obsoleted by <see cref="F:NUnit.FrameworkPackageSettings.TestParametersDictionary"/>; kept for backward compatibility. + </summary> + </member> + <member name="F:NUnit.FrameworkPackageSettings.TestParametersDictionary"> + <summary> + Parameters to be passed on to the tests, already parsed into an IDictionary<string, string>. Replaces <see cref="F:NUnit.FrameworkPackageSettings.TestParameters"/>. + </summary> + </member> + <member name="F:NUnit.FrameworkPackageSettings.RunOnMainThread"> + <summary> + If true, the tests will run on the same thread as the NUnit runner itself + </summary> + </member> + <member name="T:NUnit.Compatibility.AttributeHelper"> + <summary> + Provides a platform-independent methods for getting attributes + for use by AttributeConstraint and AttributeExistsConstraint. + </summary> + </member> + <member name="M:NUnit.Compatibility.AttributeHelper.GetCustomAttributes(System.Object,System.Type,System.Boolean)"> + <summary> + Gets the custom attributes from the given object. + </summary> + <param name="actual">The actual.</param> + <param name="attributeType">Type of the attribute.</param> + <param name="inherit">if set to <see langword="true"/> [inherit].</param> + <returns>A list of the given attribute on the given object.</returns> + </member> + <member name="T:NUnit.Compatibility.LongLivedMarshalByRefObject"> + <summary> + A MarshalByRefObject that lives forever + </summary> + </member> + <member name="M:NUnit.Compatibility.LongLivedMarshalByRefObject.InitializeLifetimeService"> + <summary> + Obtains a lifetime service object to control the lifetime policy for this instance. + </summary> + </member> + <member name="T:System.Diagnostics.CodeAnalysis.AllowNullAttribute"> + <summary>Specifies that null is allowed as an input even if the corresponding type disallows it.</summary> + </member> + <member name="T:System.Diagnostics.CodeAnalysis.DisallowNullAttribute"> + <summary>Specifies that null is disallowed as an input even if the corresponding type allows it.</summary> + </member> + <member name="T:System.Diagnostics.CodeAnalysis.MaybeNullAttribute"> + <summary>Specifies that an output may be null even if the corresponding type disallows it.</summary> + </member> + <member name="T:System.Diagnostics.CodeAnalysis.NotNullAttribute"> + <summary>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.</summary> + </member> + <member name="T:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute"> + <summary>Specifies that when a method returns <see cref="P:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute.ReturnValue"/>, the parameter may be null even if the corresponding type disallows it.</summary> + </member> + <member name="M:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute.#ctor(System.Boolean)"> + <summary>Initializes the attribute with the specified return value condition.</summary> + <param name="returnValue"> + The return value condition. If the method returns this value, the associated parameter may be null. + </param> + </member> + <member name="P:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute.ReturnValue"> + <summary>Gets the return value condition.</summary> + </member> + <member name="T:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute"> + <summary>Specifies that when a method returns <see cref="P:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute.ReturnValue"/>, the parameter will not be null even if the corresponding type allows it.</summary> + </member> + <member name="M:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute.#ctor(System.Boolean)"> + <summary>Initializes the attribute with the specified return value condition.</summary> + <param name="returnValue"> + The return value condition. If the method returns this value, the associated parameter will not be null. + </param> + </member> + <member name="P:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute.ReturnValue"> + <summary>Gets the return value condition.</summary> + </member> + <member name="T:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute"> + <summary>Specifies that the output will be non-null if the named parameter is non-null.</summary> + </member> + <member name="M:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute.#ctor(System.String)"> + <summary>Initializes the attribute with the associated parameter name.</summary> + <param name="parameterName"> + The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null. + </param> + </member> + <member name="P:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute.ParameterName"> + <summary>Gets the associated parameter name.</summary> + </member> + <member name="T:System.Diagnostics.CodeAnalysis.DoesNotReturnAttribute"> + <summary>Applied to a method that will never return under any circumstance.</summary> + </member> + <member name="T:System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute"> + <summary>Specifies that the method will not return if the associated Boolean parameter is passed the specified value.</summary> + </member> + <member name="M:System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute.#ctor(System.Boolean)"> + <summary>Initializes the attribute with the specified parameter value.</summary> + <param name="parameterValue"> + The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to + the associated parameter matches this value. + </param> + </member> + <member name="P:System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute.ParameterValue"> + <summary>Gets the condition parameter value.</summary> + </member> + </members> +</doc> diff --git a/Aufgabe3/packages/NUnit.3.13.3/lib/netstandard2.0/nunit.framework.dll b/Aufgabe3/packages/NUnit.3.13.3/lib/netstandard2.0/nunit.framework.dll new file mode 100644 index 0000000000000000000000000000000000000000..16e3f3b03dbe8f8fa379672851d53975dba6d25c GIT binary patch literal 486912 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�R|+L~r@M<>rxcgT^9mU!_!_ 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ȥ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 Cm(ipE literal 0 HcmV?d00001 diff --git a/Aufgabe3/packages/NUnit.3.13.3/lib/netstandard2.0/nunit.framework.xml b/Aufgabe3/packages/NUnit.3.13.3/lib/netstandard2.0/nunit.framework.xml new file mode 100644 index 0000000..ddd3e72 --- /dev/null +++ b/Aufgabe3/packages/NUnit.3.13.3/lib/netstandard2.0/nunit.framework.xml @@ -0,0 +1,21295 @@ +<?xml version="1.0"?> +<doc> + <assembly> + <name>nunit.framework</name> + </assembly> + <members> + <member name="T:NUnit.Framework.ActionTargets"> + <summary> + The different targets a test action attribute can be applied to + </summary> + </member> + <member name="F:NUnit.Framework.ActionTargets.Default"> + <summary> + Default target, which is determined by where the action attribute is attached + </summary> + </member> + <member name="F:NUnit.Framework.ActionTargets.Test"> + <summary> + Target a individual test case + </summary> + </member> + <member name="F:NUnit.Framework.ActionTargets.Suite"> + <summary> + Target a suite of test cases + </summary> + </member> + <member name="T:NUnit.Framework.Api.DefaultTestAssemblyBuilder"> + <summary> + DefaultTestAssemblyBuilder loads a single assembly and builds a TestSuite + containing test fixtures present in the assembly. + </summary> + </member> + <member name="F:NUnit.Framework.Api.DefaultTestAssemblyBuilder._defaultSuiteBuilder"> + <summary> + The default suite builder used by the test assembly builder. + </summary> + </member> + <member name="M:NUnit.Framework.Api.DefaultTestAssemblyBuilder.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Api.DefaultTestAssemblyBuilder"/> class. + </summary> + </member> + <member name="M:NUnit.Framework.Api.DefaultTestAssemblyBuilder.Build(System.Reflection.Assembly,System.Collections.Generic.IDictionary{System.String,System.Object})"> + <summary> + Build a suite of tests from a provided assembly + </summary> + <param name="assembly">The assembly from which tests are to be built</param> + <param name="options">A dictionary of options to use in building the suite</param> + <returns> + A TestSuite containing the tests found in the assembly + </returns> + </member> + <member name="M:NUnit.Framework.Api.DefaultTestAssemblyBuilder.Build(System.String,System.Collections.Generic.IDictionary{System.String,System.Object})"> + <summary> + Build a suite of tests given the name or the location of an assembly + </summary> + <param name="assemblyNameOrPath">The name or the location of the assembly.</param> + <param name="options">A dictionary of options to use in building the suite</param> + <returns> + A TestSuite containing the tests found in the assembly + </returns> + </member> + <member name="T:NUnit.Framework.Api.FrameworkController"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Api.FrameworkController.#ctor(System.String,System.String,System.Collections.IDictionary)"> + <summary> + Construct a FrameworkController using the default builder and runner. + </summary> + <param name="assemblyNameOrPath">The AssemblyName or path to the test assembly</param> + <param name="idPrefix">A prefix used for all test ids created under this controller.</param> + <param name="settings">A Dictionary of settings to use in loading and running the tests</param> + </member> + <member name="M:NUnit.Framework.Api.FrameworkController.#ctor(System.Reflection.Assembly,System.String,System.Collections.IDictionary)"> + <summary> + Construct a FrameworkController using the default builder and runner. + </summary> + <param name="assembly">The test assembly</param> + <param name="idPrefix">A prefix used for all test ids created under this controller.</param> + <param name="settings">A Dictionary of settings to use in loading and running the tests</param> + </member> + <member name="M:NUnit.Framework.Api.FrameworkController.#ctor(System.String,System.String,System.Collections.IDictionary,System.String,System.String)"> + <summary> + Construct a FrameworkController, specifying the types to be used + for the runner and builder. This constructor is provided for + purposes of development. + </summary> + <param name="assemblyNameOrPath">The full AssemblyName or the path to the test assembly</param> + <param name="idPrefix">A prefix used for all test ids created under this controller.</param> + <param name="settings">A Dictionary of settings to use in loading and running the tests</param> + <param name="runnerType">The Type of the test runner</param> + <param name="builderType">The Type of the test builder</param> + </member> + <member name="M:NUnit.Framework.Api.FrameworkController.#ctor(System.Reflection.Assembly,System.String,System.Collections.IDictionary,System.String,System.String)"> + <summary> + Construct a FrameworkController, specifying the types to be used + for the runner and builder. This constructor is provided for + purposes of development. + </summary> + <param name="assembly">The test assembly</param> + <param name="idPrefix">A prefix used for all test ids created under this controller.</param> + <param name="settings">A Dictionary of settings to use in loading and running the tests</param> + <param name="runnerType">The Type of the test runner</param> + <param name="builderType">The Type of the test builder</param> + </member> + <member name="P:NUnit.Framework.Api.FrameworkController.Builder"> + <summary> + Gets the ITestAssemblyBuilder used by this controller instance. + </summary> + <value>The builder.</value> + </member> + <member name="P:NUnit.Framework.Api.FrameworkController.Runner"> + <summary> + Gets the ITestAssemblyRunner used by this controller instance. + </summary> + <value>The runner.</value> + </member> + <member name="P:NUnit.Framework.Api.FrameworkController.AssemblyNameOrPath"> + <summary> + Gets the AssemblyName or the path for which this FrameworkController was created + </summary> + </member> + <member name="P:NUnit.Framework.Api.FrameworkController.Assembly"> + <summary> + Gets the Assembly for which this + </summary> + </member> + <member name="P:NUnit.Framework.Api.FrameworkController.Settings"> + <summary> + Gets a dictionary of settings for the FrameworkController + </summary> + </member> + <member name="M:NUnit.Framework.Api.FrameworkController.LoadTests"> + <summary> + Loads the tests in the assembly + </summary> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Api.FrameworkController.ExploreTests(System.String)"> + <summary> + Returns info about the tests in an assembly + </summary> + <param name="filter">A string containing the XML representation of the filter to use</param> + <returns>The XML result of exploring the tests</returns> + </member> + <member name="M:NUnit.Framework.Api.FrameworkController.RunTests(System.String)"> + <summary> + Runs the tests in an assembly + </summary> + <param name="filter">A string containing the XML representation of the filter to use</param> + <returns>The XML result of the test run</returns> + </member> + <member name="M:NUnit.Framework.Api.FrameworkController.RunTests(System.Action{System.String},System.String)"> + <summary> + Runs the tests in an assembly synchronously reporting back the test results through the callback + or through the return value + </summary> + <param name="callback">The callback that receives the test results</param> + <param name="filter">A string containing the XML representation of the filter to use</param> + <returns>The XML result of the test run</returns> + </member> + <member name="M:NUnit.Framework.Api.FrameworkController.RunAsync(System.Action{System.String},System.String)"> + <summary> + Runs the tests in an assembly asynchronously reporting back the test results through the callback + </summary> + <param name="callback">The callback that receives the test results</param> + <param name="filter">A string containing the XML representation of the filter to use</param> + </member> + <member name="M:NUnit.Framework.Api.FrameworkController.StopRun(System.Boolean)"> + <summary> + Stops the test run + </summary> + <param name="force">True to force the stop, false for a cooperative stop</param> + </member> + <member name="M:NUnit.Framework.Api.FrameworkController.CountTests(System.String)"> + <summary> + Counts the number of test cases in the loaded TestSuite + </summary> + <param name="filter">A string containing the XML representation of the filter to use</param> + <returns>The number of tests</returns> + </member> + <member name="M:NUnit.Framework.Api.FrameworkController.InsertChildElements(NUnit.Framework.Interfaces.TNode)"> + <summary> + Inserts the environment and settings elements + </summary> + <param name="targetNode">Target node</param> + <returns>The updated target node</returns> + </member> + <member name="M:NUnit.Framework.Api.FrameworkController.InsertEnvironmentElement(NUnit.Framework.Interfaces.TNode)"> + <summary> + Inserts environment element + </summary> + <param name="targetNode">Target node</param> + <returns>The new node</returns> + </member> + <member name="M:NUnit.Framework.Api.FrameworkController.InsertSettingsElement(NUnit.Framework.Interfaces.TNode,System.Collections.Generic.IDictionary{System.String,System.Object})"> + <summary> + Inserts settings element + </summary> + <param name="targetNode">Target node</param> + <param name="settings">Settings dictionary</param> + <returns>The new node</returns> + </member> + <member name="T:NUnit.Framework.Api.FrameworkController.FrameworkControllerAction"> + <summary> + FrameworkControllerAction is the base class for all actions + performed against a FrameworkController. + </summary> + </member> + <member name="T:NUnit.Framework.Api.FrameworkController.LoadTestsAction"> + <summary> + LoadTestsAction loads a test into the FrameworkController + </summary> + </member> + <member name="M:NUnit.Framework.Api.FrameworkController.LoadTestsAction.#ctor(NUnit.Framework.Api.FrameworkController,System.Object)"> + <summary> + LoadTestsAction loads the tests in an assembly. + </summary> + <param name="controller">The controller.</param> + <param name="handler">The callback handler.</param> + </member> + <member name="T:NUnit.Framework.Api.FrameworkController.ExploreTestsAction"> + <summary> + ExploreTestsAction returns info about the tests in an assembly + </summary> + </member> + <member name="M:NUnit.Framework.Api.FrameworkController.ExploreTestsAction.#ctor(NUnit.Framework.Api.FrameworkController,System.String,System.Object)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Api.FrameworkController.ExploreTestsAction"/> class. + </summary> + <param name="controller">The controller for which this action is being performed.</param> + <param name="filter">Filter used to control which tests are included (NYI)</param> + <param name="handler">The callback handler.</param> + </member> + <member name="T:NUnit.Framework.Api.FrameworkController.CountTestsAction"> + <summary> + CountTestsAction counts the number of test cases in the loaded TestSuite + held by the FrameworkController. + </summary> + </member> + <member name="M:NUnit.Framework.Api.FrameworkController.CountTestsAction.#ctor(NUnit.Framework.Api.FrameworkController,System.String,System.Object)"> + <summary> + Construct a CountsTestAction and perform the count of test cases. + </summary> + <param name="controller">A FrameworkController holding the TestSuite whose cases are to be counted</param> + <param name="filter">A string containing the XML representation of the filter to use</param> + <param name="handler">A callback handler used to report results</param> + </member> + <member name="T:NUnit.Framework.Api.FrameworkController.RunTestsAction"> + <summary> + RunTestsAction runs the loaded TestSuite held by the FrameworkController. + </summary> + </member> + <member name="M:NUnit.Framework.Api.FrameworkController.RunTestsAction.#ctor(NUnit.Framework.Api.FrameworkController,System.String,System.Object)"> + <summary> + Construct a RunTestsAction and run all tests in the loaded TestSuite. + </summary> + <param name="controller">A FrameworkController holding the TestSuite to run</param> + <param name="filter">A string containing the XML representation of the filter to use</param> + <param name="handler">A callback handler used to report results</param> + </member> + <member name="T:NUnit.Framework.Api.FrameworkController.RunAsyncAction"> + <summary> + RunAsyncAction initiates an asynchronous test run, returning immediately + </summary> + </member> + <member name="M:NUnit.Framework.Api.FrameworkController.RunAsyncAction.#ctor(NUnit.Framework.Api.FrameworkController,System.String,System.Object)"> + <summary> + Construct a RunAsyncAction and run all tests in the loaded TestSuite. + </summary> + <param name="controller">A FrameworkController holding the TestSuite to run</param> + <param name="filter">A string containing the XML representation of the filter to use</param> + <param name="handler">A callback handler used to report results</param> + </member> + <member name="T:NUnit.Framework.Api.FrameworkController.StopRunAction"> + <summary> + StopRunAction stops an ongoing run. + </summary> + </member> + <member name="M:NUnit.Framework.Api.FrameworkController.StopRunAction.#ctor(NUnit.Framework.Api.FrameworkController,System.Boolean,System.Object)"> + <summary> + Construct a StopRunAction and stop any ongoing run. If no + run is in process, no error is raised. + </summary> + <param name="controller">The FrameworkController for which a run is to be stopped.</param> + <param name="force">True the stop should be forced, false for a cooperative stop.</param> + <param name="handler">>A callback handler used to report results</param> + <remarks>A forced stop will cause threads and processes to be killed as needed.</remarks> + </member> + <member name="T:NUnit.Framework.Api.ITestAssemblyBuilder"> + <summary> + The ITestAssemblyBuilder interface is implemented by a class + that is able to build a suite of tests given an assembly or + an assembly filename. + </summary> + </member> + <member name="M:NUnit.Framework.Api.ITestAssemblyBuilder.Build(System.Reflection.Assembly,System.Collections.Generic.IDictionary{System.String,System.Object})"> + <summary> + Build a suite of tests from a provided assembly + </summary> + <param name="assembly">The assembly from which tests are to be built</param> + <param name="options">A dictionary of options to use in building the suite</param> + <returns>A TestSuite containing the tests found in the assembly</returns> + </member> + <member name="M:NUnit.Framework.Api.ITestAssemblyBuilder.Build(System.String,System.Collections.Generic.IDictionary{System.String,System.Object})"> + <summary> + Build a suite of tests given the filename of an assembly + </summary> + <param name="assemblyName">The filename of the assembly from which tests are to be built</param> + <param name="options">A dictionary of options to use in building the suite</param> + <returns>A TestSuite containing the tests found in the assembly</returns> + </member> + <member name="T:NUnit.Framework.Api.ITestAssemblyRunner"> + <summary> + The ITestAssemblyRunner interface is implemented by classes + that are able to execute a suite of tests loaded + from an assembly. + </summary> + </member> + <member name="P:NUnit.Framework.Api.ITestAssemblyRunner.LoadedTest"> + <summary> + Gets the tree of loaded tests, or null if + no tests have been loaded. + </summary> + </member> + <member name="P:NUnit.Framework.Api.ITestAssemblyRunner.Result"> + <summary> + Gets the tree of test results, if the test + run is completed, otherwise null. + </summary> + </member> + <member name="P:NUnit.Framework.Api.ITestAssemblyRunner.IsTestLoaded"> + <summary> + Indicates whether a test has been loaded + </summary> + </member> + <member name="P:NUnit.Framework.Api.ITestAssemblyRunner.IsTestRunning"> + <summary> + Indicates whether a test is currently running + </summary> + </member> + <member name="P:NUnit.Framework.Api.ITestAssemblyRunner.IsTestComplete"> + <summary> + Indicates whether a test run is complete + </summary> + </member> + <member name="M:NUnit.Framework.Api.ITestAssemblyRunner.Load(System.String,System.Collections.Generic.IDictionary{System.String,System.Object})"> + <summary> + Loads the tests found in an Assembly, returning an + indication of whether or not the load succeeded. + </summary> + <param name="assemblyName">File name of the assembly to load</param> + <param name="settings">Dictionary of options to use in loading the test</param> + <returns>An ITest representing the loaded tests</returns> + </member> + <member name="M:NUnit.Framework.Api.ITestAssemblyRunner.Load(System.Reflection.Assembly,System.Collections.Generic.IDictionary{System.String,System.Object})"> + <summary> + Loads the tests found in an Assembly, returning an + indication of whether or not the load succeeded. + </summary> + <param name="assembly">The assembly to load</param> + <param name="settings">Dictionary of options to use in loading the test</param> + <returns>An ITest representing the loaded tests</returns> + </member> + <member name="M:NUnit.Framework.Api.ITestAssemblyRunner.CountTestCases(NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Count Test Cases using a filter + </summary> + <param name="filter">The filter to apply</param> + <returns>The number of test cases found</returns> + </member> + <member name="M:NUnit.Framework.Api.ITestAssemblyRunner.ExploreTests(NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Explore the test cases using a filter + </summary> + <param name="filter">The filter to apply</param> + <returns>Test Assembly with test cases that matches the filter</returns> + </member> + <member name="M:NUnit.Framework.Api.ITestAssemblyRunner.Run(NUnit.Framework.Interfaces.ITestListener,NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Run selected tests and return a test result. The test is run synchronously, + and the listener interface is notified as it progresses. + </summary> + <param name="listener">Interface to receive ITestListener notifications.</param> + <param name="filter">A test filter used to select tests to be run</param> + </member> + <member name="M:NUnit.Framework.Api.ITestAssemblyRunner.RunAsync(NUnit.Framework.Interfaces.ITestListener,NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Run selected tests asynchronously, notifying the listener interface as it progresses. + </summary> + <param name="listener">Interface to receive EventListener notifications.</param> + <param name="filter">A test filter used to select tests to be run</param> + </member> + <member name="M:NUnit.Framework.Api.ITestAssemblyRunner.WaitForCompletion(System.Int32)"> + <summary> + Wait for the ongoing run to complete. + </summary> + <param name="timeout">Time to wait in milliseconds</param> + <returns>True if the run completed, otherwise false</returns> + </member> + <member name="M:NUnit.Framework.Api.ITestAssemblyRunner.StopRun(System.Boolean)"> + <summary> + Signal any test run that is in process to stop. Return without error if no test is running. + </summary> + <param name="force">If true, kill any test-running threads</param> + </member> + <member name="T:NUnit.Framework.Api.NUnitTestAssemblyRunner"> + <summary> + Implementation of ITestAssemblyRunner + </summary> + </member> + <member name="M:NUnit.Framework.Api.NUnitTestAssemblyRunner.#ctor(NUnit.Framework.Api.ITestAssemblyBuilder)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Api.NUnitTestAssemblyRunner"/> class. + </summary> + <param name="builder">The builder.</param> + </member> + <member name="P:NUnit.Framework.Api.NUnitTestAssemblyRunner.DefaultLevelOfParallelism"> + <summary> + Gets the default level of parallel execution (worker threads) + </summary> + </member> + <member name="P:NUnit.Framework.Api.NUnitTestAssemblyRunner.LoadedTest"> + <summary> + The tree of tests that was loaded by the builder + </summary> + </member> + <member name="P:NUnit.Framework.Api.NUnitTestAssemblyRunner.Result"> + <summary> + The test result, if a run has completed + </summary> + </member> + <member name="P:NUnit.Framework.Api.NUnitTestAssemblyRunner.IsTestLoaded"> + <summary> + Indicates whether a test is loaded + </summary> + </member> + <member name="P:NUnit.Framework.Api.NUnitTestAssemblyRunner.IsTestRunning"> + <summary> + Indicates whether a test is running + </summary> + </member> + <member name="P:NUnit.Framework.Api.NUnitTestAssemblyRunner.IsTestComplete"> + <summary> + Indicates whether a test run is complete + </summary> + </member> + <member name="P:NUnit.Framework.Api.NUnitTestAssemblyRunner.Settings"> + <summary> + Our settings, specified when loading the assembly + </summary> + </member> + <member name="P:NUnit.Framework.Api.NUnitTestAssemblyRunner.TopLevelWorkItem"> + <summary> + The top level WorkItem created for the assembly as a whole + </summary> + </member> + <member name="P:NUnit.Framework.Api.NUnitTestAssemblyRunner.Context"> + <summary> + The TestExecutionContext for the top level WorkItem + </summary> + </member> + <member name="M:NUnit.Framework.Api.NUnitTestAssemblyRunner.Load(System.String,System.Collections.Generic.IDictionary{System.String,System.Object})"> + <summary> + Loads the tests found in an Assembly + </summary> + <param name="assemblyNameOrPath">File name or path of the assembly to load</param> + <param name="settings">Dictionary of option settings for loading the assembly</param> + <returns>A Test Assembly containing all loaded tests</returns> + </member> + <member name="M:NUnit.Framework.Api.NUnitTestAssemblyRunner.Load(System.Reflection.Assembly,System.Collections.Generic.IDictionary{System.String,System.Object})"> + <summary> + Loads the tests found in an Assembly + </summary> + <param name="assembly">The assembly to load</param> + <param name="settings">Dictionary of option settings for loading the assembly</param> + <returns>A Test Assembly containing all loaded tests</returns> + </member> + <member name="M:NUnit.Framework.Api.NUnitTestAssemblyRunner.CountTestCases(NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Count Test Cases using a filter + </summary> + <param name="filter">The filter to apply</param> + <returns>The number of test cases found</returns> + </member> + <member name="M:NUnit.Framework.Api.NUnitTestAssemblyRunner.ExploreTests(NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Explore the test cases using a filter + </summary> + <param name="filter">The filter to apply</param> + <returns>Test Assembly with test cases that matches the filter</returns> + </member> + <member name="M:NUnit.Framework.Api.NUnitTestAssemblyRunner.Run(NUnit.Framework.Interfaces.ITestListener,NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Run selected tests and return a test result. The test is run synchronously, + and the listener interface is notified as it progresses. + </summary> + <param name="listener">Interface to receive EventListener notifications.</param> + <param name="filter">A test filter used to select tests to be run</param> + <returns>The test results from the run</returns> + </member> + <member name="M:NUnit.Framework.Api.NUnitTestAssemblyRunner.RunAsync(NUnit.Framework.Interfaces.ITestListener,NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Run selected tests asynchronously, notifying the listener interface as it progresses. + </summary> + <param name="listener">Interface to receive EventListener notifications.</param> + <param name="filter">A test filter used to select tests to be run</param> + <remarks> + RunAsync is a template method, calling various abstract and + virtual methods to be overridden by derived classes. + </remarks> + </member> + <member name="M:NUnit.Framework.Api.NUnitTestAssemblyRunner.WaitForCompletion(System.Int32)"> + <summary> + Wait for the ongoing run to complete. + </summary> + <param name="timeout">Time to wait in milliseconds</param> + <returns>True if the run completed, otherwise false</returns> + </member> + <member name="M:NUnit.Framework.Api.NUnitTestAssemblyRunner.StopRun(System.Boolean)"> + <summary> + Signal any test run that is in process to stop. Return without error if no test is running. + </summary> + <param name="force">If true, kill any tests that are currently running</param> + </member> + <member name="M:NUnit.Framework.Api.NUnitTestAssemblyRunner.StartRun(NUnit.Framework.Interfaces.ITestListener)"> + <summary> + Initiate the test run. + </summary> + </member> + <member name="M:NUnit.Framework.Api.NUnitTestAssemblyRunner.CreateTestExecutionContext(NUnit.Framework.Interfaces.ITestListener)"> + <summary> + Create the initial TestExecutionContext used to run tests + </summary> + <param name="listener">The ITestListener specified in the RunAsync call</param> + </member> + <member name="M:NUnit.Framework.Api.NUnitTestAssemblyRunner.OnRunCompleted(System.Object,System.EventArgs)"> + <summary> + Handle the Completed event for the top level work item + </summary> + </member> + <member name="M:NUnit.Framework.Api.NUnitTestAssemblyRunner.WrapInNUnitCallContext(System.Action)"> + <summary> + This method is a no-op in .NET Standard builds. + </summary> + </member> + <member name="T:NUnit.Framework.Assert"> + <summary> + The Assert class contains a collection of static methods that + implement the most common assertions used in NUnit. + </summary> + <summary> + The Assert class contains a collection of static methods that + implement the most common assertions used in NUnit. + </summary> + </member> + <member name="M:NUnit.Framework.Assert.Greater(System.Int32,System.Int32,System.String,System.Object[])"> + <summary> + Verifies that the first int is greater than the second + int. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Greater(System.Int32,System.Int32)"> + <summary> + Verifies that the first int is greater than the second + int. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + </member> + <member name="M:NUnit.Framework.Assert.Greater(System.UInt32,System.UInt32,System.String,System.Object[])"> + <summary> + Verifies that the first value is greater than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Greater(System.UInt32,System.UInt32)"> + <summary> + Verifies that the first value is greater than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + </member> + <member name="M:NUnit.Framework.Assert.Greater(System.Int64,System.Int64,System.String,System.Object[])"> + <summary> + Verifies that the first value is greater than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Greater(System.Int64,System.Int64)"> + <summary> + Verifies that the first value is greater than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + </member> + <member name="M:NUnit.Framework.Assert.Greater(System.UInt64,System.UInt64,System.String,System.Object[])"> + <summary> + Verifies that the first value is greater than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Greater(System.UInt64,System.UInt64)"> + <summary> + Verifies that the first value is greater than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + </member> + <member name="M:NUnit.Framework.Assert.Greater(System.Decimal,System.Decimal,System.String,System.Object[])"> + <summary> + Verifies that the first value is greater than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Greater(System.Decimal,System.Decimal)"> + <summary> + Verifies that the first value is greater than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + </member> + <member name="M:NUnit.Framework.Assert.Greater(System.Double,System.Double,System.String,System.Object[])"> + <summary> + Verifies that the first value is greater than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Greater(System.Double,System.Double)"> + <summary> + Verifies that the first value is greater than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + </member> + <member name="M:NUnit.Framework.Assert.Greater(System.Single,System.Single,System.String,System.Object[])"> + <summary> + Verifies that the first value is greater than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Greater(System.Single,System.Single)"> + <summary> + Verifies that the first value is greater than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + </member> + <member name="M:NUnit.Framework.Assert.Greater(System.IComparable,System.IComparable,System.String,System.Object[])"> + <summary> + Verifies that the first value is greater than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Greater(System.IComparable,System.IComparable)"> + <summary> + Verifies that the first value is greater than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + </member> + <member name="M:NUnit.Framework.Assert.Less(System.Int32,System.Int32,System.String,System.Object[])"> + <summary> + Verifies that the first value is less than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Less(System.Int32,System.Int32)"> + <summary> + Verifies that the first value is less than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + </member> + <member name="M:NUnit.Framework.Assert.Less(System.UInt32,System.UInt32,System.String,System.Object[])"> + <summary> + Verifies that the first value is less than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Less(System.UInt32,System.UInt32)"> + <summary> + Verifies that the first value is less than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + </member> + <member name="M:NUnit.Framework.Assert.Less(System.Int64,System.Int64,System.String,System.Object[])"> + <summary> + Verifies that the first value is less than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Less(System.Int64,System.Int64)"> + <summary> + Verifies that the first value is less than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + </member> + <member name="M:NUnit.Framework.Assert.Less(System.UInt64,System.UInt64,System.String,System.Object[])"> + <summary> + Verifies that the first value is less than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Less(System.UInt64,System.UInt64)"> + <summary> + Verifies that the first value is less than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + </member> + <member name="M:NUnit.Framework.Assert.Less(System.Decimal,System.Decimal,System.String,System.Object[])"> + <summary> + Verifies that the first value is less than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Less(System.Decimal,System.Decimal)"> + <summary> + Verifies that the first value is less than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + </member> + <member name="M:NUnit.Framework.Assert.Less(System.Double,System.Double,System.String,System.Object[])"> + <summary> + Verifies that the first value is less than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Less(System.Double,System.Double)"> + <summary> + Verifies that the first value is less than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + </member> + <member name="M:NUnit.Framework.Assert.Less(System.Single,System.Single,System.String,System.Object[])"> + <summary> + Verifies that the first value is less than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Less(System.Single,System.Single)"> + <summary> + Verifies that the first value is less than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + </member> + <member name="M:NUnit.Framework.Assert.Less(System.IComparable,System.IComparable,System.String,System.Object[])"> + <summary> + Verifies that the first value is less than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Less(System.IComparable,System.IComparable)"> + <summary> + Verifies that the first value is less than the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + </member> + <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.Int32,System.Int32,System.String,System.Object[])"> + <summary> + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.Int32,System.Int32)"> + <summary> + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + </member> + <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.UInt32,System.UInt32,System.String,System.Object[])"> + <summary> + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.UInt32,System.UInt32)"> + <summary> + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + </member> + <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.Int64,System.Int64,System.String,System.Object[])"> + <summary> + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.Int64,System.Int64)"> + <summary> + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + </member> + <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.UInt64,System.UInt64,System.String,System.Object[])"> + <summary> + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.UInt64,System.UInt64)"> + <summary> + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + </member> + <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.Decimal,System.Decimal,System.String,System.Object[])"> + <summary> + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.Decimal,System.Decimal)"> + <summary> + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + </member> + <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.Double,System.Double,System.String,System.Object[])"> + <summary> + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.Double,System.Double)"> + <summary> + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + </member> + <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.Single,System.Single,System.String,System.Object[])"> + <summary> + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.Single,System.Single)"> + <summary> + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + </member> + <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.IComparable,System.IComparable,System.String,System.Object[])"> + <summary> + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.GreaterOrEqual(System.IComparable,System.IComparable)"> + <summary> + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be greater</param> + <param name="arg2">The second value, expected to be less</param> + </member> + <member name="M:NUnit.Framework.Assert.LessOrEqual(System.Int32,System.Int32,System.String,System.Object[])"> + <summary> + Verifies that the first value is less than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.LessOrEqual(System.Int32,System.Int32)"> + <summary> + Verifies that the first value is less than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + </member> + <member name="M:NUnit.Framework.Assert.LessOrEqual(System.UInt32,System.UInt32,System.String,System.Object[])"> + <summary> + Verifies that the first value is less than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.LessOrEqual(System.UInt32,System.UInt32)"> + <summary> + Verifies that the first value is less than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + </member> + <member name="M:NUnit.Framework.Assert.LessOrEqual(System.Int64,System.Int64,System.String,System.Object[])"> + <summary> + Verifies that the first value is less than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.LessOrEqual(System.Int64,System.Int64)"> + <summary> + Verifies that the first value is less than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + </member> + <member name="M:NUnit.Framework.Assert.LessOrEqual(System.UInt64,System.UInt64,System.String,System.Object[])"> + <summary> + Verifies that the first value is less than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.LessOrEqual(System.UInt64,System.UInt64)"> + <summary> + Verifies that the first value is less than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + </member> + <member name="M:NUnit.Framework.Assert.LessOrEqual(System.Decimal,System.Decimal,System.String,System.Object[])"> + <summary> + Verifies that the first value is less than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.LessOrEqual(System.Decimal,System.Decimal)"> + <summary> + Verifies that the first value is less than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + </member> + <member name="M:NUnit.Framework.Assert.LessOrEqual(System.Double,System.Double,System.String,System.Object[])"> + <summary> + Verifies that the first value is less than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.LessOrEqual(System.Double,System.Double)"> + <summary> + Verifies that the first value is less than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + </member> + <member name="M:NUnit.Framework.Assert.LessOrEqual(System.Single,System.Single,System.String,System.Object[])"> + <summary> + Verifies that the first value is less than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.LessOrEqual(System.Single,System.Single)"> + <summary> + Verifies that the first value is less than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + </member> + <member name="M:NUnit.Framework.Assert.LessOrEqual(System.IComparable,System.IComparable,System.String,System.Object[])"> + <summary> + Verifies that the first value is less than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.LessOrEqual(System.IComparable,System.IComparable)"> + <summary> + Verifies that the first value is less than or equal to the second + value. If it is not, then an + <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="arg1">The first value, expected to be less</param> + <param name="arg2">The second value, expected to be greater</param> + </member> + <member name="M:NUnit.Framework.Assert.True(System.Nullable{System.Boolean},System.String,System.Object[])"> + <summary> + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="condition">The evaluated condition</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.True(System.Boolean,System.String,System.Object[])"> + <summary> + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="condition">The evaluated condition</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.True(System.Nullable{System.Boolean})"> + <summary> + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="condition">The evaluated condition</param> + </member> + <member name="M:NUnit.Framework.Assert.True(System.Boolean)"> + <summary> + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="condition">The evaluated condition</param> + </member> + <member name="M:NUnit.Framework.Assert.IsTrue(System.Nullable{System.Boolean},System.String,System.Object[])"> + <summary> + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="condition">The evaluated condition</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsTrue(System.Boolean,System.String,System.Object[])"> + <summary> + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="condition">The evaluated condition</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsTrue(System.Nullable{System.Boolean})"> + <summary> + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="condition">The evaluated condition</param> + </member> + <member name="M:NUnit.Framework.Assert.IsTrue(System.Boolean)"> + <summary> + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="condition">The evaluated condition</param> + </member> + <member name="M:NUnit.Framework.Assert.False(System.Nullable{System.Boolean},System.String,System.Object[])"> + <summary> + Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <param name="condition">The evaluated condition</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.False(System.Boolean,System.String,System.Object[])"> + <summary> + Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <param name="condition">The evaluated condition</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.False(System.Nullable{System.Boolean})"> + <summary> + Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="condition">The evaluated condition</param> + </member> + <member name="M:NUnit.Framework.Assert.False(System.Boolean)"> + <summary> + Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <param name="condition">The evaluated condition</param> + </member> + <member name="M:NUnit.Framework.Assert.IsFalse(System.Nullable{System.Boolean},System.String,System.Object[])"> + <summary> + Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <param name="condition">The evaluated condition</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsFalse(System.Boolean,System.String,System.Object[])"> + <summary> + Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <param name="condition">The evaluated condition</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsFalse(System.Nullable{System.Boolean})"> + <summary> + Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <param name="condition">The evaluated condition</param> + </member> + <member name="M:NUnit.Framework.Assert.IsFalse(System.Boolean)"> + <summary> + Asserts that a condition is false. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <param name="condition">The evaluated condition</param> + </member> + <member name="M:NUnit.Framework.Assert.NotNull(System.Object,System.String,System.Object[])"> + <summary> + Verifies that the object that is passed in is not equal to <see langword="null"/>. Returns without throwing an + exception when inside a multiple assert block. + </summary> + <param name="anObject">The object that is to be tested</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.NotNull(System.Object)"> + <summary> + Verifies that the object that is passed in is not equal to <see langword="null"/>. Returns without throwing an + exception when inside a multiple assert block. + </summary> + <param name="anObject">The object that is to be tested</param> + </member> + <member name="M:NUnit.Framework.Assert.IsNotNull(System.Object,System.String,System.Object[])"> + <summary> + Verifies that the object that is passed in is not equal to <see langword="null"/>. Returns without throwing an + exception when inside a multiple assert block. + </summary> + <param name="anObject">The object that is to be tested</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsNotNull(System.Object)"> + <summary> + Verifies that the object that is passed in is not equal to <see langword="null"/>. Returns without throwing an + exception when inside a multiple assert block. + </summary> + <param name="anObject">The object that is to be tested</param> + </member> + <member name="M:NUnit.Framework.Assert.Null(System.Object,System.String,System.Object[])"> + <summary> + Verifies that the object that is passed in is equal to <see langword="null"/>. Returns without throwing an + exception when inside a multiple assert block. + </summary> + <param name="anObject">The object that is to be tested</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Null(System.Object)"> + <summary> + Verifies that the object that is passed in is equal to <see langword="null"/>. Returns without throwing an + exception when inside a multiple assert block. + </summary> + <param name="anObject">The object that is to be tested</param> + </member> + <member name="M:NUnit.Framework.Assert.IsNull(System.Object,System.String,System.Object[])"> + <summary> + Verifies that the object that is passed in is equal to <see langword="null"/>. Returns without throwing an + exception when inside a multiple assert block. + </summary> + <param name="anObject">The object that is to be tested</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsNull(System.Object)"> + <summary> + Verifies that the object that is passed in is equal to <see langword="null"/>. Returns without throwing an + exception when inside a multiple assert block. + </summary> + <param name="anObject">The object that is to be tested</param> + </member> + <member name="M:NUnit.Framework.Assert.IsNaN(System.Double,System.String,System.Object[])"> + <summary> + Verifies that the double that is passed in is an <c>NaN</c>. Returns without throwing an + exception when inside a multiple assert block. + </summary> + <param name="aDouble">The value that is to be tested</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsNaN(System.Double)"> + <summary> + Verifies that the double that is passed in is an <c>NaN</c> value. Returns without throwing an + exception when inside a multiple assert block. + </summary> + <param name="aDouble">The value that is to be tested</param> + </member> + <member name="M:NUnit.Framework.Assert.IsNaN(System.Nullable{System.Double},System.String,System.Object[])"> + <summary> + Verifies that the double that is passed in is an <c>NaN</c> value. Returns without throwing an + exception when inside a multiple assert block. + </summary> + <param name="aDouble">The value that is to be tested</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsNaN(System.Nullable{System.Double})"> + <summary> + Verifies that the double that is passed in is an <c>NaN</c> value. Returns without throwing an + exception when inside a multiple assert block. + </summary> + <param name="aDouble">The value that is to be tested</param> + </member> + <member name="M:NUnit.Framework.Assert.IsEmpty(System.String,System.String,System.Object[])"> + <summary> + Assert that a string is empty. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="aString">The string to be tested</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsEmpty(System.String)"> + <summary> + Assert that a string is empty. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="aString">The string to be tested</param> + </member> + <member name="M:NUnit.Framework.Assert.IsEmpty(System.Collections.IEnumerable,System.String,System.Object[])"> + <summary> + Assert that an array, list or other collection is empty. Returns without throwing an exception when inside a + multiple assert block. + </summary> + <param name="collection">An array, list or other collection implementing ICollection</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsEmpty(System.Collections.IEnumerable)"> + <summary> + Assert that an array, list or other collection is empty. Returns without throwing an exception when inside a + multiple assert block. + </summary> + <param name="collection">An array, list or other collection implementing ICollection</param> + </member> + <member name="M:NUnit.Framework.Assert.IsNotEmpty(System.String,System.String,System.Object[])"> + <summary> + Assert that a string is not empty. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <param name="aString">The string to be tested</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsNotEmpty(System.String)"> + <summary> + Assert that a string is not empty. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <param name="aString">The string to be tested</param> + </member> + <member name="M:NUnit.Framework.Assert.IsNotEmpty(System.Collections.IEnumerable,System.String,System.Object[])"> + <summary> + Assert that an array, list or other collection is not empty. Returns without throwing an exception when + inside a multiple assert block. + </summary> + <param name="collection">An array, list or other collection implementing ICollection</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsNotEmpty(System.Collections.IEnumerable)"> + <summary> + Assert that an array, list or other collection is not empty. Returns without throwing an exception when + inside a multiple assert block. + </summary> + <param name="collection">An array, list or other collection implementing ICollection</param> + </member> + <member name="M:NUnit.Framework.Assert.Zero(System.Int32)"> + <summary> + Asserts that an int is zero. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Zero(System.Int32,System.String,System.Object[])"> + <summary> + Asserts that an int is zero. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Zero(System.UInt32)"> + <summary> + Asserts that an unsigned int is zero. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Zero(System.UInt32,System.String,System.Object[])"> + <summary> + Asserts that an unsigned int is zero. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Zero(System.Int64)"> + <summary> + Asserts that a Long is zero. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Zero(System.Int64,System.String,System.Object[])"> + <summary> + Asserts that a Long is zero. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Zero(System.UInt64)"> + <summary> + Asserts that an unsigned Long is zero. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Zero(System.UInt64,System.String,System.Object[])"> + <summary> + Asserts that an unsigned Long is zero. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Zero(System.Decimal)"> + <summary> + Asserts that a decimal is zero. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Zero(System.Decimal,System.String,System.Object[])"> + <summary> + Asserts that a decimal is zero. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Zero(System.Double)"> + <summary> + Asserts that a double is zero. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Zero(System.Double,System.String,System.Object[])"> + <summary> + Asserts that a double is zero. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Zero(System.Single)"> + <summary> + Asserts that a float is zero. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Zero(System.Single,System.String,System.Object[])"> + <summary> + Asserts that a float is zero. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.NotZero(System.Int32)"> + <summary> + Asserts that an int is not zero. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.NotZero(System.Int32,System.String,System.Object[])"> + <summary> + Asserts that an int is not zero. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.NotZero(System.UInt32)"> + <summary> + Asserts that an unsigned int is not zero. Returns without throwing an exception when inside a multiple + assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.NotZero(System.UInt32,System.String,System.Object[])"> + <summary> + Asserts that an unsigned int is not zero. Returns without throwing an exception when inside a multiple + assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.NotZero(System.Int64)"> + <summary> + Asserts that a Long is not zero. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.NotZero(System.Int64,System.String,System.Object[])"> + <summary> + Asserts that a Long is not zero. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.NotZero(System.UInt64)"> + <summary> + Asserts that an unsigned Long is not zero. Returns without throwing an exception when inside a multiple + assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.NotZero(System.UInt64,System.String,System.Object[])"> + <summary> + Asserts that an unsigned Long is not zero. Returns without throwing an exception when inside a multiple + assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.NotZero(System.Decimal)"> + <summary> + Asserts that a decimal is zero. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.NotZero(System.Decimal,System.String,System.Object[])"> + <summary> + Asserts that a decimal is zero. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.NotZero(System.Double)"> + <summary> + Asserts that a double is zero. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.NotZero(System.Double,System.String,System.Object[])"> + <summary> + Asserts that a double is zero. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.NotZero(System.Single)"> + <summary> + Asserts that a float is zero. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.NotZero(System.Single,System.String,System.Object[])"> + <summary> + Asserts that a float is zero. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Positive(System.Int32)"> + <summary> + Asserts that an int is positive. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Positive(System.Int32,System.String,System.Object[])"> + <summary> + Asserts that an int is positive. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Positive(System.UInt32)"> + <summary> + Asserts that an unsigned int is positive. Returns without throwing an exception when inside a multiple + assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Positive(System.UInt32,System.String,System.Object[])"> + <summary> + Asserts that an unsigned int is positive. Returns without throwing an exception when inside a multiple + assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Positive(System.Int64)"> + <summary> + Asserts that a Long is positive. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Positive(System.Int64,System.String,System.Object[])"> + <summary> + Asserts that a Long is positive. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Positive(System.UInt64)"> + <summary> + Asserts that an unsigned Long is positive. Returns without throwing an exception when inside a multiple + assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Positive(System.UInt64,System.String,System.Object[])"> + <summary> + Asserts that an unsigned Long is positive. Returns without throwing an exception when inside a multiple + assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Positive(System.Decimal)"> + <summary> + Asserts that a decimal is positive. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Positive(System.Decimal,System.String,System.Object[])"> + <summary> + Asserts that a decimal is positive. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Positive(System.Double)"> + <summary> + Asserts that a double is positive. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Positive(System.Double,System.String,System.Object[])"> + <summary> + Asserts that a double is positive. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Positive(System.Single)"> + <summary> + Asserts that a float is positive. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Positive(System.Single,System.String,System.Object[])"> + <summary> + Asserts that a float is positive. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Negative(System.Int32)"> + <summary> + Asserts that an int is negative. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Negative(System.Int32,System.String,System.Object[])"> + <summary> + Asserts that an int is negative. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Negative(System.UInt32)"> + <summary> + Asserts that an unsigned int is negative. Returns without throwing an exception when inside a multiple + assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Negative(System.UInt32,System.String,System.Object[])"> + <summary> + Asserts that an unsigned int is negative. Returns without throwing an exception when inside a multiple + assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Negative(System.Int64)"> + <summary> + Asserts that a Long is negative. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Negative(System.Int64,System.String,System.Object[])"> + <summary> + Asserts that a Long is negative. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Negative(System.UInt64)"> + <summary> + Asserts that an unsigned Long is negative. Returns without throwing an exception when inside a multiple + assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Negative(System.UInt64,System.String,System.Object[])"> + <summary> + Asserts that an unsigned Long is negative. Returns without throwing an exception when inside a multiple + assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Negative(System.Decimal)"> + <summary> + Asserts that a decimal is negative. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Negative(System.Decimal,System.String,System.Object[])"> + <summary> + Asserts that a decimal is negative. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Negative(System.Double)"> + <summary> + Asserts that a double is negative. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Negative(System.Double,System.String,System.Object[])"> + <summary> + Asserts that a double is negative. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Negative(System.Single)"> + <summary> + Asserts that a float is negative. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Negative(System.Single,System.String,System.Object[])"> + <summary> + Asserts that a float is negative. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="actual">The number to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Equals(System.Object,System.Object)"> + <summary> + 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. + </summary> + <param name="a"></param> + <param name="b"></param> + </member> + <member name="M:NUnit.Framework.Assert.ReferenceEquals(System.Object,System.Object)"> + <summary> + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + </summary> + <param name="a"></param> + <param name="b"></param> + </member> + <member name="M:NUnit.Framework.Assert.Pass(System.String,System.Object[])"> + <summary> + Throws a <see cref="T:NUnit.Framework.SuccessException"/> 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. + </summary> + <param name="message">The message to initialize the <see cref="T:NUnit.Framework.AssertionException"/> with.</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Pass(System.String)"> + <summary> + Throws a <see cref="T:NUnit.Framework.SuccessException"/> 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. + </summary> + <param name="message">The message to initialize the <see cref="T:NUnit.Framework.AssertionException"/> with.</param> + </member> + <member name="M:NUnit.Framework.Assert.Pass"> + <summary> + Throws a <see cref="T:NUnit.Framework.SuccessException"/> 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. + </summary> + </member> + <member name="M:NUnit.Framework.Assert.Fail(System.String,System.Object[])"> + <summary> + 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. + </summary> + <param name="message">The message to initialize the <see cref="T:NUnit.Framework.AssertionException"/> with.</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Fail(System.String)"> + <summary> + Marks the test as failed with the message that is passed in. Returns without throwing an exception when + inside a multiple assert block. + </summary> + <param name="message">The message to initialize the <see cref="T:NUnit.Framework.AssertionException"/> with.</param> + </member> + <member name="M:NUnit.Framework.Assert.Fail"> + <summary> + Marks the test as failed. Returns without throwing an exception when inside a multiple assert block. + </summary> + </member> + <member name="M:NUnit.Framework.Assert.Warn(System.String,System.Object[])"> + <summary> + Issues a warning using the message and arguments provided. + </summary> + <param name="message">The message to display.</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Warn(System.String)"> + <summary> + Issues a warning using the message provided. + </summary> + <param name="message">The message to display.</param> + </member> + <member name="M:NUnit.Framework.Assert.Ignore(System.String,System.Object[])"> + <summary> + Throws an <see cref="T:NUnit.Framework.IgnoreException"/> with the message and arguments + that are passed in. This causes the test to be reported as ignored. + </summary> + <param name="message">The message to initialize the <see cref="T:NUnit.Framework.AssertionException"/> with.</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Ignore(System.String)"> + <summary> + Throws an <see cref="T:NUnit.Framework.IgnoreException"/> with the message that is + passed in. This causes the test to be reported as ignored. + </summary> + <param name="message">The message to initialize the <see cref="T:NUnit.Framework.AssertionException"/> with.</param> + </member> + <member name="M:NUnit.Framework.Assert.Ignore"> + <summary> + Throws an <see cref="T:NUnit.Framework.IgnoreException"/>. + This causes the test to be reported as ignored. + </summary> + </member> + <member name="M:NUnit.Framework.Assert.Inconclusive(System.String,System.Object[])"> + <summary> + Throws an <see cref="T:NUnit.Framework.InconclusiveException"/> with the message and arguments + that are passed in. This causes the test to be reported as inconclusive. + </summary> + <param name="message">The message to initialize the <see cref="T:NUnit.Framework.InconclusiveException"/> with.</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Inconclusive(System.String)"> + <summary> + Throws an <see cref="T:NUnit.Framework.InconclusiveException"/> with the message that is + passed in. This causes the test to be reported as inconclusive. + </summary> + <param name="message">The message to initialize the <see cref="T:NUnit.Framework.InconclusiveException"/> with.</param> + </member> + <member name="M:NUnit.Framework.Assert.Inconclusive"> + <summary> + Throws an <see cref="T:NUnit.Framework.InconclusiveException"/>. + This causes the test to be reported as Inconclusive. + </summary> + </member> + <member name="M:NUnit.Framework.Assert.Contains(System.Object,System.Collections.ICollection,System.String,System.Object[])"> + <summary> + Asserts that an object is contained in a collection. Returns without throwing an exception when inside a + multiple assert block. + </summary> + <param name="expected">The expected object</param> + <param name="actual">The collection to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Contains(System.Object,System.Collections.ICollection)"> + <summary> + Asserts that an object is contained in a collection. Returns without throwing an exception when inside a + multiple assert block. + </summary> + <param name="expected">The expected object</param> + <param name="actual">The collection to be examined</param> + </member> + <member name="M:NUnit.Framework.Assert.Multiple(NUnit.Framework.TestDelegate)"> + <summary> + 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. + </summary> + <param name="testDelegate">A TestDelegate to be executed in Multiple Assertion mode.</param> + </member> + <member name="M:NUnit.Framework.Assert.Multiple(NUnit.Framework.AsyncTestDelegate)"> + <summary> + 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. + </summary> + <param name="testDelegate">A TestDelegate to be executed in Multiple Assertion mode.</param> + </member> + <member name="M:NUnit.Framework.Assert.GetEnvironmentStackTraceWithoutThrowing"> + <summary> + If <see cref="P:System.Exception.StackTrace"/> throws, returns "SomeException was thrown by the + Environment.StackTrace property." See also <see cref="M:NUnit.Framework.ExceptionExtensions.GetStackTraceWithoutThrowing(System.Exception)"/>. + </summary> + </member> + <member name="M:NUnit.Framework.Assert.AreEqual(System.Double,System.Double,System.Double,System.String,System.Object[])"> + <summary> + 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. + </summary> + <param name="expected">The expected value</param> + <param name="actual">The actual value</param> + <param name="delta">The maximum acceptable difference between the the expected and the actual</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.AreEqual(System.Double,System.Double,System.Double)"> + <summary> + 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. + </summary> + <param name="expected">The expected value</param> + <param name="actual">The actual value</param> + <param name="delta">The maximum acceptable difference between the the expected and the actual</param> + </member> + <member name="M:NUnit.Framework.Assert.AreEqual(System.Double,System.Nullable{System.Double},System.Double,System.String,System.Object[])"> + <summary> + 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. + </summary> + <param name="expected">The expected value</param> + <param name="actual">The actual value</param> + <param name="delta">The maximum acceptable difference between the the expected and the actual</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.AreEqual(System.Double,System.Nullable{System.Double},System.Double)"> + <summary> + 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. + </summary> + <param name="expected">The expected value</param> + <param name="actual">The actual value</param> + <param name="delta">The maximum acceptable difference between the the expected and the actual</param> + </member> + <member name="M:NUnit.Framework.Assert.AreEqual(System.Object,System.Object,System.String,System.Object[])"> + <summary> + 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. + </summary> + <param name="expected">The value that is expected</param> + <param name="actual">The actual value</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.AreEqual(System.Object,System.Object)"> + <summary> + 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. + </summary> + <param name="expected">The value that is expected</param> + <param name="actual">The actual value</param> + </member> + <member name="M:NUnit.Framework.Assert.AreNotEqual(System.Object,System.Object,System.String,System.Object[])"> + <summary> + 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. + </summary> + <param name="expected">The value that is expected</param> + <param name="actual">The actual value</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.AreNotEqual(System.Object,System.Object)"> + <summary> + 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. + </summary> + <param name="expected">The value that is expected</param> + <param name="actual">The actual value</param> + </member> + <member name="M:NUnit.Framework.Assert.AreSame(System.Object,System.Object,System.String,System.Object[])"> + <summary> + Asserts that two objects refer to the same object. Returns without throwing an exception when inside a + multiple assert block. + </summary> + <param name="expected">The expected object</param> + <param name="actual">The actual object</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.AreSame(System.Object,System.Object)"> + <summary> + Asserts that two objects refer to the same object. Returns without throwing an exception when inside a + multiple assert block. + </summary> + <param name="expected">The expected object</param> + <param name="actual">The actual object</param> + </member> + <member name="M:NUnit.Framework.Assert.AreNotSame(System.Object,System.Object,System.String,System.Object[])"> + <summary> + Asserts that two objects do not refer to the same object. Returns without throwing an exception when inside + a multiple assert block. + </summary> + <param name="expected">The expected object</param> + <param name="actual">The actual object</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.AreNotSame(System.Object,System.Object)"> + <summary> + Asserts that two objects do not refer to the same object. Returns without throwing an exception when inside + a multiple assert block. + </summary> + <param name="expected">The expected object</param> + <param name="actual">The actual object</param> + </member> + <member name="M:NUnit.Framework.Assert.AssertDoublesAreEqual(System.Double,System.Double,System.Double,System.String,System.Object[])"> + <summary> + Helper for Assert.AreEqual(double expected, double actual, ...) + allowing code generation to work consistently. + </summary> + <param name="expected">The expected value</param> + <param name="actual">The actual value</param> + <param name="delta">The maximum acceptable difference between the + the expected and the actual</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.ThrowsAsync(NUnit.Framework.Constraints.IResolveConstraint,NUnit.Framework.AsyncTestDelegate,System.String,System.Object[])"> + <summary> + Verifies that an async delegate throws a particular exception when called. The returned exception may be + <see langword="null"/> when inside a multiple assert block. + </summary> + <param name="expression">A constraint to be satisfied by the exception</param> + <param name="code">A TestSnippet delegate</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.ThrowsAsync(NUnit.Framework.Constraints.IResolveConstraint,NUnit.Framework.AsyncTestDelegate)"> + <summary> + Verifies that an async delegate throws a particular exception when called. The returned exception may be + <see langword="null"/> when inside a multiple assert block. + </summary> + <param name="expression">A constraint to be satisfied by the exception</param> + <param name="code">A TestSnippet delegate</param> + </member> + <member name="M:NUnit.Framework.Assert.ThrowsAsync(System.Type,NUnit.Framework.AsyncTestDelegate,System.String,System.Object[])"> + <summary> + Verifies that an async delegate throws a particular exception when called. The returned exception may be + <see langword="null"/> when inside a multiple assert block. + </summary> + <param name="expectedExceptionType">The exception Type expected</param> + <param name="code">A TestDelegate</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.ThrowsAsync(System.Type,NUnit.Framework.AsyncTestDelegate)"> + <summary> + Verifies that an async delegate throws a particular exception when called. The returned exception may be + <see langword="null"/> when inside a multiple assert block. + </summary> + <param name="expectedExceptionType">The exception Type expected</param> + <param name="code">A TestDelegate</param> + </member> + <member name="M:NUnit.Framework.Assert.ThrowsAsync``1(NUnit.Framework.AsyncTestDelegate,System.String,System.Object[])"> + <summary> + Verifies that an async delegate throws a particular exception when called. The returned exception may be + <see langword="null"/> when inside a multiple assert block. + </summary> + <typeparam name="TActual">Type of the expected exception</typeparam> + <param name="code">A TestDelegate</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.ThrowsAsync``1(NUnit.Framework.AsyncTestDelegate)"> + <summary> + Verifies that an async delegate throws a particular exception when called. The returned exception may be + <see langword="null"/> when inside a multiple assert block. + </summary> + <typeparam name="TActual">Type of the expected exception</typeparam> + <param name="code">A TestDelegate</param> + </member> + <member name="M:NUnit.Framework.Assert.CatchAsync(NUnit.Framework.AsyncTestDelegate,System.String,System.Object[])"> + <summary> + Verifies that an async delegate throws an exception when called and returns it. The returned exception may + be <see langword="null"/> when inside a multiple assert block. + </summary> + <param name="code">A TestDelegate</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.CatchAsync(NUnit.Framework.AsyncTestDelegate)"> + <summary> + Verifies that an async delegate throws an exception when called and returns it. The returned exception may + be <see langword="null"/> when inside a multiple assert block. + </summary> + <param name="code">A TestDelegate</param> + </member> + <member name="M:NUnit.Framework.Assert.CatchAsync(System.Type,NUnit.Framework.AsyncTestDelegate,System.String,System.Object[])"> + <summary> + Verifies that an async delegate throws an exception of a certain Type or one derived from it when called and + returns it. The returned exception may be <see langword="null"/> when inside a multiple assert block. + </summary> + <param name="expectedExceptionType">The expected Exception Type</param> + <param name="code">A TestDelegate</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.CatchAsync(System.Type,NUnit.Framework.AsyncTestDelegate)"> + <summary> + Verifies that an async delegate throws an exception of a certain Type or one derived from it when called and + returns it. The returned exception may be <see langword="null"/> when inside a multiple assert block. + </summary> + <param name="expectedExceptionType">The expected Exception Type</param> + <param name="code">A TestDelegate</param> + </member> + <member name="M:NUnit.Framework.Assert.CatchAsync``1(NUnit.Framework.AsyncTestDelegate,System.String,System.Object[])"> + <summary> + Verifies that an async delegate throws an exception of a certain Type or one derived from it when called and + returns it. The returned exception may be <see langword="null"/> when inside a multiple assert block. + </summary> + <param name="code">A TestDelegate</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.CatchAsync``1(NUnit.Framework.AsyncTestDelegate)"> + <summary> + Verifies that an async delegate throws an exception of a certain Type or one derived from it when called and + returns it. The returned exception may be <see langword="null"/> when inside a multiple assert block. + </summary> + <param name="code">A TestDelegate</param> + </member> + <member name="M:NUnit.Framework.Assert.DoesNotThrowAsync(NUnit.Framework.AsyncTestDelegate,System.String,System.Object[])"> + <summary> + Verifies that an async delegate does not throw an exception + </summary> + <param name="code">A TestDelegate</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.DoesNotThrowAsync(NUnit.Framework.AsyncTestDelegate)"> + <summary> + Verifies that an async delegate does not throw an exception. + </summary> + <param name="code">A TestDelegate</param> + </member> + <member name="M:NUnit.Framework.Assert.Throws(NUnit.Framework.Constraints.IResolveConstraint,NUnit.Framework.TestDelegate,System.String,System.Object[])"> + <summary> + Verifies that a delegate throws a particular exception when called. The returned exception may be <see + langword="null"/> when inside a multiple assert block. + </summary> + <param name="expression">A constraint to be satisfied by the exception</param> + <param name="code">A TestSnippet delegate</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Throws(NUnit.Framework.Constraints.IResolveConstraint,NUnit.Framework.TestDelegate)"> + <summary> + Verifies that a delegate throws a particular exception when called. The returned exception may be <see + langword="null"/> when inside a multiple assert block. + </summary> + <param name="expression">A constraint to be satisfied by the exception</param> + <param name="code">A TestSnippet delegate</param> + </member> + <member name="M:NUnit.Framework.Assert.Throws(System.Type,NUnit.Framework.TestDelegate,System.String,System.Object[])"> + <summary> + Verifies that a delegate throws a particular exception when called. The returned exception may be <see + langword="null"/> when inside a multiple assert block. + </summary> + <param name="expectedExceptionType">The exception Type expected</param> + <param name="code">A TestDelegate</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Throws(System.Type,NUnit.Framework.TestDelegate)"> + <summary> + Verifies that a delegate throws a particular exception when called. The returned exception may be <see + langword="null"/> when inside a multiple assert block. + </summary> + <param name="expectedExceptionType">The exception Type expected</param> + <param name="code">A TestDelegate</param> + </member> + <member name="M:NUnit.Framework.Assert.Throws``1(NUnit.Framework.TestDelegate,System.String,System.Object[])"> + <summary> + Verifies that a delegate throws a particular exception when called. The returned exception may be <see + langword="null"/> when inside a multiple assert block. + </summary> + <typeparam name="TActual">Type of the expected exception</typeparam> + <param name="code">A TestDelegate</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Throws``1(NUnit.Framework.TestDelegate)"> + <summary> + Verifies that a delegate throws a particular exception when called. The returned exception may be <see + langword="null"/> when inside a multiple assert block. + </summary> + <typeparam name="TActual">Type of the expected exception</typeparam> + <param name="code">A TestDelegate</param> + </member> + <member name="M:NUnit.Framework.Assert.Catch(NUnit.Framework.TestDelegate,System.String,System.Object[])"> + <summary> + Verifies that a delegate throws an exception when called and returns it. The returned exception may be <see + langword="null"/> when inside a multiple assert block. + </summary> + <param name="code">A TestDelegate</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Catch(NUnit.Framework.TestDelegate)"> + <summary> + Verifies that a delegate throws an exception when called and returns it. The returned exception may be <see + langword="null"/> when inside a multiple assert block. + </summary> + <param name="code">A TestDelegate</param> + </member> + <member name="M:NUnit.Framework.Assert.Catch(System.Type,NUnit.Framework.TestDelegate,System.String,System.Object[])"> + <summary> + 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 <see langword="null"/> when inside a multiple assert block. + </summary> + <param name="expectedExceptionType">The expected Exception Type</param> + <param name="code">A TestDelegate</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Catch(System.Type,NUnit.Framework.TestDelegate)"> + <summary> + 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 <see langword="null"/> when inside a multiple assert block. + </summary> + <param name="expectedExceptionType">The expected Exception Type</param> + <param name="code">A TestDelegate</param> + </member> + <member name="M:NUnit.Framework.Assert.Catch``1(NUnit.Framework.TestDelegate,System.String,System.Object[])"> + <summary> + 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 <see langword="null"/> when inside a multiple assert block. + </summary> + <param name="code">A TestDelegate</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.Catch``1(NUnit.Framework.TestDelegate)"> + <summary> + 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 <see langword="null"/> when inside a multiple assert block. + </summary> + <param name="code">A TestDelegate</param> + </member> + <member name="M:NUnit.Framework.Assert.DoesNotThrow(NUnit.Framework.TestDelegate,System.String,System.Object[])"> + <summary> + Verifies that a delegate does not throw an exception + </summary> + <param name="code">A TestDelegate</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.DoesNotThrow(NUnit.Framework.TestDelegate)"> + <summary> + Verifies that a delegate does not throw an exception. + </summary> + <param name="code">A TestDelegate</param> + </member> + <member name="M:NUnit.Framework.Assert.That(System.Boolean,System.String,System.Object[])"> + <summary> + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="condition">The evaluated condition</param> + <param name="message">The message to display if the condition is false</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.That(System.Boolean)"> + <summary> + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="condition">The evaluated condition</param> + </member> + <member name="M:NUnit.Framework.Assert.That(System.Boolean,System.Func{System.String})"> + <summary> + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="condition">The evaluated condition</param> + <param name="getExceptionMessage">A function to build the message included with the Exception</param> + </member> + <member name="M:NUnit.Framework.Assert.That(System.Func{System.Boolean},System.String,System.Object[])"> + <summary> + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="condition">A lambda that returns a Boolean</param> + <param name="message">The message to display if the condition is false</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.That(System.Func{System.Boolean})"> + <summary> + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="condition">A lambda that returns a Boolean</param> + </member> + <member name="M:NUnit.Framework.Assert.That(System.Func{System.Boolean},System.Func{System.String})"> + <summary> + Asserts that a condition is true. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="condition">A lambda that returns a Boolean</param> + <param name="getExceptionMessage">A function to build the message included with the Exception</param> + </member> + <member name="M:NUnit.Framework.Assert.That``1(NUnit.Framework.Constraints.ActualValueDelegate{``0},NUnit.Framework.Constraints.IResolveConstraint)"> + <summary> + Apply a constraint to a delegate. Returns without throwing an exception when inside a multiple assert block. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="del">An ActualValueDelegate returning the value to be tested</param> + <param name="expr">A Constraint expression to be applied</param> + </member> + <member name="M:NUnit.Framework.Assert.That``1(NUnit.Framework.Constraints.ActualValueDelegate{``0},NUnit.Framework.Constraints.IResolveConstraint,System.String,System.Object[])"> + <summary> + Apply a constraint to a delegate. Returns without throwing an exception when inside a multiple assert block. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="del">An ActualValueDelegate returning the value to be tested</param> + <param name="expr">A Constraint expression to be applied</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.That``1(NUnit.Framework.Constraints.ActualValueDelegate{``0},NUnit.Framework.Constraints.IResolveConstraint,System.Func{System.String})"> + <summary> + Apply a constraint to a delegate. Returns without throwing an exception when inside a multiple assert block. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="del">An ActualValueDelegate returning the value to be tested</param> + <param name="expr">A Constraint expression to be applied</param> + <param name="getExceptionMessage">A function to build the message included with the Exception</param> + </member> + <member name="M:NUnit.Framework.Assert.That(NUnit.Framework.TestDelegate,NUnit.Framework.Constraints.IResolveConstraint)"> + <summary> + Apply a constraint to a delegate. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="code">A TestDelegate to be executed</param> + <param name="constraint">A Constraint expression to be applied</param> + </member> + <member name="M:NUnit.Framework.Assert.That(NUnit.Framework.TestDelegate,NUnit.Framework.Constraints.IResolveConstraint,System.String,System.Object[])"> + <summary> + Apply a constraint to a delegate. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="code">A TestDelegate to be executed</param> + <param name="constraint">A Constraint expression to be applied</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.That(NUnit.Framework.TestDelegate,NUnit.Framework.Constraints.IResolveConstraint,System.Func{System.String})"> + <summary> + Apply a constraint to a delegate. Returns without throwing an exception when inside a multiple assert block. + </summary> + <param name="code">A TestDelegate to be executed</param> + <param name="constraint">A Constraint expression to be applied</param> + <param name="getExceptionMessage">A function to build the message included with the Exception</param> + </member> + <member name="M:NUnit.Framework.Assert.That``1(``0,NUnit.Framework.Constraints.IResolveConstraint)"> + <summary> + Apply a constraint to an actual value. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="actual">The actual value to test</param> + <param name="expression">A Constraint expression to be applied</param> + </member> + <member name="M:NUnit.Framework.Assert.That``1(``0,NUnit.Framework.Constraints.IResolveConstraint,System.String,System.Object[])"> + <summary> + Apply a constraint to an actual value. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="actual">The actual value to test</param> + <param name="expression">A Constraint expression to be applied</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.That``1(``0,NUnit.Framework.Constraints.IResolveConstraint,System.Func{System.String})"> + <summary> + Apply a constraint to an actual value. Returns without throwing an exception when inside a multiple assert + block. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="actual">The actual value to test</param> + <param name="expression">A Constraint expression to be applied</param> + <param name="getExceptionMessage">A function to build the message included with the Exception</param> + </member> + <member name="M:NUnit.Framework.Assert.ByVal(System.Object,NUnit.Framework.Constraints.IResolveConstraint)"> + <summary> + 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. + </summary> + <param name="actual">The actual value to test</param> + <param name="expression">A Constraint expression to be applied</param> + </member> + <member name="M:NUnit.Framework.Assert.ByVal(System.Object,NUnit.Framework.Constraints.IResolveConstraint,System.String,System.Object[])"> + <summary> + 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. + </summary> + <remarks> + This method is provided for use by VB developers needing to test the value of properties with private + setters. + </remarks> + <param name="actual">The actual value to test</param> + <param name="expression">A Constraint expression to be applied</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsAssignableFrom(System.Type,System.Object,System.String,System.Object[])"> + <summary> + Asserts that an object may be assigned a value of a given Type. Returns without throwing an exception when + inside a multiple assert block. + </summary> + <param name="expected">The expected Type.</param> + <param name="actual">The object under examination</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsAssignableFrom(System.Type,System.Object)"> + <summary> + Asserts that an object may be assigned a value of a given Type. Returns without throwing an exception when + inside a multiple assert block. + </summary> + <param name="expected">The expected Type.</param> + <param name="actual">The object under examination</param> + </member> + <member name="M:NUnit.Framework.Assert.IsAssignableFrom``1(System.Object,System.String,System.Object[])"> + <summary> + Asserts that an object may be assigned a value of a given Type. Returns without throwing an exception when + inside a multiple assert block. + </summary> + <typeparam name="TExpected">The expected Type.</typeparam> + <param name="actual">The object under examination</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsAssignableFrom``1(System.Object)"> + <summary> + Asserts that an object may be assigned a value of a given Type. Returns without throwing an exception when + inside a multiple assert block. + </summary> + <typeparam name="TExpected">The expected Type.</typeparam> + <param name="actual">The object under examination</param> + </member> + <member name="M:NUnit.Framework.Assert.IsNotAssignableFrom(System.Type,System.Object,System.String,System.Object[])"> + <summary> + 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. + </summary> + <param name="expected">The expected Type.</param> + <param name="actual">The object under examination</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsNotAssignableFrom(System.Type,System.Object)"> + <summary> + 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. + </summary> + <param name="expected">The expected Type.</param> + <param name="actual">The object under examination</param> + </member> + <member name="M:NUnit.Framework.Assert.IsNotAssignableFrom``1(System.Object,System.String,System.Object[])"> + <summary> + 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. + </summary> + <typeparam name="TExpected">The expected Type.</typeparam> + <param name="actual">The object under examination</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsNotAssignableFrom``1(System.Object)"> + <summary> + 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. + </summary> + <typeparam name="TExpected">The expected Type.</typeparam> + <param name="actual">The object under examination</param> + </member> + <member name="M:NUnit.Framework.Assert.IsInstanceOf(System.Type,System.Object,System.String,System.Object[])"> + <summary> + Asserts that an object is an instance of a given type. Returns without throwing an exception when inside a + multiple assert block. + </summary> + <param name="expected">The expected Type</param> + <param name="actual">The object being examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsInstanceOf(System.Type,System.Object)"> + <summary> + Asserts that an object is an instance of a given type. Returns without throwing an exception when inside a + multiple assert block. + </summary> + <param name="expected">The expected Type</param> + <param name="actual">The object being examined</param> + </member> + <member name="M:NUnit.Framework.Assert.IsInstanceOf``1(System.Object,System.String,System.Object[])"> + <summary> + Asserts that an object is an instance of a given type. Returns without throwing an exception when inside a + multiple assert block. + </summary> + <typeparam name="TExpected">The expected Type</typeparam> + <param name="actual">The object being examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsInstanceOf``1(System.Object)"> + <summary> + Asserts that an object is an instance of a given type. Returns without throwing an exception when inside a + multiple assert block. + </summary> + <typeparam name="TExpected">The expected Type</typeparam> + <param name="actual">The object being examined</param> + </member> + <member name="M:NUnit.Framework.Assert.IsNotInstanceOf(System.Type,System.Object,System.String,System.Object[])"> + <summary> + Asserts that an object is not an instance of a given type. Returns without throwing an exception when inside + a multiple assert block. + </summary> + <param name="expected">The expected Type</param> + <param name="actual">The object being examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsNotInstanceOf(System.Type,System.Object)"> + <summary> + Asserts that an object is not an instance of a given type. Returns without throwing an exception when inside + a multiple assert block. + </summary> + <param name="expected">The expected Type</param> + <param name="actual">The object being examined</param> + </member> + <member name="M:NUnit.Framework.Assert.IsNotInstanceOf``1(System.Object,System.String,System.Object[])"> + <summary> + Asserts that an object is not an instance of a given type. Returns without throwing an exception when inside + a multiple assert block. + </summary> + <typeparam name="TExpected">The expected Type</typeparam> + <param name="actual">The object being examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Array of objects to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assert.IsNotInstanceOf``1(System.Object)"> + <summary> + Asserts that an object is not an instance of a given type. Returns without throwing an exception when inside + a multiple assert block. + </summary> + <typeparam name="TExpected">The expected Type</typeparam> + <param name="actual">The object being examined</param> + </member> + <member name="T:NUnit.Framework.TestDelegate"> + <summary> + Delegate used by tests that execute code and + capture any thrown exception. + </summary> + </member> + <member name="T:NUnit.Framework.AsyncTestDelegate"> + <summary> + Delegate used by tests that execute async code and + capture any thrown exception. + </summary> + </member> + <member name="T:NUnit.Framework.AssertionHelper"> + <summary> + AssertionHelper is an optional base class for user tests, + allowing the use of shorter names in making asserts. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.Expect(System.Boolean,System.String,System.Object[])"> + <summary> + Asserts that a condition is true. If the condition is false the method throws + an <see cref="T:NUnit.Framework.AssertionException"/>. Works Identically to + <see cref="M:NUnit.Framework.Assert.That(System.Boolean,System.String,System.Object[])"/>. + </summary> + <param name="condition">The evaluated condition</param> + <param name="message">The message to display if the condition is false</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.AssertionHelper.Expect(System.Boolean)"> + <summary> + Asserts that a condition is true. If the condition is false the method throws + an <see cref="T:NUnit.Framework.AssertionException"/>. Works Identically to <see cref="M:NUnit.Framework.Assert.That(System.Boolean)"/>. + </summary> + <param name="condition">The evaluated condition</param> + </member> + <member name="M:NUnit.Framework.AssertionHelper.Expect``1(NUnit.Framework.Constraints.ActualValueDelegate{``0},NUnit.Framework.Constraints.IResolveConstraint)"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + </summary> + <param name="expr">A Constraint expression to be applied</param> + <param name="del">An ActualValueDelegate returning the value to be tested</param> + </member> + <member name="M:NUnit.Framework.AssertionHelper.Expect``1(NUnit.Framework.Constraints.ActualValueDelegate{``0},NUnit.Framework.Constraints.IResolveConstraint,System.String,System.Object[])"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + </summary> + <param name="del">An ActualValueDelegate returning the value to be tested</param> + <param name="expr">A Constraint expression to be applied</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.AssertionHelper.Expect(NUnit.Framework.TestDelegate,NUnit.Framework.Constraints.IResolveConstraint)"> + <summary> + Asserts that the code represented by a delegate throws an exception + that satisfies the constraint provided. + </summary> + <param name="code">A TestDelegate to be executed</param> + <param name="constraint">A Constraint expression to be applied</param> + </member> + <member name="M:NUnit.Framework.AssertionHelper.Expect``1(``0,NUnit.Framework.Constraints.IResolveConstraint)"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + </summary> + <param name="expression">A Constraint expression to be applied</param> + <param name="actual">The actual value to test</param> + </member> + <member name="M:NUnit.Framework.AssertionHelper.Expect``1(``0,NUnit.Framework.Constraints.IResolveConstraint,System.String,System.Object[])"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + </summary> + <param name="expression">A Constraint expression to be applied</param> + <param name="actual">The actual value to test</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.AssertionHelper.Map(System.Collections.ICollection)"> + <summary> + Returns a ListMapper based on a collection. + </summary> + <param name="original">The original collection</param> + </member> + <member name="P:NUnit.Framework.AssertionHelper.Not"> + <summary> + Returns a ConstraintExpression that negates any + following constraint. + </summary> + </member> + <member name="P:NUnit.Framework.AssertionHelper.No"> + <summary> + Returns a ConstraintExpression that negates any + following constraint. + </summary> + </member> + <member name="P:NUnit.Framework.AssertionHelper.All"> + <summary> + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + </summary> + </member> + <member name="P:NUnit.Framework.AssertionHelper.Some"> + <summary> + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if at least one of them succeeds. + </summary> + </member> + <member name="P:NUnit.Framework.AssertionHelper.None"> + <summary> + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them fail. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.Exactly(System.Int32)"> + <summary> + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding only if a specified number of them succeed. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.Property(System.String)"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.AssertionHelper.Length"> + <summary> + Returns a new ConstraintExpression, which will apply the following + constraint to the Length property of the object being tested. + </summary> + </member> + <member name="P:NUnit.Framework.AssertionHelper.Count"> + <summary> + Returns a new ConstraintExpression, which will apply the following + constraint to the Count property of the object being tested. + </summary> + </member> + <member name="P:NUnit.Framework.AssertionHelper.Message"> + <summary> + Returns a new ConstraintExpression, which will apply the following + constraint to the Message property of the object being tested. + </summary> + </member> + <member name="P:NUnit.Framework.AssertionHelper.InnerException"> + <summary> + Returns a new ConstraintExpression, which will apply the following + constraint to the InnerException property of the object being tested. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.Attribute(System.Type)"> + <summary> + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.Attribute``1"> + <summary> + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + </summary> + </member> + <member name="P:NUnit.Framework.AssertionHelper.Null"> + <summary> + Returns a constraint that tests for null + </summary> + </member> + <member name="P:NUnit.Framework.AssertionHelper.True"> + <summary> + Returns a constraint that tests for True + </summary> + </member> + <member name="P:NUnit.Framework.AssertionHelper.False"> + <summary> + Returns a constraint that tests for False + </summary> + </member> + <member name="P:NUnit.Framework.AssertionHelper.Positive"> + <summary> + Returns a constraint that tests for a positive value + </summary> + </member> + <member name="P:NUnit.Framework.AssertionHelper.Negative"> + <summary> + Returns a constraint that tests for a negative value + </summary> + </member> + <member name="P:NUnit.Framework.AssertionHelper.Zero"> + <summary> + Returns a constraint that tests for equality with zero + </summary> + </member> + <member name="P:NUnit.Framework.AssertionHelper.NaN"> + <summary> + Returns a constraint that tests for NaN + </summary> + </member> + <member name="P:NUnit.Framework.AssertionHelper.Empty"> + <summary> + Returns a constraint that tests for empty + </summary> + </member> + <member name="P:NUnit.Framework.AssertionHelper.Unique"> + <summary> + Returns a constraint that tests whether a collection + contains all unique items. + </summary> + </member> + <member name="P:NUnit.Framework.AssertionHelper.BinarySerializable"> + <summary> + Returns a constraint that tests whether an object graph is serializable in binary format. + </summary> + </member> + <member name="P:NUnit.Framework.AssertionHelper.XmlSerializable"> + <summary> + Returns a constraint that tests whether an object graph is serializable in XML format. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.EqualTo(System.Object)"> + <summary> + Returns a constraint that tests two items for equality + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.SameAs(System.Object)"> + <summary> + Returns a constraint that tests that two references are the same object + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.GreaterThan(System.Object)"> + <summary> + Returns a constraint that tests whether the + actual value is greater than the supplied argument + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.GreaterThanOrEqualTo(System.Object)"> + <summary> + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.AtLeast(System.Object)"> + <summary> + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.LessThan(System.Object)"> + <summary> + Returns a constraint that tests whether the + actual value is less than the supplied argument + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.LessThanOrEqualTo(System.Object)"> + <summary> + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.AtMost(System.Object)"> + <summary> + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.TypeOf(System.Type)"> + <summary> + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.TypeOf``1"> + <summary> + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.InstanceOf(System.Type)"> + <summary> + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.InstanceOf``1"> + <summary> + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.AssignableFrom(System.Type)"> + <summary> + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.AssignableFrom``1"> + <summary> + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.AssignableTo(System.Type)"> + <summary> + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.AssignableTo``1"> + <summary> + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.EquivalentTo(System.Collections.IEnumerable)"> + <summary> + Returns a constraint that tests whether the actual value + is a collection containing the same elements as the + collection supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.SubsetOf(System.Collections.IEnumerable)"> + <summary> + Returns a constraint that tests whether the actual value + is a subset of the collection supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.SupersetOf(System.Collections.IEnumerable)"> + <summary> + Returns a constraint that tests whether the actual value + is a superset of the collection supplied as an argument. + </summary> + </member> + <member name="P:NUnit.Framework.AssertionHelper.Ordered"> + <summary> + Returns a constraint that tests whether a collection is ordered + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.Member(System.Object)"> + <summary> + Returns a new <see cref="T:NUnit.Framework.Constraints.SomeItemsConstraint"/> checking for the + presence of a particular object in the collection. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.Contains(System.Object)"> + <summary> + <para> + Returns a new <see cref="T:NUnit.Framework.Constraints.SomeItemsConstraint"/> checking for the + presence of a particular object in the collection. + </para> + <para> + To search for a substring instead of a collection element, use the + <see cref="M:NUnit.Framework.AssertionHelper.Contains(System.String)"/> overload. + </para> + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.Contains(System.String)"> + <summary> + <para> + 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. + </para> + <para> + To search for a collection element instead of a substring, use the + <see cref="M:NUnit.Framework.AssertionHelper.Contains(System.Object)"/> overload. + </para> + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.StringContaining(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.ContainsSubstring(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.DoesNotContain(System.String)"> + <summary> + Returns a constraint that fails if the actual + value contains the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.StartWith(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.StartsWith(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.StringStarting(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.DoesNotStartWith(System.String)"> + <summary> + Returns a constraint that fails if the actual + value starts with the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.EndWith(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.EndsWith(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.StringEnding(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.DoesNotEndWith(System.String)"> + <summary> + Returns a constraint that fails if the actual + value ends with the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.Match(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.Matches(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.StringMatching(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.DoesNotMatch(System.String)"> + <summary> + Returns a constraint that fails if the actual + value matches the pattern supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.SamePath(System.String)"> + <summary> + Returns a constraint that tests whether the path provided + is the same as an expected path after canonicalization. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.SubPathOf(System.String)"> + <summary> + Returns a constraint that tests whether the path provided + is a subpath of the expected path after canonicalization. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.SamePathOrUnder(System.String)"> + <summary> + Returns a constraint that tests whether the path provided + is the same path or under an expected path after canonicalization. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionHelper.InRange(System.Object,System.Object)"> + <summary> + Returns a constraint that tests whether the actual value falls + within a specified range. + </summary> + </member> + <member name="T:NUnit.Framework.Assume"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Assume.Equals(System.Object,System.Object)"> + <summary> + DO NOT USE! + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + </summary> + <param name="a">The left object.</param> + <param name="b">The right object.</param> + <returns>Not applicable</returns> + </member> + <member name="M:NUnit.Framework.Assume.ReferenceEquals(System.Object,System.Object)"> + <summary> + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + </summary> + <param name="a">The left object.</param> + <param name="b">The right object.</param> + </member> + <member name="M:NUnit.Framework.Assume.That``1(NUnit.Framework.Constraints.ActualValueDelegate{``0},NUnit.Framework.Constraints.IResolveConstraint)"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="del">An ActualValueDelegate returning the value to be tested</param> + <param name="expr">A Constraint expression to be applied</param> + </member> + <member name="M:NUnit.Framework.Assume.That``1(NUnit.Framework.Constraints.ActualValueDelegate{``0},NUnit.Framework.Constraints.IResolveConstraint,System.String,System.Object[])"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="del">An ActualValueDelegate returning the value to be tested</param> + <param name="expr">A Constraint expression to be applied</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assume.That``1(NUnit.Framework.Constraints.ActualValueDelegate{``0},NUnit.Framework.Constraints.IResolveConstraint,System.Func{System.String})"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="del">An ActualValueDelegate returning the value to be tested</param> + <param name="expr">A Constraint expression to be applied</param> + <param name="getExceptionMessage">A function to build the message included with the Exception</param> + </member> + <member name="M:NUnit.Framework.Assume.That(System.Boolean,System.String,System.Object[])"> + <summary> + Asserts that a condition is true. If the condition is false, the method throws + an <see cref="T:NUnit.Framework.InconclusiveException"/>. + </summary> + <param name="condition">The evaluated condition</param> + <param name="message">The message to display if the condition is false</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assume.That(System.Boolean)"> + <summary> + Asserts that a condition is true. If the condition is false, the + method throws an <see cref="T:NUnit.Framework.InconclusiveException"/>. + </summary> + <param name="condition">The evaluated condition</param> + </member> + <member name="M:NUnit.Framework.Assume.That(System.Boolean,System.Func{System.String})"> + <summary> + Asserts that a condition is true. If the condition is false, the method throws + an <see cref="T:NUnit.Framework.InconclusiveException"/>. + </summary> + <param name="condition">The evaluated condition</param> + <param name="getExceptionMessage">A function to build the message included with the Exception</param> + </member> + <member name="M:NUnit.Framework.Assume.That(System.Func{System.Boolean},System.String,System.Object[])"> + <summary> + Asserts that a condition is true. If the condition is false, the method throws + an <see cref="T:NUnit.Framework.InconclusiveException"/>. + </summary> + <param name="condition">A lambda that returns a Boolean</param> + <param name="message">The message to display if the condition is false</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assume.That(System.Func{System.Boolean})"> + <summary> + Asserts that a condition is true. If the condition is false, the method throws + an <see cref="T:NUnit.Framework.InconclusiveException"/>. + </summary> + <param name="condition">A lambda that returns a Boolean</param> + </member> + <member name="M:NUnit.Framework.Assume.That(System.Func{System.Boolean},System.Func{System.String})"> + <summary> + Asserts that a condition is true. If the condition is false, the method throws + an <see cref="T:NUnit.Framework.InconclusiveException"/>. + </summary> + <param name="condition">A lambda that returns a Boolean</param> + <param name="getExceptionMessage">A function to build the message included with the Exception</param> + </member> + <member name="M:NUnit.Framework.Assume.That(NUnit.Framework.TestDelegate,NUnit.Framework.Constraints.IResolveConstraint)"> + <summary> + Asserts that the code represented by a delegate throws an exception + that satisfies the constraint provided. + </summary> + <param name="code">A TestDelegate to be executed</param> + <param name="constraint">A ThrowsConstraint used in the test</param> + </member> + <member name="M:NUnit.Framework.Assume.That``1(``0,NUnit.Framework.Constraints.IResolveConstraint)"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="actual">The actual value to test</param> + <param name="expression">A Constraint expression to be applied</param> + </member> + <member name="M:NUnit.Framework.Assume.That``1(``0,NUnit.Framework.Constraints.IResolveConstraint,System.String,System.Object[])"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="actual">The actual value to test</param> + <param name="expression">A Constraint expression to be applied</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Assume.That``1(``0,NUnit.Framework.Constraints.IResolveConstraint,System.Func{System.String})"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="actual">The actual value to test</param> + <param name="expression">A Constraint expression to be applied</param> + <param name="getExceptionMessage">A function to build the message included with the Exception</param> + </member> + <member name="T:NUnit.Framework.ApartmentAttribute"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.ApartmentAttribute.#ctor(System.Threading.ApartmentState)"> + <summary> + Construct an ApartmentAttribute + </summary> + <param name="apartmentState">The apartment state that this test must be run under. You must pass in a valid apartment state.</param> + </member> + <member name="T:NUnit.Framework.AuthorAttribute"> + <summary> + Provides the author of a test or test fixture. + </summary> + </member> + <member name="M:NUnit.Framework.AuthorAttribute.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.AuthorAttribute"/> class. + </summary> + <param name="name">The name of the author.</param> + </member> + <member name="M:NUnit.Framework.AuthorAttribute.#ctor(System.String,System.String)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.AuthorAttribute"/> class. + </summary> + <param name="name">The name of the author.</param> + <param name="email">The email address of the author.</param> + </member> + <member name="T:NUnit.Framework.CategoryAttribute"> + <summary> + Applies a category to a test + </summary> + </member> + <member name="F:NUnit.Framework.CategoryAttribute.categoryName"> + <summary> + The name of the category + </summary> + </member> + <member name="M:NUnit.Framework.CategoryAttribute.#ctor(System.String)"> + <summary> + 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. + </summary> + <param name="name">The name of the category</param> + </member> + <member name="M:NUnit.Framework.CategoryAttribute.#ctor"> + <summary> + Protected constructor uses the Type name as the name + of the category. + </summary> + </member> + <member name="P:NUnit.Framework.CategoryAttribute.Name"> + <summary> + The name of the category + </summary> + </member> + <member name="M:NUnit.Framework.CategoryAttribute.ApplyToTest(NUnit.Framework.Internal.Test)"> + <summary> + Modifies a test by adding a category to it. + </summary> + <param name="test">The test to modify</param> + </member> + <member name="T:NUnit.Framework.CombinatorialAttribute"> + <summary> + Marks a test to use a combinatorial join of any argument data provided. + Since this is the default, the attribute is optional. + </summary> + </member> + <member name="M:NUnit.Framework.CombinatorialAttribute.#ctor"> + <summary> + Default constructor + </summary> + </member> + <member name="T:NUnit.Framework.CombiningStrategyAttribute"> + <summary> + Marks a test as using a particular CombiningStrategy to join any supplied parameter data. + Since this is the default, the attribute is optional. + </summary> + </member> + <member name="M:NUnit.Framework.CombiningStrategyAttribute.#ctor(NUnit.Framework.Interfaces.ICombiningStrategy,NUnit.Framework.Interfaces.IParameterDataProvider)"> + <summary> + Construct a CombiningStrategyAttribute incorporating an + ICombiningStrategy and an IParameterDataProvider. + </summary> + <param name="strategy">Combining strategy to be used in combining data</param> + <param name="provider">An IParameterDataProvider to supply data</param> + </member> + <member name="M:NUnit.Framework.CombiningStrategyAttribute.#ctor(System.Object,System.Object)"> + <summary> + Construct a CombiningStrategyAttribute incorporating an object + that implements ICombiningStrategy and an IParameterDataProvider. + This constructor is provided for CLS compliance. + </summary> + <param name="strategy">Combining strategy to be used in combining data</param> + <param name="provider">An IParameterDataProvider to supply data</param> + </member> + <member name="M:NUnit.Framework.CombiningStrategyAttribute.BuildFrom(NUnit.Framework.Interfaces.IMethodInfo,NUnit.Framework.Internal.Test)"> + <summary> + Builds any number of tests from the specified method and context. + </summary> + <param name="method">The MethodInfo for which tests are to be constructed.</param> + <param name="suite">The suite to which the tests will be added.</param> + </member> + <member name="M:NUnit.Framework.CombiningStrategyAttribute.ApplyToTest(NUnit.Framework.Internal.Test)"> + <summary> + Modify the test by adding the name of the combining strategy + to the properties. + </summary> + <param name="test">The test to modify</param> + </member> + <member name="T:NUnit.Framework.CultureAttribute"> + <summary> + Marks an assembly, test fixture or test method as applying to a specific Culture. + </summary> + </member> + <member name="M:NUnit.Framework.CultureAttribute.#ctor"> + <summary> + Constructor with no cultures specified, for use + with named property syntax. + </summary> + </member> + <member name="M:NUnit.Framework.CultureAttribute.#ctor(System.String)"> + <summary> + Constructor taking one or more cultures + </summary> + <param name="cultures">Comma-delimited list of cultures</param> + </member> + <member name="M:NUnit.Framework.CultureAttribute.ApplyToTest(NUnit.Framework.Internal.Test)"> + <summary> + Causes a test to be skipped if this CultureAttribute is not satisfied. + </summary> + <param name="test">The test to modify</param> + </member> + <member name="M:NUnit.Framework.CultureAttribute.IsCultureSupported(System.String@)"> + <summary> + Tests to determine if the current culture is supported + based on the properties of this attribute. + </summary> + <returns>True, if the current culture is supported</returns> + </member> + <member name="M:NUnit.Framework.CultureAttribute.IsCultureSupported(System.String)"> + <summary> + Test to determine if the a particular culture or comma- + delimited set of cultures is in use. + </summary> + <param name="culture">Name of the culture or comma-separated list of culture ids</param> + <returns>True if the culture is in use on the system</returns> + </member> + <member name="M:NUnit.Framework.CultureAttribute.IsCultureSupported(System.String[])"> + <summary> + Test to determine if one of a collection of cultures + is being used currently. + </summary> + <param name="cultures"></param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.DataAttribute"> + <summary> + Abstract base class for all data-providing attributes defined by NUnit. + Used to select all data sources for a method, class or parameter. + </summary> + </member> + <member name="M:NUnit.Framework.DataAttribute.#ctor"> + <summary> + Default constructor + </summary> + </member> + <member name="T:NUnit.Framework.DatapointAttribute"> + <summary> + 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. + </summary> + </member> + <member name="T:NUnit.Framework.DatapointsAttribute"> + <summary> + 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 <see cref="T:System.Collections.Generic.IEnumerable`1"/>. Synonymous with <see cref="T:NUnit.Framework.DatapointSourceAttribute"/>. + </summary> + </member> + <member name="T:NUnit.Framework.DatapointSourceAttribute"> + <summary> + 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 <see cref="T:System.Collections.Generic.IEnumerable`1"/>. Synonymous with <see cref="T:NUnit.Framework.DatapointsAttribute"/>. + </summary> + </member> + <member name="T:NUnit.Framework.DefaultFloatingPointToleranceAttribute"> + <summary> + Sets the tolerance used by default when checking the equality of floating point values + within the test assembly, fixture or method. + </summary> + </member> + <member name="M:NUnit.Framework.DefaultFloatingPointToleranceAttribute.#ctor(System.Double)"> + <summary> + Construct specifying an amount + </summary> + <param name="amount"></param> + </member> + <member name="M:NUnit.Framework.DefaultFloatingPointToleranceAttribute.ApplyToContext(NUnit.Framework.Internal.TestExecutionContext)"> + <summary> + Apply changes to the TestExecutionContext + </summary> + <param name="context">The TestExecutionContext</param> + </member> + <member name="T:NUnit.Framework.DescriptionAttribute"> + <summary> + Provides the descriptive text relating to the assembly, test fixture or test method. + </summary> + </member> + <member name="M:NUnit.Framework.DescriptionAttribute.#ctor(System.String)"> + <summary> + Construct a description Attribute + </summary> + <param name="description">The text of the description</param> + </member> + <member name="T:NUnit.Framework.ExplicitAttribute"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.ExplicitAttribute.#ctor"> + <summary> + Default constructor + </summary> + </member> + <member name="M:NUnit.Framework.ExplicitAttribute.#ctor(System.String)"> + <summary> + Constructor with a reason + </summary> + <param name="reason">The reason test is marked explicit</param> + </member> + <member name="M:NUnit.Framework.ExplicitAttribute.ApplyToTest(NUnit.Framework.Internal.Test)"> + <summary> + Modifies a test by marking it as explicit. + </summary> + <param name="test">The test to modify</param> + </member> + <member name="T:NUnit.Framework.FixtureLifeCycleAttribute"> + <summary> + Specify the life cycle of a Fixture + </summary> + </member> + <member name="M:NUnit.Framework.FixtureLifeCycleAttribute.#ctor(NUnit.Framework.LifeCycle)"> + <summary> + Construct a FixtureLifeCycleAttribute with a specified <see cref="P:NUnit.Framework.FixtureLifeCycleAttribute.LifeCycle"/>. + </summary> + </member> + <member name="P:NUnit.Framework.FixtureLifeCycleAttribute.LifeCycle"> + <summary> + Defines the life cycle for this test fixture or assembly. + </summary> + </member> + <member name="M:NUnit.Framework.FixtureLifeCycleAttribute.ApplyToTest(NUnit.Framework.Internal.Test)"> + <summary> + Overridden to set a TestFixture's <see cref="P:NUnit.Framework.FixtureLifeCycleAttribute.LifeCycle"/>. + </summary> + </member> + <member name="T:NUnit.Framework.IgnoreAttribute"> + <summary> + Marks an assembly, test fixture or test method as being ignored. Ignored tests result in a warning message when the tests are run. + </summary> + </member> + <member name="M:NUnit.Framework.IgnoreAttribute.#ctor(System.String)"> + <summary> + Constructs the attribute giving a reason for ignoring the test + </summary> + <param name="reason">The reason for ignoring the test</param> + </member> + <member name="P:NUnit.Framework.IgnoreAttribute.Until"> + <summary> + 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. + </summary> + <remarks> + 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. + </remarks> + <exception cref="T:System.FormatException">The string does not contain a valid string representation of a date and time.</exception> + </member> + <member name="M:NUnit.Framework.IgnoreAttribute.ApplyToTest(NUnit.Framework.Internal.Test)"> + <summary> + Modifies a test by marking it as Ignored. + </summary> + <param name="test">The test to modify</param> + </member> + <member name="T:NUnit.Framework.IncludeExcludeAttribute"> + <summary> + Abstract base for attributes that are used to include tests in + the test run based on environmental settings. + </summary> + </member> + <member name="M:NUnit.Framework.IncludeExcludeAttribute.#ctor"> + <summary> + Constructor with no included items specified, for use + with named property syntax. + </summary> + </member> + <member name="M:NUnit.Framework.IncludeExcludeAttribute.#ctor(System.String)"> + <summary> + Constructor taking one or more included items + </summary> + <param name="include">Comma-delimited list of included items</param> + </member> + <member name="P:NUnit.Framework.IncludeExcludeAttribute.Include"> + <summary> + Name of the item that is needed in order for + a test to run. Multiple items may be given, + separated by a comma. + </summary> + </member> + <member name="P:NUnit.Framework.IncludeExcludeAttribute.Exclude"> + <summary> + Name of the item to be excluded. Multiple items + may be given, separated by a comma. + </summary> + </member> + <member name="P:NUnit.Framework.IncludeExcludeAttribute.Reason"> + <summary> + The reason for including or excluding the test + </summary> + </member> + <member name="T:NUnit.Framework.LevelOfParallelismAttribute"> + <summary> + Sets the number of worker threads that may be allocated by the framework + for running tests. + </summary> + </member> + <member name="M:NUnit.Framework.LevelOfParallelismAttribute.#ctor(System.Int32)"> + <summary> + Construct a LevelOfParallelismAttribute. + </summary> + <param name="level">The number of worker threads to be created by the framework.</param> + </member> + <member name="T:NUnit.Framework.LifeCycle"> + <summary> + Specifies the life cycle for a test fixture. + </summary> + </member> + <member name="F:NUnit.Framework.LifeCycle.SingleInstance"> + <summary> + A single instance is created and shared for all test cases. + </summary> + </member> + <member name="F:NUnit.Framework.LifeCycle.InstancePerTestCase"> + <summary> + A new instance is created for each test case. + </summary> + </member> + <member name="T:NUnit.Framework.MaxTimeAttribute"> + <summary> + Specifies the maximum time (in milliseconds) for a test case to succeed. + </summary> + </member> + <member name="M:NUnit.Framework.MaxTimeAttribute.#ctor(System.Int32)"> + <summary> + Construct a MaxTimeAttribute, given a time in milliseconds. + </summary> + <param name="milliseconds">The maximum elapsed time in milliseconds</param> + </member> + <member name="T:NUnit.Framework.NonParallelizableAttribute"> + <summary> + Marks tests that should NOT be run in parallel. + </summary> + </member> + <member name="M:NUnit.Framework.NonParallelizableAttribute.#ctor"> + <summary> + Construct a NonParallelizableAttribute. + </summary> + </member> + <member name="T:NUnit.Framework.NonTestAssemblyAttribute"> + <summary> + 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. + </summary> + </member> + <member name="T:NUnit.Framework.NUnitAttribute"> + <summary> + Abstract base class for all custom attributes defined by NUnit. + </summary> + </member> + <member name="M:NUnit.Framework.NUnitAttribute.#ctor"> + <summary> + Default constructor + </summary> + </member> + <member name="T:NUnit.Framework.OneTimeSetUpAttribute"> + <summary> + Identifies a method that is called once to perform setup before any child tests are run. + </summary> + </member> + <member name="T:NUnit.Framework.OneTimeTearDownAttribute"> + <summary> + 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. + </summary> + </member> + <member name="T:NUnit.Framework.OrderAttribute"> + <summary> + Defines the order that the test will run in + </summary> + </member> + <member name="F:NUnit.Framework.OrderAttribute.Order"> + <summary> + Defines the order that the test will run in + </summary> + </member> + <member name="M:NUnit.Framework.OrderAttribute.#ctor(System.Int32)"> + <summary> + Defines the order that the test will run in + </summary> + <param name="order"></param> + </member> + <member name="M:NUnit.Framework.OrderAttribute.ApplyToTest(NUnit.Framework.Internal.Test)"> + <summary> + Modifies a test as defined for the specific attribute. + </summary> + <param name="test">The test to modify</param> + </member> + <member name="T:NUnit.Framework.PairwiseAttribute"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.PairwiseAttribute.#ctor"> + <summary> + Default constructor + </summary> + </member> + <member name="T:NUnit.Framework.ParallelizableAttribute"> + <summary> + Marks a test assembly, fixture or method that may be run in parallel. + </summary> + </member> + <member name="M:NUnit.Framework.ParallelizableAttribute.#ctor"> + <summary> + Construct a ParallelizableAttribute using default ParallelScope.Self. + </summary> + </member> + <member name="M:NUnit.Framework.ParallelizableAttribute.#ctor(NUnit.Framework.ParallelScope)"> + <summary> + Construct a ParallelizableAttribute with a specified scope. + </summary> + <param name="scope">The ParallelScope associated with this attribute.</param> + </member> + <member name="P:NUnit.Framework.ParallelizableAttribute.Scope"> + <summary> + Defines the degree to which this test and its descendants may be run in parallel + </summary> + </member> + <member name="M:NUnit.Framework.ParallelizableAttribute.ApplyToTest(NUnit.Framework.Internal.Test)"> + <summary> + Overridden to check for invalid combinations of settings + </summary> + <param name="test"></param> + </member> + <member name="M:NUnit.Framework.ParallelizableAttribute.ApplyToContext(NUnit.Framework.Internal.TestExecutionContext)"> + <summary> + Modify the context to be used for child tests + </summary> + <param name="context">The current TestExecutionContext</param> + </member> + <member name="T:NUnit.Framework.ParallelScope"> + <summary> + Specifies the degree to which a test, and its descendants, + may be run in parallel. + </summary> + </member> + <member name="F:NUnit.Framework.ParallelScope.Default"> + <summary> + No ParallelScope was specified on the test + </summary> + </member> + <member name="F:NUnit.Framework.ParallelScope.Self"> + <summary> + The test may be run in parallel with others at the same level. + Valid on classes and methods but has no effect on assemblies. + </summary> + </member> + <member name="F:NUnit.Framework.ParallelScope.None"> + <summary> + Test may not be run in parallel with any others. Valid on + classes and methods but not assemblies. + </summary> + </member> + <member name="F:NUnit.Framework.ParallelScope.ItemMask"> + <summary> + Mask used to extract the flags that apply to the item on which a + ParallelizableAttribute has been placed, as opposed to descendants. + </summary> + </member> + <member name="F:NUnit.Framework.ParallelScope.Children"> + <summary> + Descendants of the test may be run in parallel with one another. + Valid on assemblies and classes but not on non-parameterized methods. + </summary> + </member> + <member name="F:NUnit.Framework.ParallelScope.Fixtures"> + <summary> + 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. + </summary> + </member> + <member name="F:NUnit.Framework.ParallelScope.ContextMask"> + <summary> + Mask used to extract all the flags that impact descendants of a + test and place them in the TestExecutionContext. + </summary> + </member> + <member name="F:NUnit.Framework.ParallelScope.All"> + <summary> + 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 <see cref="F:NUnit.Framework.ParallelScope.Children"/> + instead, as <see cref="F:NUnit.Framework.ParallelScope.Self"/> has no effect on assemblies. + </summary> + </member> + <member name="T:NUnit.Framework.PlatformAttribute"> + <summary> + Marks an assembly, test fixture or test method as applying to a specific platform. + </summary> + </member> + <member name="M:NUnit.Framework.PlatformAttribute.#ctor"> + <summary> + Constructor with no platforms specified, for use + with named property syntax. + </summary> + </member> + <member name="M:NUnit.Framework.PlatformAttribute.#ctor(System.String)"> + <summary> + Constructor taking one or more platforms + </summary> + <param name="platforms">Comma-delimited list of platforms</param> + </member> + <member name="M:NUnit.Framework.PlatformAttribute.ApplyToTest(NUnit.Framework.Internal.Test)"> + <summary> + Causes a test to be skipped if this PlatformAttribute is not satisfied. + </summary> + <param name="test">The test to modify</param> + </member> + <member name="T:NUnit.Framework.PropertyAttribute"> + <summary> + Attaches information to a test assembly, fixture or method as a name/value pair. + </summary> + </member> + <member name="M:NUnit.Framework.PropertyAttribute.#ctor(System.String,System.String)"> + <summary> + Construct a PropertyAttribute with a name and string value + </summary> + <param name="propertyName">The name of the property</param> + <param name="propertyValue">The property value</param> + </member> + <member name="M:NUnit.Framework.PropertyAttribute.#ctor(System.String,System.Int32)"> + <summary> + Construct a PropertyAttribute with a name and int value + </summary> + <param name="propertyName">The name of the property</param> + <param name="propertyValue">The property value</param> + </member> + <member name="M:NUnit.Framework.PropertyAttribute.#ctor(System.String,System.Double)"> + <summary> + Construct a PropertyAttribute with a name and double value + </summary> + <param name="propertyName">The name of the property</param> + <param name="propertyValue">The property value</param> + </member> + <member name="M:NUnit.Framework.PropertyAttribute.#ctor"> + <summary> + Constructor for derived classes that set the + property dictionary directly. + </summary> + </member> + <member name="M:NUnit.Framework.PropertyAttribute.#ctor(System.Object)"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.PropertyAttribute.Properties"> + <summary> + Gets the property dictionary for this attribute + </summary> + </member> + <member name="M:NUnit.Framework.PropertyAttribute.ApplyToTest(NUnit.Framework.Internal.Test)"> + <summary> + Modifies a test by adding properties to it. + </summary> + <param name="test">The test to modify</param> + </member> + <member name="T:NUnit.Framework.RandomAttribute"> + <summary> + Supplies a set of random values to a single parameter of a parameterized test. + </summary> + </member> + <member name="P:NUnit.Framework.RandomAttribute.Distinct"> + <summary> + If true, no value will be repeated. + </summary> + </member> + <member name="M:NUnit.Framework.RandomAttribute.#ctor(System.Int32)"> + <summary> + Construct a random set of values appropriate for the Type of the + parameter on which the attribute appears, specifying only the count. + </summary> + <param name="count"></param> + </member> + <member name="M:NUnit.Framework.RandomAttribute.#ctor(System.Int32,System.Int32,System.Int32)"> + <summary> + Generates <see cref="T:System.Int32"/> values within a specified range. + </summary> + </member> + <member name="M:NUnit.Framework.RandomAttribute.#ctor(System.UInt32,System.UInt32,System.Int32)"> + <summary> + Generates <see cref="T:System.UInt32"/> values within a specified range. + </summary> + </member> + <member name="M:NUnit.Framework.RandomAttribute.#ctor(System.Int64,System.Int64,System.Int32)"> + <summary> + Generates <see cref="T:System.Int64"/> values within a specified range. + </summary> + </member> + <member name="M:NUnit.Framework.RandomAttribute.#ctor(System.UInt64,System.UInt64,System.Int32)"> + <summary> + Generates <see cref="T:System.UInt64"/> values within a specified range. + </summary> + </member> + <member name="M:NUnit.Framework.RandomAttribute.#ctor(System.Int16,System.Int16,System.Int32)"> + <summary> + Generates <see cref="T:System.Int16"/> values within a specified range. + </summary> + </member> + <member name="M:NUnit.Framework.RandomAttribute.#ctor(System.UInt16,System.UInt16,System.Int32)"> + <summary> + Generates <see cref="T:System.UInt16"/> values within a specified range. + </summary> + </member> + <member name="M:NUnit.Framework.RandomAttribute.#ctor(System.Double,System.Double,System.Int32)"> + <summary> + Generates <see cref="T:System.Double"/> values within a specified range. + </summary> + </member> + <member name="M:NUnit.Framework.RandomAttribute.#ctor(System.Single,System.Single,System.Int32)"> + <summary> + Generates <see cref="T:System.Single"/> values within a specified range. + </summary> + </member> + <member name="M:NUnit.Framework.RandomAttribute.#ctor(System.Byte,System.Byte,System.Int32)"> + <summary> + Generates <see cref="T:System.Byte"/> values within a specified range. + </summary> + </member> + <member name="M:NUnit.Framework.RandomAttribute.#ctor(System.SByte,System.SByte,System.Int32)"> + <summary> + Generates <see cref="T:System.SByte"/> values within a specified range. + </summary> + </member> + <member name="M:NUnit.Framework.RandomAttribute.GetData(NUnit.Framework.Interfaces.IParameterInfo)"> + <summary> + Retrieves a list of arguments which can be passed to the specified parameter. + </summary> + <param name="parameter">The parameter of a parameterized test.</param> + </member> + <member name="T:NUnit.Framework.RangeAttribute"> + <summary> + Supplies a range of values to an individual parameter of a parameterized test. + </summary> + </member> + <member name="M:NUnit.Framework.RangeAttribute.#ctor(System.Int32,System.Int32)"> + <summary> + Constructs a range of <see cref="T:System.Int32"/> values using the default step of 1. + </summary> + </member> + <member name="M:NUnit.Framework.RangeAttribute.#ctor(System.Int32,System.Int32,System.Int32)"> + <summary> + Constructs a range of <see cref="T:System.Int32"/> values with the specified step size. + </summary> + </member> + <member name="M:NUnit.Framework.RangeAttribute.#ctor(System.UInt32,System.UInt32)"> + <summary> + Constructs a range of <see cref="T:System.UInt32"/> values using the default step of 1. + </summary> + </member> + <member name="M:NUnit.Framework.RangeAttribute.#ctor(System.UInt32,System.UInt32,System.UInt32)"> + <summary> + Constructs a range of <see cref="T:System.UInt32"/> values with the specified step size. + </summary> + </member> + <member name="M:NUnit.Framework.RangeAttribute.#ctor(System.Int64,System.Int64)"> + <summary> + Constructs a range of <see cref="T:System.Int64"/> values using a default step of 1. + </summary> + </member> + <member name="M:NUnit.Framework.RangeAttribute.#ctor(System.Int64,System.Int64,System.Int64)"> + <summary> + Constructs a range of <see cref="T:System.Int64"/> values with the specified step size. + </summary> + </member> + <member name="M:NUnit.Framework.RangeAttribute.#ctor(System.UInt64,System.UInt64)"> + <summary> + Constructs a range of <see cref="T:System.UInt64"/> values using the default step of 1. + </summary> + </member> + <member name="M:NUnit.Framework.RangeAttribute.#ctor(System.UInt64,System.UInt64,System.UInt64)"> + <summary> + Constructs a range of <see cref="T:System.UInt64"/> values with the specified step size. + </summary> + </member> + <member name="M:NUnit.Framework.RangeAttribute.#ctor(System.Double,System.Double,System.Double)"> + <summary> + Constructs a range of <see cref="T:System.Double"/> values with the specified step size. + </summary> + </member> + <member name="M:NUnit.Framework.RangeAttribute.#ctor(System.Single,System.Single,System.Single)"> + <summary> + Constructs a range of <see cref="T:System.Single"/> values with the specified step size. + </summary> + </member> + <member name="M:NUnit.Framework.RangeAttribute.GetData(NUnit.Framework.Interfaces.IParameterInfo)"> + <summary> + Retrieves a list of arguments which can be passed to the specified parameter. + </summary> + <param name="parameter">The parameter of a parameterized test.</param> + </member> + <member name="M:NUnit.Framework.RangeAttribute.ToString"> + <summary>Returns a string that represents the current object.</summary> + </member> + <member name="T:NUnit.Framework.RepeatAttribute"> + <summary> + Specifies that a test should be run multiple times. + </summary> + </member> + <member name="M:NUnit.Framework.RepeatAttribute.#ctor(System.Int32)"> + <summary> + Construct a RepeatAttribute + </summary> + <param name="count">The number of times to run the test</param> + </member> + <member name="M:NUnit.Framework.RepeatAttribute.Wrap(NUnit.Framework.Internal.Commands.TestCommand)"> + <summary> + Wrap a command and return the result. + </summary> + <param name="command">The command to be wrapped</param> + <returns>The wrapped command</returns> + </member> + <member name="T:NUnit.Framework.RepeatAttribute.RepeatedTestCommand"> + <summary> + The test command for the RepeatAttribute + </summary> + </member> + <member name="M:NUnit.Framework.RepeatAttribute.RepeatedTestCommand.#ctor(NUnit.Framework.Internal.Commands.TestCommand,System.Int32)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.RepeatAttribute.RepeatedTestCommand"/> class. + </summary> + <param name="innerCommand">The inner command.</param> + <param name="repeatCount">The number of repetitions</param> + </member> + <member name="M:NUnit.Framework.RepeatAttribute.RepeatedTestCommand.Execute(NUnit.Framework.Internal.TestExecutionContext)"> + <summary> + Runs the test, saving a TestResult in the supplied TestExecutionContext. + </summary> + <param name="context">The context in which the test should run.</param> + <returns>A TestResult</returns> + </member> + <member name="T:NUnit.Framework.RequiresThreadAttribute"> + <summary> + Marks a test that must run on a separate thread. + </summary> + </member> + <member name="M:NUnit.Framework.RequiresThreadAttribute.#ctor"> + <summary> + Construct a RequiresThreadAttribute + </summary> + </member> + <member name="M:NUnit.Framework.RequiresThreadAttribute.#ctor(System.Threading.ApartmentState)"> + <summary> + Construct a RequiresThreadAttribute, specifying the apartment + </summary> + </member> + <member name="T:NUnit.Framework.RetryAttribute"> + <summary> + Specifies that a test method should be rerun on failure up to the specified + maximum number of times. + </summary> + </member> + <member name="M:NUnit.Framework.RetryAttribute.#ctor(System.Int32)"> + <summary> + Construct a <see cref="T:NUnit.Framework.RetryAttribute" /> + </summary> + <param name="tryCount">The maximum number of times the test should be run if it fails</param> + </member> + <member name="M:NUnit.Framework.RetryAttribute.Wrap(NUnit.Framework.Internal.Commands.TestCommand)"> + <summary> + Wrap a command and return the result. + </summary> + <param name="command">The command to be wrapped</param> + <returns>The wrapped command</returns> + </member> + <member name="T:NUnit.Framework.RetryAttribute.RetryCommand"> + <summary> + The test command for the <see cref="T:NUnit.Framework.RetryAttribute"/> + </summary> + </member> + <member name="M:NUnit.Framework.RetryAttribute.RetryCommand.#ctor(NUnit.Framework.Internal.Commands.TestCommand,System.Int32)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.RetryAttribute.RetryCommand"/> class. + </summary> + <param name="innerCommand">The inner command.</param> + <param name="tryCount">The maximum number of repetitions</param> + </member> + <member name="M:NUnit.Framework.RetryAttribute.RetryCommand.Execute(NUnit.Framework.Internal.TestExecutionContext)"> + <summary> + Runs the test, saving a TestResult in the supplied TestExecutionContext. + </summary> + <param name="context">The context in which the test should run.</param> + <returns>A TestResult</returns> + </member> + <member name="T:NUnit.Framework.SequentialAttribute"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.SequentialAttribute.#ctor"> + <summary> + Default constructor + </summary> + </member> + <member name="T:NUnit.Framework.SetCultureAttribute"> + <summary> + 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. + </summary> + <seealso cref="T:NUnit.Framework.SetUICultureAttribute"/> + </member> + <member name="M:NUnit.Framework.SetCultureAttribute.#ctor(System.String)"> + <summary> + Construct given the name of a culture + </summary> + <param name="culture"></param> + </member> + <member name="T:NUnit.Framework.SetUICultureAttribute"> + <summary> + 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. + </summary> + <seealso cref="T:NUnit.Framework.SetCultureAttribute"/> + </member> + <member name="M:NUnit.Framework.SetUICultureAttribute.#ctor(System.String)"> + <summary> + Construct given the name of a culture + </summary> + <param name="culture"></param> + </member> + <member name="T:NUnit.Framework.SetUpAttribute"> + <summary> + Identifies a method to be called immediately before each test is run. + </summary> + </member> + <member name="T:NUnit.Framework.SetUpFixtureAttribute"> + <summary> + Identifies a class as containing <see cref="T:NUnit.Framework.OneTimeSetUpAttribute" /> or + <see cref="T:NUnit.Framework.OneTimeTearDownAttribute" /> methods for all the test fixtures + under a given namespace. + </summary> + </member> + <member name="M:NUnit.Framework.SetUpFixtureAttribute.BuildFrom(NUnit.Framework.Interfaces.ITypeInfo)"> + <summary> + Builds a <see cref="T:NUnit.Framework.Internal.SetUpFixture"/> from the specified type. + </summary> + <param name="typeInfo">The type info of the fixture to be used.</param> + </member> + <member name="T:NUnit.Framework.SingleThreadedAttribute"> + <summary> + 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 + <see cref="T:NUnit.Framework.Internal.TestExecutionContext"/> is set forcing all child tests + to be run sequentially on the current thread. + Any <see cref="T:NUnit.Framework.ParallelScope"/> setting is ignored. + </summary> + </member> + <member name="M:NUnit.Framework.SingleThreadedAttribute.ApplyToContext(NUnit.Framework.Internal.TestExecutionContext)"> + <summary> + Apply changes to the TestExecutionContext + </summary> + <param name="context">The TestExecutionContext</param> + </member> + <member name="T:NUnit.Framework.TearDownAttribute"> + <summary> + 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. + </summary> + </member> + <member name="T:NUnit.Framework.TestActionAttribute"> + <summary> + Abstract attribute providing actions to execute before and after tests. + </summary> + </member> + <member name="M:NUnit.Framework.TestActionAttribute.BeforeTest(NUnit.Framework.Interfaces.ITest)"> + <summary> + Executed before each test is run + </summary> + <param name="test">The test that is going to be run.</param> + </member> + <member name="M:NUnit.Framework.TestActionAttribute.AfterTest(NUnit.Framework.Interfaces.ITest)"> + <summary> + Executed after each test is run + </summary> + <param name="test">The test that has just been run.</param> + </member> + <member name="P:NUnit.Framework.TestActionAttribute.Targets"> + <summary> + Provides the target for the action attribute + </summary> + </member> + <member name="T:NUnit.Framework.TestAssemblyDirectoryResolveAttribute"> + <summary> + 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. + </summary> + </member> + <member name="T:NUnit.Framework.TestAttribute"> + <summary> + Marks the method as callable from the NUnit test runner. + </summary> + + <example> + [TestFixture] + public class Fixture + { + [Test] + public void MethodToTest() + {} + + [Test(Description = "more detailed description")] + public void TestDescriptionMethod() + {} + } + </example> + + </member> + <member name="P:NUnit.Framework.TestAttribute.Description"> + <summary> + Descriptive text for this test + </summary> + </member> + <member name="P:NUnit.Framework.TestAttribute.Author"> + <summary> + The author of this test + </summary> + </member> + <member name="P:NUnit.Framework.TestAttribute.TestOf"> + <summary> + The type that this test is testing + </summary> + </member> + <member name="P:NUnit.Framework.TestAttribute.ExpectedResult"> + <summary> + Gets or sets the expected result. Not valid if the test + method has parameters. + </summary> + <value>The result.</value> + </member> + <member name="M:NUnit.Framework.TestAttribute.ApplyToTest(NUnit.Framework.Internal.Test)"> + <summary> + Modifies a test by adding a description, if not already set. + </summary> + <param name="test">The test to modify</param> + </member> + <member name="M:NUnit.Framework.TestAttribute.BuildFrom(NUnit.Framework.Interfaces.IMethodInfo,NUnit.Framework.Internal.Test)"> + <summary> + Builds a single test from the specified method and context. + </summary> + <param name="method">The method for which a test is to be constructed.</param> + <param name="suite">The suite to which the test will be added.</param> + </member> + <member name="T:NUnit.Framework.TestCaseAttribute"> + <summary> + Marks a method as a parameterized test suite and provides arguments for each test case. + </summary> + </member> + <member name="M:NUnit.Framework.TestCaseAttribute.#ctor(System.Object[])"> + <summary> + Construct a TestCaseAttribute with a list of arguments. + This constructor is not CLS-Compliant + </summary> + <param name="arguments"></param> + </member> + <member name="M:NUnit.Framework.TestCaseAttribute.#ctor(System.Object)"> + <summary> + Construct a TestCaseAttribute with a single argument + </summary> + <param name="arg"></param> + </member> + <member name="M:NUnit.Framework.TestCaseAttribute.#ctor(System.Object,System.Object)"> + <summary> + Construct a TestCaseAttribute with a two arguments + </summary> + <param name="arg1"></param> + <param name="arg2"></param> + </member> + <member name="M:NUnit.Framework.TestCaseAttribute.#ctor(System.Object,System.Object,System.Object)"> + <summary> + Construct a TestCaseAttribute with a three arguments + </summary> + <param name="arg1"></param> + <param name="arg2"></param> + <param name="arg3"></param> + </member> + <member name="P:NUnit.Framework.TestCaseAttribute.TestName"> + <summary> + Gets or sets the name of the test. + </summary> + <value>The name of the test.</value> + </member> + <member name="P:NUnit.Framework.TestCaseAttribute.RunState"> + <summary> + Gets or sets the RunState of this test case. + </summary> + </member> + <member name="P:NUnit.Framework.TestCaseAttribute.Arguments"> + <summary> + Gets the list of arguments to a test case + </summary> + </member> + <member name="P:NUnit.Framework.TestCaseAttribute.Properties"> + <summary> + Gets the properties of the test case + </summary> + </member> + <member name="P:NUnit.Framework.TestCaseAttribute.ExpectedResult"> + <summary> + Gets or sets the expected result. + </summary> + <value>The result.</value> + </member> + <member name="P:NUnit.Framework.TestCaseAttribute.HasExpectedResult"> + <summary> + Returns true if the expected result has been set + </summary> + </member> + <member name="P:NUnit.Framework.TestCaseAttribute.Description"> + <summary> + Gets or sets the description. + </summary> + <value>The description.</value> + </member> + <member name="P:NUnit.Framework.TestCaseAttribute.Author"> + <summary> + The author of this test + </summary> + </member> + <member name="P:NUnit.Framework.TestCaseAttribute.TestOf"> + <summary> + The type that this test is testing + </summary> + </member> + <member name="P:NUnit.Framework.TestCaseAttribute.Ignore"> + <summary> + Gets or sets the reason for ignoring the test + </summary> + </member> + <member name="P:NUnit.Framework.TestCaseAttribute.Explicit"> + <summary> + Gets or sets a value indicating whether this <see cref="T:NUnit.Framework.TestCaseAttribute"/> is explicit. + </summary> + <value> + <see langword="true"/> if explicit; otherwise, <see langword="false"/>. + </value> + </member> + <member name="P:NUnit.Framework.TestCaseAttribute.Reason"> + <summary> + Gets or sets the reason for not running the test. + </summary> + <value>The reason.</value> + </member> + <member name="P:NUnit.Framework.TestCaseAttribute.IgnoreReason"> + <summary> + Gets or sets the ignore reason. When set to a non-null + non-empty value, the test is marked as ignored. + </summary> + <value>The ignore reason.</value> + </member> + <member name="P:NUnit.Framework.TestCaseAttribute.IncludePlatform"> + <summary> + Comma-delimited list of platforms to run the test for + </summary> + </member> + <member name="P:NUnit.Framework.TestCaseAttribute.ExcludePlatform"> + <summary> + Comma-delimited list of platforms to not run the test for + </summary> + </member> + <member name="P:NUnit.Framework.TestCaseAttribute.Category"> + <summary> + Gets and sets the category for this test case. + May be a comma-separated list of categories. + </summary> + </member> + <member name="P:NUnit.Framework.TestCaseAttribute.Until"> + <summary> + Gets and sets the ignore until date for this test case. + </summary> + </member> + <member name="M:NUnit.Framework.TestCaseAttribute.PerformSpecialConversions(System.Object[],NUnit.Framework.Interfaces.IParameterInfo[])"> + <summary> + 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. + </summary> + <param name="arglist">The arguments to be converted</param> + <param name="parameters">The ParameterInfo array for the method</param> + </member> + <member name="M:NUnit.Framework.TestCaseAttribute.BuildFrom(NUnit.Framework.Interfaces.IMethodInfo,NUnit.Framework.Internal.Test)"> + <summary> + Builds a single test from the specified method and context. + </summary> + <param name="method">The MethodInfo for which tests are to be constructed.</param> + <param name="suite">The suite to which the tests will be added.</param> + </member> + <member name="T:NUnit.Framework.TestCaseSourceAttribute"> + <summary> + Indicates the source to be used to provide test fixture instances for a test class. + </summary> + </member> + <member name="M:NUnit.Framework.TestCaseSourceAttribute.#ctor(System.String)"> + <summary> + Construct with the name of the method, property or field that will provide data + </summary> + <param name="sourceName">The name of a static method, property or field that will provide data.</param> + </member> + <member name="M:NUnit.Framework.TestCaseSourceAttribute.#ctor(System.Type,System.String,System.Object[])"> + <summary> + Construct with a Type and name + </summary> + <param name="sourceType">The Type that will provide data</param> + <param name="sourceName">The name of a static method, property or field that will provide data.</param> + <param name="methodParams">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.</param> + </member> + <member name="M:NUnit.Framework.TestCaseSourceAttribute.#ctor(System.Type,System.String)"> + <summary> + Construct with a Type and name + </summary> + <param name="sourceType">The Type that will provide data</param> + <param name="sourceName">The name of a static method, property or field that will provide data.</param> + </member> + <member name="M:NUnit.Framework.TestCaseSourceAttribute.#ctor(System.String,System.Object[])"> + <summary> + Construct with a name + </summary> + <param name="sourceName">The name of a static method, property or field that will provide data.</param> + <param name="methodParams">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.</param> + </member> + <member name="M:NUnit.Framework.TestCaseSourceAttribute.#ctor(System.Type)"> + <summary> + Construct with a Type + </summary> + <param name="sourceType">The type that will provide data</param> + </member> + <member name="P:NUnit.Framework.TestCaseSourceAttribute.MethodParams"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.TestCaseSourceAttribute.SourceName"> + <summary> + The name of a the method, property or field to be used as a source + </summary> + </member> + <member name="P:NUnit.Framework.TestCaseSourceAttribute.SourceType"> + <summary> + A Type to be used as a source + </summary> + </member> + <member name="P:NUnit.Framework.TestCaseSourceAttribute.Category"> + <summary> + Gets or sets the category associated with every fixture created from + this attribute. May be a single category or a comma-separated list. + </summary> + </member> + <member name="M:NUnit.Framework.TestCaseSourceAttribute.BuildFrom(NUnit.Framework.Interfaces.IMethodInfo,NUnit.Framework.Internal.Test)"> + <summary> + Builds any number of tests from the specified method and context. + </summary> + <param name="method">The IMethod for which tests are to be constructed.</param> + <param name="suite">The suite to which the tests will be added.</param> + </member> + <member name="T:NUnit.Framework.TestFixtureAttribute"> + <summary> + Marks the class as a TestFixture. + </summary> + </member> + <member name="M:NUnit.Framework.TestFixtureAttribute.#ctor"> + <summary> + Default constructor + </summary> + </member> + <member name="M:NUnit.Framework.TestFixtureAttribute.#ctor(System.Object[])"> + <summary> + Construct with a object[] representing a set of arguments. + The arguments may later be separated into type arguments and constructor arguments. + </summary> + <param name="arguments"></param> + </member> + <member name="P:NUnit.Framework.TestFixtureAttribute.TestName"> + <summary> + Gets or sets the name of the test. + </summary> + <value>The name of the test.</value> + </member> + <member name="P:NUnit.Framework.TestFixtureAttribute.RunState"> + <summary> + Gets or sets the RunState of this test fixture. + </summary> + </member> + <member name="P:NUnit.Framework.TestFixtureAttribute.Arguments"> + <summary> + The arguments originally provided to the attribute + </summary> + </member> + <member name="P:NUnit.Framework.TestFixtureAttribute.Properties"> + <summary> + Properties pertaining to this fixture + </summary> + </member> + <member name="P:NUnit.Framework.TestFixtureAttribute.TypeArgs"> + <summary> + Get or set the type arguments. If not set + explicitly, any leading arguments that are + Types are taken as type arguments. + </summary> + </member> + <member name="P:NUnit.Framework.TestFixtureAttribute.Description"> + <summary> + Descriptive text for this fixture + </summary> + </member> + <member name="P:NUnit.Framework.TestFixtureAttribute.Author"> + <summary> + The author of this fixture + </summary> + </member> + <member name="P:NUnit.Framework.TestFixtureAttribute.TestOf"> + <summary> + The type that this fixture is testing + </summary> + </member> + <member name="P:NUnit.Framework.TestFixtureAttribute.Ignore"> + <summary> + Gets or sets the ignore reason. May set RunState as a side effect. + </summary> + <value>The ignore reason.</value> + </member> + <member name="P:NUnit.Framework.TestFixtureAttribute.Reason"> + <summary> + Gets or sets the reason for not running the fixture. + </summary> + <value>The reason.</value> + </member> + <member name="P:NUnit.Framework.TestFixtureAttribute.IgnoreReason"> + <summary> + Gets or sets the ignore reason. When set to a non-null + non-empty value, the test is marked as ignored. + </summary> + <value>The ignore reason.</value> + </member> + <member name="P:NUnit.Framework.TestFixtureAttribute.Explicit"> + <summary> + Gets or sets a value indicating whether this <see cref="T:NUnit.Framework.TestFixtureAttribute"/> is explicit. + </summary> + <value> + <see langword="true"/> if explicit; otherwise, <see langword="false"/>. + </value> + </member> + <member name="P:NUnit.Framework.TestFixtureAttribute.Category"> + <summary> + Gets and sets the category for this fixture. + May be a comma-separated list of categories. + </summary> + </member> + <member name="M:NUnit.Framework.TestFixtureAttribute.BuildFrom(NUnit.Framework.Interfaces.ITypeInfo)"> + <summary> + Builds a single test fixture from the specified type. + </summary> + </member> + <member name="M:NUnit.Framework.TestFixtureAttribute.BuildFrom(NUnit.Framework.Interfaces.ITypeInfo,NUnit.Framework.Interfaces.IPreFilter)"> + <summary> + Builds a single test fixture from the specified type. + </summary> + <param name="typeInfo">The type info of the fixture to be used.</param> + <param name="filter">Filter used to select methods as tests.</param> + </member> + <member name="T:NUnit.Framework.TestFixtureSourceAttribute"> + <summary> + Identifies the source used to provide test fixture instances for a test class. + </summary> + </member> + <member name="F:NUnit.Framework.TestFixtureSourceAttribute.MUST_BE_STATIC"> + <summary> + Error message string is public so the tests can use it + </summary> + </member> + <member name="M:NUnit.Framework.TestFixtureSourceAttribute.#ctor(System.String)"> + <summary> + Construct with the name of the method, property or field that will provide data + </summary> + <param name="sourceName">The name of a static method, property or field that will provide data.</param> + </member> + <member name="M:NUnit.Framework.TestFixtureSourceAttribute.#ctor(System.Type,System.String)"> + <summary> + Construct with a Type and name + </summary> + <param name="sourceType">The Type that will provide data</param> + <param name="sourceName">The name of a static method, property or field that will provide data.</param> + </member> + <member name="M:NUnit.Framework.TestFixtureSourceAttribute.#ctor(System.Type)"> + <summary> + Construct with a Type + </summary> + <param name="sourceType">The type that will provide data</param> + </member> + <member name="P:NUnit.Framework.TestFixtureSourceAttribute.SourceName"> + <summary> + The name of a the method, property or field to be used as a source + </summary> + </member> + <member name="P:NUnit.Framework.TestFixtureSourceAttribute.SourceType"> + <summary> + A Type to be used as a source + </summary> + </member> + <member name="P:NUnit.Framework.TestFixtureSourceAttribute.Category"> + <summary> + Gets or sets the category associated with every fixture created from + this attribute. May be a single category or a comma-separated list. + </summary> + </member> + <member name="M:NUnit.Framework.TestFixtureSourceAttribute.BuildFrom(NUnit.Framework.Interfaces.ITypeInfo)"> + <summary> + Builds any number of test fixtures from the specified type. + </summary> + <param name="typeInfo">The TypeInfo for which fixtures are to be constructed.</param> + </member> + <member name="M:NUnit.Framework.TestFixtureSourceAttribute.BuildFrom(NUnit.Framework.Interfaces.ITypeInfo,NUnit.Framework.Interfaces.IPreFilter)"> + <summary> + Builds any number of test fixtures from the specified type. + </summary> + <param name="typeInfo">The TypeInfo for which fixtures are to be constructed.</param> + <param name="filter">PreFilter used to select methods as tests.</param> + </member> + <member name="M:NUnit.Framework.TestFixtureSourceAttribute.GetParametersFor(System.Type)"> + <summary> + Returns a set of ITestFixtureData items for use as arguments + to a parameterized test fixture. + </summary> + <param name="sourceType">The type for which data is needed.</param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.TestOfAttribute"> + <summary> + Indicates the method or class the assembly, test fixture or test method is testing. + </summary> + </member> + <member name="M:NUnit.Framework.TestOfAttribute.#ctor(System.Type)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.TestOfAttribute"/> class. + </summary> + <param name="type">The type that is being tested.</param> + </member> + <member name="M:NUnit.Framework.TestOfAttribute.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.TestOfAttribute"/> class. + </summary> + <param name="typeName">The type that is being tested.</param> + </member> + <member name="T:NUnit.Framework.TheoryAttribute"> + <summary> + Adding this attribute to a method within a <seealso cref="T:NUnit.Framework.TestFixtureAttribute"/> + 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. + </summary> + + <example> + [TestFixture] + public class Fixture + { + [Test] + public void MethodToTest() + {} + + [Test(Description = "more detailed description")] + public void TestDescriptionMethod() + {} + } + </example> + + </member> + <member name="M:NUnit.Framework.TheoryAttribute.#ctor"> + <summary> + Construct the attribute, specifying a combining strategy and source of parameter data. + </summary> + </member> + <member name="T:NUnit.Framework.TimeoutAttribute"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.TimeoutAttribute.#ctor(System.Int32)"> + <summary> + Construct a TimeoutAttribute given a time in milliseconds + </summary> + <param name="timeout">The timeout value in milliseconds</param> + </member> + <member name="T:NUnit.Framework.ValuesAttribute"> + <summary> + Provides literal arguments for an individual parameter of a test. + </summary> + </member> + <member name="F:NUnit.Framework.ValuesAttribute.data"> + <summary> + 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 + </summary> + </member> + <member name="M:NUnit.Framework.ValuesAttribute.#ctor"> + <summary> + Constructs for use with an Enum parameter. Will pass every enum + value in to the test. + </summary> + </member> + <member name="M:NUnit.Framework.ValuesAttribute.#ctor(System.Object)"> + <summary> + Construct with one argument + </summary> + <param name="arg1"></param> + </member> + <member name="M:NUnit.Framework.ValuesAttribute.#ctor(System.Object,System.Object)"> + <summary> + Construct with two arguments + </summary> + <param name="arg1"></param> + <param name="arg2"></param> + </member> + <member name="M:NUnit.Framework.ValuesAttribute.#ctor(System.Object,System.Object,System.Object)"> + <summary> + Construct with three arguments + </summary> + <param name="arg1"></param> + <param name="arg2"></param> + <param name="arg3"></param> + </member> + <member name="M:NUnit.Framework.ValuesAttribute.#ctor(System.Object[])"> + <summary> + Construct with an array of arguments + </summary> + <param name="args"></param> + </member> + <member name="M:NUnit.Framework.ValuesAttribute.GetData(NUnit.Framework.Interfaces.IParameterInfo)"> + <summary> + Retrieves a list of arguments which can be passed to the specified parameter. + </summary> + <param name="parameter">The parameter of a parameterized test.</param> + </member> + <member name="M:NUnit.Framework.ValuesAttribute.GenerateData(System.Type)"> + <summary> + To generate data for Values attribute, in case no data is provided. + </summary> + </member> + <member name="M:NUnit.Framework.ValuesAttribute.IsNullableEnum(System.Type)"> + <summary> + To Check if type is nullable enum. + </summary> + </member> + <member name="T:NUnit.Framework.ValueSourceAttribute"> + <summary> + Indicates the source used to provide data for one parameter of a test method. + </summary> + </member> + <member name="M:NUnit.Framework.ValueSourceAttribute.#ctor(System.String)"> + <summary> + Construct with the name of the factory - for use with languages + that don't support params arrays. + </summary> + <param name="sourceName">The name of a static method, property or field that will provide data.</param> + </member> + <member name="M:NUnit.Framework.ValueSourceAttribute.#ctor(System.Type,System.String)"> + <summary> + Construct with a Type and name - for use with languages + that don't support params arrays. + </summary> + <param name="sourceType">The Type that will provide data</param> + <param name="sourceName">The name of a static method, property or field that will provide data.</param> + </member> + <member name="P:NUnit.Framework.ValueSourceAttribute.SourceName"> + <summary> + The name of a the method, property or field to be used as a source + </summary> + </member> + <member name="P:NUnit.Framework.ValueSourceAttribute.SourceType"> + <summary> + A Type to be used as a source + </summary> + </member> + <member name="M:NUnit.Framework.ValueSourceAttribute.GetData(NUnit.Framework.Interfaces.IParameterInfo)"> + <summary> + Retrieves a list of arguments which can be passed to the specified parameter. + </summary> + <param name="parameter">The parameter of a parameterized test.</param> + </member> + <member name="T:NUnit.Framework.CollectionAssert"> + <summary> + A set of Assert methods operating on one or more collections + </summary> + </member> + <member name="M:NUnit.Framework.CollectionAssert.Equals(System.Object,System.Object)"> + <summary> + 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. + </summary> + <param name="a"></param> + <param name="b"></param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.ReferenceEquals(System.Object,System.Object)"> + <summary> + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + </summary> + <param name="a"></param> + <param name="b"></param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.AllItemsAreInstancesOfType(System.Collections.IEnumerable,System.Type)"> + <summary> + Asserts that all items contained in collection are of the type specified by expectedType. + </summary> + <param name="collection">IEnumerable containing objects to be considered</param> + <param name="expectedType">System.Type that all objects in collection must be instances of</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.AllItemsAreInstancesOfType(System.Collections.IEnumerable,System.Type,System.String,System.Object[])"> + <summary> + Asserts that all items contained in collection are of the type specified by expectedType. + </summary> + <param name="collection">IEnumerable containing objects to be considered</param> + <param name="expectedType">System.Type that all objects in collection must be instances of</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.AllItemsAreNotNull(System.Collections.IEnumerable)"> + <summary> + Asserts that all items contained in collection are not equal to null. + </summary> + <param name="collection">IEnumerable containing objects to be considered</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.AllItemsAreNotNull(System.Collections.IEnumerable,System.String,System.Object[])"> + <summary> + Asserts that all items contained in collection are not equal to null. + </summary> + <param name="collection">IEnumerable of objects to be considered</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.AllItemsAreUnique(System.Collections.IEnumerable)"> + <summary> + Ensures that every object contained in collection exists within the collection + once and only once. + </summary> + <param name="collection">IEnumerable of objects to be considered</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.AllItemsAreUnique(System.Collections.IEnumerable,System.String,System.Object[])"> + <summary> + Ensures that every object contained in collection exists within the collection + once and only once. + </summary> + <param name="collection">IEnumerable of objects to be considered</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.AreEqual(System.Collections.IEnumerable,System.Collections.IEnumerable)"> + <summary> + 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. + </summary> + <param name="expected">The first IEnumerable of objects to be considered</param> + <param name="actual">The second IEnumerable of objects to be considered</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.AreEqual(System.Collections.IEnumerable,System.Collections.IEnumerable,System.Collections.IComparer)"> + <summary> + 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. + </summary> + <param name="expected">The first IEnumerable of objects to be considered</param> + <param name="actual">The second IEnumerable of objects to be considered</param> + <param name="comparer">The IComparer to use in comparing objects from each IEnumerable</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.AreEqual(System.Collections.IEnumerable,System.Collections.IEnumerable,System.String,System.Object[])"> + <summary> + 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. + </summary> + <param name="expected">The first IEnumerable of objects to be considered</param> + <param name="actual">The second IEnumerable of objects to be considered</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.AreEqual(System.Collections.IEnumerable,System.Collections.IEnumerable,System.Collections.IComparer,System.String,System.Object[])"> + <summary> + 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. + </summary> + <param name="expected">The first IEnumerable of objects to be considered</param> + <param name="actual">The second IEnumerable of objects to be considered</param> + <param name="comparer">The IComparer to use in comparing objects from each IEnumerable</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.AreEquivalent(System.Collections.IEnumerable,System.Collections.IEnumerable)"> + <summary> + Asserts that expected and actual are equivalent, containing the same objects but the match may be in any order. + </summary> + <param name="expected">The first IEnumerable of objects to be considered</param> + <param name="actual">The second IEnumerable of objects to be considered</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.AreEquivalent(System.Collections.IEnumerable,System.Collections.IEnumerable,System.String,System.Object[])"> + <summary> + Asserts that expected and actual are equivalent, containing the same objects but the match may be in any order. + </summary> + <param name="expected">The first IEnumerable of objects to be considered</param> + <param name="actual">The second IEnumerable of objects to be considered</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.AreNotEqual(System.Collections.IEnumerable,System.Collections.IEnumerable)"> + <summary> + Asserts that expected and actual are not exactly equal. + </summary> + <param name="expected">The first IEnumerable of objects to be considered</param> + <param name="actual">The second IEnumerable of objects to be considered</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.AreNotEqual(System.Collections.IEnumerable,System.Collections.IEnumerable,System.Collections.IComparer)"> + <summary> + Asserts that expected and actual are not exactly equal. + If comparer is not null then it will be used to compare the objects. + </summary> + <param name="expected">The first IEnumerable of objects to be considered</param> + <param name="actual">The second IEnumerable of objects to be considered</param> + <param name="comparer">The IComparer to use in comparing objects from each IEnumerable</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.AreNotEqual(System.Collections.IEnumerable,System.Collections.IEnumerable,System.String,System.Object[])"> + <summary> + Asserts that expected and actual are not exactly equal. + </summary> + <param name="expected">The first IEnumerable of objects to be considered</param> + <param name="actual">The second IEnumerable of objects to be considered</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.AreNotEqual(System.Collections.IEnumerable,System.Collections.IEnumerable,System.Collections.IComparer,System.String,System.Object[])"> + <summary> + Asserts that expected and actual are not exactly equal. + If comparer is not null then it will be used to compare the objects. + </summary> + <param name="expected">The first IEnumerable of objects to be considered</param> + <param name="actual">The second IEnumerable of objects to be considered</param> + <param name="comparer">The IComparer to use in comparing objects from each IEnumerable</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.AreNotEquivalent(System.Collections.IEnumerable,System.Collections.IEnumerable)"> + <summary> + Asserts that expected and actual are not equivalent. + </summary> + <param name="expected">The first IEnumerable of objects to be considered</param> + <param name="actual">The second IEnumerable of objects to be considered</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.AreNotEquivalent(System.Collections.IEnumerable,System.Collections.IEnumerable,System.String,System.Object[])"> + <summary> + Asserts that expected and actual are not equivalent. + </summary> + <param name="expected">The first IEnumerable of objects to be considered</param> + <param name="actual">The second IEnumerable of objects to be considered</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.Contains(System.Collections.IEnumerable,System.Object)"> + <summary> + Asserts that collection contains actual as an item. + </summary> + <param name="collection">IEnumerable of objects to be considered</param> + <param name="actual">Object to be found within collection</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.Contains(System.Collections.IEnumerable,System.Object,System.String,System.Object[])"> + <summary> + Asserts that collection contains actual as an item. + </summary> + <param name="collection">IEnumerable of objects to be considered</param> + <param name="actual">Object to be found within collection</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.DoesNotContain(System.Collections.IEnumerable,System.Object)"> + <summary> + Asserts that collection does not contain actual as an item. + </summary> + <param name="collection">IEnumerable of objects to be considered</param> + <param name="actual">Object that cannot exist within collection</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.DoesNotContain(System.Collections.IEnumerable,System.Object,System.String,System.Object[])"> + <summary> + Asserts that collection does not contain actual as an item. + </summary> + <param name="collection">IEnumerable of objects to be considered</param> + <param name="actual">Object that cannot exist within collection</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.IsNotSubsetOf(System.Collections.IEnumerable,System.Collections.IEnumerable)"> + <summary> + Asserts that the superset does not contain the subset + </summary> + <param name="subset">The IEnumerable subset to be considered</param> + <param name="superset">The IEnumerable superset to be considered</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.IsNotSubsetOf(System.Collections.IEnumerable,System.Collections.IEnumerable,System.String,System.Object[])"> + <summary> + Asserts that the superset does not contain the subset + </summary> + <param name="subset">The IEnumerable subset to be considered</param> + <param name="superset">The IEnumerable superset to be considered</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.IsSubsetOf(System.Collections.IEnumerable,System.Collections.IEnumerable)"> + <summary> + Asserts that the superset contains the subset. + </summary> + <param name="subset">The IEnumerable subset to be considered</param> + <param name="superset">The IEnumerable superset to be considered</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.IsSubsetOf(System.Collections.IEnumerable,System.Collections.IEnumerable,System.String,System.Object[])"> + <summary> + Asserts that the superset contains the subset. + </summary> + <param name="subset">The IEnumerable subset to be considered</param> + <param name="superset">The IEnumerable superset to be considered</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.IsNotSupersetOf(System.Collections.IEnumerable,System.Collections.IEnumerable)"> + <summary> + Asserts that the subset does not contain the superset + </summary> + <param name="superset">The IEnumerable superset to be considered</param> + <param name="subset">The IEnumerable subset to be considered</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.IsNotSupersetOf(System.Collections.IEnumerable,System.Collections.IEnumerable,System.String,System.Object[])"> + <summary> + Asserts that the subset does not contain the superset + </summary> + <param name="superset">The IEnumerable superset to be considered</param> + <param name="subset">The IEnumerable subset to be considered</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.IsSupersetOf(System.Collections.IEnumerable,System.Collections.IEnumerable)"> + <summary> + Asserts that the subset contains the superset. + </summary> + <param name="superset">The IEnumerable superset to be considered</param> + <param name="subset">The IEnumerable subset to be considered</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.IsSupersetOf(System.Collections.IEnumerable,System.Collections.IEnumerable,System.String,System.Object[])"> + <summary> + Asserts that the subset contains the superset. + </summary> + <param name="superset">The IEnumerable superset to be considered</param> + <param name="subset">The IEnumerable subset to be considered</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.IsEmpty(System.Collections.IEnumerable,System.String,System.Object[])"> + <summary> + Assert that an array, list or other collection is empty + </summary> + <param name="collection">An array, list or other collection implementing IEnumerable</param> + <param name="message">The message to be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.IsEmpty(System.Collections.IEnumerable)"> + <summary> + Assert that an array,list or other collection is empty + </summary> + <param name="collection">An array, list or other collection implementing IEnumerable</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.IsNotEmpty(System.Collections.IEnumerable,System.String,System.Object[])"> + <summary> + Assert that an array, list or other collection is empty + </summary> + <param name="collection">An array, list or other collection implementing IEnumerable</param> + <param name="message">The message to be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.IsNotEmpty(System.Collections.IEnumerable)"> + <summary> + Assert that an array,list or other collection is empty + </summary> + <param name="collection">An array, list or other collection implementing IEnumerable</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.IsOrdered(System.Collections.IEnumerable,System.String,System.Object[])"> + <summary> + Assert that an array, list or other collection is ordered + </summary> + <param name="collection">An array, list or other collection implementing IEnumerable</param> + <param name="message">The message to be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.IsOrdered(System.Collections.IEnumerable)"> + <summary> + Assert that an array, list or other collection is ordered + </summary> + <param name="collection">An array, list or other collection implementing IEnumerable</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.IsOrdered(System.Collections.IEnumerable,System.Collections.IComparer,System.String,System.Object[])"> + <summary> + Assert that an array, list or other collection is ordered + </summary> + <param name="collection">An array, list or other collection implementing IEnumerable</param> + <param name="comparer">A custom comparer to perform the comparisons</param> + <param name="message">The message to be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.CollectionAssert.IsOrdered(System.Collections.IEnumerable,System.Collections.IComparer)"> + <summary> + Assert that an array, list or other collection is ordered + </summary> + <param name="collection">An array, list or other collection implementing IEnumerable</param> + <param name="comparer">A custom comparer to perform the comparisons</param> + </member> + <member name="T:NUnit.Framework.Constraints.AllItemsConstraint"> + <summary> + AllItemsConstraint applies another constraint to each + item in a collection, succeeding if they all succeed. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.AllItemsConstraint.#ctor(NUnit.Framework.Constraints.IConstraint)"> + <summary> + Construct an AllItemsConstraint on top of an existing constraint + </summary> + <param name="itemConstraint"></param> + </member> + <member name="P:NUnit.Framework.Constraints.AllItemsConstraint.DisplayName"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.AllItemsConstraint.ApplyTo``1(``0)"> + <summary> + Apply the item constraint to each item in the collection, + failing if any item fails. + </summary> + <param name="actual"></param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Constraints.AndConstraint"> + <summary> + AndConstraint succeeds only if both members succeed. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.AndConstraint.#ctor(NUnit.Framework.Constraints.IConstraint,NUnit.Framework.Constraints.IConstraint)"> + <summary> + Create an AndConstraint from two other constraints + </summary> + <param name="left">The first constraint</param> + <param name="right">The second constraint</param> + </member> + <member name="P:NUnit.Framework.Constraints.AndConstraint.Description"> + <summary> + Gets text describing a constraint + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.AndConstraint.ApplyTo``1(``0)"> + <summary> + Apply both member constraints to an actual value, succeeding + succeeding only if both of them succeed. + </summary> + <param name="actual">The actual value</param> + <returns>True if the constraints both succeeded</returns> + </member> + <member name="M:NUnit.Framework.Constraints.AndConstraint.AndConstraintResult.WriteActualValueTo(NUnit.Framework.Constraints.MessageWriter)"> + <summary> + 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. + </summary> + <param name="writer">The writer on which the actual value is displayed</param> + </member> + <member name="T:NUnit.Framework.Constraints.AnyOfConstraint"> + <summary> + <see cref="T:NUnit.Framework.Constraints.AnyOfConstraint"/> is used to determine whether the value is equal to any of the expected values. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.AnyOfConstraint.#ctor(System.Object[])"> + <summary> + Construct a <see cref="T:NUnit.Framework.Constraints.AnyOfConstraint"/> + </summary> + <param name="expected">Collection of expected values</param> + </member> + <member name="P:NUnit.Framework.Constraints.AnyOfConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.AnyOfConstraint.ApplyTo``1(``0)"> + <summary> + Test whether item is present in expected collection + </summary> + <typeparam name="TActual">Actual item type</typeparam> + <param name="actual">Actual item</param> + </member> + <member name="P:NUnit.Framework.Constraints.AnyOfConstraint.IgnoreCase"> + <summary> + Flag the constraint to ignore case and return self. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.AnyOfConstraint.Using(System.Collections.IComparer)"> + <summary> + Flag the constraint to use the supplied IComparer object. + </summary> + <param name="comparer">The IComparer object to use.</param> + </member> + <member name="M:NUnit.Framework.Constraints.AnyOfConstraint.Using``1(System.Collections.Generic.IComparer{``0})"> + <summary> + Flag the constraint to use the supplied IComparer object. + </summary> + <param name="comparer">The IComparer object to use.</param> + </member> + <member name="M:NUnit.Framework.Constraints.AnyOfConstraint.Using``1(System.Comparison{``0})"> + <summary> + Flag the constraint to use the supplied Comparison object. + </summary> + <param name="comparer">The Comparison object to use.</param> + </member> + <member name="M:NUnit.Framework.Constraints.AnyOfConstraint.Using(System.Collections.IEqualityComparer)"> + <summary> + Flag the constraint to use the supplied IEqualityComparer object. + </summary> + <param name="comparer">The IEqualityComparer object to use.</param> + </member> + <member name="M:NUnit.Framework.Constraints.AnyOfConstraint.Using``1(System.Collections.Generic.IEqualityComparer{``0})"> + <summary> + Flag the constraint to use the supplied IEqualityComparer object. + </summary> + <param name="comparer">The IComparer object to use.</param> + </member> + <member name="M:NUnit.Framework.Constraints.AnyOfConstraint.Using``1(System.Func{``0,``0,System.Boolean})"> + <summary> + Flag the constraint to use the supplied boolean-returning delegate. + </summary> + <param name="comparer">The supplied boolean-returning delegate to use.</param> + </member> + <member name="T:NUnit.Framework.Constraints.AssignableFromConstraint"> + <summary> + AssignableFromConstraint is used to test that an object + can be assigned from a given Type. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.AssignableFromConstraint.#ctor(System.Type)"> + <summary> + Construct an AssignableFromConstraint for the type provided + </summary> + <param name="type"></param> + </member> + <member name="M:NUnit.Framework.Constraints.AssignableFromConstraint.Matches(System.Object)"> + <summary> + Apply the constraint to an actual value, returning true if it succeeds + </summary> + <param name="actual">The actual argument</param> + <returns>True if the constraint succeeds, otherwise false.</returns> + </member> + <member name="T:NUnit.Framework.Constraints.AssignableToConstraint"> + <summary> + AssignableToConstraint is used to test that an object + can be assigned to a given Type. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.AssignableToConstraint.#ctor(System.Type)"> + <summary> + Construct an AssignableToConstraint for the type provided + </summary> + <param name="type"></param> + </member> + <member name="M:NUnit.Framework.Constraints.AssignableToConstraint.Matches(System.Object)"> + <summary> + Apply the constraint to an actual value, returning true if it succeeds + </summary> + <param name="actual">The actual argument</param> + <returns>True if the constraint succeeds, otherwise false.</returns> + </member> + <member name="T:NUnit.Framework.Constraints.AttributeConstraint"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.AttributeConstraint.#ctor(System.Type,NUnit.Framework.Constraints.IConstraint)"> + <summary> + Constructs an AttributeConstraint for a specified attribute + Type and base constraint. + </summary> + <param name="type"></param> + <param name="baseConstraint"></param> + </member> + <member name="M:NUnit.Framework.Constraints.AttributeConstraint.ApplyTo``1(``0)"> + <summary> + Determines whether the Type or other provider has the + expected attribute and if its value matches the + additional constraint specified. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.AttributeConstraint.GetStringRepresentation"> + <summary> + Returns a string representation of the constraint. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.AttributeExistsConstraint"> + <summary> + AttributeExistsConstraint tests for the presence of a + specified attribute on a Type. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.AttributeExistsConstraint.#ctor(System.Type)"> + <summary> + Constructs an AttributeExistsConstraint for a specific attribute Type + </summary> + <param name="type"></param> + </member> + <member name="P:NUnit.Framework.Constraints.AttributeExistsConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.AttributeExistsConstraint.ApplyTo``1(``0)"> + <summary> + Tests whether the object provides the expected attribute. + </summary> + <param name="actual">A Type, MethodInfo, or other ICustomAttributeProvider</param> + <returns>True if the expected attribute is present, otherwise false</returns> + </member> + <member name="T:NUnit.Framework.Constraints.BinaryConstraint"> + <summary> + BinaryConstraint is the abstract base of all constraints + that combine two other constraints in some fashion. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.BinaryConstraint.Left"> + <summary> + The first constraint being combined + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.BinaryConstraint.Right"> + <summary> + The second constraint being combined + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.BinaryConstraint.#ctor(NUnit.Framework.Constraints.IConstraint,NUnit.Framework.Constraints.IConstraint)"> + <summary> + Construct a BinaryConstraint from two other constraints + </summary> + <param name="left">The first constraint</param> + <param name="right">The second constraint</param> + </member> + <member name="T:NUnit.Framework.Constraints.BinarySerializableConstraint"> + <summary> + BinarySerializableConstraint tests whether + an object is serializable in binary format. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.BinarySerializableConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.BinarySerializableConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="M:NUnit.Framework.Constraints.BinarySerializableConstraint.GetStringRepresentation"> + <summary> + Returns the string representation + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.CollectionConstraint"> + <summary> + CollectionConstraint is the abstract base class for + constraints that operate on collections. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionConstraint.#ctor"> + <summary> + Construct an empty CollectionConstraint + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionConstraint.#ctor(System.Object)"> + <summary> + Construct a CollectionConstraint + </summary> + <param name="arg"></param> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionConstraint.IsEmpty(System.Collections.IEnumerable)"> + <summary> + Determines whether the specified enumerable is empty. + </summary> + <param name="enumerable">The enumerable.</param> + <returns> + <see langword="true"/> if the specified enumerable is empty; otherwise, <see langword="false"/>. + </returns> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionConstraint.Matches(System.Collections.IEnumerable)"> + <summary> + Protected method to be implemented by derived classes + </summary> + <param name="collection"></param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Constraints.CollectionContainsConstraint"> + <summary> + CollectionContainsConstraint is used to test whether a collection + contains an expected object as a member. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionContainsConstraint.#ctor(System.Object)"> + <summary> + Construct a CollectionContainsConstraint + </summary> + <param name="expected"></param> + </member> + <member name="P:NUnit.Framework.Constraints.CollectionContainsConstraint.DisplayName"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.CollectionContainsConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.CollectionContainsConstraint.Expected"> + <summary> + Gets the expected object + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionContainsConstraint.Matches(System.Collections.IEnumerable)"> + <summary> + Test whether the expected item is contained in the collection + </summary> + <param name="actual"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionContainsConstraint.Using``2(System.Func{``0,``1,System.Boolean})"> + <summary> + Flag the constraint to use the supplied predicate function + </summary> + <param name="comparison">The comparison function to use.</param> + <returns>Self.</returns> + </member> + <member name="T:NUnit.Framework.Constraints.CollectionEquivalentConstraint"> + <summary> + CollectionEquivalentConstraint is used to determine whether two + collections are equivalent. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.CollectionEquivalentConstraint._tallyResult"> + <summary>The result of the <see cref="T:NUnit.Framework.Constraints.CollectionTally"/> from the collections + under comparison.</summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionEquivalentConstraint.#ctor(System.Collections.IEnumerable)"> + <summary>Construct a CollectionEquivalentConstraint</summary> + <param name="expected">Expected collection.</param> + </member> + <member name="P:NUnit.Framework.Constraints.CollectionEquivalentConstraint.DisplayName"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.CollectionEquivalentConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionEquivalentConstraint.Matches(System.Collections.IEnumerable)"> + <summary> + Test whether two collections are equivalent + </summary> + <param name="actual"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionEquivalentConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the collection is equivalent to the expected. + </summary> + <typeparam name="TActual"> + Actual collection type. + </typeparam> + <param name="actual"> + Actual collection to compare. + </param> + <returns> + A <see cref="T:NUnit.Framework.Constraints.CollectionEquivalentConstraintResult"/> indicating whether or not + the two collections are equivalent. + </returns> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionEquivalentConstraint.Using``2(System.Func{``0,``1,System.Boolean})"> + <summary> + Flag the constraint to use the supplied predicate function + </summary> + <param name="comparison">The comparison function to use.</param> + <returns>Self.</returns> + </member> + <member name="T:NUnit.Framework.Constraints.CollectionEquivalentConstraintResult"> + <summary>Provides a <see cref="T:NUnit.Framework.Constraints.ConstraintResult"/> for the <see cref="T:NUnit.Framework.Constraints.CollectionEquivalentConstraint"/>.</summary> + </member> + <member name="F:NUnit.Framework.Constraints.CollectionEquivalentConstraintResult._tallyResult"> + <summary>Result of a <see cref="T:NUnit.Framework.Constraints.CollectionTally"/> of the collections to compare for equivalence.</summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionEquivalentConstraintResult.#ctor(NUnit.Framework.Constraints.CollectionEquivalentConstraint,NUnit.Framework.Constraints.CollectionTally.CollectionTallyResult,System.Object,System.Boolean)"> + <summary>Construct a <see cref="T:NUnit.Framework.Constraints.CollectionEquivalentConstraintResult"/> using a <see cref="T:NUnit.Framework.Constraints.CollectionTally.CollectionTallyResult"/>.</summary> + <param name="constraint">Source <see cref="T:NUnit.Framework.Constraints.CollectionEquivalentConstraint"/>.</param> + <param name="tallyResult">Result of the collection comparison.</param> + <param name="actual">Actual collection to compare.</param> + <param name="isSuccess">Whether or not the <see cref="T:NUnit.Framework.Constraints.CollectionEquivalentConstraint"/> succeeded.</param> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionEquivalentConstraintResult.WriteAdditionalLinesTo(NUnit.Framework.Constraints.MessageWriter)"> + <summary>Write any additional lines (following <c>Expected:</c> and <c>But was:</c>) for a failing constraint.</summary> + <param name="writer">The <see cref="T:NUnit.Framework.Constraints.MessageWriter"/> to write the failure message to.</param> + </member> + <member name="T:NUnit.Framework.Constraints.CollectionItemsEqualConstraint"> + <summary> + CollectionItemsEqualConstraint is the abstract base class for all + collection constraints that apply some notion of item equality + as a part of their operation. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.CollectionItemsEqualConstraint._comparer"> + <summary> + The NUnitEqualityComparer in use for this constraint + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionItemsEqualConstraint.#ctor"> + <summary> + Construct an empty CollectionConstraint + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionItemsEqualConstraint.#ctor(System.Object)"> + <summary> + Construct a CollectionConstraint + </summary> + <param name="arg"></param> + </member> + <member name="P:NUnit.Framework.Constraints.CollectionItemsEqualConstraint.IgnoringCase"> + <summary> + Get a flag indicating whether the user requested us to ignore case. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.CollectionItemsEqualConstraint.UsingExternalComparer"> + <summary> + Get a flag indicating whether any external comparers are in use. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.CollectionItemsEqualConstraint.IgnoreCase"> + <summary> + Flag the constraint to ignore case and return self. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionItemsEqualConstraint.Using(System.Collections.IComparer)"> + <summary> + Flag the constraint to use the supplied IComparer object. + </summary> + <param name="comparer">The IComparer object to use.</param> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionItemsEqualConstraint.Using``1(System.Collections.Generic.IComparer{``0})"> + <summary> + Flag the constraint to use the supplied IComparer object. + </summary> + <param name="comparer">The IComparer object to use.</param> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionItemsEqualConstraint.Using``1(System.Comparison{``0})"> + <summary> + Flag the constraint to use the supplied Comparison object. + </summary> + <param name="comparison">The Comparison object to use.</param> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionItemsEqualConstraint.Using(System.Collections.IEqualityComparer)"> + <summary> + Flag the constraint to use the supplied IEqualityComparer object. + </summary> + <param name="comparer">The IComparer object to use.</param> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionItemsEqualConstraint.Using``1(System.Collections.Generic.IEqualityComparer{``0})"> + <summary> + Flag the constraint to use the supplied IEqualityComparer object. + </summary> + <param name="comparer">The IComparer object to use.</param> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionItemsEqualConstraint.Using``1(System.Func{``0,``0,System.Boolean})"> + <summary> + Flag the constraint to use the supplied boolean-returning delegate. + </summary> + <param name="comparer">The supplied boolean-returning delegate to use.</param> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionItemsEqualConstraint.ItemsEqual(System.Object,System.Object)"> + <summary> + Compares two collection members for equality + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionItemsEqualConstraint.Tally(System.Collections.IEnumerable)"> + <summary> + Return a new CollectionTally for use in making tests + </summary> + <param name="c">The collection to be included in the tally</param> + </member> + <member name="T:NUnit.Framework.Constraints.CollectionOrderedConstraint"> + <summary> + CollectionOrderedConstraint is used to test whether a collection is ordered. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionOrderedConstraint.#ctor"> + <summary> + Construct a CollectionOrderedConstraint + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.CollectionOrderedConstraint.DisplayName"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.CollectionOrderedConstraint.Ascending"> + <summary> + If used performs a default ascending comparison + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.CollectionOrderedConstraint.Descending"> + <summary> + If used performs a reverse comparison + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionOrderedConstraint.Using(System.Collections.IComparer)"> + <summary> + Modifies the constraint to use an <see cref="T:System.Collections.IComparer"/> and returns self. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionOrderedConstraint.Using``1(System.Collections.Generic.IComparer{``0})"> + <summary> + Modifies the constraint to use an <see cref="T:System.Collections.Generic.IComparer`1"/> and returns self. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionOrderedConstraint.Using``1(System.Comparison{``0})"> + <summary> + Modifies the constraint to use a <see cref="T:System.Comparison`1"/> and returns self. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionOrderedConstraint.By(System.String)"> + <summary> + Modifies the constraint to test ordering by the value of + a specified property and returns self. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.CollectionOrderedConstraint.Then"> + <summary> + Then signals a break between two ordering steps + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.CollectionOrderedConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionOrderedConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionOrderedConstraint.Matches(System.Collections.IEnumerable)"> + <summary> + Test whether the collection is ordered + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionOrderedConstraint.GetStringRepresentation"> + <summary> + Returns the string representation of the constraint. + </summary> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Constraints.CollectionOrderedConstraint.OrderingStep"> + <summary> + An OrderingStep represents one stage of the sort + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionOrderedConstraint.CollectionOrderedConstraintResult.#ctor(NUnit.Framework.Constraints.IConstraint,System.Collections.IEnumerable)"> + <summary> + Constructor for success result. + </summary> + <param name="constraint">The Constraint to which this result applies.</param> + <param name="actualValue">The actual value to which the Constraint was applied.</param> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionOrderedConstraint.CollectionOrderedConstraintResult.#ctor(NUnit.Framework.Constraints.IConstraint,System.Collections.IEnumerable,System.Int32,System.Object)"> + <summary> + Constructor for failure result. + </summary> + <param name="constraint">The Constraint to which this result applies.</param> + <param name="actualValue">The actual value to which the Constraint was applied.</param> + <param name="breakingIndex">Index at which collection order breaks.</param> + <param name="breakingValue">Value at which collection order breaks.</param> + </member> + <member name="T:NUnit.Framework.Constraints.CollectionSubsetConstraint"> + <summary> + CollectionSubsetConstraint is used to determine whether + one collection is a subset of another + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionSubsetConstraint.#ctor(System.Collections.IEnumerable)"> + <summary> + Construct a CollectionSubsetConstraint + </summary> + <param name="expected">The collection that the actual value is expected to be a subset of</param> + </member> + <member name="P:NUnit.Framework.Constraints.CollectionSubsetConstraint.DisplayName"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.CollectionSubsetConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionSubsetConstraint.Matches(System.Collections.IEnumerable)"> + <summary> + Test whether the actual collection is a subset of + the expected collection provided. + </summary> + <param name="actual"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionSubsetConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionSubsetConstraint.Using``2(System.Func{``0,``1,System.Boolean})"> + <summary> + Flag the constraint to use the supplied predicate function + </summary> + <param name="comparison">The comparison function to use.</param> + <returns>Self.</returns> + </member> + <member name="T:NUnit.Framework.Constraints.CollectionSupersetConstraint"> + <summary> + CollectionSupersetConstraint is used to determine whether + one collection is a superset of another + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionSupersetConstraint.#ctor(System.Collections.IEnumerable)"> + <summary> + Construct a CollectionSupersetConstraint + </summary> + <param name="expected">The collection that the actual value is expected to be a superset of</param> + </member> + <member name="P:NUnit.Framework.Constraints.CollectionSupersetConstraint.DisplayName"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.CollectionSupersetConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionSupersetConstraint.Matches(System.Collections.IEnumerable)"> + <summary> + Test whether the actual collection is a superset of + the expected collection provided. + </summary> + <param name="actual"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionSupersetConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionSupersetConstraint.Using``2(System.Func{``0,``1,System.Boolean})"> + <summary> + Flag the constraint to use the supplied predicate function + </summary> + <param name="comparison">The comparison function to use.</param> + <returns>Self.</returns> + </member> + <member name="T:NUnit.Framework.Constraints.CollectionTally"> + <summary><see cref="T:NUnit.Framework.Constraints.CollectionTally"/> counts (tallies) the number of occurrences + of each object in one or more enumerations.</summary> + </member> + <member name="T:NUnit.Framework.Constraints.CollectionTally.CollectionTallyResult"> + <summary>The result of a <see cref="T:NUnit.Framework.Constraints.CollectionTally"/>.</summary> + </member> + <member name="P:NUnit.Framework.Constraints.CollectionTally.CollectionTallyResult.ExtraItems"> + <summary>Items that were not in the expected collection.</summary> + </member> + <member name="P:NUnit.Framework.Constraints.CollectionTally.CollectionTallyResult.MissingItems"> + <summary>Items that were not accounted for in the expected collection.</summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionTally.CollectionTallyResult.#ctor(System.Collections.Generic.List{System.Object},System.Collections.Generic.List{System.Object})"> + <summary>Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.CollectionTally.CollectionTallyResult"/> class with the given fields.</summary> + </member> + <member name="P:NUnit.Framework.Constraints.CollectionTally.Result"> + <summary>The result of the comparison between the two collections.</summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionTally.#ctor(NUnit.Framework.Constraints.NUnitEqualityComparer,System.Collections.IEnumerable)"> + <summary>Construct a CollectionTally object from a comparer and a collection.</summary> + <param name="comparer">The comparer to use for equality.</param> + <param name="c">The expected collection to compare against.</param> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionTally.TryRemove(System.Object)"> + <summary>Try to remove an object from the tally.</summary> + <param name="o">The object to remove.</param> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionTally.TryRemove(System.Collections.IEnumerable)"> + <summary>Try to remove a set of objects from the tally.</summary> + <param name="c">The objects to remove.</param> + </member> + <member name="T:NUnit.Framework.Constraints.Comparers.ArraysComparer"> + <summary> + Comparator for two <see cref="T:System.Array"/>s. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.Comparers.CharsComparer"> + <summary> + Comparator for two <see cref="T:System.Char"/>s. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Comparers.ComparisonState.TopLevelComparison"> + <summary> + Flag indicating whether or not this is the top level comparison. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.Comparers.ComparisonState._comparisons"> + <summary> + A list of tracked comparisons + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.Comparers.DateTimeOffsetsComparer"> + <summary> + Comparator for two <see cref="T:System.DateTimeOffset"/>s. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.Comparers.DictionariesComparer"> + <summary> + Comparator for two <see cref="T:System.Collections.IDictionary"/>s. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.Comparers.DictionaryEntriesComparer"> + <summary> + Comparator for two <see cref="T:System.Collections.DictionaryEntry"/>s. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.Comparers.DirectoriesComparer"> + <summary> + Comparator for two <see cref="T:System.IO.DirectoryInfo"/>s. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.Comparers.EnumerablesComparer"> + <summary> + Comparator for two <see cref="T:System.Collections.IEnumerable"/>s. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.Comparers.EquatablesComparer"> + <summary> + Comparator for two types related by <see cref="T:System.IEquatable`1"/>. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.Comparers.IChainComparer"> + <summary> + Interface for comparing two <see cref="T:System.Object"/>s. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.Comparers.IChainComparer.Equal(System.Object,System.Object,NUnit.Framework.Constraints.Tolerance@,NUnit.Framework.Constraints.Comparers.ComparisonState)"> + <summary> + Method for comparing two objects with a tolerance. + </summary> + <param name="x">The first object to compare.</param> + <param name="y">The second object to compare.</param> + <param name="tolerance">The tolerance to use when comparing the objects.</param> + <param name="state">The evaluation state of the comparison.</param> + <returns> + <see langword="null"/> if the objects cannot be compared using the method. + Otherwise the result of the comparison is returned. + </returns> + </member> + <member name="T:NUnit.Framework.Constraints.Comparers.KeyValuePairsComparer"> + <summary> + Comparator for two <see cref="T:System.Collections.Generic.KeyValuePair`2"/>s. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.Comparers.NumericsComparer"> + <summary> + Comparator for two <see cref="T:NUnit.Framework.Constraints.Numerics"/>s. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.Comparers.StreamsComparer"> + <summary> + Comparator for two <see cref="T:System.IO.Stream"/>s. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.Comparers.StringsComparer"> + <summary> + Comparator for two <see cref="T:System.String"/>s. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.Comparers.StructuralComparer"> + <summary> + Comparator for two types related by <see cref="T:System.Collections.IStructuralEquatable"/>. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.Comparers.TimeSpanToleranceComparer"> + <summary> + Comparator for two <see cref="T:System.DateTime"/>s or <see cref="T:System.TimeSpan"/>s. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.Comparers.TupleComparer"> + <summary> + Comparator for two <c>Tuple</c>s. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.Comparers.TupleComparerBase"> + <summary> + Base class for comparators for tuples (both regular Tuples and ValueTuples). + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.Comparers.ValueTupleComparer"> + <summary> + Comparator for two <c>ValueTuple</c>s. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.ComparisonAdapter"> + <summary> + ComparisonAdapter class centralizes all comparisons of + values in NUnit, adapting to the use of any provided + <see cref="T:System.Collections.IComparer"/>, <see cref="T:System.Collections.Generic.IComparer`1"/> + or <see cref="T:System.Comparison`1"/>. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ComparisonAdapter.Default"> + <summary> + Gets the default ComparisonAdapter, which wraps an + NUnitComparer object. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ComparisonAdapter.For(System.Collections.IComparer)"> + <summary> + Returns a ComparisonAdapter that wraps an <see cref="T:System.Collections.IComparer"/> + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ComparisonAdapter.For``1(System.Collections.Generic.IComparer{``0})"> + <summary> + Returns a ComparisonAdapter that wraps an <see cref="T:System.Collections.Generic.IComparer`1"/> + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ComparisonAdapter.For``1(System.Comparison{``0})"> + <summary> + Returns a ComparisonAdapter that wraps a <see cref="T:System.Comparison`1"/> + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ComparisonAdapter.Compare(System.Object,System.Object)"> + <summary> + Compares two objects + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ComparisonAdapter.DefaultComparisonAdapter.#ctor"> + <summary> + Construct a default ComparisonAdapter + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ComparisonAdapter.ComparerAdapter.#ctor(System.Collections.IComparer)"> + <summary> + Construct a ComparisonAdapter for an <see cref="T:System.Collections.IComparer"/> + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ComparisonAdapter.ComparerAdapter.Compare(System.Object,System.Object)"> + <summary> + Compares two objects + </summary> + <param name="expected"></param> + <param name="actual"></param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Constraints.ComparisonAdapter.ComparerAdapter`1"> + <summary> + ComparerAdapter extends <see cref="T:NUnit.Framework.Constraints.ComparisonAdapter"/> and + allows use of an <see cref="T:System.Collections.Generic.IComparer`1"/> or <see cref="T:System.Comparison`1"/> + to actually perform the comparison. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ComparisonAdapter.ComparerAdapter`1.#ctor(System.Collections.Generic.IComparer{`0})"> + <summary> + Construct a ComparisonAdapter for an <see cref="T:System.Collections.Generic.IComparer`1"/> + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ComparisonAdapter.ComparerAdapter`1.Compare(System.Object,System.Object)"> + <summary> + Compare a Type T to an object + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ComparisonAdapter.ComparisonAdapterForComparison`1.#ctor(System.Comparison{`0})"> + <summary> + Construct a ComparisonAdapter for a <see cref="T:System.Comparison`1"/> + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ComparisonAdapter.ComparisonAdapterForComparison`1.Compare(System.Object,System.Object)"> + <summary> + Compare a Type T to an object + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.ComparisonConstraint"> + <summary> + Abstract base class for constraints that compare values to + determine if one is greater than, equal to or less than + the other. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.ComparisonConstraint._expected"> + <summary> + The value against which a comparison is to be made + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.ComparisonConstraint._tolerance"> + <summary> + Tolerance used in making the comparison + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.ComparisonConstraint._comparer"> + <summary> + ComparisonAdapter to be used in making the comparison + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ComparisonConstraint.#ctor(System.Object)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.ComparisonConstraint"/> class. + </summary> + <param name="expected">The value against which to make a comparison.</param> + </member> + <member name="M:NUnit.Framework.Constraints.ComparisonConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>A ConstraintResult</returns> + </member> + <member name="M:NUnit.Framework.Constraints.ComparisonConstraint.PerformComparison(NUnit.Framework.Constraints.ComparisonAdapter,System.Object,System.Object,NUnit.Framework.Constraints.Tolerance)"> + <summary> + Protected function overridden by derived class to actually perform the comparison + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ComparisonConstraint.Using(System.Collections.IComparer)"> + <summary> + Modifies the constraint to use an <see cref="T:System.Collections.IComparer"/> and returns self + </summary> + <param name="comparer">The comparer used for comparison tests</param> + <returns>A constraint modified to use the given comparer</returns> + </member> + <member name="M:NUnit.Framework.Constraints.ComparisonConstraint.Using``1(System.Collections.Generic.IComparer{``0})"> + <summary> + Modifies the constraint to use an <see cref="T:System.Collections.Generic.IComparer`1"/> and returns self + </summary> + <param name="comparer">The comparer used for comparison tests</param> + <returns>A constraint modified to use the given comparer</returns> + </member> + <member name="M:NUnit.Framework.Constraints.ComparisonConstraint.Using``1(System.Comparison{``0})"> + <summary> + Modifies the constraint to use a <see cref="T:System.Comparison`1"/> and returns self + </summary> + <param name="comparer">The comparer used for comparison tests</param> + <returns>A constraint modified to use the given comparer</returns> + </member> + <member name="M:NUnit.Framework.Constraints.ComparisonConstraint.Within(System.Object)"> + <summary> + Set the tolerance for use in this comparison + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ComparisonConstraint.Percent"> + <summary> + Switches the .Within() modifier to interpret its tolerance as + a percentage that the actual values is allowed to deviate from + the expected value. + </summary> + <returns>Self</returns> + </member> + <member name="M:NUnit.Framework.Constraints.ComparisonConstraint.DefaultDescription(System.String)"> + <summary> + Provides standard description of what the constraint tests + based on comparison text. + </summary> + <param name="comparisonText">Describes the comparison being tested, throws <see cref="T:System.ArgumentNullException"/> + if null</param> + <exception cref="T:System.ArgumentNullException">Is thrown when null passed to a method</exception> + </member> + <member name="T:NUnit.Framework.Constraints.ActualValueDelegate`1"> + <summary> + Delegate used to delay evaluation of the actual value + to be used in evaluating a constraint + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.Constraint"> + <summary> + The Constraint class is the base of all built-in constraints + within NUnit. It provides the operator overloads used to combine + constraints. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.Constraint.#ctor(System.Object[])"> + <summary> + Construct a constraint with optional arguments + </summary> + <param name="args">Arguments to be saved</param> + </member> + <member name="P:NUnit.Framework.Constraints.Constraint.DisplayName"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Constraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Constraint.Arguments"> + <summary> + Arguments provided to this Constraint, for use in + formatting the description. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Constraint.Builder"> + <summary> + The ConstraintBuilder holding this constraint + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.Constraint.ApplyTo``1(``0)"> + <summary> + Applies the constraint to an actual value, returning a ConstraintResult. + </summary> + <param name="actual">The value to be tested</param> + <returns>A ConstraintResult</returns> + </member> + <member name="M:NUnit.Framework.Constraints.Constraint.ApplyTo``1(NUnit.Framework.Constraints.ActualValueDelegate{``0})"> + <summary> + 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. + </summary> + <param name="del">An ActualValueDelegate</param> + <returns>A ConstraintResult</returns> + </member> + <member name="M:NUnit.Framework.Constraints.Constraint.ApplyTo``1(``0@)"> + <summary> + 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. + </summary> + <param name="actual">A reference to the value to be tested</param> + <returns>A ConstraintResult</returns> + </member> + <member name="M:NUnit.Framework.Constraints.Constraint.GetTestObject``1(NUnit.Framework.Constraints.ActualValueDelegate{``0})"> + <summary> + 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. + </summary> + <param name="del">An ActualValueDelegate</param> + <returns>Delegate evaluation result</returns> + </member> + <member name="M:NUnit.Framework.Constraints.Constraint.ToString"> + <summary> + Default override of ToString returns the constraint DisplayName + followed by any arguments within angle brackets. + </summary> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Constraints.Constraint.GetStringRepresentation"> + <summary> + Returns the string representation of this constraint + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.Constraint.op_BitwiseAnd(NUnit.Framework.Constraints.Constraint,NUnit.Framework.Constraints.Constraint)"> + <summary> + This operator creates a constraint that is satisfied only if both + argument constraints are satisfied. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.Constraint.op_BitwiseOr(NUnit.Framework.Constraints.Constraint,NUnit.Framework.Constraints.Constraint)"> + <summary> + This operator creates a constraint that is satisfied if either + of the argument constraints is satisfied. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.Constraint.op_LogicalNot(NUnit.Framework.Constraints.Constraint)"> + <summary> + This operator creates a constraint that is satisfied if the + argument constraint is not satisfied. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Constraint.And"> + <summary> + Returns a ConstraintExpression by appending And + to the current constraint. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Constraint.With"> + <summary> + Returns a ConstraintExpression by appending And + to the current constraint. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Constraint.Or"> + <summary> + Returns a ConstraintExpression by appending Or + to the current constraint. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.Constraint.After(System.Int32)"> + <summary> + Returns a DelayedConstraint.WithRawDelayInterval with the specified delay time. + </summary> + <param name="delay">The delay, which defaults to milliseconds.</param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Constraints.Constraint.After(System.Int32,System.Int32)"> + <summary> + Returns a DelayedConstraint with the specified delay time + and polling interval. + </summary> + <param name="delayInMilliseconds">The delay in milliseconds.</param> + <param name="pollingInterval">The interval at which to test the constraint.</param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Constraints.Constraint.NUnit#Framework#Constraints#IResolveConstraint#Resolve"> + <summary> + Resolves any pending operators and returns the resolved constraint. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.ConstraintBuilder"> + <summary> + 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. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.ConstraintBuilder.OperatorStack"> + <summary> + OperatorStack is a type-safe stack for holding ConstraintOperators + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.OperatorStack.#ctor(NUnit.Framework.Constraints.ConstraintBuilder)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.ConstraintBuilder.OperatorStack"/> class. + </summary> + <param name="builder">The ConstraintBuilder using this stack.</param> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintBuilder.OperatorStack.Empty"> + <summary> + Gets a value indicating whether this <see cref="T:NUnit.Framework.Constraints.ConstraintBuilder.OperatorStack"/> is empty. + </summary> + <value><see langword="true"/> if empty; otherwise, <see langword="false"/>.</value> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintBuilder.OperatorStack.Top"> + <summary> + Gets the topmost operator without modifying the stack. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.OperatorStack.Push(NUnit.Framework.Constraints.ConstraintOperator)"> + <summary> + Pushes the specified operator onto the stack. + </summary> + <param name="op">The operator to put onto the stack.</param> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.OperatorStack.Pop"> + <summary> + Pops the topmost operator from the stack. + </summary> + <returns>The topmost operator on the stack</returns> + </member> + <member name="T:NUnit.Framework.Constraints.ConstraintBuilder.ConstraintStack"> + <summary> + ConstraintStack is a type-safe stack for holding Constraints + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.ConstraintStack.#ctor(NUnit.Framework.Constraints.ConstraintBuilder)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.ConstraintBuilder.ConstraintStack"/> class. + </summary> + <param name="builder">The ConstraintBuilder using this stack.</param> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintBuilder.ConstraintStack.Empty"> + <summary> + Gets a value indicating whether this <see cref="T:NUnit.Framework.Constraints.ConstraintBuilder.ConstraintStack"/> is empty. + </summary> + <value><see langword="true"/> if empty; otherwise, <see langword="false"/>.</value> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.ConstraintStack.Push(NUnit.Framework.Constraints.IConstraint)"> + <summary> + Pushes the specified constraint. As a side effect, + the constraint's Builder field is set to the + ConstraintBuilder owning this stack. + </summary> + <param name="constraint">The constraint to put onto the stack</param> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.ConstraintStack.Pop"> + <summary> + Pops this topmost constraint from the stack. + As a side effect, the constraint's Builder + field is set to null. + </summary> + <returns>The topmost constraint on the stack</returns> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.ConstraintBuilder"/> class. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.Append(NUnit.Framework.Constraints.ConstraintOperator)"> + <summary> + Appends the specified operator to the expression by first + reducing the operator stack and then pushing the new + operator on the stack. + </summary> + <param name="op">The operator to push.</param> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.Append(NUnit.Framework.Constraints.Constraint)"> + <summary> + Appends the specified constraint to the expression by pushing + it on the constraint stack. + </summary> + <param name="constraint">The constraint to push.</param> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.SetTopOperatorRightContext(System.Object)"> + <summary> + Sets the top operator right context. + </summary> + <param name="rightContext">The right context.</param> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.ReduceOperatorStack(System.Int32)"> + <summary> + Reduces the operator stack until the topmost item + precedence is greater than or equal to the target precedence. + </summary> + <param name="targetPrecedence">The target precedence.</param> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintBuilder.Resolve"> + <summary> + Resolves this instance, returning a Constraint. If the Builder + is not currently in a resolvable state, an exception is thrown. + </summary> + <returns>The resolved constraint</returns> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintBuilder.IsResolvable"> + <summary> + Gets a value indicating whether this instance is resolvable. + </summary> + <value> + <see langword="true"/> if this instance is resolvable; otherwise, <see langword="false"/>. + </value> + </member> + <member name="T:NUnit.Framework.Constraints.ConstraintExpression"> + <summary> + 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. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.ConstraintExpression.builder"> + <summary> + The ConstraintBuilder holding the elements recognized so far + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.ConstraintExpression"/> class. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.#ctor(NUnit.Framework.Constraints.ConstraintBuilder)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.ConstraintExpression"/> + class passing in a ConstraintBuilder, which may be pre-populated. + </summary> + <param name="builder">The builder.</param> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.ToString"> + <summary> + 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. + </summary> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Append(NUnit.Framework.Constraints.ConstraintOperator)"> + <summary> + Appends an operator to the expression and returns the + resulting expression itself. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Append(NUnit.Framework.Constraints.SelfResolvingOperator)"> + <summary> + Appends a self-resolving operator to the expression and + returns a new ResolvableConstraintExpression. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Append(NUnit.Framework.Constraints.Constraint)"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.Not"> + <summary> + Returns a ConstraintExpression that negates any + following constraint. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.No"> + <summary> + Returns a ConstraintExpression that negates any + following constraint. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.All"> + <summary> + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.Some"> + <summary> + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if at least one of them succeeds. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.None"> + <summary> + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them fail. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Exactly(System.Int32)"> + <summary> + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding only if a specified number of them succeed. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.One"> + <summary> + Returns a <see cref="T:NUnit.Framework.Constraints.ItemsConstraintExpression"/>, which will + apply the following constraint to a collection of length one, succeeding + only if exactly one of them succeeds. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Property(System.String)"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.Length"> + <summary> + Returns a new ConstraintExpression, which will apply the following + constraint to the Length property of the object being tested. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.Count"> + <summary> + Returns a new ConstraintExpression, which will apply the following + constraint to the Count property of the object being tested. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.Message"> + <summary> + Returns a new ConstraintExpression, which will apply the following + constraint to the Message property of the object being tested. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.InnerException"> + <summary> + Returns a new ConstraintExpression, which will apply the following + constraint to the InnerException property of the object being tested. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Attribute(System.Type)"> + <summary> + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Attribute``1"> + <summary> + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.With"> + <summary> + With is currently a NOP - reserved for future use. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Matches(NUnit.Framework.Constraints.IResolveConstraint)"> + <summary> + Returns the constraint provided as an argument - used to allow custom + custom constraints to easily participate in the syntax. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Matches``1(System.Predicate{``0})"> + <summary> + Returns the constraint provided as an argument - used to allow custom + custom constraints to easily participate in the syntax. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.Null"> + <summary> + Returns a constraint that tests for null + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.True"> + <summary> + Returns a constraint that tests for True + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.False"> + <summary> + Returns a constraint that tests for False + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.Positive"> + <summary> + Returns a constraint that tests for a positive value + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.Negative"> + <summary> + Returns a constraint that tests for a negative value + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.Zero"> + <summary> + Returns a constraint that tests if item is equal to zero + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.NaN"> + <summary> + Returns a constraint that tests for NaN + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.Empty"> + <summary> + Returns a constraint that tests for empty + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.Unique"> + <summary> + Returns a constraint that tests whether a collection + contains all unique items. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.BinarySerializable"> + <summary> + Returns a constraint that tests whether an object graph is serializable in binary format. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.XmlSerializable"> + <summary> + Returns a constraint that tests whether an object graph is serializable in XML format. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.EqualTo(System.Object)"> + <summary> + Returns a constraint that tests two items for equality + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.SameAs(System.Object)"> + <summary> + Returns a constraint that tests that two references are the same object + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.GreaterThan(System.Object)"> + <summary> + Returns a constraint that tests whether the + actual value is greater than the supplied argument + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.GreaterThanOrEqualTo(System.Object)"> + <summary> + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.AtLeast(System.Object)"> + <summary> + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.LessThan(System.Object)"> + <summary> + Returns a constraint that tests whether the + actual value is less than the supplied argument + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.LessThanOrEqualTo(System.Object)"> + <summary> + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.AtMost(System.Object)"> + <summary> + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.TypeOf(System.Type)"> + <summary> + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.TypeOf``1"> + <summary> + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.InstanceOf(System.Type)"> + <summary> + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.InstanceOf``1"> + <summary> + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.AssignableFrom(System.Type)"> + <summary> + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.AssignableFrom``1"> + <summary> + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.AssignableTo(System.Type)"> + <summary> + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.AssignableTo``1"> + <summary> + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.EquivalentTo(System.Collections.IEnumerable)"> + <summary> + Returns a constraint that tests whether the actual value + is a collection containing the same elements as the + collection supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.SubsetOf(System.Collections.IEnumerable)"> + <summary> + Returns a constraint that tests whether the actual value + is a subset of the collection supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.SupersetOf(System.Collections.IEnumerable)"> + <summary> + Returns a constraint that tests whether the actual value + is a superset of the collection supplied as an argument. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.Ordered"> + <summary> + Returns a constraint that tests whether a collection is ordered + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Member(System.Object)"> + <summary> + Returns a new <see cref="T:NUnit.Framework.Constraints.SomeItemsConstraint"/> checking for the + presence of a particular object in the collection. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Contains(System.Object)"> + <summary> + <para> + Returns a new <see cref="T:NUnit.Framework.Constraints.SomeItemsConstraint"/> checking for the + presence of a particular object in the collection. + </para> + <para> + To search for a substring instead of a collection element, use the + <see cref="M:NUnit.Framework.Constraints.ConstraintExpression.Contains(System.String)"/> overload. + </para> + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Contains(System.String)"> + <summary> + <para> + 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. + </para> + <para> + To search for a collection element instead of a substring, use the + <see cref="M:NUnit.Framework.Constraints.ConstraintExpression.Contains(System.Object)"/> overload. + </para> + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Contain(System.Object)"> + <summary> + Returns a new <see cref="T:NUnit.Framework.Constraints.SomeItemsConstraint"/> checking for the + presence of a particular object in the collection. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Contain(System.String)"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.ContainKey(System.Object)"> + <summary> + Returns a new DictionaryContainsKeyConstraint checking for the + presence of a particular key in the Dictionary key collection. + </summary> + <param name="expected">The key to be matched in the Dictionary key collection</param> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.ContainValue(System.Object)"> + <summary> + Returns a new DictionaryContainsValueConstraint checking for the + presence of a particular value in the Dictionary value collection. + </summary> + <param name="expected">The value to be matched in the Dictionary value collection</param> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.StringContaining(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.ContainsSubstring(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.StartWith(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.StartsWith(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.StringStarting(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.EndWith(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.EndsWith(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.StringEnding(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Match(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Match(System.Text.RegularExpressions.Regex)"> + <summary> + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Matches(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.Matches(System.Text.RegularExpressions.Regex)"> + <summary> + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.StringMatching(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.SamePath(System.String)"> + <summary> + Returns a constraint that tests whether the path provided + is the same as an expected path after canonicalization. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.SubPathOf(System.String)"> + <summary> + Returns a constraint that tests whether the path provided + is the a subpath of the expected path after canonicalization. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.SamePathOrUnder(System.String)"> + <summary> + Returns a constraint that tests whether the path provided + is the same path or under an expected path after canonicalization. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.InRange(System.Object,System.Object)"> + <summary> + Returns a constraint that tests whether the actual value falls + inclusively within a specified range. + </summary> + <param name="from">Inclusive beginning of the range.</param> + <param name="to">Inclusive end of the range.</param> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintExpression.Exist"> + <summary> + Returns a constraint that succeeds if the value + is a file or directory and it exists. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.AnyOf(System.Object[])"> + <summary> + Returns a constraint that tests if an item is equal to any of parameters + </summary> + <param name="expected">Expected values</param> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintExpression.ItemAt(System.Object[])"> + <summary> + Returns a new IndexerConstraintExpression, which will + apply any following constraint to that indexer value. + </summary> + <param name="indexArgs">Index accessor values.</param> + </member> + <member name="T:NUnit.Framework.Constraints.ConstraintStatus"> + <summary> + ConstraintStatus represents the status of a ConstraintResult + returned by a Constraint being applied to an actual value. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.ConstraintStatus.Unknown"> + <summary> + The status has not yet been set + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.ConstraintStatus.Success"> + <summary> + The constraint succeeded + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.ConstraintStatus.Failure"> + <summary> + The constraint failed + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.ConstraintStatus.Error"> + <summary> + An error occurred in applying the constraint (reserved for future use) + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.ConstraintResult"> + <summary> + Contains the result of matching a <see cref="T:NUnit.Framework.Constraints.Constraint"/> against an actual value. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintResult.#ctor(NUnit.Framework.Constraints.IConstraint,System.Object)"> + <summary> + Constructs a <see cref="T:NUnit.Framework.Constraints.ConstraintResult"/> for a particular <see cref="T:NUnit.Framework.Constraints.Constraint"/>. + </summary> + <param name="constraint">The Constraint to which this result applies.</param> + <param name="actualValue">The actual value to which the Constraint was applied.</param> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintResult.#ctor(NUnit.Framework.Constraints.IConstraint,System.Object,NUnit.Framework.Constraints.ConstraintStatus)"> + <summary> + Constructs a <see cref="T:NUnit.Framework.Constraints.ConstraintResult"/> for a particular <see cref="T:NUnit.Framework.Constraints.Constraint"/>. + </summary> + <param name="constraint">The Constraint to which this result applies.</param> + <param name="actualValue">The actual value to which the Constraint was applied.</param> + <param name="status">The status of the new ConstraintResult.</param> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintResult.#ctor(NUnit.Framework.Constraints.IConstraint,System.Object,System.Boolean)"> + <summary> + Constructs a <see cref="T:NUnit.Framework.Constraints.ConstraintResult"/> for a particular <see cref="T:NUnit.Framework.Constraints.Constraint"/>. + </summary> + <param name="constraint">The Constraint to which this result applies.</param> + <param name="actualValue">The actual value to which the Constraint was applied.</param> + <param name="isSuccess">If true, applies a status of Success to the result, otherwise Failure.</param> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintResult.ActualValue"> + <summary> + The actual value that was passed to the <see cref="M:NUnit.Framework.Constraints.Constraint.ApplyTo``1(``0)"/> method. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintResult.Status"> + <summary> + Gets and sets the ResultStatus for this result. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintResult.IsSuccess"> + <summary> + True if actual value meets the Constraint criteria otherwise false. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintResult.Name"> + <summary> + Display friendly name of the constraint. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintResult.Description"> + <summary> + Description of the constraint may be affected by the state the constraint had + when <see cref="M:NUnit.Framework.Constraints.Constraint.ApplyTo``1(``0)"/> was performed against the actual value. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintResult.WriteMessageTo(NUnit.Framework.Constraints.MessageWriter)"> + <summary> + 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. + </summary> + <param name="writer">The MessageWriter on which to display the message</param> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintResult.WriteAdditionalLinesTo(NUnit.Framework.Constraints.MessageWriter)"> + <summary> + Write some additional failure message. + </summary> + <param name="writer">The MessageWriter on which to display the message</param> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintResult.WriteActualValueTo(NUnit.Framework.Constraints.MessageWriter)"> + <summary> + 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. + </summary> + <param name="writer">The writer on which the actual value is displayed</param> + </member> + <member name="T:NUnit.Framework.Constraints.ContainsConstraint"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ContainsConstraint.#ctor(System.Object)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.ContainsConstraint"/> class. + </summary> + <param name="expected">The expected value contained within the string/collection.</param> + </member> + <member name="P:NUnit.Framework.Constraints.ContainsConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ContainsConstraint.IgnoreCase"> + <summary> + Flag the constraint to ignore case and return self. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ContainsConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="T:NUnit.Framework.Constraints.CountZeroConstraint"> + <summary> + CountZeroConstraint tests whether an instance has a property .Count with value zero. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.CountZeroConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CountZeroConstraint.HasCountProperty(System.Type)"> + <summary> + Checks if the specified <paramref name="type"/> has a int Count property. + </summary> + <param name="type">Type to check.</param> + <returns><see langword="true"/> when <paramref name="type"/> has a 'int Count' property, <see langword="false"/> otherwise.</returns> + </member> + <member name="M:NUnit.Framework.Constraints.CountZeroConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="T:NUnit.Framework.Constraints.DateTimes"> + <summary> + The DateTimes class contains common operations on Date and Time values. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.DelayedConstraint"> + <summary> + Applies a delay to the match so that a match can be evaluated in the future. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.DelayedConstraint.WithRawDelayInterval"> + <summary> + Allows only changing the time dimension of delay interval and setting a polling interval of a DelayedConstraint + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.DelayedConstraint.WithRawDelayInterval.#ctor(NUnit.Framework.Constraints.DelayedConstraint)"> + <summary> + Creates a new DelayedConstraint.WithRawDelayInterval + </summary> + <param name="parent">Parent DelayedConstraint on which delay interval dimension is required to be set</param> + </member> + <member name="P:NUnit.Framework.Constraints.DelayedConstraint.WithRawDelayInterval.Minutes"> + <summary> + Changes delay interval dimension to minutes + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.DelayedConstraint.WithRawDelayInterval.Seconds"> + <summary> + Changes delay interval dimension to seconds + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.DelayedConstraint.WithRawDelayInterval.MilliSeconds"> + <summary> + Changes delay interval dimension to milliseconds + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.DelayedConstraint.WithRawDelayInterval.PollEvery(System.Int32)"> + <summary> + Set polling interval, in milliseconds + </summary> + <param name="milliSeconds">A time interval, in milliseconds</param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Constraints.DelayedConstraint.WithDimensionedDelayInterval"> + <summary> + Allows only setting the polling interval of a DelayedConstraint + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.DelayedConstraint.WithDimensionedDelayInterval.#ctor(NUnit.Framework.Constraints.DelayedConstraint)"> + <summary> + Creates a new DelayedConstraint.WithDimensionedDelayInterval + </summary> + <param name="parent">Parent DelayedConstraint on which polling interval is required to be set</param> + </member> + <member name="M:NUnit.Framework.Constraints.DelayedConstraint.WithDimensionedDelayInterval.PollEvery(System.Int32)"> + <summary> + Set polling interval, in milliseconds + </summary> + <param name="milliSeconds">A time interval, in milliseconds</param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Constraints.DelayedConstraint.WithRawPollingInterval"> + <summary> + Allows only changing the time dimension of the polling interval of a DelayedConstraint + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.DelayedConstraint.WithRawPollingInterval.#ctor(NUnit.Framework.Constraints.DelayedConstraint)"> + <summary> + Creates a new DelayedConstraint.WithRawPollingInterval + </summary> + <param name="parent">Parent DelayedConstraint on which polling dimension is required to be set</param> + </member> + <member name="P:NUnit.Framework.Constraints.DelayedConstraint.WithRawPollingInterval.Minutes"> + <summary> + Changes polling interval dimension to minutes + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.DelayedConstraint.WithRawPollingInterval.Seconds"> + <summary> + Changes polling interval dimension to seconds + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.DelayedConstraint.WithRawPollingInterval.MilliSeconds"> + <summary> + Changes polling interval dimension to milliseconds + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.DelayedConstraint.DelayInterval"> + <summary> + Delay value store as an Interval object + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.DelayedConstraint.PollingInterval"> + <summary> + Polling value stored as an Interval object + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.DelayedConstraint.#ctor(NUnit.Framework.Constraints.IConstraint,System.Int32)"> + <summary> + Creates a new DelayedConstraint + </summary> + <param name="baseConstraint">The inner constraint to decorate</param> + <param name="delayInMilliseconds">The time interval after which the match is performed</param> + <exception cref="T:System.InvalidOperationException">If the value of <paramref name="delayInMilliseconds"/> is less than 0</exception> + </member> + <member name="M:NUnit.Framework.Constraints.DelayedConstraint.#ctor(NUnit.Framework.Constraints.IConstraint,System.Int32,System.Int32)"> + <summary> + Creates a new DelayedConstraint + </summary> + <param name="baseConstraint">The inner constraint to decorate</param> + <param name="delayInMilliseconds">The time interval after which the match is performed, in milliseconds</param> + <param name="pollingIntervalInMilliseconds">The time interval used for polling, in milliseconds</param> + <exception cref="T:System.InvalidOperationException">If the value of <paramref name="delayInMilliseconds"/> is less than 0</exception> + </member> + <member name="P:NUnit.Framework.Constraints.DelayedConstraint.Description"> + <summary> + Gets text describing a constraint + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.DelayedConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for if the base constraint fails, false if it succeeds</returns> + </member> + <member name="M:NUnit.Framework.Constraints.DelayedConstraint.ApplyTo``1(NUnit.Framework.Constraints.ActualValueDelegate{``0})"> + <summary> + Test whether the constraint is satisfied by a delegate + </summary> + <param name="del">The delegate whose value is to be tested</param> + <returns>A ConstraintResult</returns> + </member> + <member name="M:NUnit.Framework.Constraints.DelayedConstraint.ApplyTo``1(``0@)"> + <summary> + 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. + </summary> + <param name="actual">A reference to the value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="M:NUnit.Framework.Constraints.DelayedConstraint.GetStringRepresentation"> + <summary> + Returns the string representation of the constraint. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.DelayedConstraint.TimestampOffset(System.Int64,System.TimeSpan)"> + <summary> + Adjusts a Timestamp by a given TimeSpan + </summary> + <param name="timestamp"></param> + <param name="offset"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Constraints.DelayedConstraint.TimestampDiff(System.Int64,System.Int64)"> + <summary> + Returns the difference between two Timestamps as a TimeSpan + </summary> + <param name="timestamp1"></param> + <param name="timestamp2"></param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Constraints.DictionaryContainsKeyConstraint"> + <summary> + DictionaryContainsKeyConstraint is used to test whether a dictionary + contains an expected object as a key. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.DictionaryContainsKeyConstraint.#ctor(System.Object)"> + <summary> + Construct a DictionaryContainsKeyConstraint + </summary> + <param name="expected"></param> + </member> + <member name="P:NUnit.Framework.Constraints.DictionaryContainsKeyConstraint.DisplayName"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.DictionaryContainsKeyConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.DictionaryContainsKeyConstraint.Expected"> + <summary> + Gets the expected object + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.DictionaryContainsKeyConstraint.WithValue(System.Object)"> + <summary> + Returns a new DictionaryContainsKeyValuePairConstraint checking for the + presence of a particular key-value-pair in the dictionary. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.DictionaryContainsKeyConstraint.IgnoreCase"> + <summary> + Flag the constraint to ignore case and return self. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.DictionaryContainsKeyConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + </member> + <member name="M:NUnit.Framework.Constraints.DictionaryContainsKeyConstraint.Matches(System.Collections.IEnumerable)"> + <summary> + Test whether the expected key is contained in the dictionary + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.DictionaryContainsKeyConstraint.Using``2(System.Func{``0,``1,System.Boolean})"> + <summary> + Flag the constraint to use the supplied predicate function + </summary> + <param name="comparison">The comparison function to use.</param> + </member> + <member name="M:NUnit.Framework.Constraints.DictionaryContainsKeyConstraint.Using``1(System.Comparison{``0})"> + <summary> + Flag the constraint to use the supplied Comparison object. + </summary> + <param name="comparison">The Comparison object to use.</param> + </member> + <member name="M:NUnit.Framework.Constraints.DictionaryContainsKeyConstraint.Using(System.Collections.IComparer)"> + <summary> + Flag the constraint to use the supplied IComparer object. + </summary> + <param name="comparer">The IComparer object to use.</param> + </member> + <member name="M:NUnit.Framework.Constraints.DictionaryContainsKeyConstraint.Using``1(System.Collections.Generic.IComparer{``0})"> + <summary> + Flag the constraint to use the supplied IComparer object. + </summary> + <param name="comparer">The IComparer object to use.</param> + </member> + <member name="M:NUnit.Framework.Constraints.DictionaryContainsKeyConstraint.Using(System.Collections.IEqualityComparer)"> + <summary> + Flag the constraint to use the supplied IEqualityComparer object. + </summary> + <param name="comparer">The IComparer object to use.</param> + </member> + <member name="M:NUnit.Framework.Constraints.DictionaryContainsKeyConstraint.Using``1(System.Collections.Generic.IEqualityComparer{``0})"> + <summary> + Flag the constraint to use the supplied IEqualityComparer object. + </summary> + <param name="comparer">The IComparer object to use.</param> + </member> + <member name="M:NUnit.Framework.Constraints.DictionaryContainsKeyConstraint.Using``1(System.Func{``0,``0,System.Boolean})"> + <summary> + Flag the constraint to use the supplied boolean-returning delegate. + </summary> + <param name="comparer">The supplied boolean-returning delegate to use.</param> + </member> + <member name="T:NUnit.Framework.Constraints.DictionaryContainsKeyValuePairConstraint"> + <summary> + DictionaryContainsKeyValuePairConstraint is used to test whether a dictionary + contains an expected object as a key-value-pair. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.DictionaryContainsKeyValuePairConstraint.#ctor(System.Object,System.Object)"> + <summary> + Construct a DictionaryContainsKeyValuePairConstraint + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.DictionaryContainsKeyValuePairConstraint.DisplayName"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.DictionaryContainsKeyValuePairConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.DictionaryContainsKeyValuePairConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + </member> + <member name="M:NUnit.Framework.Constraints.DictionaryContainsKeyValuePairConstraint.Matches(System.Collections.IEnumerable)"> + <summary> + Test whether the expected key is contained in the dictionary + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.DictionaryContainsValueConstraint"> + <summary> + DictionaryContainsValueConstraint is used to test whether a dictionary + contains an expected object as a value. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.DictionaryContainsValueConstraint.#ctor(System.Object)"> + <summary> + Construct a DictionaryContainsValueConstraint + </summary> + <param name="expected"></param> + </member> + <member name="P:NUnit.Framework.Constraints.DictionaryContainsValueConstraint.DisplayName"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.DictionaryContainsValueConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.DictionaryContainsValueConstraint.Expected"> + <summary> + Gets the expected object + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.DictionaryContainsValueConstraint.Matches(System.Collections.IEnumerable)"> + <summary> + Test whether the expected value is contained in the dictionary + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.DictionaryContainsValueConstraint.Using``2(System.Func{``0,``1,System.Boolean})"> + <summary> + Flag the constraint to use the supplied predicate function + </summary> + <param name="comparison">The comparison function to use.</param> + <returns>Self.</returns> + </member> + <member name="T:NUnit.Framework.Constraints.EachItemConstraintResult"> + <summary> + Provides a <see cref="T:NUnit.Framework.Constraints.ConstraintResult"/> for the constraints + that are applied to each item in the collection + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EachItemConstraintResult.#ctor(NUnit.Framework.Constraints.IConstraint,System.Object,System.Object,System.Int32)"> + <summary> + Constructs a <see cref="T:NUnit.Framework.Constraints.EachItemConstraintResult" /> for a particular <see cref="T:NUnit.Framework.Constraints.Constraint" /> + Only used for Failure + </summary> + <param name="constraint">The Constraint to which this result applies</param> + <param name="actualValue">The actual value to which the Constraint was applied</param> + <param name="nonMatchingItem">Actual item that does not match expected condition</param> + <param name="nonMatchingIndex">Non matching item index</param> + </member> + <member name="M:NUnit.Framework.Constraints.EachItemConstraintResult.WriteAdditionalLinesTo(NUnit.Framework.Constraints.MessageWriter)"> + <summary> + Write constraint description, actual items, and non-matching item + </summary> + <param name="writer">The MessageWriter on which to display the message</param> + </member> + <member name="T:NUnit.Framework.Constraints.EmptyCollectionConstraint"> + <summary> + EmptyCollectionConstraint tests whether a collection is empty. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.EmptyCollectionConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EmptyCollectionConstraint.Matches(System.Collections.IEnumerable)"> + <summary> + Check that the collection is empty + </summary> + <param name="collection"></param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Constraints.EmptyConstraint"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.EmptyConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EmptyConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="T:NUnit.Framework.Constraints.EmptyDirectoryConstraint"> + <summary> + EmptyDirectoryConstraint is used to test that a directory is empty + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.EmptyDirectoryConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EmptyDirectoryConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="T:NUnit.Framework.Constraints.EmptyGuidConstraint"> + <summary> + EmptyGuidConstraint tests whether a Guid is empty. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.EmptyGuidConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EmptyGuidConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="T:NUnit.Framework.Constraints.EmptyStringConstraint"> + <summary> + EmptyStringConstraint tests whether a string is empty. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.EmptyStringConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EmptyStringConstraint.Matches(System.String)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="T:NUnit.Framework.Constraints.EndsWithConstraint"> + <summary> + EndsWithConstraint can test whether a string ends + with an expected substring. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EndsWithConstraint.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.EndsWithConstraint"/> class. + </summary> + <param name="expected">The expected string</param> + </member> + <member name="M:NUnit.Framework.Constraints.EndsWithConstraint.Matches(System.String)"> + <summary> + Test whether the constraint is matched by the actual value. + This is a template method, which calls the IsMatch method + of the derived class. + </summary> + <param name="actual"></param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Constraints.EqualConstraint"> + <summary> + 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. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.EqualConstraint._comparer"> + <summary> + NUnitEqualityComparer used to test equality. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EqualConstraint.#ctor(System.Object)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.EqualConstraint"/> class. + </summary> + <param name="expected">The expected value.</param> + </member> + <member name="P:NUnit.Framework.Constraints.EqualConstraint.Tolerance"> + <summary> + Gets the tolerance for this comparison. + </summary> + <value> + The tolerance. + </value> + </member> + <member name="P:NUnit.Framework.Constraints.EqualConstraint.CaseInsensitive"> + <summary> + Gets a value indicating whether to compare case insensitive. + </summary> + <value> + <see langword="true"/> if comparing case insensitive; otherwise, <see langword="false"/>. + </value> + </member> + <member name="P:NUnit.Framework.Constraints.EqualConstraint.ClipStrings"> + <summary> + Gets a value indicating whether or not to clip strings. + </summary> + <value> + <see langword="true"/> if set to clip strings otherwise, <see langword="false"/>. + </value> + </member> + <member name="P:NUnit.Framework.Constraints.EqualConstraint.FailurePoints"> + <summary> + Gets the failure points. + </summary> + <value> + The failure points. + </value> + </member> + <member name="P:NUnit.Framework.Constraints.EqualConstraint.IgnoreCase"> + <summary> + Flag the constraint to ignore case and return self. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.EqualConstraint.NoClip"> + <summary> + Flag the constraint to suppress string clipping + and return self. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.EqualConstraint.AsCollection"> + <summary> + Flag the constraint to compare arrays as collections + and return self. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EqualConstraint.Within(System.Object)"> + <summary> + Flag the constraint to use a tolerance when determining equality. + </summary> + <param name="amount">Tolerance value to be used</param> + <returns>Self.</returns> + </member> + <member name="P:NUnit.Framework.Constraints.EqualConstraint.WithSameOffset"> + <summary> + Flags the constraint to include <see cref="P:System.DateTimeOffset.Offset"/> + property in comparison of two <see cref="T:System.DateTimeOffset"/> values. + </summary> + <remarks> + Using this modifier does not allow to use the <see cref="M:NUnit.Framework.Constraints.EqualConstraint.Within(System.Object)"/> + constraint modifier. + </remarks> + </member> + <member name="P:NUnit.Framework.Constraints.EqualConstraint.Ulps"> + <summary> + Switches the .Within() modifier to interpret its tolerance as + a distance in representable values (see remarks). + </summary> + <returns>Self.</returns> + <remarks> + 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. + </remarks> + </member> + <member name="P:NUnit.Framework.Constraints.EqualConstraint.Percent"> + <summary> + Switches the .Within() modifier to interpret its tolerance as + a percentage that the actual values is allowed to deviate from + the expected value. + </summary> + <returns>Self</returns> + </member> + <member name="P:NUnit.Framework.Constraints.EqualConstraint.Days"> + <summary> + Causes the tolerance to be interpreted as a TimeSpan in days. + </summary> + <returns>Self</returns> + </member> + <member name="P:NUnit.Framework.Constraints.EqualConstraint.Hours"> + <summary> + Causes the tolerance to be interpreted as a TimeSpan in hours. + </summary> + <returns>Self</returns> + </member> + <member name="P:NUnit.Framework.Constraints.EqualConstraint.Minutes"> + <summary> + Causes the tolerance to be interpreted as a TimeSpan in minutes. + </summary> + <returns>Self</returns> + </member> + <member name="P:NUnit.Framework.Constraints.EqualConstraint.Seconds"> + <summary> + Causes the tolerance to be interpreted as a TimeSpan in seconds. + </summary> + <returns>Self</returns> + </member> + <member name="P:NUnit.Framework.Constraints.EqualConstraint.Milliseconds"> + <summary> + Causes the tolerance to be interpreted as a TimeSpan in milliseconds. + </summary> + <returns>Self</returns> + </member> + <member name="P:NUnit.Framework.Constraints.EqualConstraint.Ticks"> + <summary> + Causes the tolerance to be interpreted as a TimeSpan in clock ticks. + </summary> + <returns>Self</returns> + </member> + <member name="M:NUnit.Framework.Constraints.EqualConstraint.Using(System.Collections.IComparer)"> + <summary> + Flag the constraint to use the supplied IComparer object. + </summary> + <param name="comparer">The IComparer object to use.</param> + <returns>Self.</returns> + </member> + <member name="M:NUnit.Framework.Constraints.EqualConstraint.Using``1(System.Collections.Generic.IComparer{``0})"> + <summary> + Flag the constraint to use the supplied IComparer object. + </summary> + <param name="comparer">The IComparer object to use.</param> + <returns>Self.</returns> + </member> + <member name="M:NUnit.Framework.Constraints.EqualConstraint.Using``1(System.Func{``0,``0,System.Boolean})"> + <summary> + Flag the constraint to use the supplied boolean-returning delegate. + </summary> + <param name="comparer">The boolean-returning delegate to use.</param> + <returns>Self.</returns> + </member> + <member name="M:NUnit.Framework.Constraints.EqualConstraint.Using``1(System.Comparison{``0})"> + <summary> + Flag the constraint to use the supplied Comparison object. + </summary> + <param name="comparer">The IComparer object to use.</param> + <returns>Self.</returns> + </member> + <member name="M:NUnit.Framework.Constraints.EqualConstraint.Using(System.Collections.IEqualityComparer)"> + <summary> + Flag the constraint to use the supplied IEqualityComparer object. + </summary> + <param name="comparer">The IComparer object to use.</param> + <returns>Self.</returns> + </member> + <member name="M:NUnit.Framework.Constraints.EqualConstraint.Using``1(System.Collections.Generic.IEqualityComparer{``0})"> + <summary> + Flag the constraint to use the supplied IEqualityComparer object. + </summary> + <param name="comparer">The IComparer object to use.</param> + <returns>Self.</returns> + </member> + <member name="M:NUnit.Framework.Constraints.EqualConstraint.Using``2(System.Func{``0,``1,System.Boolean})"> + <summary> + Flag the constraint to use the supplied predicate function + </summary> + <param name="comparison">The comparison function to use.</param> + <returns>Self.</returns> + </member> + <member name="M:NUnit.Framework.Constraints.EqualConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="P:NUnit.Framework.Constraints.EqualConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.EqualConstraintResult"> + <summary> + The EqualConstraintResult class is tailored for formatting + and displaying the result of an EqualConstraint. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EqualConstraintResult.#ctor(NUnit.Framework.Constraints.EqualConstraint,System.Object,System.Boolean)"> + <summary> + Construct an EqualConstraintResult + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EqualConstraintResult.WriteMessageTo(NUnit.Framework.Constraints.MessageWriter)"> + <summary> + Write a failure message. Overridden to provide custom + failure messages for EqualConstraint. + </summary> + <param name="writer">The MessageWriter to write to</param> + </member> + <member name="M:NUnit.Framework.Constraints.EqualConstraintResult.DisplayCollectionDifferences(NUnit.Framework.Constraints.MessageWriter,System.Collections.ICollection,System.Collections.ICollection,System.Int32)"> + <summary> + Display the failure information for two collections that did not match. + </summary> + <param name="writer">The MessageWriter on which to display</param> + <param name="expected">The expected collection.</param> + <param name="actual">The actual collection</param> + <param name="depth">The depth of this failure in a set of nested collections</param> + </member> + <member name="M:NUnit.Framework.Constraints.EqualConstraintResult.DisplayTypesAndSizes(NUnit.Framework.Constraints.MessageWriter,System.Collections.IEnumerable,System.Collections.IEnumerable,System.Int32)"> + <summary> + 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. + </summary> + <param name="writer">The MessageWriter on which to display</param> + <param name="expected">The expected collection or array</param> + <param name="actual">The actual collection or array</param> + <param name="indent">The indentation level for the message line</param> + </member> + <member name="M:NUnit.Framework.Constraints.EqualConstraintResult.DisplayFailurePoint(NUnit.Framework.Constraints.MessageWriter,System.Collections.IEnumerable,System.Collections.IEnumerable,NUnit.Framework.Constraints.NUnitEqualityComparer.FailurePoint,System.Int32)"> + <summary> + 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. + </summary> + <param name="writer">The MessageWriter on which to display</param> + <param name="expected">The expected array</param> + <param name="actual">The actual array</param> + <param name="failurePoint">Index of the failure point in the underlying collections</param> + <param name="indent">The indentation level for the message line</param> + </member> + <member name="M:NUnit.Framework.Constraints.EqualConstraintResult.DisplayEnumerableDifferences(NUnit.Framework.Constraints.MessageWriter,System.Collections.IEnumerable,System.Collections.IEnumerable,System.Int32)"> + <summary> + Display the failure information for two IEnumerables that did not match. + </summary> + <param name="writer">The MessageWriter on which to display</param> + <param name="expected">The expected enumeration.</param> + <param name="actual">The actual enumeration</param> + <param name="depth">The depth of this failure in a set of nested collections</param> + </member> + <member name="T:NUnit.Framework.Constraints.EqualityAdapter"> + <summary> + EqualityAdapter class handles all equality comparisons + that use an <see cref="T:System.Collections.IEqualityComparer"/>, <see cref="T:System.Collections.Generic.IEqualityComparer`1"/> + or a <see cref="T:NUnit.Framework.Constraints.ComparisonAdapter"/>. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EqualityAdapter.AreEqual(System.Object,System.Object)"> + <summary> + Compares two objects, returning true if they are equal + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EqualityAdapter.CanCompare(System.Object,System.Object)"> + <summary> + Returns true if the two objects can be compared by this adapter. + The base adapter cannot handle IEnumerables except for strings. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EqualityAdapter.For(System.Collections.IComparer)"> + <summary> + Returns an <see cref="T:NUnit.Framework.Constraints.EqualityAdapter"/> that wraps an <see cref="T:System.Collections.IComparer"/>. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.EqualityAdapter.ComparerAdapter"> + <summary> + <see cref="T:NUnit.Framework.Constraints.EqualityAdapter"/> that wraps an <see cref="T:System.Collections.IComparer"/>. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EqualityAdapter.For(System.Collections.IEqualityComparer)"> + <summary> + Returns an <see cref="T:NUnit.Framework.Constraints.EqualityAdapter"/> that wraps an <see cref="T:System.Collections.IEqualityComparer"/>. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EqualityAdapter.For``2(System.Func{``0,``1,System.Boolean})"> + <summary> + Returns an EqualityAdapter that uses a predicate function for items comparison. + </summary> + <typeparam name="TExpected"></typeparam> + <typeparam name="TActual"></typeparam> + <param name="comparison"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Constraints.EqualityAdapter.PredicateEqualityAdapter`2.CanCompare(System.Object,System.Object)"> + <summary> + Returns true if the two objects can be compared by this adapter. + The base adapter cannot handle IEnumerables except for strings. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EqualityAdapter.PredicateEqualityAdapter`2.AreEqual(System.Object,System.Object)"> + <summary> + Compares two objects, returning true if they are equal + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EqualityAdapter.GenericEqualityAdapter`1.CanCompare(System.Object,System.Object)"> + <summary> + Returns true if the two objects can be compared by this adapter. + Generic adapter requires objects of the specified type. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EqualityAdapter.For``1(System.Collections.Generic.IEqualityComparer{``0})"> + <summary> + Returns an <see cref="T:NUnit.Framework.Constraints.EqualityAdapter"/> that wraps an <see cref="T:System.Collections.Generic.IEqualityComparer`1"/>. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EqualityAdapter.For``1(System.Collections.Generic.IComparer{``0})"> + <summary> + Returns an <see cref="T:NUnit.Framework.Constraints.EqualityAdapter"/> that wraps an <see cref="T:System.Collections.Generic.IComparer`1"/>. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.EqualityAdapter.ComparerAdapter`1"> + <summary> + <see cref="T:NUnit.Framework.Constraints.EqualityAdapter"/> that wraps an <see cref="T:System.Collections.IComparer"/>. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.EqualityAdapter.For``1(System.Comparison{``0})"> + <summary> + Returns an <see cref="T:NUnit.Framework.Constraints.EqualityAdapter"/> that wraps a <see cref="T:System.Comparison`1"/>. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.ExactCountConstraint"> + <summary> + ExactCountConstraint applies another constraint to each + item in a collection, succeeding only if a specified + number of items succeed. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ExactCountConstraint.#ctor(System.Int32)"> + <summary> + Construct a standalone ExactCountConstraint + </summary> + <param name="expectedCount"></param> + </member> + <member name="M:NUnit.Framework.Constraints.ExactCountConstraint.#ctor(System.Int32,NUnit.Framework.Constraints.IConstraint)"> + <summary> + Construct an ExactCountConstraint on top of an existing constraint + </summary> + <param name="expectedCount"></param> + <param name="itemConstraint"></param> + </member> + <member name="M:NUnit.Framework.Constraints.ExactCountConstraint.ApplyTo``1(``0)"> + <summary> + Apply the item constraint to each item in the collection, + succeeding only if the expected number of items pass. + </summary> + <param name="actual">The value to be tested</param> + <returns>A ConstraintResult</returns> + </member> + <member name="P:NUnit.Framework.Constraints.ExactCountConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.ExactCountConstraintResult"> + <summary> + Contain the result of matching a <see cref="T:NUnit.Framework.Constraints.ExactCountConstraint"/> against an actual value. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.ExactCountConstraintResult._matchCount"> + <summary> + The count of matched items of the <see cref="T:NUnit.Framework.Constraints.ExactCountConstraint"/> + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.ExactCountConstraintResult._itemList"> + <summary> + A list with maximum count (+1) of items of the <see cref="T:NUnit.Framework.Constraints.ExactCountConstraint"/> + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ExactCountConstraintResult.#ctor(NUnit.Framework.Constraints.IConstraint,System.Object,System.Boolean,System.Int32,System.Collections.Generic.ICollection{System.Object})"> + <summary> + Constructs a <see cref="T:NUnit.Framework.Constraints.ConstraintResult"/> for a <see cref="T:NUnit.Framework.Constraints.ExactCountConstraint"/>. + </summary> + <param name="constraint">The Constraint to which this result applies.</param> + <param name="actualValue">The actual value to which the Constraint was applied.</param> + <param name="isSuccess">If true, applies a status of Success to the result, otherwise Failure.</param> + <param name="matchCount">Count of matched items of the <see cref="T:NUnit.Framework.Constraints.ExactCountConstraint"/></param> + <param name="itemList">A list with maximum count (+1) of items of the <see cref="T:NUnit.Framework.Constraints.ExactCountConstraint"/></param> + </member> + <member name="M:NUnit.Framework.Constraints.ExactCountConstraintResult.WriteActualValueTo(NUnit.Framework.Constraints.MessageWriter)"> + <summary> + Write the actual value for a failing constraint test to a MessageWriter. + </summary> + <param name="writer">The writer on which the actual value is displayed</param> + </member> + <member name="T:NUnit.Framework.Constraints.ExactTypeConstraint"> + <summary> + ExactTypeConstraint is used to test that an object + is of the exact type provided in the constructor + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ExactTypeConstraint.#ctor(System.Type)"> + <summary> + Construct an ExactTypeConstraint for a given Type + </summary> + <param name="type">The expected Type.</param> + </member> + <member name="P:NUnit.Framework.Constraints.ExactTypeConstraint.DisplayName"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ExactTypeConstraint.Matches(System.Object)"> + <summary> + Apply the constraint to an actual value, returning true if it succeeds + </summary> + <param name="actual">The actual argument</param> + <returns>True if the constraint succeeds, otherwise false.</returns> + </member> + <member name="P:NUnit.Framework.Constraints.ExceptionNotThrownConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ExceptionNotThrownConstraint.ApplyTo``1(``0)"> + <summary> + Applies the constraint to an actual value, returning a ConstraintResult. + </summary> + <param name="actual">The value to be tested</param> + <returns>A ConstraintResult</returns> + </member> + <member name="T:NUnit.Framework.Constraints.ExceptionTypeConstraint"> + <summary> + ExceptionTypeConstraint is a special version of ExactTypeConstraint + used to provided detailed info about the exception thrown in + an error message. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ExceptionTypeConstraint.#ctor(System.Type)"> + <summary> + Constructs an ExceptionTypeConstraint + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ExceptionTypeConstraint.ApplyTo``1(``0)"> + <summary> + Applies the constraint to an actual value, returning a ConstraintResult. + </summary> + <param name="actual">The value to be tested</param> + <returns>A ConstraintResult</returns> + </member> + <member name="T:NUnit.Framework.Constraints.FalseConstraint"> + <summary> + FalseConstraint tests that the actual value is false + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.FalseConstraint.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.FalseConstraint"/> class. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.FalseConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="T:NUnit.Framework.Constraints.FileExistsConstraint"> + <summary> + FileExistsConstraint is used to determine if a file exists + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.FileExistsConstraint.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.FileExistsConstraint"/> class. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.FileExistsConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.FileOrDirectoryExistsConstraint"> + <summary> + FileOrDirectoryExistsConstraint is used to determine if a file or directory exists + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.FileOrDirectoryExistsConstraint.IgnoreDirectories"> + <summary> + If true, the constraint will only check if files exist, not directories + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.FileOrDirectoryExistsConstraint.IgnoreFiles"> + <summary> + If true, the constraint will only check if directories exist, not files + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.FileOrDirectoryExistsConstraint.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.FileOrDirectoryExistsConstraint"/> class that + will check files and directories. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.FileOrDirectoryExistsConstraint.#ctor(System.Boolean)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.FileOrDirectoryExistsConstraint"/> class that + will only check files if ignoreDirectories is true. + </summary> + <param name="ignoreDirectories">if set to <see langword="true"/> [ignore directories].</param> + </member> + <member name="P:NUnit.Framework.Constraints.FileOrDirectoryExistsConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.FileOrDirectoryExistsConstraint.ApplyTo``1(``0)"> + <summary> + Applies the constraint to an actual value, returning a ConstraintResult. + </summary> + <param name="actual">The value to be tested</param> + <returns>A ConstraintResult</returns> + </member> + <member name="T:NUnit.Framework.Constraints.FloatingPointNumerics"> + <summary>Helper routines for working with floating point numbers</summary> + <remarks> + <para> + The floating point comparison code is based on this excellent article: + https://randomascii.wordpress.com/2012/02/25/comparing-floating-point-numbers-2012-edition/ + </para> + <para> + "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. + </para> + <para> + 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. + </para> + </remarks> + </member> + <member name="T:NUnit.Framework.Constraints.FloatingPointNumerics.FloatIntUnion"> + <summary>Union of a floating point variable and an integer</summary> + </member> + <member name="F:NUnit.Framework.Constraints.FloatingPointNumerics.FloatIntUnion.Float"> + <summary>The union's value as a floating point variable</summary> + </member> + <member name="F:NUnit.Framework.Constraints.FloatingPointNumerics.FloatIntUnion.Int"> + <summary>The union's value as an integer</summary> + </member> + <member name="F:NUnit.Framework.Constraints.FloatingPointNumerics.FloatIntUnion.UInt"> + <summary>The union's value as an unsigned integer</summary> + </member> + <member name="T:NUnit.Framework.Constraints.FloatingPointNumerics.DoubleLongUnion"> + <summary>Union of a double precision floating point variable and a long</summary> + </member> + <member name="F:NUnit.Framework.Constraints.FloatingPointNumerics.DoubleLongUnion.Double"> + <summary>The union's value as a double precision floating point variable</summary> + </member> + <member name="F:NUnit.Framework.Constraints.FloatingPointNumerics.DoubleLongUnion.Long"> + <summary>The union's value as a long</summary> + </member> + <member name="F:NUnit.Framework.Constraints.FloatingPointNumerics.DoubleLongUnion.ULong"> + <summary>The union's value as an unsigned long</summary> + </member> + <member name="M:NUnit.Framework.Constraints.FloatingPointNumerics.AreAlmostEqualUlps(System.Single,System.Single,System.Int32)"> + <summary>Compares two floating point values for equality</summary> + <param name="left">First floating point value to be compared</param> + <param name="right">Second floating point value t be compared</param> + <param name="maxUlps"> + Maximum number of representable floating point values that are allowed to + be between the left and the right floating point values + </param> + <returns>True if both numbers are equal or close to being equal</returns> + <remarks> + <para> + 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. + </para> + <para> + 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. + </para> + <para> + Implementation partially follows the code outlined here: + http://www.anttirt.net/2007/08/19/proper-floating-point-comparisons/ + </para> + </remarks> + </member> + <member name="M:NUnit.Framework.Constraints.FloatingPointNumerics.AreAlmostEqualUlps(System.Double,System.Double,System.Int64)"> + <summary>Compares two double precision floating point values for equality</summary> + <param name="left">First double precision floating point value to be compared</param> + <param name="right">Second double precision floating point value t be compared</param> + <param name="maxUlps"> + 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 + </param> + <returns>True if both numbers are equal or close to being equal</returns> + <remarks> + <para> + 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. + </para> + <para> + 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. + </para> + <para> + Implementation partially follows the code outlined here: + http://www.anttirt.net/2007/08/19/proper-floating-point-comparisons/ + </para> + </remarks> + </member> + <member name="T:NUnit.Framework.Constraints.GreaterThanConstraint"> + <summary> + Tests whether a value is greater than the value supplied to its constructor + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.GreaterThanConstraint.#ctor(System.Object)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.GreaterThanConstraint"/> class. + </summary> + <param name="expected">The expected value.</param> + </member> + <member name="P:NUnit.Framework.Constraints.GreaterThanConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.GreaterThanConstraint.PerformComparison(NUnit.Framework.Constraints.ComparisonAdapter,System.Object,System.Object,NUnit.Framework.Constraints.Tolerance)"> + <summary> + Perform the comparison + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.GreaterThanOrEqualConstraint"> + <summary> + Tests whether a value is greater than or equal to the value supplied to its constructor + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.GreaterThanOrEqualConstraint.#ctor(System.Object)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.GreaterThanOrEqualConstraint"/> class. + </summary> + <param name="expected">The expected value.</param> + </member> + <member name="P:NUnit.Framework.Constraints.GreaterThanOrEqualConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.GreaterThanOrEqualConstraint.PerformComparison(NUnit.Framework.Constraints.ComparisonAdapter,System.Object,System.Object,NUnit.Framework.Constraints.Tolerance)"> + <summary> + Perform the comparison + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.IConstraint"> + <summary> + Interface for all constraints + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.IConstraint.DisplayName"> + <summary> + The display name of this Constraint for use by ToString(). + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.IConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.IConstraint.Arguments"> + <summary> + Arguments provided to this Constraint, for use in + formatting the description. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.IConstraint.Builder"> + <summary> + The ConstraintBuilder holding this constraint + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.IConstraint.ApplyTo``1(``0)"> + <summary> + Applies the constraint to an actual value, returning a ConstraintResult. + </summary> + <param name="actual">The value to be tested</param> + <returns>A ConstraintResult</returns> + </member> + <member name="M:NUnit.Framework.Constraints.IConstraint.ApplyTo``1(NUnit.Framework.Constraints.ActualValueDelegate{``0})"> + <summary> + 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. + </summary> + <param name="del">An ActualValueDelegate</param> + <returns>A ConstraintResult</returns> + </member> + <member name="M:NUnit.Framework.Constraints.IConstraint.ApplyTo``1(``0@)"> + <summary> + 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. + </summary> + <param name="actual">A reference to the value to be tested</param> + <returns>A ConstraintResult</returns> + </member> + <member name="T:NUnit.Framework.Constraints.IndexerConstraint"> + <summary> + IndexerConstraint extracts a named property and uses + its value as the actual value for a chained constraint. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.IndexerConstraint.#ctor(System.Collections.Generic.IEnumerable{System.Object},NUnit.Framework.Constraints.IConstraint)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.IndexerConstraint"/> class. + </summary> + <param name="indexerArguments">The argument list for the indexer.</param> + <param name="baseConstraint">The constraint to apply to the indexer.</param> + </member> + <member name="M:NUnit.Framework.Constraints.IndexerConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + </member> + <member name="M:NUnit.Framework.Constraints.IndexerConstraint.GetStringRepresentation"> + <summary> + Returns the string representation of the constraint. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.InstanceOfTypeConstraint"> + <summary> + InstanceOfTypeConstraint is used to test that an object + is of the same type provided or derived from it. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.InstanceOfTypeConstraint.#ctor(System.Type)"> + <summary> + Construct an InstanceOfTypeConstraint for the type provided + </summary> + <param name="type">The expected Type</param> + </member> + <member name="P:NUnit.Framework.Constraints.InstanceOfTypeConstraint.DisplayName"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.InstanceOfTypeConstraint.Matches(System.Object)"> + <summary> + Apply the constraint to an actual value, returning true if it succeeds + </summary> + <param name="actual">The actual argument</param> + <returns>True if the constraint succeeds, otherwise false.</returns> + </member> + <member name="T:NUnit.Framework.Constraints.Interval"> + <summary> + Keeps track of an interval time which can be represented in + Minutes, Seconds or Milliseconds + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.Interval.#ctor(System.Int32)"> + <summary> + Constructs a interval given an value in milliseconds + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Interval.AsTimeSpan"> + <summary> + Gets Interval value represented as a TimeSpan object + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Interval.InMinutes"> + <summary> + Returns the interval with the current value as a number of minutes. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Interval.InSeconds"> + <summary> + Returns the interval with the current value as a number of seconds. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Interval.InMilliseconds"> + <summary> + Returns the interval with the current value as a number of milliseconds. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Interval.IsNotZero"> + <summary> + Is true for intervals created with a non-zero value + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.Interval.ToString"> + <summary> + Returns a string that represents the current object. + </summary> + <returns> + A string that represents the current object. + </returns> + </member> + <member name="T:NUnit.Framework.Constraints.Interval.IntervalUnit"> + <summary> + IntervalUnit provides the semantics to the value stored in Interval class. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.Interval.IntervalUnit.Minute"> + <summary> + Unit representing an Interval in minutes + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.Interval.IntervalUnit.Second"> + <summary> + Unit representing an Interval in seconds + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.Interval.IntervalUnit.Millisecond"> + <summary> + Unit representing an Interval in milliseconds + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.IResolveConstraint"> + <summary> + The IResolveConstraint interface is implemented by all + complete and resolvable constraints and expressions. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.IResolveConstraint.Resolve"> + <summary> + Return the top-level constraint for this expression + </summary> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Constraints.ItemsConstraintExpression"> + <summary> + An extension of ResolvableConstraintExpression that adds a no-op Items property for readability. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ItemsConstraintExpression.#ctor"> + <summary> + Create a new instance of ItemsConstraintExpression + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ItemsConstraintExpression.#ctor(NUnit.Framework.Constraints.ConstraintBuilder)"> + <summary> + Create a new instance of ResolvableConstraintExpression, + passing in a pre-populated ConstraintBuilder. + </summary> + <param name="builder"></param> + </member> + <member name="P:NUnit.Framework.Constraints.ItemsConstraintExpression.Items"> + <summary> + No-op property for readability. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.LessThanConstraint"> + <summary> + Tests whether a value is less than the value supplied to its constructor + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.LessThanConstraint.#ctor(System.Object)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.LessThanConstraint"/> class. + </summary> + <param name="expected">The expected value.</param> + </member> + <member name="P:NUnit.Framework.Constraints.LessThanConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.LessThanConstraint.PerformComparison(NUnit.Framework.Constraints.ComparisonAdapter,System.Object,System.Object,NUnit.Framework.Constraints.Tolerance)"> + <summary> + Perform the comparison + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.LessThanOrEqualConstraint"> + <summary> + Tests whether a value is less than or equal to the value supplied to its constructor + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.LessThanOrEqualConstraint.#ctor(System.Object)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.LessThanOrEqualConstraint"/> class. + </summary> + <param name="expected">The expected value.</param> + </member> + <member name="P:NUnit.Framework.Constraints.LessThanOrEqualConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.LessThanOrEqualConstraint.PerformComparison(NUnit.Framework.Constraints.ComparisonAdapter,System.Object,System.Object,NUnit.Framework.Constraints.Tolerance)"> + <summary> + Perform the comparison + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.MessageWriter"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.MessageWriter.#ctor"> + <summary> + Construct a MessageWriter given a culture + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.MessageWriter.MaxLineLength"> + <summary> + Abstract method to get the max line length + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.MessageWriter.WriteMessageLine(System.String,System.Object[])"> + <summary> + Method to write single line message with optional args, usually + written to precede the general failure message. + </summary> + <param name="message">The message to be written</param> + <param name="args">Any arguments used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Constraints.MessageWriter.WriteMessageLine(System.Int32,System.String,System.Object[])"> + <summary> + Method to write single line message with optional args, usually + written to precede the general failure message, at a given + indentation level. + </summary> + <param name="level">The indentation level of the message</param> + <param name="message">The message to be written</param> + <param name="args">Any arguments used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Constraints.MessageWriter.DisplayDifferences(NUnit.Framework.Constraints.ConstraintResult)"> + <summary> + 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. + </summary> + <param name="result">The failing constraint result</param> + </member> + <member name="M:NUnit.Framework.Constraints.MessageWriter.DisplayDifferences(System.Object,System.Object)"> + <summary> + 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. + </summary> + <param name="expected">The expected value</param> + <param name="actual">The actual value causing the failure</param> + </member> + <member name="M:NUnit.Framework.Constraints.MessageWriter.DisplayDifferences(System.Object,System.Object,NUnit.Framework.Constraints.Tolerance)"> + <summary> + Display Expected and Actual lines for given values, including + a tolerance value on the Expected line. + </summary> + <param name="expected">The expected value</param> + <param name="actual">The actual value causing the failure</param> + <param name="tolerance">The tolerance within which the test was made</param> + </member> + <member name="M:NUnit.Framework.Constraints.MessageWriter.DisplayStringDifferences(System.String,System.String,System.Int32,System.Boolean,System.Boolean)"> + <summary> + 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. + </summary> + <param name="expected">The expected string value</param> + <param name="actual">The actual string value</param> + <param name="mismatch">The point at which the strings don't match or -1</param> + <param name="ignoreCase">If true, case is ignored in locating the point where the strings differ</param> + <param name="clipping">If true, the strings should be clipped to fit the line</param> + </member> + <member name="M:NUnit.Framework.Constraints.MessageWriter.WriteActualValue(System.Object)"> + <summary> + Writes the text for an actual value. + </summary> + <param name="actual">The actual value.</param> + </member> + <member name="M:NUnit.Framework.Constraints.MessageWriter.WriteValue(System.Object)"> + <summary> + Writes the text for a generalized value. + </summary> + <param name="val">The value.</param> + </member> + <member name="M:NUnit.Framework.Constraints.MessageWriter.WriteCollectionElements(System.Collections.IEnumerable,System.Int64,System.Int32)"> + <summary> + Writes the text for a collection value, + starting at a particular point, to a max length + </summary> + <param name="collection">The collection containing elements to write.</param> + <param name="start">The starting point of the elements to write</param> + <param name="max">The maximum number of elements to write</param> + </member> + <member name="T:NUnit.Framework.Constraints.ValueFormatter"> + <summary> + Custom value formatter function + </summary> + <param name="val">The value</param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Constraints.ValueFormatterFactory"> + <summary> + Custom value formatter factory function + </summary> + <param name="next">The next formatter function</param> + <returns>ValueFormatter</returns> + <remarks>If the given formatter is unable to handle a certain format, it must call the next formatter in the chain</remarks> + </member> + <member name="T:NUnit.Framework.Constraints.MsgUtils"> + <summary> + Static methods used in creating messages + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.MsgUtils.DefaultMaxItems"> + <summary> + Default amount of items used by <see cref="M:NUnit.Framework.Constraints.MsgUtils.FormatCollection(System.Collections.IEnumerable,System.Int64,System.Int32)"/> method. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.MsgUtils.ELLIPSIS"> + <summary> + Static string used when strings are clipped + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.MsgUtils.Fmt_Null"> + <summary> + Formatting strings used for expected and actual values + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.MsgUtils.DefaultValueFormatter"> + <summary> + Current head of chain of value formatters. Public for testing. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.MsgUtils.AddFormatter(NUnit.Framework.Constraints.ValueFormatterFactory)"> + <summary> + Add a formatter to the chain of responsibility. + </summary> + <param name="formatterFactory"></param> + </member> + <member name="M:NUnit.Framework.Constraints.MsgUtils.FormatValue(System.Object)"> + <summary> + Formats text to represent a generalized value. + </summary> + <param name="val">The value</param> + <returns>The formatted text</returns> + </member> + <member name="M:NUnit.Framework.Constraints.MsgUtils.FormatCollection(System.Collections.IEnumerable,System.Int64,System.Int32)"> + <summary> + Formats text for a collection value, + starting at a particular point, to a max length + </summary> + <param name="collection">The collection containing elements to write.</param> + <param name="start">The starting point of the elements to write</param> + <param name="max">The maximum number of elements to write</param> + </member> + <member name="M:NUnit.Framework.Constraints.MsgUtils.GetTypeRepresentation(System.Object)"> + <summary> + 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. + </summary> + <param name="obj"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Constraints.MsgUtils.EscapeControlChars(System.String)"> + <summary> + Converts any control characters in a string + to their escaped representation. + </summary> + <param name="s">The string to be converted</param> + <returns>The converted string</returns> + </member> + <member name="M:NUnit.Framework.Constraints.MsgUtils.EscapeNullCharacters(System.String)"> + <summary> + Converts any null characters in a string + to their escaped representation. + </summary> + <param name="s">The string to be converted</param> + <returns>The converted string</returns> + </member> + <member name="M:NUnit.Framework.Constraints.MsgUtils.GetArrayIndicesAsString(System.Int32[])"> + <summary> + Return the a string representation for a set of indices into an array + </summary> + <param name="indices">Array of indices for which a string is needed</param> + </member> + <member name="M:NUnit.Framework.Constraints.MsgUtils.GetArrayIndicesFromCollectionIndex(System.Collections.IEnumerable,System.Int64)"> + <summary> + Get an array of indices representing the point in a collection or + array corresponding to a single int index into the collection. + </summary> + <param name="collection">The collection to which the indices apply</param> + <param name="index">Index in the collection</param> + <returns>Array of indices</returns> + </member> + <member name="M:NUnit.Framework.Constraints.MsgUtils.ClipString(System.String,System.Int32,System.Int32)"> + <summary> + Clip a string to a given length, starting at a particular offset, returning the clipped + string with ellipses representing the removed parts + </summary> + <param name="s">The string to be clipped</param> + <param name="maxStringLength">The maximum permitted length of the result string</param> + <param name="clipStart">The point at which to start clipping</param> + <returns>The clipped string</returns> + </member> + <member name="M:NUnit.Framework.Constraints.MsgUtils.ClipExpectedAndActual(System.String@,System.String@,System.Int32,System.Int32)"> + <summary> + Clip the expected and actual strings in a coordinated fashion, + so that they may be displayed together. + </summary> + <param name="expected"></param> + <param name="actual"></param> + <param name="maxDisplayLength"></param> + <param name="mismatch"></param> + </member> + <member name="M:NUnit.Framework.Constraints.MsgUtils.FindMismatchPosition(System.String,System.String,System.Int32,System.Boolean)"> + <summary> + Shows the position two strings start to differ. Comparison + starts at the start index. + </summary> + <param name="expected">The expected string</param> + <param name="actual">The actual string</param> + <param name="istart">The index in the strings at which comparison should start</param> + <param name="ignoreCase">Boolean indicating whether case should be ignored</param> + <returns>-1 if no mismatch found, or the index where mismatch found</returns> + </member> + <member name="T:NUnit.Framework.Constraints.NaNConstraint"> + <summary> + NaNConstraint tests that the actual value is a double or float NaN + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.NaNConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.NaNConstraint.ApplyTo``1(``0)"> + <summary> + Test that the actual value is an NaN + </summary> + <param name="actual"></param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Constraints.NoItemConstraint"> + <summary> + NoItemConstraint applies another constraint to each + item in a collection, failing if any of them succeeds. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.NoItemConstraint.#ctor(NUnit.Framework.Constraints.IConstraint)"> + <summary> + Construct a SomeItemsConstraint on top of an existing constraint + </summary> + <param name="itemConstraint"></param> + </member> + <member name="P:NUnit.Framework.Constraints.NoItemConstraint.DisplayName"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.NoItemConstraint.ApplyTo``1(``0)"> + <summary> + Apply the item constraint to each item in the collection, + failing if any item fails. + </summary> + <param name="actual"></param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Constraints.NotConstraint"> + <summary> + NotConstraint negates the effect of some other constraint + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.NotConstraint.#ctor(NUnit.Framework.Constraints.IConstraint)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.NotConstraint"/> class. + </summary> + <param name="baseConstraint">The base constraint to be negated.</param> + </member> + <member name="M:NUnit.Framework.Constraints.NotConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for if the base constraint fails, false if it succeeds</returns> + </member> + <member name="T:NUnit.Framework.Constraints.NullConstraint"> + <summary> + NullConstraint tests that the actual value is null + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.NullConstraint.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.NullConstraint"/> class. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.NullConstraint.ApplyTo``1(``0)"> + <summary> + Applies the constraint to an actual value, returning a ConstraintResult. + </summary> + <param name="actual">The value to be tested</param> + <returns>A ConstraintResult</returns> + </member> + <member name="T:NUnit.Framework.Constraints.Numerics"> + <summary> + The Numerics class contains common operations on numeric values. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.Numerics.IsNumericType(System.Object)"> + <summary> + Checks the type of the object, returning true if + the object is a numeric type. + </summary> + <param name="obj">The object to check</param> + <returns>true if the object is a numeric type</returns> + </member> + <member name="M:NUnit.Framework.Constraints.Numerics.IsFloatingPointNumeric(System.Object)"> + <summary> + Checks the type of the object, returning true if + the object is a floating point numeric type. + </summary> + <param name="obj">The object to check</param> + <returns>true if the object is a floating point numeric type</returns> + </member> + <member name="M:NUnit.Framework.Constraints.Numerics.IsFixedPointNumeric(System.Object)"> + <summary> + Checks the type of the object, returning true if + the object is a fixed point numeric type. + </summary> + <param name="obj">The object to check</param> + <returns>true if the object is a fixed point numeric type</returns> + </member> + <member name="M:NUnit.Framework.Constraints.Numerics.AreEqual(System.Object,System.Object,NUnit.Framework.Constraints.Tolerance@)"> + <summary> + 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. + </summary> + <param name="expected">The expected value</param> + <param name="actual">The actual value</param> + <param name="tolerance">A reference to the tolerance in effect</param> + <returns>True if the values are equal</returns> + </member> + <member name="M:NUnit.Framework.Constraints.Numerics.Compare(System.Object,System.Object)"> + <summary> + Compare two numeric values, performing the usual numeric conversions. + </summary> + <param name="expected">The expected value</param> + <param name="actual">The actual value</param> + <returns>The relationship of the values to each other</returns> + </member> + <member name="M:NUnit.Framework.Constraints.Numerics.Difference(System.Object,System.Object,NUnit.Framework.Constraints.ToleranceMode)"> + <summary> + Calculates the difference between 2 values in absolute/percent mode. + </summary> + <param name="expected">The expected value</param> + <param name="actual">The actual value</param> + <param name="toleranceMode">Tolerance mode to specify difference representation</param> + <returns>The difference between the values</returns> + </member> + <member name="T:NUnit.Framework.Constraints.NUnitComparer"> + <summary> + NUnitComparer encapsulates NUnit's default behavior + in comparing two objects. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.NUnitComparer.Default"> + <summary> + Returns the default NUnitComparer. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.NUnitComparer.Compare(System.Object,System.Object)"> + <summary> + Compares two objects + </summary> + <param name="x"></param> + <param name="y"></param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Constraints.NUnitEqualityComparer"> + <summary> + NUnitEqualityComparer encapsulates NUnit's handling of + equality tests between objects. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.NUnitEqualityComparer.caseInsensitive"> + <summary> + If true, all string comparisons will ignore case + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.NUnitEqualityComparer.compareAsCollection"> + <summary> + If true, arrays will be treated as collections, allowing + those of different dimensions to be compared + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.NUnitEqualityComparer.externalComparers"> + <summary> + Comparison objects used in comparisons for some constraints. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.NUnitEqualityComparer.failurePoints"> + <summary> + List of points at which a failure occurred. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.NUnitEqualityComparer._comparers"> + <summary> + List of comparers used to compare pairs of objects. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.NUnitEqualityComparer.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.NUnitEqualityComparer"/> class. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.NUnitEqualityComparer.Default"> + <summary> + Returns the default NUnitEqualityComparer + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.NUnitEqualityComparer.IgnoreCase"> + <summary> + Gets and sets a flag indicating whether case should + be ignored in determining equality. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.NUnitEqualityComparer.CompareAsCollection"> + <summary> + Gets and sets a flag indicating that arrays should be + compared as collections, without regard to their shape. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.NUnitEqualityComparer.ExternalComparers"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.NUnitEqualityComparer.FailurePoints"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.NUnitEqualityComparer.WithSameOffset"> + <summary> + Flags the comparer to include <see cref="P:System.DateTimeOffset.Offset"/> + property in comparison of two <see cref="T:System.DateTimeOffset"/> values. + </summary> + <remarks> + Using this modifier does not allow to use the <see cref="T:NUnit.Framework.Constraints.Tolerance"/> + modifier. + </remarks> + </member> + <member name="M:NUnit.Framework.Constraints.NUnitEqualityComparer.AreEqual(System.Object,System.Object,NUnit.Framework.Constraints.Tolerance@)"> + <summary> + Compares two objects for equality within a tolerance. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.NUnitEqualityComparer.AreEqual(System.Object,System.Object,NUnit.Framework.Constraints.Tolerance@,System.Boolean)"> + <summary> + Compares two objects for equality within a tolerance. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.NUnitEqualityComparer.FailurePoint"> + <summary> + FailurePoint class represents one point of failure + in an equality test. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.NUnitEqualityComparer.FailurePoint.Position"> + <summary> + The location of the failure + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.NUnitEqualityComparer.FailurePoint.ExpectedValue"> + <summary> + The expected value + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.NUnitEqualityComparer.FailurePoint.ActualValue"> + <summary> + The actual value + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.NUnitEqualityComparer.FailurePoint.ExpectedHasData"> + <summary> + Indicates whether the expected value is valid + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.NUnitEqualityComparer.FailurePoint.ActualHasData"> + <summary> + Indicates whether the actual value is valid + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.AllOperator"> + <summary> + Represents a constraint that succeeds if all the + members of a collection match a base constraint. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.AllOperator.ApplyPrefix(NUnit.Framework.Constraints.IConstraint)"> + <summary> + Returns a constraint that will apply the argument + to the members of a collection, succeeding if + they all succeed. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.AndOperator"> + <summary> + Operator that requires both its arguments to succeed + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.AndOperator.#ctor"> + <summary> + Construct an AndOperator + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.AndOperator.ApplyOperator(NUnit.Framework.Constraints.IConstraint,NUnit.Framework.Constraints.IConstraint)"> + <summary> + Apply the operator to produce an AndConstraint + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.AttributeOperator"> + <summary> + Operator that tests for the presence of a particular attribute + on a type and optionally applies further tests to the attribute. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.AttributeOperator.#ctor(System.Type)"> + <summary> + Construct an AttributeOperator for a particular Type + </summary> + <param name="type">The Type of attribute tested</param> + </member> + <member name="M:NUnit.Framework.Constraints.AttributeOperator.Reduce(NUnit.Framework.Constraints.ConstraintBuilder.ConstraintStack)"> + <summary> + 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. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.BinaryOperator"> + <summary> + Abstract base class for all binary operators + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.BinaryOperator.Reduce(NUnit.Framework.Constraints.ConstraintBuilder.ConstraintStack)"> + <summary> + 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. + </summary> + <param name="stack"></param> + </member> + <member name="P:NUnit.Framework.Constraints.BinaryOperator.LeftPrecedence"> + <summary> + Gets the left precedence of the operator + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.BinaryOperator.RightPrecedence"> + <summary> + Gets the right precedence of the operator + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.BinaryOperator.ApplyOperator(NUnit.Framework.Constraints.IConstraint,NUnit.Framework.Constraints.IConstraint)"> + <summary> + Abstract method that produces a constraint by applying + the operator to its left and right constraint arguments. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.CollectionOperator"> + <summary> + Abstract base for operators that indicate how to + apply a constraint to items in a collection. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.CollectionOperator.#ctor"> + <summary> + Constructs a CollectionOperator + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.ConstraintOperator"> + <summary> + 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. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.ConstraintOperator.left_precedence"> + <summary> + The precedence value used when the operator + is about to be pushed to the stack. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.ConstraintOperator.right_precedence"> + <summary> + The precedence value used when the operator + is on the top of the stack. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintOperator.LeftContext"> + <summary> + The syntax element preceding this operator + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintOperator.RightContext"> + <summary> + The syntax element following this operator + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintOperator.LeftPrecedence"> + <summary> + The precedence value used when the operator + is about to be pushed to the stack. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ConstraintOperator.RightPrecedence"> + <summary> + The precedence value used when the operator + is on the top of the stack. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ConstraintOperator.Reduce(NUnit.Framework.Constraints.ConstraintBuilder.ConstraintStack)"> + <summary> + 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. + </summary> + <param name="stack"></param> + </member> + <member name="T:NUnit.Framework.Constraints.ExactCountOperator"> + <summary> + Represents a constraint that succeeds if the specified + count of members of a collection match a base constraint. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ExactCountOperator.#ctor(System.Int32)"> + <summary> + Construct an ExactCountOperator for a specified count + </summary> + <param name="expectedCount">The expected count</param> + </member> + <member name="M:NUnit.Framework.Constraints.ExactCountOperator.Reduce(NUnit.Framework.Constraints.ConstraintBuilder.ConstraintStack)"> + <summary> + 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. + </summary> + <param name="stack"></param> + </member> + <member name="T:NUnit.Framework.Constraints.IndexerOperator"> + <summary> + Operator used to test for the presence of a Indexer + on an object and optionally apply further tests to the + value of that indexer. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.IndexerOperator.#ctor(System.Object[])"> + <summary> + Constructs a IndexerOperator for a particular set of indexer + parameters + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.IndexerOperator.ApplyPrefix(NUnit.Framework.Constraints.IConstraint)"> + <summary> + Returns a IndexerConstraint applied to its argument. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.NoneOperator"> + <summary> + Represents a constraint that succeeds if none of the + members of a collection match a base constraint. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.NoneOperator.ApplyPrefix(NUnit.Framework.Constraints.IConstraint)"> + <summary> + Returns a constraint that will apply the argument + to the members of a collection, succeeding if + none of them succeed. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.NotOperator"> + <summary> + Negates the test of the constraint it wraps. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.NotOperator.#ctor"> + <summary> + Constructs a new NotOperator + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.NotOperator.ApplyPrefix(NUnit.Framework.Constraints.IConstraint)"> + <summary> + Returns a NotConstraint applied to its argument. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.OrOperator"> + <summary> + Operator that requires at least one of its arguments to succeed + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.OrOperator.#ctor"> + <summary> + Construct an OrOperator + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.OrOperator.ApplyOperator(NUnit.Framework.Constraints.IConstraint,NUnit.Framework.Constraints.IConstraint)"> + <summary> + Apply the operator to produce an OrConstraint + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.PrefixOperator"> + <summary> + PrefixOperator takes a single constraint and modifies + its action in some way. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.PrefixOperator.Reduce(NUnit.Framework.Constraints.ConstraintBuilder.ConstraintStack)"> + <summary> + 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. + </summary> + <param name="stack"></param> + </member> + <member name="M:NUnit.Framework.Constraints.PrefixOperator.ApplyPrefix(NUnit.Framework.Constraints.IConstraint)"> + <summary> + Returns the constraint created by applying this + prefix to another constraint. + </summary> + <param name="constraint"></param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Constraints.PropOperator"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.PropOperator.Name"> + <summary> + Gets the name of the property to which the operator applies + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.PropOperator.#ctor(System.String)"> + <summary> + Constructs a PropOperator for a particular named property + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.PropOperator.Reduce(NUnit.Framework.Constraints.ConstraintBuilder.ConstraintStack)"> + <summary> + 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. + </summary> + <param name="stack"></param> + </member> + <member name="T:NUnit.Framework.Constraints.SelfResolvingOperator"> + <summary> + Abstract base class for operators that are able to reduce to a + constraint whether or not another syntactic element follows. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.SomeOperator"> + <summary> + Represents a constraint that succeeds if any of the + members of a collection match a base constraint. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.SomeOperator.ApplyPrefix(NUnit.Framework.Constraints.IConstraint)"> + <summary> + Returns a constraint that will apply the argument + to the members of a collection, succeeding if + any of them succeed. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.ThrowsOperator"> + <summary> + Operator that tests that an exception is thrown and + optionally applies further tests to the exception. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ThrowsOperator.#ctor"> + <summary> + Construct a ThrowsOperator + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ThrowsOperator.Reduce(NUnit.Framework.Constraints.ConstraintBuilder.ConstraintStack)"> + <summary> + 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. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.WithOperator"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.WithOperator.#ctor"> + <summary> + Constructor for the WithOperator + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.WithOperator.ApplyPrefix(NUnit.Framework.Constraints.IConstraint)"> + <summary> + Returns a constraint that wraps its argument + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.OrConstraint"> + <summary> + OrConstraint succeeds if either member succeeds + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.OrConstraint.#ctor(NUnit.Framework.Constraints.IConstraint,NUnit.Framework.Constraints.IConstraint)"> + <summary> + Create an OrConstraint from two other constraints + </summary> + <param name="left">The first constraint</param> + <param name="right">The second constraint</param> + </member> + <member name="P:NUnit.Framework.Constraints.OrConstraint.Description"> + <summary> + Gets text describing a constraint + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.OrConstraint.ApplyTo``1(``0)"> + <summary> + Apply the member constraints to an actual value, succeeding + succeeding as soon as one of them succeeds. + </summary> + <param name="actual">The actual value</param> + <returns>True if either constraint succeeded</returns> + </member> + <member name="T:NUnit.Framework.Constraints.PathConstraint"> + <summary> + PathConstraint serves as the abstract base of constraints + that operate on paths and provides several helper methods. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.PathConstraint.#ctor(System.String)"> + <summary> + Construct a PathConstraint for a give expected path + </summary> + <param name="expected">The expected path</param> + </member> + <member name="P:NUnit.Framework.Constraints.PathConstraint.RespectCase"> + <summary> + Modifies the current instance to be case-sensitive + and returns it. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.PathConstraint.GetStringRepresentation"> + <summary> + Returns the string representation of this constraint + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.PathConstraint.Canonicalize(System.String)"> + <summary> + Canonicalize the provided path + </summary> + <param name="path"></param> + <returns>The path in standardized form</returns> + </member> + <member name="M:NUnit.Framework.Constraints.PathConstraint.IsSubPath(System.String,System.String)"> + <summary> + Test whether one path in canonical form is a subpath of another path + </summary> + <param name="path1">The first path - supposed to be the parent path</param> + <param name="path2">The second path - supposed to be the child path</param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Constraints.PredicateConstraint`1"> + <summary> + Predicate constraint wraps a Predicate in a constraint, + returning success if the predicate is true. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.PredicateConstraint`1.#ctor(System.Predicate{`0})"> + <summary> + Construct a PredicateConstraint from a predicate + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.PredicateConstraint`1.Description"> + <summary> + Gets text describing a constraint + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.PredicateConstraint`1.ApplyTo``1(``0)"> + <summary> + Determines whether the predicate succeeds when applied + to the actual value. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.PrefixConstraint"> + <summary> + Abstract base class used for prefixes + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.PrefixConstraint.BaseConstraint"> + <summary> + The base constraint + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.PrefixConstraint.DescriptionPrefix"> + <summary> + Prefix used in forming the constraint description + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.PrefixConstraint.#ctor(NUnit.Framework.Constraints.IResolveConstraint)"> + <summary> + Construct given a base constraint + </summary> + <param name="baseConstraint"></param> + </member> + <member name="P:NUnit.Framework.Constraints.PrefixConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.PrefixConstraint.FormatDescription(System.String,NUnit.Framework.Constraints.IConstraint)"> + <summary> + Formats a prefix constraint's description. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.PropertyConstraint"> + <summary> + PropertyConstraint extracts a named property and uses + its value as the actual value for a chained constraint. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.PropertyConstraint.#ctor(System.String,NUnit.Framework.Constraints.IConstraint)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.PropertyConstraint"/> class. + </summary> + <param name="name">The name.</param> + <param name="baseConstraint">The constraint to apply to the property.</param> + </member> + <member name="M:NUnit.Framework.Constraints.PropertyConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + </member> + <member name="M:NUnit.Framework.Constraints.PropertyConstraint.GetStringRepresentation"> + <summary> + Returns the string representation of the constraint. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.PropertyConstraintResult"> + <summary> + Contains the result of matching a <see cref="T:NUnit.Framework.Constraints.PropertyConstraint"/> against an actual value. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.PropertyConstraintResult.#ctor(NUnit.Framework.Constraints.IConstraint,NUnit.Framework.Constraints.ConstraintResult)"> + <summary> + Constructs a <see cref="T:NUnit.Framework.Constraints.PropertyConstraintResult"/> for a particular <see cref="T:NUnit.Framework.Constraints.PropertyConstraint"/>. + </summary> + <param name="constraint">The Constraint to which this result applies.</param> + <param name="baseResult">The base result with actual value to which the Constraint was applied.</param> + </member> + <member name="M:NUnit.Framework.Constraints.PropertyConstraintResult.WriteAdditionalLinesTo(NUnit.Framework.Constraints.MessageWriter)"> + <summary> + Write the additional failure message for a failing constraint to a + MessageWriter. + </summary> + <param name="writer">The writer on which the actual value is displayed</param> + </member> + <member name="T:NUnit.Framework.Constraints.PropertyExistsConstraint"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.PropertyExistsConstraint.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.PropertyExistsConstraint"/> class. + </summary> + <param name="name">The name of the property.</param> + </member> + <member name="P:NUnit.Framework.Constraints.PropertyExistsConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.PropertyExistsConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the property exists for a given object + </summary> + <param name="actual">The object to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="M:NUnit.Framework.Constraints.PropertyExistsConstraint.GetStringRepresentation"> + <summary> + Returns the string representation of the constraint. + </summary> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Constraints.RangeConstraint"> + <summary> + RangeConstraint tests whether two values are within a + specified range. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.RangeConstraint.#ctor(System.Object,System.Object)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.RangeConstraint"/> class. + </summary> + <param name="from">Inclusive beginning of the range.</param> + <param name="to">Inclusive end of the range.</param> + </member> + <member name="P:NUnit.Framework.Constraints.RangeConstraint.Description"> + <summary> + Gets text describing a constraint + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.RangeConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="M:NUnit.Framework.Constraints.RangeConstraint.Using(System.Collections.IComparer)"> + <summary> + Modifies the constraint to use an <see cref="T:System.Collections.IComparer"/> and returns self. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.RangeConstraint.Using``1(System.Collections.Generic.IComparer{``0})"> + <summary> + Modifies the constraint to use an <see cref="T:System.Collections.Generic.IComparer`1"/> and returns self. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.RangeConstraint.Using``1(System.Comparison{``0})"> + <summary> + Modifies the constraint to use a <see cref="T:System.Comparison`1"/> and returns self. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.RegexConstraint"> + <summary> + RegexConstraint can test whether a string matches + the pattern provided. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.RegexConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.RegexConstraint.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.RegexConstraint"/> class. + </summary> + <param name="pattern">The pattern.</param> + </member> + <member name="M:NUnit.Framework.Constraints.RegexConstraint.#ctor(System.Text.RegularExpressions.Regex)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.RegexConstraint"/> class. + </summary> + <param name="regex">The Regex pattern object.</param> + </member> + <member name="P:NUnit.Framework.Constraints.RegexConstraint.IgnoreCase"> + <summary> + Modify the constraint to ignore case in matching. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.RegexConstraint.ApplyTo``1(``0)"> + <summary> + Applies the regex constraint to an actual value, returning a ConstraintResult. + </summary> + <param name="actual">The string to be tested.</param> + <returns>True for success, false for failure.</returns> + </member> + <member name="T:NUnit.Framework.Constraints.ResolvableConstraintExpression"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ResolvableConstraintExpression.#ctor"> + <summary> + Create a new instance of ResolvableConstraintExpression + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ResolvableConstraintExpression.#ctor(NUnit.Framework.Constraints.ConstraintBuilder)"> + <summary> + Create a new instance of ResolvableConstraintExpression, + passing in a pre-populated ConstraintBuilder. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ResolvableConstraintExpression.And"> + <summary> + Appends an And Operator to the expression + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ResolvableConstraintExpression.Or"> + <summary> + Appends an Or operator to the expression. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ResolvableConstraintExpression.NUnit#Framework#Constraints#IResolveConstraint#Resolve"> + <summary> + Resolve the current expression to a Constraint + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.ReusableConstraint"> + <summary> + ReusableConstraint wraps a constraint expression after + resolving it so that it can be reused consistently. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ReusableConstraint.#ctor(NUnit.Framework.Constraints.IResolveConstraint)"> + <summary> + Construct a ReusableConstraint from a constraint expression + </summary> + <param name="c">The expression to be resolved and reused</param> + </member> + <member name="M:NUnit.Framework.Constraints.ReusableConstraint.op_Implicit(NUnit.Framework.Constraints.Constraint)~NUnit.Framework.Constraints.ReusableConstraint"> + <summary> + Converts a constraint to a ReusableConstraint + </summary> + <param name="c">The constraint to be converted</param> + <returns>A ReusableConstraint</returns> + </member> + <member name="M:NUnit.Framework.Constraints.ReusableConstraint.ToString"> + <summary> + Returns a <see cref="T:System.String"/> that represents this instance. + </summary> + <returns> + A <see cref="T:System.String"/> that represents this instance. + </returns> + </member> + <member name="M:NUnit.Framework.Constraints.ReusableConstraint.Resolve"> + <summary> + Return the top-level constraint for this expression + </summary> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Constraints.SameAsConstraint"> + <summary> + SameAsConstraint tests whether an object is identical to + the object passed to its constructor + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.SameAsConstraint.#ctor(System.Object)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.SameAsConstraint"/> class. + </summary> + <param name="expected">The expected object.</param> + </member> + <member name="P:NUnit.Framework.Constraints.SameAsConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.SameAsConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="T:NUnit.Framework.Constraints.SamePathConstraint"> + <summary> + Summary description for SamePathConstraint. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.SamePathConstraint.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.SamePathConstraint"/> class. + </summary> + <param name="expected">The expected path</param> + </member> + <member name="P:NUnit.Framework.Constraints.SamePathConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.SamePathConstraint.Matches(System.String)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="T:NUnit.Framework.Constraints.SamePathOrUnderConstraint"> + <summary> + SamePathOrUnderConstraint tests that one path is under another + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.SamePathOrUnderConstraint.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.SamePathOrUnderConstraint"/> class. + </summary> + <param name="expected">The expected path</param> + </member> + <member name="P:NUnit.Framework.Constraints.SamePathOrUnderConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.SamePathOrUnderConstraint.Matches(System.String)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="T:NUnit.Framework.Constraints.SomeItemsConstraint"> + <summary> + SomeItemsConstraint applies another constraint to each + item in a collection, succeeding if any of them succeeds. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.SomeItemsConstraint.#ctor(NUnit.Framework.Constraints.IConstraint)"> + <summary> + Construct a SomeItemsConstraint on top of an existing constraint + </summary> + <param name="itemConstraint"></param> + </member> + <member name="P:NUnit.Framework.Constraints.SomeItemsConstraint.DisplayName"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.SomeItemsConstraint.ApplyTo``1(``0)"> + <summary> + Apply the item constraint to each item in the collection, + succeeding if any item succeeds. + </summary> + <param name="actual"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Constraints.SomeItemsConstraint.Using``2(System.Func{``0,``1,System.Boolean})"> + <summary> + Flag the constraint to use the supplied <see cref="T:System.Func`3"/> object. + </summary> + <typeparam name="TCollectionType">The type of the elements in the collection.</typeparam> + <typeparam name="TMemberType">The type of the member.</typeparam> + <param name="comparison">The comparison function to use.</param> + <returns>Self.</returns> + </member> + <member name="M:NUnit.Framework.Constraints.SomeItemsConstraint.Using(System.Collections.IComparer)"> + <summary> + Flag the constraint to use the supplied <see cref="T:System.Collections.IComparer"/> object. + </summary> + <param name="comparer">The IComparer object to use.</param> + <returns>Self.</returns> + </member> + <member name="M:NUnit.Framework.Constraints.SomeItemsConstraint.Using``1(System.Collections.Generic.IComparer{``0})"> + <summary> + Flag the constraint to use the supplied <see cref="T:System.Collections.Generic.IComparer`1"/> object. + </summary> + <param name="comparer">The IComparer object to use.</param> + <returns>Self.</returns> + </member> + <member name="M:NUnit.Framework.Constraints.SomeItemsConstraint.Using``1(System.Comparison{``0})"> + <summary> + Flag the constraint to use the supplied <see cref="T:System.Comparison`1"/> object. + </summary> + <param name="comparer">The IComparer object to use.</param> + <returns>Self.</returns> + </member> + <member name="M:NUnit.Framework.Constraints.SomeItemsConstraint.Using(System.Collections.IEqualityComparer)"> + <summary> + Flag the constraint to use the supplied <see cref="T:System.Collections.IEqualityComparer"/> object. + </summary> + <param name="comparer">The IComparer object to use.</param> + <returns>Self.</returns> + </member> + <member name="M:NUnit.Framework.Constraints.SomeItemsConstraint.Using``1(System.Collections.Generic.IEqualityComparer{``0})"> + <summary> + Flag the constraint to use the supplied <see cref="T:System.Collections.Generic.IEqualityComparer`1"/> object. + </summary> + <param name="comparer">The IComparer object to use.</param> + <returns>Self.</returns> + </member> + <member name="T:NUnit.Framework.Constraints.StartsWithConstraint"> + <summary> + StartsWithConstraint can test whether a string starts + with an expected substring. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.StartsWithConstraint.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.StartsWithConstraint"/> class. + </summary> + <param name="expected">The expected string</param> + </member> + <member name="M:NUnit.Framework.Constraints.StartsWithConstraint.Matches(System.String)"> + <summary> + Test whether the constraint is matched by the actual value. + This is a template method, which calls the IsMatch method + of the derived class. + </summary> + <param name="actual"></param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Constraints.StringConstraint"> + <summary> + StringConstraint is the abstract base for constraints + that operate on strings. It supports the IgnoreCase + modifier for string operations. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.StringConstraint.expected"> + <summary> + The expected value + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.StringConstraint.caseInsensitive"> + <summary> + Indicates whether tests should be case-insensitive + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.StringConstraint.descriptionText"> + <summary> + Description of this constraint + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.StringConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.StringConstraint.#ctor"> + <summary> + Constructs a StringConstraint without an expected value + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.StringConstraint.#ctor(System.String)"> + <summary> + Constructs a StringConstraint given an expected value + </summary> + <param name="expected">The expected value</param> + </member> + <member name="P:NUnit.Framework.Constraints.StringConstraint.IgnoreCase"> + <summary> + Modify the constraint to ignore case in matching. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.StringConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="M:NUnit.Framework.Constraints.StringConstraint.Matches(System.String)"> + <summary> + Test whether the constraint is satisfied by a given string + </summary> + <param name="actual">The string to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="T:NUnit.Framework.Constraints.SubPathConstraint"> + <summary> + SubPathConstraint tests that the actual path is under the expected path + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.SubPathConstraint.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.SubPathConstraint"/> class. + </summary> + <param name="expected">The expected path</param> + </member> + <member name="P:NUnit.Framework.Constraints.SubPathConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.SubPathConstraint.Matches(System.String)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="T:NUnit.Framework.Constraints.SubstringConstraint"> + <summary> + SubstringConstraint can test whether a string contains + the expected substring. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.SubstringConstraint.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.SubstringConstraint"/> class. + </summary> + <param name="expected">The expected.</param> + </member> + <member name="P:NUnit.Framework.Constraints.SubstringConstraint.IgnoreCase"> + <summary> + Modify the constraint to ignore case in matching. + This will call Using(StringComparison.CurrentCultureIgnoreCase). + </summary> + <exception cref="T:System.InvalidOperationException">Thrown when a comparison type different + than <see cref="F:System.StringComparison.CurrentCultureIgnoreCase"/> was already set.</exception> + </member> + <member name="M:NUnit.Framework.Constraints.SubstringConstraint.Matches(System.String)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="M:NUnit.Framework.Constraints.SubstringConstraint.Using(System.StringComparison)"> + <summary> + Modify the constraint to the specified comparison. + </summary> + <exception cref="T:System.InvalidOperationException">Thrown when a comparison type different + than <paramref name="comparisonType"/> was already set.</exception> + </member> + <member name="T:NUnit.Framework.Constraints.ThrowsConstraint"> + <summary> + ThrowsConstraint is used to test the exception thrown by + a delegate by applying a constraint to it. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ThrowsConstraint.#ctor(NUnit.Framework.Constraints.IConstraint)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.ThrowsConstraint"/> class, + using a constraint to be applied to the exception. + </summary> + <param name="baseConstraint">A constraint to apply to the caught exception.</param> + </member> + <member name="P:NUnit.Framework.Constraints.ThrowsConstraint.ActualException"> + <summary> + Get the actual exception thrown - used by Assert.Throws. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ThrowsConstraint.Description"> + <summary> + Gets text describing a constraint + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ThrowsConstraint.ApplyTo``1(``0)"> + <summary> + 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. + </summary> + <param name="actual">A delegate representing the code to be tested</param> + <returns>True if an exception is thrown and the constraint succeeds, otherwise false</returns> + </member> + <member name="M:NUnit.Framework.Constraints.ThrowsConstraint.ApplyTo``1(NUnit.Framework.Constraints.ActualValueDelegate{``0})"> + <summary> + Converts an ActualValueDelegate to a TestDelegate + before calling the primary overload. + </summary> + <param name="del"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Constraints.ThrowsConstraint.ThrowsConstraintResult.WriteActualValueTo(NUnit.Framework.Constraints.MessageWriter)"> + <summary> + 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. + </summary> + <param name="writer">The writer on which the actual value is displayed</param> + </member> + <member name="T:NUnit.Framework.Constraints.ThrowsExceptionConstraint"> + <summary> + ThrowsExceptionConstraint tests that an exception has + been thrown, without any further tests. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ThrowsExceptionConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ThrowsExceptionConstraint.ApplyTo``1(``0)"> + <summary> + Executes the code and returns success if an exception is thrown. + </summary> + <param name="actual">A delegate representing the code to be tested</param> + <returns>True if an exception is thrown, otherwise false</returns> + </member> + <member name="M:NUnit.Framework.Constraints.ThrowsExceptionConstraint.ApplyTo``1(NUnit.Framework.Constraints.ActualValueDelegate{``0})"> + <summary> + 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. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.ThrowsNothingConstraint"> + <summary> + ThrowsNothingConstraint tests that a delegate does not + throw an exception. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.ThrowsNothingConstraint.Description"> + <summary> + Gets text describing a constraint + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.ThrowsNothingConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True if no exception is thrown, otherwise false</returns> + </member> + <member name="M:NUnit.Framework.Constraints.ThrowsNothingConstraint.ApplyTo``1(NUnit.Framework.Constraints.ActualValueDelegate{``0})"> + <summary> + 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. + </summary> + <param name="del">An ActualValueDelegate</param> + <returns>A ConstraintResult</returns> + </member> + <member name="T:NUnit.Framework.Constraints.Tolerance"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Tolerance.Default"> + <summary> + Returns a default Tolerance object, equivalent to an exact match. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Tolerance.Exact"> + <summary> + Returns an empty Tolerance object, equivalent to an exact match. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.Tolerance.#ctor(System.Object)"> + <summary> + Constructs a linear tolerance of a specified amount + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.Tolerance.#ctor(System.Object,NUnit.Framework.Constraints.ToleranceMode)"> + <summary> + Constructs a tolerance given an amount and <see cref="T:NUnit.Framework.Constraints.ToleranceMode"/> + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Tolerance.Percent"> + <summary> + Returns a new tolerance, using the current amount as a percentage. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Tolerance.Ulps"> + <summary> + Returns a new tolerance, using the current amount in Ulps + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Tolerance.Days"> + <summary> + Returns a new tolerance with a <see cref="T:System.TimeSpan"/> as the amount, using + the current amount as a number of days. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Tolerance.Hours"> + <summary> + Returns a new tolerance with a <see cref="T:System.TimeSpan"/> as the amount, using + the current amount as a number of hours. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Tolerance.Minutes"> + <summary> + Returns a new tolerance with a <see cref="T:System.TimeSpan"/> as the amount, using + the current amount as a number of minutes. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Tolerance.Seconds"> + <summary> + Returns a new tolerance with a <see cref="T:System.TimeSpan"/> as the amount, using + the current amount as a number of seconds. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Tolerance.Milliseconds"> + <summary> + Returns a new tolerance with a <see cref="T:System.TimeSpan"/> as the amount, using + the current amount as a number of milliseconds. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Tolerance.Ticks"> + <summary> + Returns a new tolerance with a <see cref="T:System.TimeSpan"/> as the amount, using + the current amount as a number of clock ticks. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Tolerance.Mode"> + <summary> + Gets the <see cref="T:NUnit.Framework.Constraints.ToleranceMode"/> for the current Tolerance + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Tolerance.Amount"> + <summary> + Gets the magnitude of the current Tolerance instance. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.Tolerance.IsUnsetOrDefault"> + <summary> + Returns true if the current tolerance has not been set or is using the . + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.Tolerance.ApplyToValue(System.Object)"> + <summary> + Apply the tolerance to an expected value and return + a Tolerance.Range that represents the acceptable values. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.Tolerance.CheckLinearAndNumeric"> + <summary> + Tests that the current Tolerance is linear with a + numeric value, throwing an exception if it is not. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.Tolerance.Range"> + <summary> + Tolerance.Range represents the range of values that match + a specific tolerance, when applied to a specific value. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.Tolerance.Range.LowerBound"> + <summary> + The lower bound of the range + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.Tolerance.Range.UpperBound"> + <summary> + The upper bound of the range + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.Tolerance.Range.#ctor(System.Object,System.Object)"> + <summary> + Constructs a range + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.ToleranceMode"> + <summary> + Modes in which the tolerance value for a comparison can be interpreted. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.ToleranceMode.Unset"> + <summary> + 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. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.ToleranceMode.Linear"> + <summary> + The tolerance is used as a numeric range within which + two compared values are considered to be equal. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.ToleranceMode.Percent"> + <summary> + Interprets the tolerance as the percentage by which + the two compared values my deviate from each other. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.ToleranceMode.Ulps"> + <summary> + Compares two values based in their distance in + representable numbers. + </summary> + </member> + <member name="T:NUnit.Framework.Constraints.TrueConstraint"> + <summary> + TrueConstraint tests that the actual value is true + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.TrueConstraint.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Constraints.TrueConstraint"/> class. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.TrueConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="T:NUnit.Framework.Constraints.TypeConstraint"> + <summary> + TypeConstraint is the abstract base for constraints + that take a Type as their expected value. + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.TypeConstraint.expectedType"> + <summary> + The expected Type used by the constraint + </summary> + </member> + <member name="F:NUnit.Framework.Constraints.TypeConstraint.actualType"> + <summary> + The type of the actual argument to which the constraint was applied + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.TypeConstraint.#ctor(System.Type,System.String)"> + <summary> + Construct a TypeConstraint for a given Type + </summary> + <param name="type">The expected type for the constraint</param> + <param name="descriptionPrefix">Prefix used in forming the constraint description</param> + </member> + <member name="M:NUnit.Framework.Constraints.TypeConstraint.ApplyTo``1(``0)"> + <summary> + Applies the constraint to an actual value, returning a ConstraintResult. + </summary> + <param name="actual">The value to be tested</param> + <returns>A ConstraintResult</returns> + </member> + <member name="M:NUnit.Framework.Constraints.TypeConstraint.Matches(System.Object)"> + <summary> + Apply the constraint to an actual value, returning true if it succeeds + </summary> + <param name="actual">The actual argument</param> + <returns>True if the constraint succeeds, otherwise false.</returns> + </member> + <member name="T:NUnit.Framework.Constraints.UniqueItemsConstraint"> + <summary> + UniqueItemsConstraint tests whether all the items in a + collection are unique. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.UniqueItemsConstraint.Description"> + <summary> + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.UniqueItemsConstraint.Matches(System.Collections.IEnumerable)"> + <summary> + Check that all items are unique. + </summary> + <param name="actual"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Constraints.UniqueItemsConstraint.ApplyTo``1(``0)"> + <inheritdoc /> + </member> + <member name="T:NUnit.Framework.Constraints.XmlSerializableConstraint"> + <summary> + XmlSerializableConstraint tests whether + an object is serializable in XML format. + </summary> + </member> + <member name="P:NUnit.Framework.Constraints.XmlSerializableConstraint.Description"> + <summary> + Gets text describing a constraint + </summary> + </member> + <member name="M:NUnit.Framework.Constraints.XmlSerializableConstraint.ApplyTo``1(``0)"> + <summary> + Test whether the constraint is satisfied by a given value + </summary> + <param name="actual">The value to be tested</param> + <returns>True for success, false for failure</returns> + </member> + <member name="M:NUnit.Framework.Constraints.XmlSerializableConstraint.GetStringRepresentation"> + <summary> + Returns the string representation of this constraint + </summary> + </member> + <member name="T:NUnit.Framework.Contains"> + <summary> + Helper class with properties and methods that supply + a number of constraints used in Asserts. + </summary> + </member> + <member name="M:NUnit.Framework.Contains.Item(System.Object)"> + <summary> + Returns a new <see cref="T:NUnit.Framework.Constraints.SomeItemsConstraint"/> checking for the + presence of a particular object in the collection. + </summary> + </member> + <member name="M:NUnit.Framework.Contains.Key(System.Object)"> + <summary> + Returns a new DictionaryContainsKeyConstraint checking for the + presence of a particular key in the dictionary. + </summary> + </member> + <member name="M:NUnit.Framework.Contains.Value(System.Object)"> + <summary> + Returns a new DictionaryContainsValueConstraint checking for the + presence of a particular value in the dictionary. + </summary> + </member> + <member name="M:NUnit.Framework.Contains.Substring(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + </summary> + </member> + <member name="T:NUnit.Framework.DirectoryAssert"> + <summary> + Asserts on Directories + </summary> + </member> + <member name="M:NUnit.Framework.DirectoryAssert.Equals(System.Object,System.Object)"> + <summary> + 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. + </summary> + <param name="a"></param> + <param name="b"></param> + </member> + <member name="M:NUnit.Framework.DirectoryAssert.ReferenceEquals(System.Object,System.Object)"> + <summary> + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + </summary> + <param name="a"></param> + <param name="b"></param> + </member> + <member name="M:NUnit.Framework.DirectoryAssert.AreEqual(System.IO.DirectoryInfo,System.IO.DirectoryInfo,System.String,System.Object[])"> + <summary> + 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 <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="expected">A directory containing the value that is expected</param> + <param name="actual">A directory containing the actual value</param> + <param name="message">The message to display if the directories are not equal</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.DirectoryAssert.AreEqual(System.IO.DirectoryInfo,System.IO.DirectoryInfo)"> + <summary> + 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 <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="expected">A directory containing the value that is expected</param> + <param name="actual">A directory containing the actual value</param> + </member> + <member name="M:NUnit.Framework.DirectoryAssert.AreNotEqual(System.IO.DirectoryInfo,System.IO.DirectoryInfo,System.String,System.Object[])"> + <summary> + Asserts that two directories are not equal. If they are equal + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="expected">A directory containing the value that is expected</param> + <param name="actual">A directory containing the actual value</param> + <param name="message">The message to display if directories are not equal</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.DirectoryAssert.AreNotEqual(System.IO.DirectoryInfo,System.IO.DirectoryInfo)"> + <summary> + Asserts that two directories are not equal. If they are equal + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="expected">A directory containing the value that is expected</param> + <param name="actual">A directory containing the actual value</param> + </member> + <member name="M:NUnit.Framework.DirectoryAssert.Exists(System.IO.DirectoryInfo,System.String,System.Object[])"> + <summary> + Asserts that the directory exists. If it does not exist + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="actual">A directory containing the actual value</param> + <param name="message">The message to display if directories are not equal</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.DirectoryAssert.Exists(System.IO.DirectoryInfo)"> + <summary> + Asserts that the directory exists. If it does not exist + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="actual">A directory containing the actual value</param> + </member> + <member name="M:NUnit.Framework.DirectoryAssert.Exists(System.String,System.String,System.Object[])"> + <summary> + Asserts that the directory exists. If it does not exist + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="actual">The path to a directory containing the actual value</param> + <param name="message">The message to display if directories are not equal</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.DirectoryAssert.Exists(System.String)"> + <summary> + Asserts that the directory exists. If it does not exist + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="actual">The path to a directory containing the actual value</param> + </member> + <member name="M:NUnit.Framework.DirectoryAssert.DoesNotExist(System.IO.DirectoryInfo,System.String,System.Object[])"> + <summary> + Asserts that the directory does not exist. If it does exist + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="actual">A directory containing the actual value</param> + <param name="message">The message to display if directories are not equal</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.DirectoryAssert.DoesNotExist(System.IO.DirectoryInfo)"> + <summary> + Asserts that the directory does not exist. If it does exist + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="actual">A directory containing the actual value</param> + </member> + <member name="M:NUnit.Framework.DirectoryAssert.DoesNotExist(System.String,System.String,System.Object[])"> + <summary> + Asserts that the directory does not exist. If it does exist + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="actual">The path to a directory containing the actual value</param> + <param name="message">The message to display if directories are not equal</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.DirectoryAssert.DoesNotExist(System.String)"> + <summary> + Asserts that the directory does not exist. If it does exist + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="actual">The path to a directory containing the actual value</param> + </member> + <member name="T:NUnit.Framework.Does"> + <summary> + Helper class with properties and methods that supply + a number of constraints used in Asserts. + </summary> + </member> + <member name="P:NUnit.Framework.Does.Not"> + <summary> + Returns a ConstraintExpression that negates any + following constraint. + </summary> + </member> + <member name="P:NUnit.Framework.Does.Exist"> + <summary> + Returns a constraint that succeeds if the value + is a file or directory and it exists. + </summary> + </member> + <member name="M:NUnit.Framework.Does.Contain(System.Object)"> + <summary> + Returns a new <see cref="T:NUnit.Framework.Constraints.SomeItemsConstraint"/> checking for the + presence of a particular object in the collection. + </summary> + </member> + <member name="M:NUnit.Framework.Does.Contain(System.String)"> + <summary> + Returns a new <see cref="T:NUnit.Framework.Constraints.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. + </summary> + </member> + <member name="M:NUnit.Framework.Does.ContainKey(System.Object)"> + <summary> + Returns a new DictionaryContainsKeyConstraint checking for the + presence of a particular key in the Dictionary key collection. + </summary> + <param name="expected">The key to be matched in the Dictionary key collection</param> + </member> + <member name="M:NUnit.Framework.Does.ContainValue(System.Object)"> + <summary> + Returns a new DictionaryContainsValueConstraint checking for the + presence of a particular value in the Dictionary value collection. + </summary> + <param name="expected">The value to be matched in the Dictionary value collection</param> + </member> + <member name="M:NUnit.Framework.Does.StartWith(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Does.EndWith(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Does.Match(System.String)"> + <summary> + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Does.Match(System.Text.RegularExpressions.Regex)"> + <summary> + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.ExceptionExtensions.GetStackTraceWithoutThrowing(System.Exception)"> + <summary> + If <see cref="P:System.Exception.StackTrace"/> throws, returns "SomeException was thrown by the Exception.StackTrace + property." See also <see cref="M:NUnit.Framework.Assert.GetEnvironmentStackTraceWithoutThrowing"/>. + </summary> + </member> + <member name="M:NUnit.Framework.ExceptionExtensions.GetMessageWithoutThrowing(System.Exception)"> + <summary> + If <see cref="P:System.Exception.Message"/> throws, returns "SomeException was thrown by the Exception.Message + property." + </summary> + </member> + <member name="M:NUnit.Framework.ExceptionExtensions.GetDataWithoutThrowing(System.Exception)"> + <summary> + If <see cref="P:System.Exception.Data"/> throws, returns "SomeException was thrown by the Exception.Data property." + </summary> + </member> + <member name="T:NUnit.Framework.AssertionException"> + <summary> + Thrown when an assertion failed. + </summary> + </member> + <member name="M:NUnit.Framework.AssertionException.#ctor(System.String)"> + <param name="message">The error message that explains + the reason for the exception</param> + </member> + <member name="M:NUnit.Framework.AssertionException.#ctor(System.String,System.Exception)"> + <param name="message">The error message that explains + the reason for the exception</param> + <param name="inner">The exception that caused the + current exception</param> + </member> + <member name="M:NUnit.Framework.AssertionException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)"> + <summary> + Serialization Constructor + </summary> + </member> + <member name="P:NUnit.Framework.AssertionException.ResultState"> + <summary> + Gets the ResultState provided by this exception + </summary> + </member> + <member name="T:NUnit.Framework.IgnoreException"> + <summary> + Thrown when an assertion failed. + </summary> + </member> + <member name="M:NUnit.Framework.IgnoreException.#ctor(System.String)"> + <param name="message"></param> + </member> + <member name="M:NUnit.Framework.IgnoreException.#ctor(System.String,System.Exception)"> + <param name="message">The error message that explains + the reason for the exception</param> + <param name="inner">The exception that caused the + current exception</param> + </member> + <member name="M:NUnit.Framework.IgnoreException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)"> + <summary> + Serialization Constructor + </summary> + </member> + <member name="P:NUnit.Framework.IgnoreException.ResultState"> + <summary> + Gets the ResultState provided by this exception + </summary> + </member> + <member name="T:NUnit.Framework.InconclusiveException"> + <summary> + Thrown when a test executes inconclusively. + </summary> + </member> + <member name="M:NUnit.Framework.InconclusiveException.#ctor(System.String)"> + <param name="message">The error message that explains + the reason for the exception</param> + </member> + <member name="M:NUnit.Framework.InconclusiveException.#ctor(System.String,System.Exception)"> + <param name="message">The error message that explains + the reason for the exception</param> + <param name="inner">The exception that caused the + current exception</param> + </member> + <member name="M:NUnit.Framework.InconclusiveException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)"> + <summary> + Serialization Constructor + </summary> + </member> + <member name="P:NUnit.Framework.InconclusiveException.ResultState"> + <summary> + Gets the ResultState provided by this exception + </summary> + </member> + <member name="T:NUnit.Framework.MultipleAssertException"> + <summary> + Thrown when an assertion failed. + </summary> + </member> + <member name="M:NUnit.Framework.MultipleAssertException.#ctor(NUnit.Framework.Interfaces.ITestResult)"> + <summary> + 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. + </summary> + <param name="testResult"> + The current result, up to this point. The result is not used + internally by NUnit but is provided to facilitate debugging. + </param> + </member> + <member name="M:NUnit.Framework.MultipleAssertException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)"> + <summary> + Serialization Constructor + </summary> + </member> + <member name="P:NUnit.Framework.MultipleAssertException.ResultState"> + <summary> + Gets the <see cref="P:NUnit.Framework.MultipleAssertException.ResultState"/> provided by this exception. + </summary> + </member> + <member name="P:NUnit.Framework.MultipleAssertException.TestResult"> + <summary> + Gets the <see cref="T:NUnit.Framework.Interfaces.ITestResult"/> of this test at the point the exception was thrown, + </summary> + </member> + <member name="T:NUnit.Framework.ResultStateException"> + <summary> + Abstract base for Exceptions that terminate a test and provide a ResultState. + </summary> + </member> + <member name="M:NUnit.Framework.ResultStateException.#ctor(System.String)"> + <param name="message">The error message that explains + the reason for the exception</param> + </member> + <member name="M:NUnit.Framework.ResultStateException.#ctor(System.String,System.Exception)"> + <param name="message">The error message that explains + the reason for the exception</param> + <param name="inner">The exception that caused the + current exception</param> + </member> + <member name="M:NUnit.Framework.ResultStateException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)"> + <summary> + Serialization Constructor + </summary> + </member> + <member name="P:NUnit.Framework.ResultStateException.ResultState"> + <summary> + Gets the ResultState provided by this exception + </summary> + </member> + <member name="T:NUnit.Framework.SuccessException"> + <summary> + Thrown when an assertion failed. + </summary> + </member> + <member name="M:NUnit.Framework.SuccessException.#ctor(System.String)"> + <param name="message"></param> + </member> + <member name="M:NUnit.Framework.SuccessException.#ctor(System.String,System.Exception)"> + <param name="message">The error message that explains + the reason for the exception</param> + <param name="inner">The exception that caused the + current exception</param> + </member> + <member name="M:NUnit.Framework.SuccessException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)"> + <summary> + Serialization Constructor + </summary> + </member> + <member name="P:NUnit.Framework.SuccessException.ResultState"> + <summary> + Gets the ResultState provided by this exception + </summary> + </member> + <member name="T:NUnit.Framework.Extensions"> + <summary> + Contains extension methods that do not require a special <c>using</c> directive. + </summary> + </member> + <member name="T:NUnit.Framework.FileAssert"> + <summary> + Asserts on Files + </summary> + </member> + <member name="M:NUnit.Framework.FileAssert.Equals(System.Object,System.Object)"> + <summary> + 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. + </summary> + <param name="a"></param> + <param name="b"></param> + </member> + <member name="M:NUnit.Framework.FileAssert.ReferenceEquals(System.Object,System.Object)"> + <summary> + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + </summary> + <param name="a"></param> + <param name="b"></param> + </member> + <member name="M:NUnit.Framework.FileAssert.AreEqual(System.IO.Stream,System.IO.Stream,System.String,System.Object[])"> + <summary> + 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 <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="expected">The expected Stream</param> + <param name="actual">The actual Stream</param> + <param name="message">The message to display if Streams are not equal</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.FileAssert.AreEqual(System.IO.Stream,System.IO.Stream)"> + <summary> + 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 <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="expected">The expected Stream</param> + <param name="actual">The actual Stream</param> + </member> + <member name="M:NUnit.Framework.FileAssert.AreEqual(System.IO.FileInfo,System.IO.FileInfo,System.String,System.Object[])"> + <summary> + 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 <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="expected">A file containing the value that is expected</param> + <param name="actual">A file containing the actual value</param> + <param name="message">The message to display if Streams are not equal</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.FileAssert.AreEqual(System.IO.FileInfo,System.IO.FileInfo)"> + <summary> + 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 <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="expected">A file containing the value that is expected</param> + <param name="actual">A file containing the actual value</param> + </member> + <member name="M:NUnit.Framework.FileAssert.AreEqual(System.String,System.String,System.String,System.Object[])"> + <summary> + 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 <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="expected">The path to a file containing the value that is expected</param> + <param name="actual">The path to a file containing the actual value</param> + <param name="message">The message to display if Streams are not equal</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.FileAssert.AreEqual(System.String,System.String)"> + <summary> + 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 <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="expected">The path to a file containing the value that is expected</param> + <param name="actual">The path to a file containing the actual value</param> + </member> + <member name="M:NUnit.Framework.FileAssert.AreNotEqual(System.IO.Stream,System.IO.Stream,System.String,System.Object[])"> + <summary> + Asserts that two Streams are not equal. If they are equal + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="expected">The expected Stream</param> + <param name="actual">The actual Stream</param> + <param name="message">The message to be displayed when the two Stream are the same.</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.FileAssert.AreNotEqual(System.IO.Stream,System.IO.Stream)"> + <summary> + Asserts that two Streams are not equal. If they are equal + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="expected">The expected Stream</param> + <param name="actual">The actual Stream</param> + </member> + <member name="M:NUnit.Framework.FileAssert.AreNotEqual(System.IO.FileInfo,System.IO.FileInfo,System.String,System.Object[])"> + <summary> + Asserts that two files are not equal. If they are equal + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="expected">A file containing the value that is expected</param> + <param name="actual">A file containing the actual value</param> + <param name="message">The message to display if Streams are not equal</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.FileAssert.AreNotEqual(System.IO.FileInfo,System.IO.FileInfo)"> + <summary> + Asserts that two files are not equal. If they are equal + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="expected">A file containing the value that is expected</param> + <param name="actual">A file containing the actual value</param> + </member> + <member name="M:NUnit.Framework.FileAssert.AreNotEqual(System.String,System.String,System.String,System.Object[])"> + <summary> + Asserts that two files are not equal. If they are equal + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="expected">The path to a file containing the value that is expected</param> + <param name="actual">The path to a file containing the actual value</param> + <param name="message">The message to display if Streams are not equal</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.FileAssert.AreNotEqual(System.String,System.String)"> + <summary> + Asserts that two files are not equal. If they are equal + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="expected">The path to a file containing the value that is expected</param> + <param name="actual">The path to a file containing the actual value</param> + </member> + <member name="M:NUnit.Framework.FileAssert.Exists(System.IO.FileInfo,System.String,System.Object[])"> + <summary> + Asserts that the file exists. If it does not exist + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="actual">A file containing the actual value</param> + <param name="message">The message to display if Streams are not equal</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.FileAssert.Exists(System.IO.FileInfo)"> + <summary> + Asserts that the file exists. If it does not exist + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="actual">A file containing the actual value</param> + </member> + <member name="M:NUnit.Framework.FileAssert.Exists(System.String,System.String,System.Object[])"> + <summary> + Asserts that the file exists. If it does not exist + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="actual">The path to a file containing the actual value</param> + <param name="message">The message to display if Streams are not equal</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.FileAssert.Exists(System.String)"> + <summary> + Asserts that the file exists. If it does not exist + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="actual">The path to a file containing the actual value</param> + </member> + <member name="M:NUnit.Framework.FileAssert.DoesNotExist(System.IO.FileInfo,System.String,System.Object[])"> + <summary> + Asserts that the file does not exist. If it does exist + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="actual">A file containing the actual value</param> + <param name="message">The message to display if Streams are not equal</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.FileAssert.DoesNotExist(System.IO.FileInfo)"> + <summary> + Asserts that the file does not exist. If it does exist + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="actual">A file containing the actual value</param> + </member> + <member name="M:NUnit.Framework.FileAssert.DoesNotExist(System.String,System.String,System.Object[])"> + <summary> + Asserts that the file does not exist. If it does exist + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="actual">The path to a file containing the actual value</param> + <param name="message">The message to display if Streams are not equal</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.FileAssert.DoesNotExist(System.String)"> + <summary> + Asserts that the file does not exist. If it does exist + an <see cref="T:NUnit.Framework.AssertionException"/> is thrown. + </summary> + <param name="actual">The path to a file containing the actual value</param> + </member> + <member name="T:NUnit.Framework.Guard"> + <summary> + Class used to guard against unexpected argument values + or operations by throwing an appropriate exception. + </summary> + </member> + <member name="M:NUnit.Framework.Guard.ArgumentNotNull(System.Object,System.String)"> + <summary> + Throws an exception if an argument is null + </summary> + <param name="value">The value to be tested</param> + <param name="name">The name of the argument</param> + </member> + <member name="M:NUnit.Framework.Guard.ArgumentNotNullOrEmpty(System.String,System.String)"> + <summary> + Throws an exception if a string argument is null or empty + </summary> + <param name="value">The value to be tested</param> + <param name="name">The name of the argument</param> + </member> + <member name="M:NUnit.Framework.Guard.ArgumentInRange(System.Boolean,System.String,System.String)"> + <summary> + Throws an ArgumentOutOfRangeException if the specified condition is not met. + </summary> + <param name="condition">The condition that must be met</param> + <param name="message">The exception message to be used</param> + <param name="paramName">The name of the argument</param> + </member> + <member name="M:NUnit.Framework.Guard.ArgumentValid(System.Boolean,System.String,System.String)"> + <summary> + Throws an ArgumentException if the specified condition is not met. + </summary> + <param name="condition">The condition that must be met</param> + <param name="message">The exception message to be used</param> + <param name="paramName">The name of the argument</param> + </member> + <member name="M:NUnit.Framework.Guard.OperationValid(System.Boolean,System.String)"> + <summary> + Throws an InvalidOperationException if the specified condition is not met. + </summary> + <param name="condition">The condition that must be met</param> + <param name="message">The exception message to be used</param> + </member> + <member name="M:NUnit.Framework.Guard.ArgumentNotAsyncVoid(System.Delegate,System.String)"> + <summary> + Throws an <see cref="T:System.ArgumentException"/> if the specified delegate is <c>async void</c>. + </summary> + </member> + <member name="M:NUnit.Framework.Guard.ArgumentNotAsyncVoid(System.Reflection.MethodInfo,System.String)"> + <summary> + Throws an <see cref="T:System.ArgumentException"/> if the specified delegate is <c>async void</c>. + </summary> + </member> + <member name="T:NUnit.Framework.Has"> + <summary> + Helper class with properties and methods that supply + a number of constraints used in Asserts. + </summary> + </member> + <member name="P:NUnit.Framework.Has.No"> + <summary> + Returns a ConstraintExpression that negates any + following constraint. + </summary> + </member> + <member name="P:NUnit.Framework.Has.All"> + <summary> + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + </summary> + </member> + <member name="P:NUnit.Framework.Has.Some"> + <summary> + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if at least one of them succeeds. + </summary> + </member> + <member name="P:NUnit.Framework.Has.None"> + <summary> + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them fail. + </summary> + </member> + <member name="M:NUnit.Framework.Has.Exactly(System.Int32)"> + <summary> + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding only if a specified number of them succeed. + </summary> + </member> + <member name="P:NUnit.Framework.Has.One"> + <summary> + Returns a <see cref="T:NUnit.Framework.Constraints.ItemsConstraintExpression"/> which will apply + the following constraint to only one member of the collection, + and fail if none or more than one match occurs. + </summary> + </member> + <member name="M:NUnit.Framework.Has.Property(System.String)"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Has.Length"> + <summary> + Returns a new ConstraintExpression, which will apply the following + constraint to the Length property of the object being tested. + </summary> + </member> + <member name="P:NUnit.Framework.Has.Count"> + <summary> + Returns a new ConstraintExpression, which will apply the following + constraint to the Count property of the object being tested. + </summary> + </member> + <member name="P:NUnit.Framework.Has.Message"> + <summary> + Returns a new ConstraintExpression, which will apply the following + constraint to the Message property of the object being tested. + </summary> + </member> + <member name="P:NUnit.Framework.Has.InnerException"> + <summary> + Returns a new ConstraintExpression, which will apply the following + constraint to the InnerException property of the object being tested. + </summary> + </member> + <member name="M:NUnit.Framework.Has.Attribute(System.Type)"> + <summary> + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + </summary> + </member> + <member name="M:NUnit.Framework.Has.Attribute``1"> + <summary> + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + </summary> + </member> + <member name="M:NUnit.Framework.Has.Member(System.Object)"> + <summary> + Returns a new <see cref="T:NUnit.Framework.Constraints.SomeItemsConstraint"/> checking for the + presence of a particular object in the collection. + </summary> + </member> + <member name="M:NUnit.Framework.Has.ItemAt(System.Object[])"> + <summary> + Returns a new IndexerConstraintExpression, which will + apply any following constraint to that indexer value. + </summary> + <param name="indexArgs">Index accessor values.</param> + </member> + <member name="T:NUnit.Framework.Interfaces.AssertionResult"> + <summary> + The AssertionResult class represents the result of a single assertion. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.AssertionResult.#ctor(NUnit.Framework.Interfaces.AssertionStatus,System.String,System.String)"> + <summary> + Construct an AssertionResult + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.AssertionResult.Status"> + <summary> The pass/fail status of the assertion</summary> + </member> + <member name="P:NUnit.Framework.Interfaces.AssertionResult.Message"> + <summary>The message produced by the assertion, or null</summary> + </member> + <member name="P:NUnit.Framework.Interfaces.AssertionResult.StackTrace"> + <summary>The stack trace associated with the assertion, or null</summary> + </member> + <member name="M:NUnit.Framework.Interfaces.AssertionResult.Equals(System.Object)"> + <summary>Determines whether the specified object is equal to the current object.</summary> + <param name="obj">The object to compare with the current object.</param> + </member> + <member name="M:NUnit.Framework.Interfaces.AssertionResult.Equals(NUnit.Framework.Interfaces.AssertionResult)"> + <summary>Indicates whether the current object is equal to another object of the same type.</summary> + <param name="other">An object to compare with this object.</param> + </member> + <member name="M:NUnit.Framework.Interfaces.AssertionResult.GetHashCode"> + <summary>Serves as the default hash function.</summary> + </member> + <member name="M:NUnit.Framework.Interfaces.AssertionResult.ToString"> + <summary> + ToString Override + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.AssertionStatus"> + <summary> + 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. + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.AssertionStatus.Inconclusive"> + <summary> + An assumption failed + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.AssertionStatus.Passed"> + <summary> + The assertion succeeded + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.AssertionStatus.Warning"> + <summary> + A warning message was issued + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.AssertionStatus.Failed"> + <summary> + The assertion failed + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.AssertionStatus.Error"> + <summary> + An unexpected exception was thrown + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.IApplyToContext"> + <summary> + The IApplyToContext interface is implemented by attributes + that want to make changes to the execution context before + a test is run. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.IApplyToContext.ApplyToContext(NUnit.Framework.Internal.TestExecutionContext)"> + <summary> + Apply changes to the execution context + </summary> + <param name="context">The execution context</param> + </member> + <member name="T:NUnit.Framework.Interfaces.IApplyToTest"> + <summary> + The IApplyToTest interface is implemented by self-applying + attributes that modify the state of a test in some way. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.IApplyToTest.ApplyToTest(NUnit.Framework.Internal.Test)"> + <summary> + Modifies a test as defined for the specific attribute. + </summary> + <param name="test">The test to modify</param> + </member> + <member name="T:NUnit.Framework.Interfaces.ICombiningStrategy"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ICombiningStrategy.GetTestCases(System.Collections.IEnumerable[])"> + <summary> + Gets the test cases generated by the CombiningStrategy. + </summary> + <returns>The test cases.</returns> + </member> + <member name="T:NUnit.Framework.Interfaces.ICommandWrapper"> + <summary> + ICommandWrapper is implemented by attributes and other + objects able to wrap a TestCommand with another command. + </summary> + <remarks> + 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. + </remarks> + </member> + <member name="M:NUnit.Framework.Interfaces.ICommandWrapper.Wrap(NUnit.Framework.Internal.Commands.TestCommand)"> + <summary> + Wrap a command and return the result. + </summary> + <param name="command">The command to be wrapped</param> + <returns>The wrapped command</returns> + </member> + <member name="T:NUnit.Framework.Interfaces.IWrapTestMethod"> + <summary> + Objects implementing this interface are used to wrap + the TestMethodCommand itself. They apply after SetUp + has been run and before TearDown. + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.IWrapSetUpTearDown"> + <summary> + Objects implementing this interface are used to wrap + the entire test, including SetUp and TearDown. + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.IRepeatTest"> + <summary> + 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. + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.IDisposableFixture"> + <summary> + Any ITest that implements this interface is at a level that the implementing + class should be disposed at the end of the test run + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.IFixtureBuilder"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.IFixtureBuilder.BuildFrom(NUnit.Framework.Interfaces.ITypeInfo)"> + <summary> + Builds any number of test fixtures from the specified type. + </summary> + <param name="typeInfo">The type info of the fixture to be used.</param> + </member> + <member name="T:NUnit.Framework.Interfaces.IFixtureBuilder2"> + <summary> + The IFixtureBuilder2 interface extends IFixtureBuilder by allowing + use of a PreFilter, which is used to select methods as test cases. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.IFixtureBuilder2.BuildFrom(NUnit.Framework.Interfaces.ITypeInfo,NUnit.Framework.Interfaces.IPreFilter)"> + <summary> + Builds any number of test fixtures from the specified type. + </summary> + <param name="typeInfo">The type info of the fixture to be used.</param> + <param name="filter">PreFilter to be used to select methods.</param> + </member> + <member name="T:NUnit.Framework.Interfaces.IImplyFixture"> + <summary> + 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. + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.IMethodInfo"> + <summary> + The IMethodInfo class is used to encapsulate information + about a method in a platform-independent manner. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.IMethodInfo.TypeInfo"> + <summary> + Gets the Type from which this method was reflected. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.IMethodInfo.MethodInfo"> + <summary> + Gets the MethodInfo for this method. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.IMethodInfo.Name"> + <summary> + Gets the name of the method. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.IMethodInfo.IsAbstract"> + <summary> + Gets a value indicating whether the method is abstract. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.IMethodInfo.IsPublic"> + <summary> + Gets a value indicating whether the method is public. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.IMethodInfo.IsStatic"> + <summary> + Gets a value indicating whether the method is static. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.IMethodInfo.ContainsGenericParameters"> + <summary> + Gets a value indicating whether the method contains unassigned generic type parameters. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.IMethodInfo.IsGenericMethod"> + <summary> + Gets a value indicating whether the method is a generic method. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.IMethodInfo.IsGenericMethodDefinition"> + <summary> + Gets a value indicating whether the MethodInfo represents the definition of a generic method. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.IMethodInfo.ReturnType"> + <summary> + Gets the return Type of the method. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.IMethodInfo.GetParameters"> + <summary> + Gets the parameters of the method. + </summary> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Interfaces.IMethodInfo.GetGenericArguments"> + <summary> + Returns the Type arguments of a generic method or the Type parameters of a generic method definition. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.IMethodInfo.MakeGenericMethod(System.Type[])"> + <summary> + Replaces the type parameters of the method with the array of types provided and returns a new IMethodInfo. + </summary> + <param name="typeArguments">The type arguments to be used</param> + <returns>A new IMethodInfo with the type arguments replaced</returns> + </member> + <member name="M:NUnit.Framework.Interfaces.IMethodInfo.Invoke(System.Object,System.Object[])"> + <summary> + Invokes the method, converting any TargetInvocationException to an NUnitException. + </summary> + <param name="fixture">The object on which to invoke the method</param> + <param name="args">The argument list for the method</param> + <returns>The return value from the invoked method</returns> + </member> + <member name="T:NUnit.Framework.Interfaces.IParameterDataProvider"> + <summary> + Provides data for a single test parameter. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.IParameterDataProvider.HasDataFor(NUnit.Framework.Interfaces.IParameterInfo)"> + <summary> + Determines whether any data is available for a parameter. + </summary> + <param name="parameter">The parameter of a parameterized test.</param> + </member> + <member name="M:NUnit.Framework.Interfaces.IParameterDataProvider.GetDataFor(NUnit.Framework.Interfaces.IParameterInfo)"> + <summary> + Retrieves a list of arguments which can be passed to the specified parameter. + </summary> + <param name="parameter">The parameter of a parameterized test.</param> + </member> + <member name="T:NUnit.Framework.Interfaces.IParameterDataSource"> + <summary> + Provides data for a single test parameter. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.IParameterDataSource.GetData(NUnit.Framework.Interfaces.IParameterInfo)"> + <summary> + Retrieves a list of arguments which can be passed to the specified parameter. + </summary> + <param name="parameter">The parameter of a parameterized test.</param> + </member> + <member name="T:NUnit.Framework.Interfaces.IParameterInfo"> + <summary> + The IParameterInfo interface is an abstraction of a .NET parameter. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.IParameterInfo.IsOptional"> + <summary> + Gets a value indicating whether the parameter is optional + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.IParameterInfo.Method"> + <summary> + Gets an IMethodInfo representing the method for which this is a parameter + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.IParameterInfo.ParameterInfo"> + <summary> + Gets the underlying .NET ParameterInfo + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.IParameterInfo.ParameterType"> + <summary> + Gets the Type of the parameter + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.IPreFilter"> + <summary> + Implemented by filters for use in deciding which + Types and Methods should be used to generate tests. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.IPreFilter.IsMatch(System.Type)"> + <summary> + Use the filter on a Type, returning true if the type matches the filter + and should therefore be included in the discovery process. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.IPreFilter.IsMatch(System.Type,System.Reflection.MethodInfo)"> + <summary> + Use the filter on a Type, returning true if the type matches the filter + and should therefore be included in the discovery process. + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.IPropertyBag"> + <summary> + 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")); + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.IPropertyBag.Add(System.String,System.Object)"> + <summary> + Adds a key/value pair to the property bag + </summary> + <param name="key">The key</param> + <param name="value">The value</param> + </member> + <member name="M:NUnit.Framework.Interfaces.IPropertyBag.Set(System.String,System.Object)"> + <summary> + Sets the value for a key, removing any other + values that are already in the property set. + </summary> + <param name="key"></param> + <param name="value"></param> + </member> + <member name="M:NUnit.Framework.Interfaces.IPropertyBag.Get(System.String)"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.IPropertyBag.ContainsKey(System.String)"> + <summary> + Gets a flag indicating whether the specified key has + any entries in the property set. + </summary> + <param name="key">The key to be checked</param> + <returns>True if their are values present, otherwise false</returns> + </member> + <member name="P:NUnit.Framework.Interfaces.IPropertyBag.Item(System.String)"> + <summary> + Gets or sets the list of values for a particular key + </summary> + <param name="key">The key for which the values are to be retrieved or set</param> + </member> + <member name="P:NUnit.Framework.Interfaces.IPropertyBag.Keys"> + <summary> + Gets a collection containing all the keys in the property set + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.IReflectionInfo"> + <summary> + The IReflectionInfo interface is implemented by NUnit wrapper objects that perform reflection. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.IReflectionInfo.GetCustomAttributes``1(System.Boolean)"> + <summary> + Returns an array of custom attributes of the specified type applied to this object + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.IReflectionInfo.IsDefined``1(System.Boolean)"> + <summary> + Returns a value indicating whether an attribute of the specified type is defined on this object. + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.ISimpleTestBuilder"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ISimpleTestBuilder.BuildFrom(NUnit.Framework.Interfaces.IMethodInfo,NUnit.Framework.Internal.Test)"> + <summary> + Builds a single test from the specified method and context. + </summary> + <param name="method">The method to be used as a test</param> + <param name="suite">The TestSuite to which the method will be added</param> + </member> + <member name="T:NUnit.Framework.Interfaces.ISuiteBuilder"> + <summary> + The ISuiteBuilder interface is exposed by a class that knows how to + build a single test suite from a specified type. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ISuiteBuilder.CanBuildFrom(NUnit.Framework.Interfaces.ITypeInfo)"> + <summary> + 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. + </summary> + <param name="typeInfo">The type of the fixture to be used</param> + </member> + <member name="M:NUnit.Framework.Interfaces.ISuiteBuilder.BuildFrom(NUnit.Framework.Interfaces.ITypeInfo)"> + <summary> + Builds a single test suite from the specified type. + </summary> + <param name="typeInfo">The type of the fixture to be used</param> + </member> + <member name="M:NUnit.Framework.Interfaces.ISuiteBuilder.BuildFrom(NUnit.Framework.Interfaces.ITypeInfo,NUnit.Framework.Interfaces.IPreFilter)"> + <summary> + Builds a single test suite from the specified type, subject + to a filter that decides which methods are included. + </summary> + <param name="typeInfo">The type of the fixture to be used</param> + <param name="filter">A PreFilter for selecting methods.</param> + </member> + <member name="T:NUnit.Framework.Interfaces.ITest"> + <summary> + Common interface supported by all representations + of a test. Only includes informational fields. + The Run method is specifically excluded to allow + for data-only representations of a test. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITest.Id"> + <summary> + Gets the id of the test + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITest.Name"> + <summary> + Gets the name of the test + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITest.TestType"> + <summary> + Gets the type of the test + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITest.FullName"> + <summary> + Gets the fully qualified name of the test + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITest.ClassName"> + <summary> + Gets the name of the class containing this test. Returns + null if the test is not associated with a class. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITest.MethodName"> + <summary> + Gets the name of the method implementing this test. + Returns null if the test is not implemented as a method. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITest.TypeInfo"> + <summary> + Gets the Type of the test fixture, if applicable, or + null if no fixture type is associated with this test. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITest.Method"> + <summary> + Gets the method which declares the test, or <see langword="null"/> + if no method is associated with this test. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITest.RunState"> + <summary> + Gets the RunState of the test, indicating whether it can be run. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITest.TestCaseCount"> + <summary> + Count of the test cases ( 1 if this is a test case ) + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITest.Properties"> + <summary> + Gets the properties of the test + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITest.Parent"> + <summary> + Gets the parent test, if any. + </summary> + <value>The parent test or null if none exists.</value> + </member> + <member name="P:NUnit.Framework.Interfaces.ITest.IsSuite"> + <summary> + Returns true if this is a test suite + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITest.HasChildren"> + <summary> + Gets a bool indicating whether the current test + has any descendant tests. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITest.Tests"> + <summary> + Gets this test's child tests + </summary> + <value>A list of child tests</value> + </member> + <member name="P:NUnit.Framework.Interfaces.ITest.Fixture"> + <summary> + Gets a fixture object for running this test. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITest.Arguments"> + <summary> + The arguments to use in creating the test or empty array if none are required. + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.ITestBuilder"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ITestBuilder.BuildFrom(NUnit.Framework.Interfaces.IMethodInfo,NUnit.Framework.Internal.Test)"> + <summary> + Builds any number of tests from the specified method and context. + </summary> + <param name="method">The method to be used as a test</param> + <param name="suite">The TestSuite to which the method will be added</param> + </member> + <member name="T:NUnit.Framework.Interfaces.ITestCaseBuilder"> + <summary> + The ITestCaseBuilder interface is exposed by a class that knows how to + build a test from a specified method, possibly containing child test cases. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ITestCaseBuilder.CanBuildFrom(NUnit.Framework.Interfaces.IMethodInfo,NUnit.Framework.Internal.Test)"> + <summary> + 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. + </summary> + <param name="method">The test method to examine</param> + <param name="suite">The suite being populated</param> + </member> + <member name="M:NUnit.Framework.Interfaces.ITestCaseBuilder.BuildFrom(NUnit.Framework.Interfaces.IMethodInfo,NUnit.Framework.Internal.Test)"> + <summary> + Builds a single test from the specified method and context, + possibly containing child test cases. + </summary> + <param name="method">The method to be used as a test case</param> + <param name="suite">The test suite being populated, or null</param> + </member> + <member name="T:NUnit.Framework.Interfaces.ITestCaseData"> + <summary> + The ITestCaseData interface is implemented by a class + that is able to return complete test cases for use by + a parameterized test method. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestCaseData.ExpectedResult"> + <summary> + Gets the expected result of the test case + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestCaseData.HasExpectedResult"> + <summary> + Returns true if an expected result has been set + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.ITestData"> + <summary> + The ITestData interface is implemented by a class that + represents a single instance of a parameterized test. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestData.TestName"> + <summary> + Gets the name to be used for the test + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestData.RunState"> + <summary> + Gets the RunState for this test case. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestData.Arguments"> + <summary> + Gets the argument list to be provided to the test + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestData.Properties"> + <summary> + Gets the property dictionary for the test case + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.ITestFilter"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ITestFilter.Pass(NUnit.Framework.Interfaces.ITest)"> + <summary> + 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 + </summary> + <param name="test">The test to which the filter is applied</param> + <returns>True if the test passes the filter, otherwise false</returns> + </member> + <member name="M:NUnit.Framework.Interfaces.ITestFilter.IsExplicitMatch(NUnit.Framework.Interfaces.ITest)"> + <summary> + 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. + </summary> + <param name="test">The test to which the filter is applied</param> + <returns>True if the test matches the filter explicitly, otherwise false</returns> + </member> + <member name="T:NUnit.Framework.Interfaces.ITestFixtureData"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestFixtureData.TypeArgs"> + <summary> + Get the TypeArgs if separately set + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.ITestListener"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ITestListener.TestStarted(NUnit.Framework.Interfaces.ITest)"> + <summary> + Called when a test has just started + </summary> + <param name="test">The test that is starting</param> + </member> + <member name="M:NUnit.Framework.Interfaces.ITestListener.TestFinished(NUnit.Framework.Interfaces.ITestResult)"> + <summary> + Called when a test has finished + </summary> + <param name="result">The result of the test</param> + </member> + <member name="M:NUnit.Framework.Interfaces.ITestListener.TestOutput(NUnit.Framework.Interfaces.TestOutput)"> + <summary> + Called when a test produces output for immediate display + </summary> + <param name="output">A TestOutput object containing the text to display</param> + </member> + <member name="M:NUnit.Framework.Interfaces.ITestListener.SendMessage(NUnit.Framework.Interfaces.TestMessage)"> + <summary> + Called when a test produces a message to be sent to listeners + </summary> + <param name="message">A <see cref="T:NUnit.Framework.Interfaces.TestMessage"/> object containing the text to send</param> + </member> + <member name="T:NUnit.Framework.Interfaces.ITestResult"> + <summary> + The ITestResult interface represents the result of a test. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.ResultState"> + <summary> + Gets the ResultState of the test result, which + indicates the success or failure of the test. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.Name"> + <summary> + Gets the name of the test result + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.FullName"> + <summary> + Gets the full name of the test result + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.Duration"> + <summary> + Gets the elapsed time for running the test in seconds + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.StartTime"> + <summary> + Gets or sets the time the test started running. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.EndTime"> + <summary> + Gets or sets the time the test finished running. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.Message"> + <summary> + Gets the message associated with a test + failure or with not running the test + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.StackTrace"> + <summary> + Gets any stack trace associated with an + error or failure.</summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.TotalCount"> + <summary> + Gets the total number of tests executed + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.AssertCount"> + <summary> + Gets the number of asserts executed + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.FailCount"> + <summary> + Gets the number of test cases that failed + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.WarningCount"> + <summary> + Gets the number of test cases that had warnings + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.PassCount"> + <summary> + Gets the number of test cases that passed + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.SkipCount"> + <summary> + Gets the number of test cases that were skipped + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.InconclusiveCount"> + <summary> + Gets the number of test cases that were inconclusive + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.HasChildren"> + <summary> + Indicates whether this result has any child results. + Accessing HasChildren should not force creation of the + Children collection in classes implementing this interface. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.Children"> + <summary> + Gets the collection of child results. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.Test"> + <summary> + Gets the Test to which this result applies. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.Output"> + <summary> + Gets any text output written to this result. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.AssertionResults"> + <summary> + Gets a list of AssertionResults associated with the test + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITestResult.TestAttachments"> + <summary> + Gets the collection of files attached to the test + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.ITypeInfo"> + <summary> + The ITypeInfo interface is an abstraction of a .NET Type + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITypeInfo.Type"> + <summary> + Gets the underlying Type on which this ITypeInfo is based + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITypeInfo.BaseType"> + <summary> + Gets the base type of this type as an ITypeInfo + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ITypeInfo.IsType(System.Type)"> + <summary> + Returns true if the Type wrapped is equal to the argument + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITypeInfo.Name"> + <summary> + Gets the name of the Type + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITypeInfo.FullName"> + <summary> + Gets the full name of the Type + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITypeInfo.Assembly"> + <summary> + Gets the assembly in which the type is declared + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITypeInfo.Namespace"> + <summary> + Gets the namespace of the Type + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITypeInfo.IsAbstract"> + <summary> + Gets a value indicating whether the type is abstract. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITypeInfo.IsGenericType"> + <summary> + Gets a value indicating whether the Type is a generic Type + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITypeInfo.ContainsGenericParameters"> + <summary> + Gets a value indicating whether the Type has generic parameters that have not been replaced by specific Types. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITypeInfo.IsGenericTypeDefinition"> + <summary> + Gets a value indicating whether the Type is a generic Type definition + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITypeInfo.IsSealed"> + <summary> + Gets a value indicating whether the type is sealed. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ITypeInfo.IsStaticClass"> + <summary> + Gets a value indicating whether this type is a static class. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ITypeInfo.GetDisplayName"> + <summary> + Get the display name for this typeInfo. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ITypeInfo.GetDisplayName(System.Object[])"> + <summary> + Get the display name for an object of this type, constructed with specific arguments + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ITypeInfo.GetGenericTypeDefinition"> + <summary> + Returns a Type representing a generic type definition from which this Type can be constructed. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ITypeInfo.MakeGenericType(System.Type[])"> + <summary> + Returns a new ITypeInfo representing an instance of this generic Type using the supplied Type arguments + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ITypeInfo.HasMethodWithAttribute(System.Type)"> + <summary> + Returns a value indicating whether this type has a method with a specified public attribute + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ITypeInfo.GetMethods(System.Reflection.BindingFlags)"> + <summary> + Returns an array of IMethodInfos for methods of this Type + that match the specified flags. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ITypeInfo.GetConstructor(System.Type[])"> + <summary> + Gets the public constructor taking the specified argument Types + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ITypeInfo.HasConstructor(System.Type[])"> + <summary> + Returns a value indicating whether this Type has a public constructor taking the specified argument Types. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ITypeInfo.Construct(System.Object[])"> + <summary> + Construct an object of this Type, using the specified arguments. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ITypeInfo.GetMethodsWithAttribute``1(System.Boolean)"> + <summary> + 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. + </summary> + <param name="inherit">Specifies whether to search the fixture type inheritance chain.</param> + </member> + <member name="T:NUnit.Framework.Interfaces.IXmlNodeBuilder"> + <summary> + An object implementing IXmlNodeBuilder is able to build + an XML representation of itself and any children. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.IXmlNodeBuilder.ToXml(System.Boolean)"> + <summary> + Returns a TNode representing the current object. + </summary> + <param name="recursive">If true, children are included where applicable</param> + <returns>A TNode representing the result</returns> + </member> + <member name="M:NUnit.Framework.Interfaces.IXmlNodeBuilder.AddToXml(NUnit.Framework.Interfaces.TNode,System.Boolean)"> + <summary> + Returns a TNode representing the current object after + adding it as a child of the supplied parent node. + </summary> + <param name="parentNode">The parent node.</param> + <param name="recursive">If true, children are included, where applicable</param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Interfaces.ResultState"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ResultState.#ctor(NUnit.Framework.Interfaces.TestStatus)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Interfaces.ResultState"/> class. + </summary> + <param name="status">The TestStatus.</param> + </member> + <member name="M:NUnit.Framework.Interfaces.ResultState.#ctor(NUnit.Framework.Interfaces.TestStatus,System.String)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Interfaces.ResultState"/> class. + </summary> + <param name="status">The TestStatus.</param> + <param name="label">The label.</param> + </member> + <member name="M:NUnit.Framework.Interfaces.ResultState.#ctor(NUnit.Framework.Interfaces.TestStatus,NUnit.Framework.Interfaces.FailureSite)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Interfaces.ResultState"/> class. + </summary> + <param name="status">The TestStatus.</param> + <param name="site">The stage at which the result was produced</param> + </member> + <member name="M:NUnit.Framework.Interfaces.ResultState.#ctor(NUnit.Framework.Interfaces.TestStatus,System.String,NUnit.Framework.Interfaces.FailureSite)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Interfaces.ResultState"/> class. + </summary> + <param name="status">The TestStatus.</param> + <param name="label">The label.</param> + <param name="site">The stage at which the result was produced</param> + </member> + <member name="F:NUnit.Framework.Interfaces.ResultState.Inconclusive"> + <summary> + The result is inconclusive + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.ResultState.Skipped"> + <summary> + The test has been skipped. + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.ResultState.Ignored"> + <summary> + The test has been ignored. + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.ResultState.Explicit"> + <summary> + The test was skipped because it is explicit + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.ResultState.Success"> + <summary> + The test succeeded + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.ResultState.Warning"> + <summary> + The test issued a warning + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.ResultState.Failure"> + <summary> + The test failed + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.ResultState.Error"> + <summary> + The test encountered an unexpected exception + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.ResultState.Cancelled"> + <summary> + The test was cancelled by the user + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.ResultState.NotRunnable"> + <summary> + The test was not runnable. + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.ResultState.ChildFailure"> + <summary> + A suite failed because one or more child tests failed or had errors + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.ResultState.ChildWarning"> + <summary> + A suite failed because one or more child tests had warnings + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.ResultState.ChildIgnored"> + <summary> + A suite is marked ignored because one or more child tests were ignored + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.ResultState.SetUpFailure"> + <summary> + A suite failed in its OneTimeSetUp + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.ResultState.SetUpError"> + <summary> + A suite had an unexpected exception in its OneTimeSetUp + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.ResultState.TearDownError"> + <summary> + A suite had an unexpected exception in its OneTimeDown + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ResultState.Status"> + <summary> + Gets the TestStatus for the test. + </summary> + <value>The status.</value> + </member> + <member name="P:NUnit.Framework.Interfaces.ResultState.Label"> + <summary> + Gets the label under which this test result is + categorized, or <see cref="F:System.String.Empty"/> if none. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.ResultState.Site"> + <summary> + Gets the stage of test execution in which + the failure or other result took place. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ResultState.WithSite(NUnit.Framework.Interfaces.FailureSite)"> + <summary> + Get a new ResultState, which is the same as the current + one but with the FailureSite set to the specified value. + </summary> + <param name="site">The FailureSite to use</param> + <returns>A new ResultState</returns> + </member> + <member name="M:NUnit.Framework.Interfaces.ResultState.Matches(NUnit.Framework.Interfaces.ResultState)"> + <summary> + Test whether this ResultState has the same Status and Label + as another one. In other words, the whether two are equal + ignoring the Site. + </summary> + <param name="other"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Interfaces.ResultState.Equals(System.Object)"> + <summary>Determines whether the specified object is equal to the current object.</summary> + <param name="obj">The object to compare with the current object.</param> + </member> + <member name="M:NUnit.Framework.Interfaces.ResultState.Equals(NUnit.Framework.Interfaces.ResultState)"> + <summary>Indicates whether the current object is equal to another object of the same type.</summary> + <param name="other">An object to compare with this object.</param> + </member> + <member name="M:NUnit.Framework.Interfaces.ResultState.GetHashCode"> + <summary>Serves as the default hash function.</summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ResultState.op_Equality(NUnit.Framework.Interfaces.ResultState,NUnit.Framework.Interfaces.ResultState)"> + <summary> + Overload == operator for ResultStates + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ResultState.op_Inequality(NUnit.Framework.Interfaces.ResultState,NUnit.Framework.Interfaces.ResultState)"> + <summary> + Overload != operator for ResultStates + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.ResultState.ToString"> + <summary> + Returns a <see cref="T:System.String"/> that represents this instance. + </summary> + <returns> + A <see cref="T:System.String"/> that represents this instance. + </returns> + </member> + <member name="T:NUnit.Framework.Interfaces.FailureSite"> + <summary> + The FailureSite enum indicates the stage of a test + in which an error or failure occurred. + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.FailureSite.Test"> + <summary> + Failure in the test itself + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.FailureSite.SetUp"> + <summary> + Failure in the SetUp method + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.FailureSite.TearDown"> + <summary> + Failure in the TearDown method + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.FailureSite.Parent"> + <summary> + Failure of a parent test + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.FailureSite.Child"> + <summary> + Failure of a child test + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.RunState"> + <summary> + The RunState enum indicates whether a test can be executed. + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.RunState.NotRunnable"> + <summary> + The test is not runnable. + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.RunState.Runnable"> + <summary> + The test is runnable. + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.RunState.Explicit"> + <summary> + The test can only be run explicitly + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.RunState.Skipped"> + <summary> + The test has been skipped. This value may + appear on a Test when certain attributes + are used to skip the test. + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.RunState.Ignored"> + <summary> + The test has been ignored. May appear on + a Test, when the IgnoreAttribute is used. + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.TestAttachment"> + <summary> + The TestAttachment class represents a file attached to a TestResult, + with an optional description. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.TestAttachment.FilePath"> + <summary> + Absolute file path to attachment file + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.TestAttachment.Description"> + <summary> + User specified description of attachment. May be null. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.TestAttachment.#ctor(System.String,System.String)"> + <summary> + Creates a TestAttachment class to represent a file attached to a test result. + </summary> + <param name="filePath">Absolute file path to attachment file</param> + <param name="description">User specified description of attachment. May be null.</param> + </member> + <member name="T:NUnit.Framework.Interfaces.TestMessage"> + <summary> + The <see cref="T:NUnit.Framework.Interfaces.TestMessage"/> class holds a message sent by a test to all listeners + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.TestMessage.#ctor(System.String,System.String,System.String)"> + <summary> + Construct with text, destination type and + the name of the test that produced the message. + </summary> + <param name="destination">Destination of the message</param> + <param name="text">Text to be sent</param> + <param name="testId">ID of the test that produced the message</param> + </member> + <member name="M:NUnit.Framework.Interfaces.TestMessage.ToString"> + <summary> + Converts <see cref="T:NUnit.Framework.Interfaces.TestMessage"/> object to string + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.TestMessage.Message"> + <summary> + The message to send to listeners + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.TestMessage.Destination"> + <summary> + The Destination of the message. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.TestMessage.TestId"> + <summary> + The ID of the test that sent the message + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.TestMessage.ToXml"> + <summary> + Returns the XML representation of the <see cref="T:NUnit.Framework.Interfaces.TestMessage"/> object. + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.TestOutput"> + <summary> + The TestOutput class holds a unit of output from + a test to a specific output stream + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.TestOutput.#ctor(System.String,System.String,System.String,System.String)"> + <summary> + Construct with text, output destination type and + the name of the test that produced the output. + </summary> + <param name="text">Text to be output</param> + <param name="stream">Name of the stream or channel to which the text should be written</param> + <param name="testId">Id of the test that produced the output</param> + <param name="testName">FullName of test that produced the output</param> + </member> + <member name="M:NUnit.Framework.Interfaces.TestOutput.ToString"> + <summary> + Return string representation of the object for debugging + </summary> + <returns></returns> + </member> + <member name="P:NUnit.Framework.Interfaces.TestOutput.Text"> + <summary> + Get the text + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.TestOutput.Stream"> + <summary> + Get the output type + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.TestOutput.TestName"> + <summary> + Get the name of the test that created the output + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.TestOutput.TestId"> + <summary> + Get the id of the test that created the output + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.TestOutput.ToXml"> + <summary> + Convert the TestOutput object to an XML string + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.TestStatus"> + <summary> + The TestStatus enum indicates the result of running a test + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.TestStatus.Inconclusive"> + <summary> + The test was inconclusive + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.TestStatus.Skipped"> + <summary> + The test has skipped + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.TestStatus.Passed"> + <summary> + The test succeeded + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.TestStatus.Warning"> + <summary> + There was a warning + </summary> + </member> + <member name="F:NUnit.Framework.Interfaces.TestStatus.Failed"> + <summary> + The test failed + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.TNode"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.TNode.#ctor(System.String)"> + <summary> + Constructs a new instance of TNode + </summary> + <param name="name">The name of the node</param> + </member> + <member name="M:NUnit.Framework.Interfaces.TNode.#ctor(System.String,System.String)"> + <summary> + Constructs a new instance of TNode with a value + </summary> + <param name="name">The name of the node</param> + <param name="value">The text content of the node</param> + </member> + <member name="M:NUnit.Framework.Interfaces.TNode.#ctor(System.String,System.String,System.Boolean)"> + <summary> + Constructs a new instance of TNode with a value + </summary> + <param name="name">The name of the node</param> + <param name="value">The text content of the node</param> + <param name="valueIsCDATA">Flag indicating whether to use CDATA when writing the text</param> + </member> + <member name="P:NUnit.Framework.Interfaces.TNode.Name"> + <summary> + Gets the name of the node + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.TNode.Value"> + <summary> + Gets the value of the node + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.TNode.ValueIsCDATA"> + <summary> + Gets a flag indicating whether the value should be output using CDATA. + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.TNode.Attributes"> + <summary> + Gets the dictionary of attributes + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.TNode.ChildNodes"> + <summary> + Gets a list of child nodes + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.TNode.FirstChild"> + <summary> + Gets the first ChildNode + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.TNode.OuterXml"> + <summary> + Gets the XML representation of this node. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.TNode.FromXml(System.String)"> + <summary> + Create a TNode from its XML text representation + </summary> + <param name="xmlText">The XML text to be parsed</param> + <returns>A TNode</returns> + </member> + <member name="M:NUnit.Framework.Interfaces.TNode.AddElement(System.String)"> + <summary> + Adds a new element as a child of the current node and returns it. + </summary> + <param name="name">The element name.</param> + <returns>The newly created child element</returns> + </member> + <member name="M:NUnit.Framework.Interfaces.TNode.AddElement(System.String,System.String)"> + <summary> + Adds a new element with a value as a child of the current node and returns it. + </summary> + <param name="name">The element name</param> + <param name="value">The text content of the new element</param> + <returns>The newly created child element</returns> + </member> + <member name="M:NUnit.Framework.Interfaces.TNode.AddElementWithCDATA(System.String,System.String)"> + <summary> + 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. + </summary> + <param name="name">The element name</param> + <param name="value">The text content of the new element</param> + <returns>The newly created child element</returns> + </member> + <member name="M:NUnit.Framework.Interfaces.TNode.AddAttribute(System.String,System.String)"> + <summary> + Adds an attribute with a specified name and value to the XmlNode. + </summary> + <param name="name">The name of the attribute.</param> + <param name="value">The value of the attribute.</param> + </member> + <member name="M:NUnit.Framework.Interfaces.TNode.SelectSingleNode(System.String)"> + <summary> + 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. + </summary> + <param name="xpath"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Interfaces.TNode.SelectNodes(System.String)"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Interfaces.TNode.WriteTo(System.Xml.XmlWriter)"> + <summary> + Writes the XML representation of the node to an XmlWriter + </summary> + <param name="writer"></param> + </member> + <member name="T:NUnit.Framework.Interfaces.NodeList"> + <summary> + Class used to represent a list of XmlResults + </summary> + </member> + <member name="T:NUnit.Framework.Interfaces.AttributeDictionary"> + <summary> + Class used to represent the attributes of a node + </summary> + </member> + <member name="P:NUnit.Framework.Interfaces.AttributeDictionary.Item(System.String)"> + <summary> + Gets or sets the value associated with the specified key. + Overridden to return null if attribute is not found. + </summary> + <param name="key">The key.</param> + <returns>Value of the attribute or null</returns> + </member> + <member name="T:NUnit.Framework.Internal.Abstractions.DebuggerProxy"> + <summary> + A production <see cref="T:NUnit.Framework.Internal.Abstractions.IDebugger"/> implementation that delegates directly to .NET's <see cref="T:System.Diagnostics.Debugger"/>. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Abstractions.DebuggerProxy.IsAttached"> + <summary> + Returns whether a debugger is currently attached to the process + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Abstractions.IDebugger"> + <summary> + A layer of abstraction around <see cref="T:System.Diagnostics.Debugger"/> to facilitate testing. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Abstractions.IDebugger.IsAttached"> + <summary> + Whether a debugger is currently attached to the process. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.AssemblyHelper"> + <summary> + AssemblyHelper provides static methods for working + with assemblies. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.AssemblyHelper.GetAssemblyPath(System.Reflection.Assembly)"> + <summary> + Gets the path from which an assembly was loaded. + For builds where this is not possible, returns + the name of the assembly. + </summary> + <param name="assembly">The assembly.</param> + <returns>The path.</returns> + </member> + <member name="M:NUnit.Framework.Internal.AssemblyHelper.GetDirectoryName(System.Reflection.Assembly)"> + <summary> + Gets the path to the directory from which an assembly was loaded. + </summary> + <param name="assembly">The assembly.</param> + <returns>The path.</returns> + </member> + <member name="M:NUnit.Framework.Internal.AssemblyHelper.GetAssemblyName(System.Reflection.Assembly)"> + <summary> + Gets the AssemblyName of an assembly. + </summary> + <param name="assembly">The assembly</param> + <returns>An AssemblyName</returns> + </member> + <member name="M:NUnit.Framework.Internal.AssemblyHelper.Load(System.String)"> + <summary> + Loads an assembly given a string, which is the AssemblyName + </summary> + </member> + <member name="M:NUnit.Framework.Internal.AssemblyHelper.GetAssemblyPathFromCodeBase(System.String)"> + <summary> + Gets the assembly path from code base. + </summary> + <remarks>Public for testing purposes</remarks> + <param name="codeBase">The code base.</param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Internal.AwaitAdapter"> + <summary> + Adapts various styles of asynchronous waiting to a common API. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Builders.CombinatorialStrategy"> + <summary> + CombinatorialStrategy creates test cases by using all possible + combinations of the parameter data. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Builders.CombinatorialStrategy.GetTestCases(System.Collections.IEnumerable[])"> + <summary> + Gets the test cases generated by the CombiningStrategy. + </summary> + <returns>The test cases.</returns> + </member> + <member name="T:NUnit.Framework.Internal.Builders.DatapointProvider"> + <summary> + Provides data from fields marked with the DatapointAttribute or the + DatapointsAttribute. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Builders.DatapointProvider.HasDataFor(NUnit.Framework.Interfaces.IParameterInfo)"> + <summary> + Determines whether any data is available for a parameter. + </summary> + <param name="parameter">The parameter of a parameterized test</param> + </member> + <member name="M:NUnit.Framework.Internal.Builders.DatapointProvider.GetDataFor(NUnit.Framework.Interfaces.IParameterInfo)"> + <summary> + Retrieves data for use with the supplied parameter. + </summary> + <param name="parameter">The parameter of a parameterized test</param> + </member> + <member name="T:NUnit.Framework.Internal.Builders.DefaultSuiteBuilder"> + <summary> + Built-in SuiteBuilder for all types of test classes. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Builders.DefaultSuiteBuilder.CanBuildFrom(NUnit.Framework.Interfaces.ITypeInfo)"> + <summary> + 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. + </summary> + <param name="typeInfo">The fixture type to check</param> + </member> + <member name="M:NUnit.Framework.Internal.Builders.DefaultSuiteBuilder.BuildFrom(NUnit.Framework.Interfaces.ITypeInfo)"> + <summary> + Builds a single test suite from the specified type. + </summary> + <param name="typeInfo">The fixture type to build</param> + </member> + <member name="M:NUnit.Framework.Internal.Builders.DefaultSuiteBuilder.BuildFrom(NUnit.Framework.Interfaces.ITypeInfo,NUnit.Framework.Interfaces.IPreFilter)"> + <summary> + Builds a single test suite from the specified type, subject + to a filter that decides which methods are included. + </summary> + <param name="typeInfo">The fixture type to build</param> + <param name="filter">A PreFilter for selecting methods.</param> + </member> + <member name="M:NUnit.Framework.Internal.Builders.DefaultSuiteBuilder.GetFixtureBuilderAttributes(NUnit.Framework.Interfaces.ITypeInfo)"> + <summary> + 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. + </summary> + <param name="typeInfo">The type being examined for attributes</param> + </member> + <member name="T:NUnit.Framework.Internal.Builders.DefaultTestCaseBuilder"> + <summary> + 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 + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Builders.DefaultTestCaseBuilder.CanBuildFrom(NUnit.Framework.Interfaces.IMethodInfo)"> + <summary> + 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. + </summary> + <param name="method">An IMethodInfo for the method being used as a test method</param> + </member> + <member name="M:NUnit.Framework.Internal.Builders.DefaultTestCaseBuilder.BuildFrom(NUnit.Framework.Interfaces.IMethodInfo)"> + <summary> + Builds a single test from the specified method and context, + possibly containing child test cases. + </summary> + <param name="method">The method for which a test is to be built</param> + </member> + <member name="M:NUnit.Framework.Internal.Builders.DefaultTestCaseBuilder.CanBuildFrom(NUnit.Framework.Interfaces.IMethodInfo,NUnit.Framework.Internal.Test)"> + <summary> + 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. + </summary> + <param name="method">An IMethodInfo for the method being used as a test method</param> + <param name="parentSuite">The test suite being built, to which the new test would be added</param> + </member> + <member name="M:NUnit.Framework.Internal.Builders.DefaultTestCaseBuilder.BuildFrom(NUnit.Framework.Interfaces.IMethodInfo,NUnit.Framework.Internal.Test)"> + <summary> + Builds a single test from the specified method and context, + possibly containing child test cases. + </summary> + <param name="method">The method for which a test is to be built</param> + <param name="parentSuite">The test fixture being populated, or null</param> + </member> + <member name="M:NUnit.Framework.Internal.Builders.DefaultTestCaseBuilder.BuildParameterizedMethodSuite(NUnit.Framework.Interfaces.IMethodInfo,System.Collections.Generic.IEnumerable{NUnit.Framework.Internal.TestMethod})"> + <summary> + Builds a ParameterizedMethodSuite containing individual test cases. + </summary> + <param name="method">The method for which a test is to be built.</param> + <param name="tests">The list of test cases to include.</param> + </member> + <member name="M:NUnit.Framework.Internal.Builders.DefaultTestCaseBuilder.BuildSingleTestMethod(NUnit.Framework.Interfaces.IMethodInfo,NUnit.Framework.Internal.Test)"> + <summary> + Build a simple, non-parameterized TestMethod for this method. + </summary> + <param name="method">The MethodInfo for which a test is to be built</param> + <param name="suite">The test suite for which the method is being built</param> + </member> + <member name="T:NUnit.Framework.Internal.Builders.MethodInfoCache"> + <summary> + Caches static information for IMethodInfo to reduce re-calculations and memory allocations from reflection. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Builders.MethodInfoCache.Get(NUnit.Framework.Interfaces.IMethodInfo)"> + <summary> + Returns cached metadata for method instance. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Builders.MethodInfoCache.TestMethodMetadata"> + <summary> + Memoization of TestMethod information to reduce subsequent allocations from parameter and attribute information. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Builders.NamespaceTreeBuilder"> + <summary> + Class that can build a tree of automatic namespace + suites from a group of fixtures. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Builders.NamespaceTreeBuilder._namespaceIndex"> + <summary> + NamespaceDictionary of all test suites we have created to represent + namespaces. Used to locate namespace parent suites for fixtures. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Builders.NamespaceTreeBuilder._globalInsertionPoint"> + <summary> + Point in the tree where items in the global namespace are added + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Builders.NamespaceTreeBuilder.#ctor(NUnit.Framework.Internal.TestSuite)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.Builders.NamespaceTreeBuilder"/> class. + </summary> + <param name="rootSuite">The root suite.</param> + </member> + <member name="P:NUnit.Framework.Internal.Builders.NamespaceTreeBuilder.RootSuite"> + <summary> + Gets the root entry in the tree created by the NamespaceTreeBuilder. + </summary> + <value>The root suite.</value> + </member> + <member name="M:NUnit.Framework.Internal.Builders.NamespaceTreeBuilder.Add(System.Collections.Generic.IList{NUnit.Framework.Internal.Test})"> + <summary> + Adds the specified fixtures to the tree. + </summary> + <param name="fixtures">The fixtures to be added.</param> + </member> + <member name="M:NUnit.Framework.Internal.Builders.NamespaceTreeBuilder.Add(NUnit.Framework.Internal.TestSuite)"> + <summary> + Adds the specified fixture to the tree. + </summary> + <param name="fixture">The fixture to be added.</param> + </member> + <member name="T:NUnit.Framework.Internal.Builders.NUnitTestCaseBuilder"> + <summary> + NUnitTestCaseBuilder is a utility class used by attributes + that build test cases. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Builders.NUnitTestCaseBuilder.#ctor"> + <summary> + Constructs an <see cref="T:NUnit.Framework.Internal.Builders.NUnitTestCaseBuilder"/> + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Builders.NUnitTestCaseBuilder.BuildTestMethod(NUnit.Framework.Interfaces.IMethodInfo,NUnit.Framework.Internal.Test,NUnit.Framework.Internal.TestCaseParameters)"> + <summary> + Builds a single NUnitTestMethod, either as a child of the fixture + or as one of a set of test cases under a ParameterizedTestMethodSuite. + </summary> + <param name="method">The MethodInfo from which to construct the TestMethod</param> + <param name="parentSuite">The suite or fixture to which the new test will be added</param> + <param name="parms">The ParameterSet to be used, or null</param> + </member> + <member name="M:NUnit.Framework.Internal.Builders.NUnitTestCaseBuilder.CheckTestMethodAttributes(NUnit.Framework.Internal.TestMethod,NUnit.Framework.Internal.Builders.MethodInfoCache.TestMethodMetadata)"> + <summary> + Checks to see if we have valid combinations of attributes. + </summary> + <param name="testMethod">The TestMethod to be checked. If it + is found to be non-runnable, it will be modified.</param> + <param name="metadata">Metadata for this TestMethod.</param> + <returns>True if the method signature is valid, false if not</returns> + </member> + <member name="M:NUnit.Framework.Internal.Builders.NUnitTestCaseBuilder.CheckTestMethodSignature(NUnit.Framework.Internal.TestMethod,NUnit.Framework.Internal.Builders.MethodInfoCache.TestMethodMetadata,NUnit.Framework.Internal.TestCaseParameters)"> + <summary> + 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. + </summary> + <param name="testMethod">The TestMethod to be checked. If it + is found to be non-runnable, it will be modified.</param> + <param name="metadata">Metadata for this TestMethod.</param> + <param name="parms">Parameters to be used for this test, or null</param> + <returns>True if the method signature is valid, false if not</returns> + <remarks> + The return value is no longer used internally, but is retained + for testing purposes. + </remarks> + </member> + <member name="T:NUnit.Framework.Internal.Builders.NUnitTestFixtureBuilder"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Builders.NUnitTestFixtureBuilder.BuildFrom(NUnit.Framework.Interfaces.ITypeInfo,NUnit.Framework.Interfaces.IPreFilter)"> + <summary> + 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. + </summary> + <param name="typeInfo">An ITypeInfo for the fixture to be used.</param> + <param name="filter">Filter used to select methods as tests.</param> + <returns>A TestSuite object or one derived from TestSuite.</returns> + </member> + <member name="M:NUnit.Framework.Internal.Builders.NUnitTestFixtureBuilder.BuildFrom(NUnit.Framework.Interfaces.ITypeInfo,NUnit.Framework.Interfaces.IPreFilter,NUnit.Framework.Interfaces.ITestFixtureData)"> + <summary> + Overload of BuildFrom called by tests that have arguments. + Builds a fixture using the provided type and information + in the ITestFixtureData object. + </summary> + <param name="typeInfo">The TypeInfo for which to construct a fixture.</param> + <param name="filter">Filter used to select methods as tests.</param> + <param name="testFixtureData">An object implementing ITestFixtureData or null.</param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Internal.Builders.NUnitTestFixtureBuilder.AddTestCasesToFixture(NUnit.Framework.Internal.TestFixture,NUnit.Framework.Interfaces.IPreFilter)"> + <summary> + Method to add test cases to the newly constructed fixture. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Builders.NUnitTestFixtureBuilder.BuildTestCase(NUnit.Framework.Interfaces.IMethodInfo,NUnit.Framework.Internal.TestSuite)"> + <summary> + 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. + </summary> + <param name="method">The method for which a test is to be created</param> + <param name="suite">The test suite being built.</param> + <returns>A newly constructed Test</returns> + </member> + <member name="T:NUnit.Framework.Internal.Builders.PairwiseStrategy"> + <summary> + PairwiseStrategy creates test cases by combining the parameter + data so that all possible pairs of data items are used. + </summary> + <remarks> + <para> + 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. + </para> + <para> + The PairwiseStrategy code is based on "jenny" tool by Bob Jenkins: + https://burtleburtle.net/bob/math/jenny.html + </para> + </remarks> + </member> + <member name="T:NUnit.Framework.Internal.Builders.PairwiseStrategy.FleaRand"> + <summary> + FleaRand is a pseudo-random number generator developed by Bob Jenkins: + https://burtleburtle.net/bob/rand/talksmall.html#flea + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Builders.PairwiseStrategy.FleaRand.#ctor(System.UInt32)"> + <summary> + Initializes a new instance of the FleaRand class. + </summary> + <param name="seed">The seed.</param> + </member> + <member name="T:NUnit.Framework.Internal.Builders.PairwiseStrategy.FeatureInfo"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Builders.PairwiseStrategy.FeatureInfo.#ctor(System.Int32,System.Int32)"> + <summary> + Initializes a new instance of FeatureInfo class. + </summary> + <param name="dimension">Index of a dimension.</param> + <param name="feature">Index of a feature.</param> + </member> + <member name="T:NUnit.Framework.Internal.Builders.PairwiseStrategy.FeatureTuple"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Builders.PairwiseStrategy.FeatureTuple.#ctor(NUnit.Framework.Internal.Builders.PairwiseStrategy.FeatureInfo)"> + <summary> + Initializes a new instance of FeatureTuple class for a single feature. + </summary> + <param name="feature1">Single feature.</param> + </member> + <member name="M:NUnit.Framework.Internal.Builders.PairwiseStrategy.FeatureTuple.#ctor(NUnit.Framework.Internal.Builders.PairwiseStrategy.FeatureInfo,NUnit.Framework.Internal.Builders.PairwiseStrategy.FeatureInfo)"> + <summary> + Initializes a new instance of FeatureTuple class for a pair of features. + </summary> + <param name="feature1">First feature.</param> + <param name="feature2">Second feature.</param> + </member> + <member name="T:NUnit.Framework.Internal.Builders.PairwiseStrategy.TestCaseInfo"> + <summary> + TestCase represents a single test case covering a list of features. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Builders.PairwiseStrategy.TestCaseInfo.#ctor(System.Int32)"> + <summary> + Initializes a new instance of TestCaseInfo class. + </summary> + <param name="length">A number of features in the test case.</param> + </member> + <member name="T:NUnit.Framework.Internal.Builders.PairwiseStrategy.PairwiseTestCaseGenerator"> + <summary> + PairwiseTestCaseGenerator class implements an algorithm which generates + a set of test cases which covers all pairs of possible values of test + function. + </summary> + <remarks> + <para> + The algorithm starts with creating a set of all feature tuples which we + will try to cover (see <see + cref="M:NUnit.Framework.Internal.Builders.PairwiseStrategy.PairwiseTestCaseGenerator.CreateAllTuples" /> 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). + </para> + <para> + 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. + </para> + <para> + Picking a tuple to cover + </para> + <para> + 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. + </para> + <para> + Test generation + </para> + <para> + 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. + </para> + <para> + 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). + </para> + <para>Maximizing test coverage</para> + <para> + 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. + </para> + <para> + This process repeats while it shows progress. If the last iteration + doesn't improve coverage, the process ends. + </para> + <para> + In addition, for better results, before start every iteration, the + algorithm "scrambles" dimensions - so for every iteration dimension + probes in a different order. + </para> + </remarks> + </member> + <member name="M:NUnit.Framework.Internal.Builders.PairwiseStrategy.PairwiseTestCaseGenerator.GetTestCases(System.Int32[])"> + <summary> + Creates a set of test cases for specified dimensions. + </summary> + <param name="dimensions"> + An array which contains information about dimensions. Each element of + this array represents a number of features in the specific dimension. + </param> + <returns> + A set of test cases. + </returns> + </member> + <member name="M:NUnit.Framework.Internal.Builders.PairwiseStrategy.GetTestCases(System.Collections.IEnumerable[])"> + <summary> + Gets the test cases generated by this strategy instance. + </summary> + <returns>A set of test cases.</returns> + </member> + <member name="T:NUnit.Framework.Internal.Builders.ParameterDataProvider"> + <summary> + The ParameterDataProvider class implements IParameterDataProvider + and hosts one or more individual providers. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Builders.ParameterDataProvider.#ctor(NUnit.Framework.Interfaces.IParameterDataProvider[])"> + <summary> + Construct with a collection of individual providers + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Builders.ParameterDataProvider.HasDataFor(NUnit.Framework.Interfaces.IParameterInfo)"> + <summary> + Determines whether any data is available for a parameter. + </summary> + <param name="parameter">The parameter of a parameterized test</param> + </member> + <member name="M:NUnit.Framework.Internal.Builders.ParameterDataProvider.GetDataFor(NUnit.Framework.Interfaces.IParameterInfo)"> + <summary> + Retrieves data for use with the supplied parameter. + </summary> + <param name="parameter">The parameter of a parameterized test</param> + </member> + <member name="T:NUnit.Framework.Internal.Builders.ParameterDataSourceProvider"> + <summary> + ParameterDataSourceProvider supplies individual argument values for + single parameters using attributes implementing IParameterDataSource. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Builders.ParameterDataSourceProvider.HasDataFor(NUnit.Framework.Interfaces.IParameterInfo)"> + <summary> + Determines whether any data is available for a parameter. + </summary> + <param name="parameter">The parameter of a parameterized test</param> + </member> + <member name="M:NUnit.Framework.Internal.Builders.ParameterDataSourceProvider.GetDataFor(NUnit.Framework.Interfaces.IParameterInfo)"> + <summary> + Retrieves data for use with the supplied parameter. + </summary> + <param name="parameter">The parameter of a parameterized test</param> + </member> + <member name="T:NUnit.Framework.Internal.Builders.SequentialStrategy"> + <summary> + SequentialStrategy creates test cases by using all of the + parameter data sources in parallel, substituting <see langword="null"/> + when any of them run out of data. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Builders.SequentialStrategy.GetTestCases(System.Collections.IEnumerable[])"> + <summary> + Gets the test cases generated by the CombiningStrategy. + </summary> + <returns>The test cases.</returns> + </member> + <member name="T:NUnit.Framework.Internal.Commands.AfterTestActionCommand"> + <summary> + TestActionAfterCommand handles the AfterTest method of a single + TestActionItem, provided the items BeforeTest has been run. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.AfterTestActionCommand.#ctor(NUnit.Framework.Internal.Commands.TestCommand,NUnit.Framework.Internal.Commands.TestActionItem)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.Commands.AfterTestActionCommand"/> class. + </summary> + <param name="innerCommand">The inner command.</param> + <param name="action">The TestActionItem to run before the inner command.</param> + </member> + <member name="T:NUnit.Framework.Internal.Commands.AfterTestCommand"> + <summary> + AfterCommand is a DelegatingTestCommand that performs some + specific action after the inner command is run. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.AfterTestCommand.#ctor(NUnit.Framework.Internal.Commands.TestCommand)"> + <summary> + Construct an AfterCommand + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.AfterTestCommand.Execute(NUnit.Framework.Internal.TestExecutionContext)"> + <summary> + Execute the command + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Commands.AfterTestCommand.AfterTest"> + <summary> + Set this to perform action after the inner command. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Commands.ApplyChangesToContextCommand"> + <summary> + 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. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Commands.BeforeAndAfterTestCommand"> + <summary> + TestActionCommand handles a single ITestAction applied + to a test. It runs the BeforeTest method, then runs the + test and finally runs the AfterTest method. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.BeforeAndAfterTestCommand.#ctor(NUnit.Framework.Internal.Commands.TestCommand)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.Commands.TestActionCommand"/> class. + </summary> + <param name="innerCommand">The inner command.</param> + </member> + <member name="M:NUnit.Framework.Internal.Commands.BeforeAndAfterTestCommand.Execute(NUnit.Framework.Internal.TestExecutionContext)"> + <summary> + Runs the test, saving a TestResult in the supplied TestExecutionContext. + </summary> + <param name="context">The context in which the test should run.</param> + <returns>A TestResult</returns> + </member> + <member name="F:NUnit.Framework.Internal.Commands.BeforeAndAfterTestCommand.BeforeTest"> + <summary> + Perform the before test action + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Commands.BeforeAndAfterTestCommand.AfterTest"> + <summary> + Perform the after test action + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Commands.BeforeTestActionCommand"> + <summary> + TestActionBeforeCommand handles the BeforeTest method of a single + TestActionItem, relying on the item to remember it has been run. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.BeforeTestActionCommand.#ctor(NUnit.Framework.Internal.Commands.TestCommand,NUnit.Framework.Internal.Commands.TestActionItem)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.Commands.BeforeTestActionCommand"/> class. + </summary> + <param name="innerCommand">The inner command.</param> + <param name="action">The TestActionItem to run before the inner command.</param> + </member> + <member name="T:NUnit.Framework.Internal.Commands.BeforeTestCommand"> + <summary> + BeforeTestCommand is a DelegatingTestCommand that performs some + specific action before the inner command is run. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.BeforeTestCommand.#ctor(NUnit.Framework.Internal.Commands.TestCommand)"> + <summary> + Construct a BeforeCommand + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.BeforeTestCommand.Execute(NUnit.Framework.Internal.TestExecutionContext)"> + <summary> + Execute the command + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Commands.BeforeTestCommand.BeforeTest"> + <summary> + Action to perform before the inner command. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Commands.ConstructFixtureCommand"> + <summary> + ConstructFixtureCommand constructs the user test object if necessary. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.ConstructFixtureCommand.#ctor(NUnit.Framework.Internal.Commands.TestCommand)"> + <summary> + Constructs a OneTimeSetUpCommand for a suite + </summary> + <param name="innerCommand">The inner command to which the command applies</param> + </member> + <member name="T:NUnit.Framework.Internal.Commands.DelegatingTestCommand"> + <summary> + DelegatingTestCommand wraps an inner TestCommand. + Derived classes may do what they like before or + after running the inner command. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Commands.DelegatingTestCommand.innerCommand"> + <summary>TODO: Documentation needed for field</summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.DelegatingTestCommand.#ctor(NUnit.Framework.Internal.Commands.TestCommand)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.Commands.DelegatingTestCommand"/> class. + </summary> + <param name="innerCommand">The inner command.</param> + </member> + <member name="M:NUnit.Framework.Internal.Commands.DelegatingTestCommand.RunTestMethodInThreadAbortSafeZone(NUnit.Framework.Internal.TestExecutionContext,System.Action)"> + <summary> + Runs the test with exception handling. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Commands.DisposeFixtureCommand"> + <summary> + OneTimeTearDownCommand performs any teardown actions + specified for a suite and calls Dispose on the user + test object, if any. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.DisposeFixtureCommand.#ctor(NUnit.Framework.Internal.Commands.TestCommand)"> + <summary> + Construct a OneTimeTearDownCommand + </summary> + <param name="innerCommand">The command wrapped by this command</param> + </member> + <member name="T:NUnit.Framework.Internal.Commands.EmptyTestCommand"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.EmptyTestCommand.#ctor(NUnit.Framework.Internal.Test)"> + <summary> + Construct a NullCommand for a test + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.EmptyTestCommand.Execute(NUnit.Framework.Internal.TestExecutionContext)"> + <summary> + Execute the command + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Commands.FixturePerTestCaseCommand"> + <summary> + ConstructFixtureCommand constructs the user test object if necessary. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.FixturePerTestCaseCommand.#ctor(NUnit.Framework.Internal.Commands.TestCommand)"> + <summary> + Handles the construction and disposement of a fixture per test case + </summary> + <param name="innerCommand">The inner command to which the command applies</param> + </member> + <member name="T:NUnit.Framework.Internal.Commands.MaxTimeCommand"> + <summary> + <see cref="T:NUnit.Framework.Internal.Commands.MaxTimeCommand" /> adjusts the result of a successful test + to a failure if the elapsed time has exceeded the specified maximum + time allowed. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.MaxTimeCommand.#ctor(NUnit.Framework.Internal.Commands.TestCommand,System.Int32)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.Commands.MaxTimeCommand"/> class. + </summary> + <param name="innerCommand">The inner command.</param> + <param name="maxTime">The max time allowed in milliseconds</param> + </member> + <member name="T:NUnit.Framework.Internal.Commands.OneTimeSetUpCommand"> + <summary> + OneTimeSetUpCommand runs any one-time setup methods for a suite, + constructing the user test object if necessary. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.OneTimeSetUpCommand.#ctor(NUnit.Framework.Internal.Commands.TestCommand,NUnit.Framework.Internal.Commands.SetUpTearDownItem)"> + <summary> + Constructs a OneTimeSetUpCommand for a suite + </summary> + <param name="innerCommand">The inner command to which the command applies</param> + <param name="setUpTearDown">A SetUpTearDownList for use by the command</param> + </member> + <member name="T:NUnit.Framework.Internal.Commands.OneTimeTearDownCommand"> + <summary> + OneTimeTearDownCommand performs any teardown actions + specified for a suite and calls Dispose on the user + test object, if any. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.OneTimeTearDownCommand.#ctor(NUnit.Framework.Internal.Commands.TestCommand,NUnit.Framework.Internal.Commands.SetUpTearDownItem)"> + <summary> + Construct a OneTimeTearDownCommand + </summary> + <param name="innerCommand">The command wrapped by this command</param> + <param name="setUpTearDownItem">A SetUpTearDownList for use by the command</param> + </member> + <member name="T:NUnit.Framework.Internal.Commands.SetUpTearDownCommand"> + <summary> + SetUpTearDownCommand runs SetUp methods for a suite, + runs the test and then runs TearDown methods. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.SetUpTearDownCommand.#ctor(NUnit.Framework.Internal.Commands.TestCommand,NUnit.Framework.Internal.Commands.SetUpTearDownItem)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.Commands.SetUpTearDownCommand"/> class. + </summary> + <param name="innerCommand">The inner command.</param> + <param name="setUpTearDown">List of setup/teardown items</param> + </member> + <member name="T:NUnit.Framework.Internal.Commands.SetUpTearDownItem"> + <summary> + SetUpTearDownItem holds the setup and teardown methods + for a single level of the inheritance hierarchy. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.SetUpTearDownItem.#ctor(System.Collections.Generic.IList{NUnit.Framework.Interfaces.IMethodInfo},System.Collections.Generic.IList{NUnit.Framework.Interfaces.IMethodInfo},NUnit.Framework.Internal.Execution.IMethodValidator)"> + <summary> + Construct a SetUpTearDownNode + </summary> + <param name="setUpMethods">A list of setup methods for this level</param> + <param name="tearDownMethods">A list teardown methods for this level</param> + <param name="methodValidator">A method validator to validate each method before calling.</param> + </member> + <member name="P:NUnit.Framework.Internal.Commands.SetUpTearDownItem.HasMethods"> + <summary> + Returns true if this level has any methods at all. + This flag is used to discard levels that do nothing. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.SetUpTearDownItem.RunSetUp(NUnit.Framework.Internal.TestExecutionContext)"> + <summary> + Run SetUp on this level. + </summary> + <param name="context">The execution context to use for running.</param> + </member> + <member name="M:NUnit.Framework.Internal.Commands.SetUpTearDownItem.RunTearDown(NUnit.Framework.Internal.TestExecutionContext)"> + <summary> + Run TearDown for this level. + </summary> + <param name="context"></param> + </member> + <member name="T:NUnit.Framework.Internal.Commands.SkipCommand"> + <summary> + TODO: Documentation needed for class + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.SkipCommand.#ctor(NUnit.Framework.Internal.Test)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.Commands.SkipCommand"/> class. + </summary> + <param name="test">The test being skipped.</param> + </member> + <member name="M:NUnit.Framework.Internal.Commands.SkipCommand.Execute(NUnit.Framework.Internal.TestExecutionContext)"> + <summary> + Overridden to simply set the CurrentResult to the + appropriate Skipped state. + </summary> + <param name="context">The execution context for the test</param> + <returns>A TestResult</returns> + </member> + <member name="T:NUnit.Framework.Internal.Commands.TestActionCommand"> + <summary> + TestActionCommand handles a single ITestAction applied + to a test. It runs the BeforeTest method, then runs the + test and finally runs the AfterTest method. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.TestActionCommand.#ctor(NUnit.Framework.Internal.Commands.TestCommand,NUnit.Framework.ITestAction)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.Commands.TestActionCommand"/> class. + </summary> + <param name="innerCommand">The inner command.</param> + <param name="action">The TestAction with which to wrap the inner command.</param> + </member> + <member name="T:NUnit.Framework.Internal.Commands.TestActionItem"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.TestActionItem.#ctor(NUnit.Framework.ITestAction)"> + <summary> + Construct a TestActionItem + </summary> + <param name="action">The ITestAction to be included</param> + </member> + <member name="P:NUnit.Framework.Internal.Commands.TestActionItem.BeforeTestWasRun"> + <summary> + Get flag indicating if the BeforeTest entry was already called. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.TestActionItem.BeforeTest(NUnit.Framework.Interfaces.ITest)"> + <summary> + Run the BeforeTest method of the action and remember that it has been run. + </summary> + <param name="test">The test to which the action applies</param> + </member> + <member name="M:NUnit.Framework.Internal.Commands.TestActionItem.AfterTest(NUnit.Framework.Interfaces.ITest)"> + <summary> + Run the AfterTest action, but only if the BeforeTest + action was actually run. + </summary> + <param name="test">The test to which the action applies</param> + </member> + <member name="T:NUnit.Framework.Internal.Commands.TestCommand"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.TestCommand.#ctor(NUnit.Framework.Internal.Test)"> + <summary> + Construct a TestCommand for a test. + </summary> + <param name="test">The test to be executed</param> + </member> + <member name="P:NUnit.Framework.Internal.Commands.TestCommand.Test"> + <summary> + Gets the test associated with this command. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.TestCommand.Execute(NUnit.Framework.Internal.TestExecutionContext)"> + <summary> + Runs the test in a specified context, returning a TestResult. + </summary> + <param name="context">The TestExecutionContext to be used for running the test.</param> + <returns>A TestResult</returns> + </member> + <member name="T:NUnit.Framework.Internal.Commands.TestMethodCommand"> + <summary> + TestMethodCommand is the lowest level concrete command + used to run actual test cases. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.TestMethodCommand.#ctor(NUnit.Framework.Internal.TestMethod)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.Commands.TestMethodCommand"/> class. + </summary> + <param name="testMethod">The test.</param> + </member> + <member name="M:NUnit.Framework.Internal.Commands.TestMethodCommand.Execute(NUnit.Framework.Internal.TestExecutionContext)"> + <summary> + 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. + </summary> + <param name="context">The execution context</param> + </member> + <member name="T:NUnit.Framework.Internal.Commands.TheoryResultCommand"> + <summary> + TheoryResultCommand adjusts the result of a Theory so that + it fails if all the results were inconclusive. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.TheoryResultCommand.#ctor(NUnit.Framework.Internal.Commands.TestCommand)"> + <summary> + Constructs a TheoryResultCommand + </summary> + <param name="command">The command to be wrapped by this one</param> + </member> + <member name="T:NUnit.Framework.Internal.Commands.TimeoutCommand"> + <summary> + <see cref="T:NUnit.Framework.Internal.Commands.TimeoutCommand"/> 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Commands.TimeoutCommand.#ctor(NUnit.Framework.Internal.Commands.TestCommand,System.Int32)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.Commands.TimeoutCommand"/> class. + </summary> + <param name="innerCommand">The inner command</param> + <param name="timeout">Timeout value</param> + </member> + <member name="M:NUnit.Framework.Internal.Commands.TimeoutCommand.#ctor(NUnit.Framework.Internal.Commands.TestCommand,System.Int32,NUnit.Framework.Internal.Abstractions.IDebugger)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.Commands.TimeoutCommand"/> class. + </summary> + <param name="innerCommand">The inner command</param> + <param name="timeout">Timeout value</param> + <param name="debugger">An <see cref="T:NUnit.Framework.Internal.Abstractions.IDebugger" /> instance</param> + </member> + <member name="M:NUnit.Framework.Internal.Commands.TimeoutCommand.Execute(NUnit.Framework.Internal.TestExecutionContext)"> + <summary> + Runs the test, saving a TestResult in the supplied TestExecutionContext. + </summary> + <param name="context">The context in which the test should run.</param> + <returns>A TestResult</returns> + </member> + <member name="T:NUnit.Framework.Internal.ConstraintUtils"> + <summary> + Provides methods to support consistent checking in constraints. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ConstraintUtils.RequireActual``1(System.Object,System.String,System.Boolean)"> + <summary> + Requires that the provided object is actually of the type required. + </summary> + <param name="actual">The object to verify.</param> + <param name="paramName">Name of the parameter as passed into the checking method.</param> + <param name="allowNull"> + If <see langword="true"/> and <typeparamref name="T"/> can be null, returns null rather than throwing when <paramref name="actual"/> is null. + If <typeparamref name="T"/> cannot be null, this parameter is ignored.</param> + <typeparam name="T">The type to require.</typeparam> + </member> + <member name="T:NUnit.Framework.Internal.CultureDetector"> + <summary> + CultureDetector is a helper class used by NUnit to determine + whether a test should be run based on the current culture. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.CultureDetector.#ctor"> + <summary> + Default constructor uses the current culture. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.CultureDetector.#ctor(System.String)"> + <summary> + Construct a CultureDetector for a particular culture for testing. + </summary> + <param name="culture">The culture to be used</param> + </member> + <member name="M:NUnit.Framework.Internal.CultureDetector.IsCultureSupported(System.String[])"> + <summary> + Test to determine if one of a collection of cultures + is being used currently. + </summary> + <param name="cultures"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Internal.CultureDetector.IsCultureSupported(NUnit.Framework.CultureAttribute)"> + <summary> + Tests to determine if the current culture is supported + based on a culture attribute. + </summary> + <param name="cultureAttribute">The attribute to examine</param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Internal.CultureDetector.IsCultureSupported(System.String)"> + <summary> + Test to determine if the a particular culture or comma- + delimited set of cultures is in use. + </summary> + <param name="culture">Name of the culture or comma-separated list of culture ids</param> + <returns>True if the culture is in use on the system</returns> + </member> + <member name="P:NUnit.Framework.Internal.CultureDetector.Reason"> + <summary> + Return the last failure reason. Results are not + defined if called before IsSupported( Attribute ) + is called. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.DefaultBlockingAwaitAdapter"> + <summary> + Useful when wrapping awaiters whose <c>GetResult</c> method does not block until complete. + Contains a default mechanism to implement <see cref="M:NUnit.Framework.Internal.AwaitAdapter.BlockUntilCompleted"/> + via <see cref="P:NUnit.Framework.Internal.AwaitAdapter.IsCompleted"/> and <see cref="M:NUnit.Framework.Internal.AwaitAdapter.OnCompleted(System.Action)"/>. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.ExceptionHelper"> + <summary> + ExceptionHelper provides static methods for working with exceptions + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ExceptionHelper.Rethrow(System.Exception)"> + <summary> + Rethrows an exception, preserving its stack trace + </summary> + <param name="exception">The exception to rethrow</param> + </member> + <member name="M:NUnit.Framework.Internal.ExceptionHelper.BuildMessage(System.Exception,System.Boolean)"> + <summary> + 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. + </summary> + <param name="exception">The exception.</param> + <param name="excludeExceptionNames">Flag indicating whether exception names should be excluded.</param> + <returns>A combined message string.</returns> + </member> + <member name="M:NUnit.Framework.Internal.ExceptionHelper.BuildStackTrace(System.Exception)"> + <summary> + Builds up a message, using the Message field of the specified exception + as well as any InnerExceptions. + </summary> + <param name="exception">The exception.</param> + <returns>A combined stack trace.</returns> + </member> + <member name="M:NUnit.Framework.Internal.ExceptionHelper.RecordException(System.Delegate,System.String)"> + <summary> + Executes a parameterless synchronous or async delegate and returns the exception it throws, if any. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Execution.CompositeWorkItem"> + <summary> + A CompositeWorkItem represents a test suite and + encapsulates the execution of the suite as well + as all its child tests. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.CompositeWorkItem.Children"> + <summary> + List of Child WorkItems + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.CompositeWorkItem.IsolateChildTests"> + <summary> + Indicates whether this work item should use a separate dispatcher. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.CompositeWorkItem.#ctor(NUnit.Framework.Internal.TestSuite,NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Construct a CompositeWorkItem for executing a test suite + using a filter to select child tests. + </summary> + <param name="suite">The TestSuite to be executed</param> + <param name="childFilter">A filter used to select child tests</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.CompositeWorkItem.PerformWork"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.CompositeWorkItem.OnAllChildItemsCompleted"> + <summary> + + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.CompositeWorkItem.Cancel(System.Boolean)"> + <summary> + Cancel (abort or stop) a CompositeWorkItem and all of its children + </summary> + <param name="force">true if the CompositeWorkItem and all of its children should be aborted, false if it should allow all currently running tests to complete</param> + </member> + <member name="T:NUnit.Framework.Internal.Execution.CompositeWorkItem.OneTimeTearDownWorkItem"> + <summary> + OneTimeTearDownWorkItem represents the cleanup + and one-time teardown phase of a CompositeWorkItem + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.CompositeWorkItem.OneTimeTearDownWorkItem.#ctor(NUnit.Framework.Internal.Execution.CompositeWorkItem)"> + <summary> + Construct a OneTimeTearDownWOrkItem wrapping a CompositeWorkItem + </summary> + <param name="originalItem">The CompositeWorkItem being wrapped</param> + </member> + <member name="P:NUnit.Framework.Internal.Execution.CompositeWorkItem.OneTimeTearDownWorkItem.Name"> + <summary> + The WorkItem name, overridden to indicate this is the teardown. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.CompositeWorkItem.OneTimeTearDownWorkItem.ExecutionStrategy"> + <summary> + The ExecutionStrategy for use in running this work item + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.CompositeWorkItem.OneTimeTearDownWorkItem.Execute"> + <summary> + + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.CompositeWorkItem.OneTimeTearDownWorkItem.PerformWork"> + <summary> + PerformWork is not used in CompositeWorkItem + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.CompositeWorkItem.OneTimeTearDownWorkItem.WorkItemCancelled"> + <summary> + 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. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Execution.EventListenerTextWriter"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.#ctor(System.String,System.IO.TextWriter)"> + <summary> + Construct an EventListenerTextWriter + </summary> + <param name="streamName">The name of the stream to use for events</param> + <param name="defaultWriter">The default writer to use if no listener is available</param> + </member> + <member name="P:NUnit.Framework.Internal.Execution.EventListenerTextWriter.Encoding"> + <summary> + Get the Encoding for this TextWriter + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.Write(System.String,System.Object[])"> + <summary> + Write formatted string + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.Write(System.String,System.Object,System.Object,System.Object)"> + <summary> + Write formatted string + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.Write(System.String,System.Object)"> + <summary> + Write formatted string + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.Write(System.Object)"> + <summary> + Write an object + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.Write(System.String)"> + <summary> + Write a string + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.Write(System.Decimal)"> + <summary> + Write a decimal + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.Write(System.Double)"> + <summary> + Write a double + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.Write(System.String,System.Object,System.Object)"> + <summary> + Write formatted string + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.Write(System.UInt64)"> + <summary> + Write a ulong + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.Write(System.Int64)"> + <summary> + Write a long + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.Write(System.UInt32)"> + <summary> + Write a uint + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.Write(System.Int32)"> + <summary> + Write an int + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.Write(System.Char)"> + <summary> + Write a char + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.Write(System.Boolean)"> + <summary> + Write a boolean + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.Write(System.Char[],System.Int32,System.Int32)"> + <summary> + Write chars + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.Write(System.Char[])"> + <summary> + Write chars + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.Write(System.Single)"> + <summary> + Write a float + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.WriteLine(System.String)"> + <summary> + Write a string with newline + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.WriteLine(System.Object)"> + <summary> + Write an object with newline + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.WriteLine(System.String,System.Object[])"> + <summary> + Write formatted string with newline + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.WriteLine(System.String,System.Object,System.Object)"> + <summary> + Write formatted string with newline + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.WriteLine(System.String,System.Object,System.Object,System.Object)"> + <summary> + Write formatted string with newline + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.WriteLine(System.Decimal)"> + <summary> + Write a decimal with newline + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.WriteLine(System.String,System.Object)"> + <summary> + Write a formatted string with newline + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.WriteLine(System.Double)"> + <summary> + Write a double with newline + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.WriteLine(System.UInt32)"> + <summary> + Write a uint with newline + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.WriteLine(System.UInt64)"> + <summary> + Write a ulong with newline + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.WriteLine(System.Int64)"> + <summary> + Write a long with newline + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.WriteLine(System.Int32)"> + <summary> + Write an int with newline + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.WriteLine(System.Boolean)"> + <summary> + Write a bool with newline + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.WriteLine(System.Char[],System.Int32,System.Int32)"> + <summary> + Write chars with newline + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.WriteLine(System.Char[])"> + <summary> + Write chars with newline + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.WriteLine(System.Char)"> + <summary> + Write a char with newline + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.WriteLine(System.Single)"> + <summary> + Write a float with newline + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventListenerTextWriter.WriteLine"> + <summary> + Write newline + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Execution.EventPumpState"> + <summary> + The EventPumpState enum represents the state of an + EventPump. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Execution.EventPumpState.Stopped"> + <summary> + The pump is stopped + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Execution.EventPumpState.Pumping"> + <summary> + The pump is pumping events with no stop requested + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Execution.EventPumpState.Stopping"> + <summary> + The pump is pumping events but a stop has been requested + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Execution.EventPump"> + <summary> + 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. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Execution.EventPump._eventListener"> + <summary> + The downstream listener to which we send events + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Execution.EventPump._events"> + <summary> + The queue that holds our events + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Execution.EventPump._pumpThread"> + <summary> + Thread to do the pumping + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Execution.EventPump._pumpState"> + <summary> + The current state of the event pump + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventPump.#ctor(NUnit.Framework.Interfaces.ITestListener,NUnit.Framework.Internal.Execution.EventQueue)"> + <summary> + Constructor + </summary> + <param name="eventListener">The EventListener to receive events</param> + <param name="events">The event queue to pull events from</param> + </member> + <member name="P:NUnit.Framework.Internal.Execution.EventPump.PumpState"> + <summary> + Gets or sets the current state of the pump + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.EventPump.Name"> + <summary> + Gets or sets the name of this EventPump + (used only internally and for testing). + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventPump.Dispose"> + <summary> + Dispose stops the pump + Disposes the used WaitHandle, too. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventPump.Start"> + <summary> + Start the pump + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventPump.Stop"> + <summary> + Tell the pump to stop after emptying the queue. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventPump.PumpThreadProc"> + <summary> + 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. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Execution.Event"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.Event.Send(NUnit.Framework.Interfaces.ITestListener)"> + <summary> + The Send method is implemented by derived classes to send the event to the specified listener. + </summary> + <param name="listener">The listener.</param> + </member> + <member name="T:NUnit.Framework.Internal.Execution.TestStartedEvent"> + <summary> + TestStartedEvent holds information needed to call the TestStarted method. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.TestStartedEvent.#ctor(NUnit.Framework.Interfaces.ITest)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.Execution.TestStartedEvent"/> class. + </summary> + <param name="test">The test.</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.TestStartedEvent.Send(NUnit.Framework.Interfaces.ITestListener)"> + <summary> + Calls TestStarted on the specified listener. + </summary> + <param name="listener">The listener.</param> + </member> + <member name="T:NUnit.Framework.Internal.Execution.TestFinishedEvent"> + <summary> + TestFinishedEvent holds information needed to call the TestFinished method. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.TestFinishedEvent.#ctor(NUnit.Framework.Interfaces.ITestResult)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.Execution.TestFinishedEvent"/> class. + </summary> + <param name="result">The result.</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.TestFinishedEvent.Send(NUnit.Framework.Interfaces.ITestListener)"> + <summary> + Calls TestFinished on the specified listener. + </summary> + <param name="listener">The listener.</param> + </member> + <member name="T:NUnit.Framework.Internal.Execution.TestOutputEvent"> + <summary> + TestOutputEvent holds information needed to call the TestOutput method. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.TestOutputEvent.#ctor(NUnit.Framework.Interfaces.TestOutput)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.Execution.TestOutputEvent"/> class. + </summary> + <param name="output">The output object.</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.TestOutputEvent.Send(NUnit.Framework.Interfaces.ITestListener)"> + <summary> + Calls TestOutput on the specified listener. + </summary> + <param name="listener">The listener.</param> + </member> + <member name="T:NUnit.Framework.Internal.Execution.TestMessageEvent"> + <summary> + TestMessageEvent holds information needed to call the SendMessage method. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.TestMessageEvent.#ctor(NUnit.Framework.Interfaces.TestMessage)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.Execution.TestMessageEvent"/> class. + </summary> + <param name="testMessage">The test message object.</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.TestMessageEvent.Send(NUnit.Framework.Interfaces.ITestListener)"> + <summary> + Calls <see cref="M:NUnit.Framework.Internal.Execution.TestMessageEvent.Send(NUnit.Framework.Interfaces.ITestListener)"/> on the specified listener. + </summary> + <param name="listener">The listener.</param> + </member> + <member name="P:NUnit.Framework.Internal.Execution.TestMessageEvent.TestMessage"> + <summary> + Holds <see cref="P:NUnit.Framework.Internal.Execution.TestMessageEvent.TestMessage"/> object for sending to all listeners + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Execution.EventQueue"> + <summary> + Implements a queue of work items each of which + is queued as a WaitCallback. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.EventQueue.Count"> + <summary> + Gets the count of items in the queue. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventQueue.Enqueue(NUnit.Framework.Internal.Execution.Event)"> + <summary> + Enqueues the specified event + </summary> + <param name="e">The event to enqueue.</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventQueue.Dequeue(System.Boolean)"> + <summary> + Removes the first element from the queue and returns it (or <see langword="null"/>). + </summary> + <param name="blockWhenEmpty"> + If <see langword="true"/> and the queue is empty, the calling thread is blocked until + either an element is enqueued, or <see cref="M:NUnit.Framework.Internal.Execution.EventQueue.Stop"/> is called. + </param> + <returns> + <list type="bullet"> + <item> + <term>If the queue not empty</term> + <description>the first element.</description> + </item> + <item> + <term>otherwise, if <paramref name="blockWhenEmpty"/>==<see langword="false"/> + or <see cref="M:NUnit.Framework.Internal.Execution.EventQueue.Stop"/> has been called</term> + <description><see langword="null"/>.</description> + </item> + </list> + </returns> + </member> + <member name="M:NUnit.Framework.Internal.Execution.EventQueue.Stop"> + <summary> + Stop processing of the queue + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Execution.IMethodValidator"> + <summary> + Validates method to execute. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.IMethodValidator.Validate(System.Reflection.MethodInfo)"> + <summary> + Determines whether a method is allowed to execute and throws an exception otherwise. + </summary> + <param name="method">The method to validate.</param> + </member> + <member name="T:NUnit.Framework.Internal.Execution.IWorkItemDispatcher"> + <summary> + An IWorkItemDispatcher handles execution of work items. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.IWorkItemDispatcher.LevelOfParallelism"> + <summary> + The level of parallelism supported. Zero if not supported. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.IWorkItemDispatcher.Start(NUnit.Framework.Internal.Execution.WorkItem)"> + <summary> + Start execution, performing any initialization. Sets + the top level work item and dispatches it. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.IWorkItemDispatcher.Dispatch(NUnit.Framework.Internal.Execution.WorkItem)"> + <summary> + 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. + </summary> + <param name="work">The item to dispatch</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.IWorkItemDispatcher.CancelRun(System.Boolean)"> + <summary> + Cancel the ongoing run completely. + If no run is in process, the call has no effect. + </summary> + <param name="force">true if the IWorkItemDispatcher should abort all currently running WorkItems, false if it should allow all currently running WorkItems to complete</param> + </member> + <member name="T:NUnit.Framework.Internal.Execution.MainThreadWorkItemDispatcher"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.MainThreadWorkItemDispatcher.LevelOfParallelism"> + <summary> + The level of parallelism supported + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.MainThreadWorkItemDispatcher.Start(NUnit.Framework.Internal.Execution.WorkItem)"> + <summary> + Start execution, dispatching the top level + work into the main thread. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.MainThreadWorkItemDispatcher.Dispatch(NUnit.Framework.Internal.Execution.WorkItem)"> + <summary> + Dispatch a single work item for execution by + executing it directly. + </summary> + <param name="work">The item to dispatch</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.MainThreadWorkItemDispatcher.CancelRun(System.Boolean)"> + <summary> + This method is not supported for + this dispatcher. Using it will throw a + NotSupportedException. + </summary> + <param name="force">Not used</param> + <exception cref="T:System.NotSupportedException">If used, it will always throw this.</exception> + </member> + <member name="T:NUnit.Framework.Internal.Execution.ParallelExecutionStrategy"> + <summary> + Enumeration representing the strategy to follow in executing a work item. + The value is only relevant when running under the parallel dispatcher. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Execution.ParallelExecutionStrategy.Direct"> + <summary> + Run directly on same thread + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Execution.ParallelExecutionStrategy.Parallel"> + <summary> + Enqueue for parallel execution + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Execution.ParallelExecutionStrategy.NonParallel"> + <summary> + Enqueue for non-parallel execution + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Execution.ParallelWorkItemDispatcher"> + <summary> + ParallelWorkItemDispatcher handles execution of work items by + queuing them for worker threads to process. + </summary> + </member> + <member name="E:NUnit.Framework.Internal.Execution.ParallelWorkItemDispatcher.ShiftStarting"> + <summary> + Event raised whenever a shift is starting. + </summary> + </member> + <member name="E:NUnit.Framework.Internal.Execution.ParallelWorkItemDispatcher.ShiftFinished"> + <summary> + Event raised whenever a shift has ended. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.ParallelWorkItemDispatcher.#ctor(System.Int32)"> + <summary> + Construct a ParallelWorkItemDispatcher + </summary> + <param name="levelOfParallelism">Number of workers to use</param> + </member> + <member name="P:NUnit.Framework.Internal.Execution.ParallelWorkItemDispatcher.LevelOfParallelism"> + <summary> + Number of parallel worker threads + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.ParallelWorkItemDispatcher.Shifts"> + <summary> + Enumerates all the shifts supported by the dispatcher + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.ParallelWorkItemDispatcher.Queues"> + <summary> + Enumerates all the Queues supported by the dispatcher + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.ParallelWorkItemDispatcher.Start(NUnit.Framework.Internal.Execution.WorkItem)"> + <summary> + Start execution, setting the top level work, + enqueuing it and starting a shift to execute it. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.ParallelWorkItemDispatcher.Dispatch(NUnit.Framework.Internal.Execution.WorkItem)"> + <summary> + 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. + </summary> + <param name="work">The item to dispatch</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.ParallelWorkItemDispatcher.CancelRun(System.Boolean)"> + <summary> + Cancel the ongoing run completely. + If no run is in process, the call has no effect. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.ParallelWorkItemDispatcher.IsolateQueues(NUnit.Framework.Internal.Execution.WorkItem)"> + <summary> + Save the state of the queues and create a new isolated set + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.ParallelWorkItemDispatcher.TryRestoreQueues"> + <summary> + Try to remove isolated queues and restore old ones + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Execution.QueuingEventListener"> + <summary> + QueuingEventListener uses an EventQueue to store any + events received on its EventListener interface. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.QueuingEventListener.Events"> + <summary> + The EventQueue created and filled by this listener + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.QueuingEventListener.#ctor"> + <summary> + Construct a QueuingEventListener + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.QueuingEventListener.TestStarted(NUnit.Framework.Interfaces.ITest)"> + <summary> + A test has started + </summary> + <param name="test">The test that is starting</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.QueuingEventListener.TestFinished(NUnit.Framework.Interfaces.ITestResult)"> + <summary> + A test case finished + </summary> + <param name="result">Result of the test case</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.QueuingEventListener.TestOutput(NUnit.Framework.Interfaces.TestOutput)"> + <summary> + Called when a test produces output for immediate display + </summary> + <param name="output">A TestOutput object containing the text to display</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.QueuingEventListener.SendMessage(NUnit.Framework.Interfaces.TestMessage)"> + <summary> + Called when a test produces a message to be sent to listeners + </summary> + <param name="message">A <see cref="T:NUnit.Framework.Interfaces.TestMessage"/> object containing the text to send</param> + </member> + <member name="T:NUnit.Framework.Internal.Execution.SimpleWorkItem"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.SimpleWorkItem.#ctor(NUnit.Framework.Internal.TestMethod,NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Construct a simple work item for a test. + </summary> + <param name="test">The test to be executed</param> + <param name="filter">The filter used to select this test</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.SimpleWorkItem.#ctor(NUnit.Framework.Internal.TestMethod,NUnit.Framework.Interfaces.ITestFilter,NUnit.Framework.Internal.Abstractions.IDebugger)"> + <summary> + Construct a simple work item for a test. + </summary> + <param name="test">The test to be executed</param> + <param name="filter">The filter used to select this test</param> + <param name="debugger">An <see cref="T:NUnit.Framework.Internal.Abstractions.IDebugger"/> instance</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.SimpleWorkItem.PerformWork"> + <summary> + Method that performs actually performs the work. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.SimpleWorkItem.MakeTestCommand"> + <summary> + Creates a test command for use in running this test. + </summary> + <returns>A TestCommand</returns> + </member> + <member name="T:NUnit.Framework.Internal.Execution.SimpleWorkItemDispatcher"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.SimpleWorkItemDispatcher.LevelOfParallelism"> + <summary> + The level of parallelism supported + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.SimpleWorkItemDispatcher.Start(NUnit.Framework.Internal.Execution.WorkItem)"> + <summary> + Start execution, creating the execution thread, + setting the top level work and dispatching it. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.SimpleWorkItemDispatcher.Dispatch(NUnit.Framework.Internal.Execution.WorkItem)"> + <summary> + Dispatch a single work item for execution by + executing it directly. + </summary> + <param name="work">The item to dispatch</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.SimpleWorkItemDispatcher.CancelRun(System.Boolean)"> + <summary> + Cancel (abort or stop) the ongoing run. + If no run is in process, the call has no effect. + </summary> + <param name="force">true if the run should be aborted, false if it should allow its currently running test to complete</param> + </member> + <member name="T:NUnit.Framework.Internal.Execution.StaticMethodValidator"> + <summary> + Checks whether the method to execute is static. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.StaticMethodValidator.#ctor(System.String)"> + <summary> + Construct a StaticMethodValidator. + </summary> + <param name="failMessage">The error message to output in case the validation fails.</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.StaticMethodValidator.Validate(System.Reflection.MethodInfo)"> + <summary> + Determines whether a method to execute is static and throws an InvalidOperationException otherwise. + </summary> + <param name="method">The method to validate.</param> + </member> + <member name="T:NUnit.Framework.Internal.Execution.TestWorker"> + <summary> + A TestWorker pulls work items from a queue + and executes them. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Execution.TestWorker.TestWorkerEventHandler"> + <summary> + Event handler for TestWorker events + </summary> + <param name="worker">The TestWorker sending the event</param> + <param name="work">The WorkItem that caused the event</param> + </member> + <member name="E:NUnit.Framework.Internal.Execution.TestWorker.Busy"> + <summary> + Event signaled immediately before executing a WorkItem + </summary> + </member> + <member name="E:NUnit.Framework.Internal.Execution.TestWorker.Idle"> + <summary> + Event signaled immediately after executing a WorkItem + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.TestWorker.#ctor(NUnit.Framework.Internal.Execution.WorkItemQueue,System.String)"> + <summary> + Construct a new TestWorker. + </summary> + <param name="queue">The queue from which to pull work items</param> + <param name="name">The name of this worker</param> + </member> + <member name="P:NUnit.Framework.Internal.Execution.TestWorker.WorkQueue"> + <summary> + The WorkItemQueue from which this worker pulls WorkItems + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.TestWorker.Name"> + <summary> + The name of this worker - also used for the thread + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.TestWorker.IsAlive"> + <summary> + Indicates whether the worker thread is running + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Execution.TestWorker._currentWorkItem"> + <summary> + Our ThreadProc, which pulls and runs tests in a loop + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.TestWorker.Start"> + <summary> + Create thread and start processing work items. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.TestWorker.Cancel(System.Boolean)"> + <summary> + Stop the thread, either immediately or after finishing the current WorkItem + </summary> + <param name="force">true if the thread should be aborted, false if it should allow the currently running test to complete</param> + </member> + <member name="T:NUnit.Framework.Internal.Execution.TextCapture"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.TextCapture.#ctor(System.IO.TextWriter)"> + <summary> + Construct a TextCapture object + </summary> + <param name="defaultWriter">The default destination for non-intercepted output</param> + </member> + <member name="P:NUnit.Framework.Internal.Execution.TextCapture.Encoding"> + <summary> + Gets the Encoding in use by this TextWriter + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.TextCapture.Write(System.Char)"> + <summary> + Writes a single character + </summary> + <param name="value">The char to write</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.TextCapture.Write(System.String)"> + <summary> + Writes a string + </summary> + <param name="value">The string to write</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.TextCapture.WriteLine(System.String)"> + <summary> + Writes a string followed by a line terminator + </summary> + <param name="value">The string to write</param> + </member> + <member name="T:NUnit.Framework.Internal.Execution.WorkItem"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItem.#ctor(NUnit.Framework.Internal.Test,NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Construct a WorkItem for a particular test. + </summary> + <param name="test">The test that the WorkItem will run</param> + <param name="filter">Filter used to include or exclude child items</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItem.#ctor(NUnit.Framework.Internal.Execution.WorkItem)"> + <summary> + 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. + </summary> + <param name="wrappedItem">The WorkItem being wrapped</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItem.InitializeContext(NUnit.Framework.Internal.TestExecutionContext)"> + <summary> + Initialize the TestExecutionContext. This must be done + before executing the WorkItem. + </summary> + <remarks> + 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. + </remarks> + <param name="context">The TestExecutionContext to use</param> + </member> + <member name="E:NUnit.Framework.Internal.Execution.WorkItem.Completed"> + <summary> + Event triggered when the item is complete + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkItem.State"> + <summary> + Gets the current state of the WorkItem + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkItem.Test"> + <summary> + The test being executed by the work item + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkItem.Name"> + <summary> + The name of the work item - defaults to the Test name. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkItem.Filter"> + <summary> + Filter used to include or exclude child tests + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkItem.Context"> + <summary> + The execution context + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkItem.TestWorker"> + <summary> + The worker executing this item. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkItem.ExecutionStrategy"> + <summary> + The ParallelExecutionStrategy to use for this work item + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkItem.IsolateChildTests"> + <summary> + Indicates whether this work item should use a separate dispatcher. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkItem.Result"> + <summary> + The test result + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkItem.ParallelScope"> + <summary> + Gets the ParallelScope associated with the test, if any, + otherwise returning ParallelScope.Default; + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItem.Execute"> + <summary> + Execute the current work item, including any + child work items. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItem.WaitForCompletion"> + <summary> + Wait until the execution of this item is complete + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItem.MarkNotRunnable(System.String)"> + <summary> + Marks the WorkItem as NotRunnable. + </summary> + <param name="reason">Reason for test being NotRunnable.</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItem.Cancel(System.Boolean)"> + <summary> + Cancel (abort or stop) a WorkItem + </summary> + <param name="force">true if the WorkItem should be aborted, false if it should run to completion</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItem.Dispose"> + <summary> + Standard Dispose + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItem.PerformWork"> + <summary> + Method that performs actually performs the work. It should + set the State to WorkItemState.Complete when done. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItem.WorkItemComplete"> + <summary> + Method called by the derived class when all work is complete + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItem.BuildSetUpTearDownList(NUnit.Framework.Interfaces.IMethodInfo[],NUnit.Framework.Interfaces.IMethodInfo[],NUnit.Framework.Internal.Execution.IMethodValidator)"> + <summary> + Builds the set up tear down list. + </summary> + <param name="setUpMethods">Unsorted array of setup MethodInfos.</param> + <param name="tearDownMethods">Unsorted array of teardown MethodInfos.</param> + <param name="methodValidator">Method validator used before each method execution.</param> + <returns>A list of SetUpTearDownItems</returns> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItem.ChangeResult(NUnit.Framework.Interfaces.ResultState,System.String)"> + <summary> + Changes the result of the test, logging the old and new states + </summary> + <param name="resultState">The new ResultState</param> + <param name="message">The new message</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItem.GetTargetApartment(NUnit.Framework.Interfaces.ITest)"> + <summary> + Recursively walks up the test hierarchy to see if the + <see cref="T:System.Threading.ApartmentState"/> has been set on any of the parent tests. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Execution.WorkItemBuilder"> + <summary> + WorkItemBuilder class knows how to build a tree of work items from a tree of tests + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItemBuilder.CreateWorkItem(NUnit.Framework.Interfaces.ITest,NUnit.Framework.Interfaces.ITestFilter,System.Boolean)"> + <summary> + Creates a work item. + </summary> + <param name="test">The test for which this WorkItem is being created.</param> + <param name="filter">The filter to be used in selecting any child Tests.</param> + <param name="recursive">True if child work items should be created and added.</param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItemBuilder.CreateWorkItem(NUnit.Framework.Interfaces.ITest,NUnit.Framework.Interfaces.ITestFilter,NUnit.Framework.Internal.Abstractions.IDebugger,System.Boolean,System.Boolean)"> + <summary> + Creates a work item. + </summary> + <param name="test">The test for which this WorkItem is being created.</param> + <param name="filter">The filter to be used in selecting any child Tests.</param> + <param name="debugger">An <see cref="T:NUnit.Framework.Internal.Abstractions.IDebugger" /> instance.</param> + <param name="recursive">True if child work items should be created and added.</param> + <param name="root"><see langword="true"/> if work item needs to be created unconditionally, if <see langword="false"/> <see langword="null"/> will be returned for tests that don't match the filter.</param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItemBuilder.WorkItemOrderComparer.Compare(NUnit.Framework.Internal.Execution.WorkItem,NUnit.Framework.Internal.Execution.WorkItem)"> + <summary> + Compares two objects and returns a value indicating whether one is less than, equal to, or greater than the other. + </summary> + <returns> + A signed integer that indicates the relative values of <paramref name="x"/> and <paramref name="y"/>, as shown in the following table.Value Meaning Less than zero<paramref name="x"/> is less than <paramref name="y"/>.Zero<paramref name="x"/> equals <paramref name="y"/>.Greater than zero<paramref name="x"/> is greater than <paramref name="y"/>. + </returns> + <param name="x">The first object to compare.</param><param name="y">The second object to compare.</param> + </member> + <member name="T:NUnit.Framework.Internal.Execution.WorkItemQueueState"> + <summary> + WorkItemQueueState indicates the current state of a WorkItemQueue + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Execution.WorkItemQueueState.Paused"> + <summary> + The queue is paused + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Execution.WorkItemQueueState.Running"> + <summary> + The queue is running + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Execution.WorkItemQueueState.Stopped"> + <summary> + The queue is stopped + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Execution.WorkItemQueue"> + <summary> + A WorkItemQueue holds work items that are ready to + be run, either initially or after some dependency + has been satisfied. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItemQueue.#ctor(System.String,System.Boolean,System.Threading.ApartmentState)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.Execution.WorkItemQueue"/> class. + </summary> + <param name="name">The name of the queue.</param> + <param name="isParallel">Flag indicating whether this is a parallel queue</param> + <param name="apartment">ApartmentState to use for items on this queue</param> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkItemQueue.Name"> + <summary> + Gets the name of the work item queue. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkItemQueue.IsParallelQueue"> + <summary> + Gets a flag indicating whether this queue is used for parallel execution + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkItemQueue.TargetApartment"> + <summary> + Gets the target ApartmentState for work items on this queue + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkItemQueue.ItemsProcessed"> + <summary> + Gets the total number of items processed so far + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkItemQueue.State"> + <summary> + Gets the current state of the queue + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkItemQueue.IsEmpty"> + <summary> + Get a bool indicating whether the queue is empty. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItemQueue.Enqueue(NUnit.Framework.Internal.Execution.WorkItem)"> + <summary> + Enqueue a WorkItem to be processed + </summary> + <param name="work">The WorkItem to process</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItemQueue.Enqueue(NUnit.Framework.Internal.Execution.WorkItem,System.Int32)"> + <summary> + Enqueue a WorkItem to be processed - internal for testing + </summary> + <param name="work">The WorkItem to process</param> + <param name="priority">The priority at which to process the item</param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItemQueue.Dequeue"> + <summary> + Dequeue a WorkItem for processing + </summary> + <returns>A WorkItem or null if the queue has stopped</returns> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItemQueue.Start"> + <summary> + Start or restart processing of items from the queue + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItemQueue.Stop"> + <summary> + Signal the queue to stop + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItemQueue.Pause"> + <summary> + Pause the queue for restarting later + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItemQueue.Save"> + <summary> + Save the current inner queue and create new ones for use by + a non-parallel fixture with parallel children. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkItemQueue.Restore"> + <summary> + Restore the inner queue that was previously saved + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Execution.WorkItemState"> + <summary> + The current state of a work item + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Execution.WorkItemState.Ready"> + <summary> + Ready to run or continue + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Execution.WorkItemState.Running"> + <summary> + Work Item is executing + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Execution.WorkItemState.Complete"> + <summary> + Complete + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Execution.ShiftChangeEventHandler"> + <summary> + Handler for ShiftChange events. + </summary> + <param name="shift">The shift that is starting or ending.</param> + </member> + <member name="T:NUnit.Framework.Internal.Execution.WorkShift"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkShift.#ctor(System.String)"> + <summary> + Construct a WorkShift + </summary> + </member> + <member name="E:NUnit.Framework.Internal.Execution.WorkShift.EndOfShift"> + <summary> + Event that fires when the shift has ended + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkShift.Name"> + <summary> + The Name of this shift + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkShift.IsActive"> + <summary> + Gets a flag indicating whether the shift is currently active + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkShift.HasWork"> + <summary> + Gets a bool indicating whether this shift has any work to do + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkShift.Queues"> + <summary> + Gets a list of the queues associated with this shift. + </summary> + <remarks>Internal for testing - immutable once initialized</remarks> + </member> + <member name="P:NUnit.Framework.Internal.Execution.WorkShift.Workers"> + <summary> + Gets the list of workers associated with this shift. + </summary> + <remarks>Internal for testing - immutable once initialized</remarks> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkShift.AddQueue(NUnit.Framework.Internal.Execution.WorkItemQueue)"> + <summary> + Add a WorkItemQueue to the shift, starting it if the + shift is currently active. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkShift.Assign(NUnit.Framework.Internal.Execution.TestWorker)"> + <summary> + Assign a worker to the shift. + </summary> + <param name="worker"></param> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkShift.Start"> + <summary> + Start or restart processing for the shift + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkShift.EndShift"> + <summary> + End the shift, pausing all queues and raising + the EndOfShift event. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkShift.ShutDown"> + <summary> + Shut down the shift. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Execution.WorkShift.Cancel(System.Boolean)"> + <summary> + Cancel (abort or stop) the shift without completing all work + </summary> + <param name="force">true if the WorkShift should be aborted, false if it should allow its currently running tests to complete</param> + </member> + <member name="T:NUnit.Framework.Internal.TextMessageWriter"> + <summary> + 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. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TextMessageWriter.Pfx_Expected"> + <summary> + Prefix used for the expected value line of a message + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TextMessageWriter.Pfx_Actual"> + <summary> + Prefix used for the actual value line of a message + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TextMessageWriter.Pfx_Difference"> + <summary> + Prefix used for the actual difference between actual and expected values if compared with a tolerance + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TextMessageWriter.PrefixLength"> + <summary> + Length of a message prefix + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TextMessageWriter.#ctor"> + <summary> + Construct a TextMessageWriter + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TextMessageWriter.#ctor(System.String,System.Object[])"> + <summary> + Construct a TextMessageWriter, specifying a user message + and optional formatting arguments. + </summary> + <param name="userMessage"></param> + <param name="args"></param> + </member> + <member name="P:NUnit.Framework.Internal.TextMessageWriter.MaxLineLength"> + <summary> + Gets or sets the maximum line length for this writer + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TextMessageWriter.WriteMessageLine(System.Int32,System.String,System.Object[])"> + <summary> + Method to write single line message with optional args, usually + written to precede the general failure message, at a given + indentation level. + </summary> + <param name="level">The indentation level of the message</param> + <param name="message">The message to be written</param> + <param name="args">Any arguments used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Internal.TextMessageWriter.DisplayDifferences(NUnit.Framework.Constraints.ConstraintResult)"> + <summary> + 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. + </summary> + <param name="result">The result of the constraint that failed</param> + </member> + <member name="M:NUnit.Framework.Internal.TextMessageWriter.ResolveTypeNameDifference(System.Object,System.Object,System.String@,System.String@)"> + <summary> + Gets the unique type name between expected and actual. + </summary> + <param name="expected">The expected value</param> + <param name="actual">The actual value causing the failure</param> + <param name="expectedType">Output of the unique type name for expected</param> + <param name="actualType">Output of the unique type name for actual</param> + </member> + <member name="M:NUnit.Framework.Internal.TextMessageWriter.DisplayDifferences(System.Object,System.Object)"> + <summary> + 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. + </summary> + <param name="expected">The expected value</param> + <param name="actual">The actual value causing the failure</param> + </member> + <member name="M:NUnit.Framework.Internal.TextMessageWriter.DisplayDifferences(System.Object,System.Object,NUnit.Framework.Constraints.Tolerance)"> + <summary> + Display Expected and Actual lines for given values, including + a tolerance value on the expected line. + </summary> + <param name="expected">The expected value</param> + <param name="actual">The actual value causing the failure</param> + <param name="tolerance">The tolerance within which the test was made</param> + </member> + <member name="M:NUnit.Framework.Internal.TextMessageWriter.DisplayStringDifferences(System.String,System.String,System.Int32,System.Boolean,System.Boolean)"> + <summary> + 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. + </summary> + <param name="expected">The expected string value</param> + <param name="actual">The actual string value</param> + <param name="mismatch">The point at which the strings don't match or -1</param> + <param name="ignoreCase">If true, case is ignored in string comparisons</param> + <param name="clipping">If true, clip the strings to fit the max line length</param> + </member> + <member name="M:NUnit.Framework.Internal.TextMessageWriter.WriteActualValue(System.Object)"> + <summary> + Writes the text for an actual value. + </summary> + <param name="actual">The actual value.</param> + </member> + <member name="M:NUnit.Framework.Internal.TextMessageWriter.WriteValue(System.Object)"> + <summary> + Writes the text for a generalized value. + </summary> + <param name="val">The value.</param> + </member> + <member name="M:NUnit.Framework.Internal.TextMessageWriter.WriteCollectionElements(System.Collections.IEnumerable,System.Int64,System.Int32)"> + <summary> + Writes the text for a collection value, + starting at a particular point, to a max length + </summary> + <param name="collection">The collection containing elements to write.</param> + <param name="start">The starting point of the elements to write</param> + <param name="max">The maximum number of elements to write</param> + </member> + <member name="M:NUnit.Framework.Internal.TextMessageWriter.WriteExpectedLine(NUnit.Framework.Constraints.ConstraintResult)"> + <summary> + Write the generic 'Expected' line for a constraint + </summary> + <param name="result">The constraint that failed</param> + </member> + <member name="M:NUnit.Framework.Internal.TextMessageWriter.WriteExpectedLine(System.Object,NUnit.Framework.Constraints.Tolerance)"> + <summary> + Write the generic 'Expected' line for a given value + and tolerance. + </summary> + <param name="expected">The expected value</param> + <param name="tolerance">The tolerance within which the test was made</param> + </member> + <member name="M:NUnit.Framework.Internal.TextMessageWriter.WriteActualLine(NUnit.Framework.Constraints.ConstraintResult)"> + <summary> + Write the generic 'Actual' line for a constraint + </summary> + <param name="result">The ConstraintResult for which the actual value is to be written</param> + </member> + <member name="M:NUnit.Framework.Internal.TextMessageWriter.WriteActualLine(System.Object)"> + <summary> + Write the generic 'Actual' line for a given value + </summary> + <param name="actual">The actual value causing a failure</param> + </member> + <member name="T:NUnit.Framework.Internal.Extensions.IPropertyBagDataExtensions"> + <summary> + Extensions to <see cref="T:NUnit.Framework.Interfaces.IPropertyBag"/>. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Extensions.IPropertyBagDataExtensions.AddIgnoreUntilReason(NUnit.Framework.Interfaces.IPropertyBag,System.DateTimeOffset,System.String)"> + <summary> + Adds the skip reason to tests that are ignored until a specific date. + </summary> + <param name="properties">The test properties to add the skip reason to</param> + <param name="untilDate">The date that the test is being ignored until</param> + <param name="reason">The reason the test is being ignored until that date</param> + </member> + <member name="T:NUnit.Framework.Internal.Filters.AndFilter"> + <summary> + Combines multiple filters so that a test must pass all + of them in order to pass this filter. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Filters.AndFilter.#ctor"> + <summary> + Constructs an empty AndFilter + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Filters.AndFilter.#ctor(NUnit.Framework.Internal.TestFilter[])"> + <summary> + Constructs an AndFilter from an array of filters + </summary> + <param name="filters"></param> + </member> + <member name="M:NUnit.Framework.Internal.Filters.AndFilter.Pass(NUnit.Framework.Interfaces.ITest,System.Boolean)"> + <summary> + Checks whether the AndFilter is matched by a test + </summary> + <param name="test">The test to be matched</param> + <param name="negated">If set to <see langword="true"/> we are carrying a negation through</param> + <returns>True if all the component filters pass, otherwise false</returns> + </member> + <member name="M:NUnit.Framework.Internal.Filters.AndFilter.Match(NUnit.Framework.Interfaces.ITest)"> + <summary> + Checks whether the AndFilter is matched by a test + </summary> + <param name="test">The test to be matched</param> + <returns>True if all the component filters match, otherwise false</returns> + </member> + <member name="M:NUnit.Framework.Internal.Filters.AndFilter.IsExplicitMatch(NUnit.Framework.Interfaces.ITest)"> + <summary> + Checks whether the AndFilter is explicit matched by a test. + </summary> + <param name="test">The test to be matched</param> + <returns>True if all the component filters explicit match, otherwise false</returns> + </member> + <member name="P:NUnit.Framework.Internal.Filters.AndFilter.ElementName"> + <summary> + Gets the element name + </summary> + <value>Element name</value> + </member> + <member name="T:NUnit.Framework.Internal.Filters.CategoryFilter"> + <summary> + CategoryFilter is able to select or exclude tests + based on their categories. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Filters.CategoryFilter.#ctor(System.String)"> + <summary> + Construct a CategoryFilter using a single category name + </summary> + <param name="name">A category name</param> + </member> + <member name="M:NUnit.Framework.Internal.Filters.CategoryFilter.Match(NUnit.Framework.Interfaces.ITest)"> + <summary> + Check whether the filter matches a test + </summary> + <param name="test">The test to be matched</param> + <returns></returns> + </member> + <member name="P:NUnit.Framework.Internal.Filters.CategoryFilter.ElementName"> + <summary> + Gets the element name + </summary> + <value>Element name</value> + </member> + <member name="T:NUnit.Framework.Internal.Filters.ClassNameFilter"> + <summary> + ClassName filter selects tests based on the class FullName + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Filters.ClassNameFilter.#ctor(System.String)"> + <summary> + Construct a FullNameFilter for a single name + </summary> + <param name="expectedValue">The name the filter will recognize.</param> + </member> + <member name="M:NUnit.Framework.Internal.Filters.ClassNameFilter.Match(NUnit.Framework.Interfaces.ITest)"> + <summary> + Match a test against a single value. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Filters.ClassNameFilter.ElementName"> + <summary> + Gets the element name + </summary> + <value>Element name</value> + </member> + <member name="T:NUnit.Framework.Internal.Filters.CompositeFilter"> + <summary> + A base class for multi-part filters + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Filters.CompositeFilter.#ctor"> + <summary> + Constructs an empty CompositeFilter + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Filters.CompositeFilter.#ctor(NUnit.Framework.Internal.TestFilter[])"> + <summary> + Constructs a CompositeFilter from an array of filters + </summary> + <param name="filters"></param> + </member> + <member name="P:NUnit.Framework.Internal.Filters.CompositeFilter.Filters"> + <summary> + Return a list of the composing filters. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Filters.CompositeFilter.Pass(NUnit.Framework.Interfaces.ITest,System.Boolean)"> + <summary> + Checks whether the CompositeFilter is matched by a test. + </summary> + <param name="test">The test to be matched</param> + <param name="negated">If set to <see langword="true"/> we are carrying a negation through</param> + </member> + <member name="M:NUnit.Framework.Internal.Filters.CompositeFilter.Match(NUnit.Framework.Interfaces.ITest)"> + <summary> + Checks whether the CompositeFilter is matched by a test. + </summary> + <param name="test">The test to be matched</param> + </member> + <member name="M:NUnit.Framework.Internal.Filters.CompositeFilter.IsExplicitMatch(NUnit.Framework.Interfaces.ITest)"> + <summary> + Checks whether the CompositeFilter is explicit matched by a test. + </summary> + <param name="test">The test to be matched</param> + </member> + <member name="M:NUnit.Framework.Internal.Filters.CompositeFilter.AddToXml(NUnit.Framework.Interfaces.TNode,System.Boolean)"> + <summary> + Adds an XML node + </summary> + <param name="parentNode">Parent node</param> + <param name="recursive">True if recursive</param> + <returns>The added XML node</returns> + </member> + <member name="P:NUnit.Framework.Internal.Filters.CompositeFilter.ElementName"> + <summary> + Gets the element name + </summary> + <value>Element name</value> + </member> + <member name="T:NUnit.Framework.Internal.Filters.FullNameFilter"> + <summary> + FullName filter selects tests based on their FullName + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Filters.FullNameFilter.#ctor(System.String)"> + <summary> + Construct a FullNameFilter for a single name + </summary> + <param name="expectedValue">The name the filter will recognize.</param> + </member> + <member name="M:NUnit.Framework.Internal.Filters.FullNameFilter.Match(NUnit.Framework.Interfaces.ITest)"> + <summary> + Match a test against a single value. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Filters.FullNameFilter.ElementName"> + <summary> + Gets the element name + </summary> + <value>Element name</value> + </member> + <member name="T:NUnit.Framework.Internal.Filters.IdFilter"> + <summary> + IdFilter selects tests based on their id + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Filters.IdFilter.#ctor(System.String)"> + <summary> + Construct an IdFilter for a single value + </summary> + <param name="id">The id the filter will recognize.</param> + </member> + <member name="M:NUnit.Framework.Internal.Filters.IdFilter.Match(NUnit.Framework.Interfaces.ITest)"> + <summary> + Match a test against a single value. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Filters.IdFilter.ElementName"> + <summary> + Gets the element name + </summary> + <value>Element name</value> + </member> + <member name="T:NUnit.Framework.Internal.Filters.InFilter"> + <summary> + Optimized filter to check in condition using HashSet. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Filters.InFilter.#ctor(System.Func{NUnit.Framework.Interfaces.ITest,System.String},System.Collections.Generic.IEnumerable{System.String},System.String)"> + <summary> + Constructs new InFilter. + </summary> + <param name="selector">Selector to get value to check.</param> + <param name="values">Valid values for the filter.</param> + <param name="xmlElementName">The XML element name the original filter used.</param> + </member> + <member name="M:NUnit.Framework.Internal.Filters.InFilter.TryOptimize(NUnit.Framework.Internal.Filters.OrFilter,NUnit.Framework.Internal.Filters.InFilter@)"> + <summary> + Tries to optimize OrFilter into InFilter if contained filters are all same and non-regex. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Filters.MethodNameFilter"> + <summary> + FullName filter selects tests based on their FullName + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Filters.MethodNameFilter.#ctor(System.String)"> + <summary> + Construct a MethodNameFilter for a single name + </summary> + <param name="expectedValue">The name the filter will recognize.</param> + </member> + <member name="M:NUnit.Framework.Internal.Filters.MethodNameFilter.Match(NUnit.Framework.Interfaces.ITest)"> + <summary> + Match a test against a single value. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Filters.MethodNameFilter.ElementName"> + <summary> + Gets the element name + </summary> + <value>Element name</value> + </member> + <member name="T:NUnit.Framework.Internal.Filters.NamespaceFilter"> + <summary> + ClassName filter selects tests based on the class FullName + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Filters.NamespaceFilter.#ctor(System.String)"> + <summary> + Construct a NamespaceFilter for a single namespace + </summary> + <param name="expectedValue">The namespace the filter will recognize.</param> + </member> + <member name="M:NUnit.Framework.Internal.Filters.NamespaceFilter.Match(NUnit.Framework.Interfaces.ITest)"> + <summary> + Match a test against a single value. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Filters.NamespaceFilter.ElementName"> + <summary> + Gets the element name + </summary> + <value>Element name</value> + </member> + <member name="T:NUnit.Framework.Internal.Filters.NotFilter"> + <summary> + NotFilter negates the operation of another filter + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Filters.NotFilter.#ctor(NUnit.Framework.Internal.TestFilter)"> + <summary> + Construct a not filter on another filter + </summary> + <param name="baseFilter">The filter to be negated</param> + </member> + <member name="P:NUnit.Framework.Internal.Filters.NotFilter.BaseFilter"> + <summary> + Gets the base filter + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Filters.NotFilter.Pass(NUnit.Framework.Interfaces.ITest,System.Boolean)"> + <summary> + Determine if a particular test passes the filter criteria. + </summary> + <param name="test">The test to which the filter is applied</param> + <param name="negated">If set to <see langword="true"/> we are carrying a negation through</param> + <returns>True if the test passes the filter, otherwise false</returns> + </member> + <member name="M:NUnit.Framework.Internal.Filters.NotFilter.Match(NUnit.Framework.Interfaces.ITest)"> + <summary> + Check whether the filter matches a test + </summary> + <param name="test">The test to be matched</param> + <returns>True if it matches, otherwise false</returns> + </member> + <member name="M:NUnit.Framework.Internal.Filters.NotFilter.IsExplicitMatch(NUnit.Framework.Interfaces.ITest)"> + <summary> + 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. + </summary> + <param name="test">The test to which the filter is applied</param> + <returns>True if the test matches the filter explicitly, otherwise false</returns> + </member> + <member name="M:NUnit.Framework.Internal.Filters.NotFilter.AddToXml(NUnit.Framework.Interfaces.TNode,System.Boolean)"> + <summary> + Adds an XML node + </summary> + <param name="parentNode">Parent node</param> + <param name="recursive">True if recursive</param> + <returns>The added XML node</returns> + </member> + <member name="T:NUnit.Framework.Internal.Filters.OrFilter"> + <summary> + Combines multiple filters so that a test must pass one + of them in order to pass this filter. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Filters.OrFilter.#ctor"> + <summary> + Constructs an empty OrFilter + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Filters.OrFilter.#ctor(NUnit.Framework.Internal.TestFilter[])"> + <summary> + Constructs an OrFilter from an array of filters + </summary> + <param name="filters"></param> + </member> + <member name="M:NUnit.Framework.Internal.Filters.OrFilter.Pass(NUnit.Framework.Interfaces.ITest,System.Boolean)"> + <summary> + Checks whether the OrFilter is matched by a test + </summary> + <param name="test">The test to be matched</param> + <param name="negated">If set to <see langword="true"/> we are carrying a negation through</param> + <returns>True if any of the component filters pass, otherwise false</returns> + </member> + <member name="M:NUnit.Framework.Internal.Filters.OrFilter.Match(NUnit.Framework.Interfaces.ITest)"> + <summary> + Checks whether the OrFilter is matched by a test + </summary> + <param name="test">The test to be matched</param> + <returns>True if any of the component filters match, otherwise false</returns> + </member> + <member name="M:NUnit.Framework.Internal.Filters.OrFilter.IsExplicitMatch(NUnit.Framework.Interfaces.ITest)"> + <summary> + Checks whether the OrFilter is explicit matched by a test + </summary> + <param name="test">The test to be matched</param> + <returns>True if any of the component filters explicit match, otherwise false</returns> + </member> + <member name="P:NUnit.Framework.Internal.Filters.OrFilter.ElementName"> + <summary> + Gets the element name + </summary> + <value>Element name</value> + </member> + <member name="T:NUnit.Framework.Internal.Filters.PropertyFilter"> + <summary> + PropertyFilter is able to select or exclude tests + based on their properties. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Filters.PropertyFilter.#ctor(System.String,System.String)"> + <summary> + Construct a PropertyFilter using a property name and expected value + </summary> + <param name="propertyName">A property name</param> + <param name="expectedValue">The expected value of the property</param> + </member> + <member name="M:NUnit.Framework.Internal.Filters.PropertyFilter.Match(NUnit.Framework.Interfaces.ITest)"> + <summary> + Check whether the filter matches a test + </summary> + <param name="test">The test to be matched</param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Internal.Filters.PropertyFilter.AddToXml(NUnit.Framework.Interfaces.TNode,System.Boolean)"> + <summary> + Adds an XML node + </summary> + <param name="parentNode">Parent node</param> + <param name="recursive">True if recursive</param> + <returns>The added XML node</returns> + </member> + <member name="P:NUnit.Framework.Internal.Filters.PropertyFilter.ElementName"> + <summary> + Gets the element name + </summary> + <value>Element name</value> + </member> + <member name="T:NUnit.Framework.Internal.Filters.TestNameFilter"> + <summary> + TestName filter selects tests based on their Name + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Filters.TestNameFilter.#ctor(System.String)"> + <summary> + Construct a TestNameFilter for a single name + </summary> + <param name="expectedValue">The name the filter will recognize.</param> + </member> + <member name="M:NUnit.Framework.Internal.Filters.TestNameFilter.Match(NUnit.Framework.Interfaces.ITest)"> + <summary> + Match a test against a single value. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Filters.TestNameFilter.ElementName"> + <summary> + Gets the element name + </summary> + <value>Element name</value> + </member> + <member name="T:NUnit.Framework.Internal.Filters.ValueMatchFilter"> + <summary> + ValueMatchFilter selects tests based on some value, which + is expected to be contained in the test. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Filters.ValueMatchFilter.ExpectedValue"> + <summary> + Returns the value matched by the filter - used for testing + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Filters.ValueMatchFilter.IsRegex"> + <summary> + Indicates whether the value is a regular expression + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Filters.ValueMatchFilter.#ctor(System.String)"> + <summary> + Construct a ValueMatchFilter for a single value. + </summary> + <param name="expectedValue">The value to be included.</param> + </member> + <member name="M:NUnit.Framework.Internal.Filters.ValueMatchFilter.Match(System.String)"> + <summary> + Match the input provided by the derived class + </summary> + <param name="input">The value to be matched</param> + <returns>True for a match, false otherwise.</returns> + </member> + <member name="M:NUnit.Framework.Internal.Filters.ValueMatchFilter.AddToXml(NUnit.Framework.Interfaces.TNode,System.Boolean)"> + <summary> + Adds an XML node + </summary> + <param name="parentNode">Parent node</param> + <param name="recursive">True if recursive</param> + <returns>The added XML node</returns> + </member> + <member name="P:NUnit.Framework.Internal.Filters.ValueMatchFilter.ElementName"> + <summary> + Gets the element name + </summary> + <value>Element name</value> + </member> + <member name="T:NUnit.Framework.Internal.GenericMethodHelper"> + <summary> + GenericMethodHelper is able to deduce the Type arguments for + a generic method from the actual arguments provided. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.GenericMethodHelper.ConflictingTypesMarker"> + <summary> + A special value, which is used to indicate that BestCommonType() method + was unable to find a common type for the specified arguments. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.GenericMethodHelper.#ctor(System.Reflection.MethodInfo)"> + <summary> + Construct a GenericMethodHelper for a method + </summary> + <param name="method">MethodInfo for the method to examine</param> + </member> + <member name="M:NUnit.Framework.Internal.GenericMethodHelper.TryGetTypeArguments(System.Object[],System.Type[]@)"> + <summary> + Return the type arguments for the method, deducing them + from the arguments actually provided. + </summary> + <param name="argList">The arguments to the method</param> + <param name="typeArguments">If successful, an array of type arguments.</param> + </member> + <member name="T:NUnit.Framework.Internal.ImmutableStack`1"> + <summary> + A minimalistic implementation of an immutable stack. Add members as needed. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.ImmutableStack`1.Empty"> + <summary> + Represents an empty stack. <see langword="default"/> may be used instead. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ImmutableStack`1.Push(`0)"> + <summary> + Returns a new immutable stack which begins with the specified value and continues with the values in the + current stack. + </summary> + <param name="value">The beginning value of the new stack.</param> + </member> + <member name="T:NUnit.Framework.Internal.InvalidDataSourceException"> + <summary> + InvalidTestFixtureException is thrown when an appropriate test + fixture constructor using the provided arguments cannot be found. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.InvalidDataSourceException.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.InvalidTestFixtureException"/> class. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.InvalidDataSourceException.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.InvalidTestFixtureException"/> class. + </summary> + <param name="message">The message.</param> + </member> + <member name="M:NUnit.Framework.Internal.InvalidDataSourceException.#ctor(System.String,System.Exception)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.InvalidTestFixtureException"/> class. + </summary> + <param name="message">The message.</param> + <param name="inner">The inner.</param> + </member> + <member name="M:NUnit.Framework.Internal.InvalidDataSourceException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)"> + <summary> + Serialization Constructor + </summary> + </member> + <member name="T:NUnit.Framework.Internal.InvalidPlatformException"> + <summary> + InvalidPlatformException is thrown when the platform name supplied + to a test is not recognized. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.InvalidPlatformException.#ctor"> + <summary> + Instantiates a new instance of the <see cref="T:NUnit.Framework.Internal.InvalidPlatformException"/> class. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.InvalidPlatformException.#ctor(System.String)"> + <summary> + Instantiates a new instance of the <see cref="T:NUnit.Framework.Internal.InvalidPlatformException"/> class + </summary> + <param name="message">The message.</param> + </member> + <member name="M:NUnit.Framework.Internal.InvalidPlatformException.#ctor(System.String,System.Exception)"> + <summary> + Instantiates a new instance of the <see cref="T:NUnit.Framework.Internal.InvalidPlatformException"/> class + </summary> + <param name="message">The message.</param> + <param name="inner">The inner.</param> + </member> + <member name="M:NUnit.Framework.Internal.InvalidPlatformException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)"> + <summary> + Serialization constructor for the <see cref="T:NUnit.Framework.Internal.InvalidPlatformException"/> class + </summary> + </member> + <member name="T:NUnit.Framework.Internal.InvalidTestFixtureException"> + <summary> + InvalidTestFixtureException is thrown when an appropriate test + fixture constructor using the provided arguments cannot be found. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.InvalidTestFixtureException.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.InvalidTestFixtureException"/> class. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.InvalidTestFixtureException.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.InvalidTestFixtureException"/> class. + </summary> + <param name="message">The message.</param> + </member> + <member name="M:NUnit.Framework.Internal.InvalidTestFixtureException.#ctor(System.String,System.Exception)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.InvalidTestFixtureException"/> class. + </summary> + <param name="message">The message.</param> + <param name="inner">The inner.</param> + </member> + <member name="M:NUnit.Framework.Internal.InvalidTestFixtureException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)"> + <summary> + Serialization Constructor + </summary> + </member> + <member name="T:NUnit.Framework.Internal.ILogger"> + <summary> + Interface for logging within the engine + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ILogger.Error(System.String)"> + <summary> + Logs the specified message at the error level. + </summary> + <param name="message">The message.</param> + </member> + <member name="M:NUnit.Framework.Internal.ILogger.Error(System.String,System.Object[])"> + <summary> + Logs the specified message at the error level. + </summary> + <param name="message">The message.</param> + <param name="args">The arguments.</param> + </member> + <member name="M:NUnit.Framework.Internal.ILogger.Warning(System.String)"> + <summary> + Logs the specified message at the warning level. + </summary> + <param name="message">The message.</param> + </member> + <member name="M:NUnit.Framework.Internal.ILogger.Warning(System.String,System.Object[])"> + <summary> + Logs the specified message at the warning level. + </summary> + <param name="message">The message.</param> + <param name="args">The arguments.</param> + </member> + <member name="M:NUnit.Framework.Internal.ILogger.Info(System.String)"> + <summary> + Logs the specified message at the info level. + </summary> + <param name="message">The message.</param> + </member> + <member name="M:NUnit.Framework.Internal.ILogger.Info(System.String,System.Object[])"> + <summary> + Logs the specified message at the info level. + </summary> + <param name="message">The message.</param> + <param name="args">The arguments.</param> + </member> + <member name="M:NUnit.Framework.Internal.ILogger.Debug(System.String)"> + <summary> + Logs the specified message at the debug level. + </summary> + <param name="message">The message.</param> + </member> + <member name="M:NUnit.Framework.Internal.ILogger.Debug(System.String,System.Object[])"> + <summary> + Logs the specified message at the debug level. + </summary> + <param name="message">The message.</param> + <param name="args">The arguments.</param> + </member> + <member name="T:NUnit.Framework.Internal.InternalTrace"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.InternalTrace.Initialized"> + <summary> + Gets a flag indicating whether the InternalTrace is initialized + </summary> + </member> + <member name="M:NUnit.Framework.Internal.InternalTrace.Initialize(System.String,NUnit.Framework.Internal.InternalTraceLevel)"> + <summary> + Initialize the internal trace facility using the name of the log + to be written to and the trace level. + </summary> + <param name="logName">The log name</param> + <param name="level">The trace level</param> + </member> + <member name="M:NUnit.Framework.Internal.InternalTrace.Initialize(System.IO.TextWriter,NUnit.Framework.Internal.InternalTraceLevel)"> + <summary> + Initialize the internal trace using a provided TextWriter and level + </summary> + <param name="writer">A TextWriter</param> + <param name="level">The InternalTraceLevel</param> + </member> + <member name="M:NUnit.Framework.Internal.InternalTrace.GetLogger(System.String)"> + <summary> + Get a named Logger + </summary> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Internal.InternalTrace.GetLogger(System.Type)"> + <summary> + Get a logger named for a particular Type. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.InternalTraceLevel"> + <summary> + InternalTraceLevel is an enumeration controlling the + level of detailed presented in the internal log. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.InternalTraceLevel.Default"> + <summary> + Use the default settings as specified by the user. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.InternalTraceLevel.Off"> + <summary> + Do not display any trace messages + </summary> + </member> + <member name="F:NUnit.Framework.Internal.InternalTraceLevel.Error"> + <summary> + Display Error messages only + </summary> + </member> + <member name="F:NUnit.Framework.Internal.InternalTraceLevel.Warning"> + <summary> + Display Warning level and higher messages + </summary> + </member> + <member name="F:NUnit.Framework.Internal.InternalTraceLevel.Info"> + <summary> + Display informational and higher messages + </summary> + </member> + <member name="F:NUnit.Framework.Internal.InternalTraceLevel.Debug"> + <summary> + Display debug messages and higher - i.e. all messages + </summary> + </member> + <member name="F:NUnit.Framework.Internal.InternalTraceLevel.Verbose"> + <summary> + Display debug messages and higher - i.e. all messages + </summary> + </member> + <member name="T:NUnit.Framework.Internal.InternalTraceWriter"> + <summary> + A trace listener that writes to a separate file per domain + and process using it. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.InternalTraceWriter.#ctor(System.String)"> + <summary> + Construct an InternalTraceWriter that writes to a file. + </summary> + <param name="logPath">Path to the file to use</param> + </member> + <member name="M:NUnit.Framework.Internal.InternalTraceWriter.#ctor(System.IO.TextWriter)"> + <summary> + Construct an InternalTraceWriter that writes to a + TextWriter provided by the caller. + </summary> + <param name="writer"></param> + </member> + <member name="P:NUnit.Framework.Internal.InternalTraceWriter.Encoding"> + <summary> + Returns the character encoding in which the output is written. + </summary> + <returns>The character encoding in which the output is written.</returns> + </member> + <member name="M:NUnit.Framework.Internal.InternalTraceWriter.Write(System.Char)"> + <summary> + Writes a character to the text string or stream. + </summary> + <param name="value">The character to write to the text stream.</param> + </member> + <member name="M:NUnit.Framework.Internal.InternalTraceWriter.Write(System.String)"> + <summary> + Writes a string to the text string or stream. + </summary> + <param name="value">The string to write.</param> + </member> + <member name="M:NUnit.Framework.Internal.InternalTraceWriter.WriteLine(System.String)"> + <summary> + Writes a string followed by a line terminator to the text string or stream. + </summary> + <param name="value">The string to write. If <paramref name="value" /> is null, only the line terminator is written.</param> + </member> + <member name="M:NUnit.Framework.Internal.InternalTraceWriter.Dispose(System.Boolean)"> + <summary> + Releases the unmanaged resources used by the <see cref="T:System.IO.TextWriter" /> and optionally releases the managed resources. + </summary> + <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param> + </member> + <member name="M:NUnit.Framework.Internal.InternalTraceWriter.Flush"> + <summary> + Clears all buffers for the current writer and causes any buffered data to be written to the underlying device. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Logger"> + <summary> + Provides internal logging to the NUnit framework + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Logger.#ctor(System.String,NUnit.Framework.Internal.InternalTraceLevel,System.IO.TextWriter)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.Logger"/> class. + </summary> + <param name="name">The name.</param> + <param name="level">The log level.</param> + <param name="writer">The writer where logs are sent.</param> + </member> + <member name="M:NUnit.Framework.Internal.Logger.Error(System.String)"> + <summary> + Logs the message at error level. + </summary> + <param name="message">The message.</param> + </member> + <member name="M:NUnit.Framework.Internal.Logger.Error(System.String,System.Object[])"> + <summary> + Logs the message at error level. + </summary> + <param name="message">The message.</param> + <param name="args">The message arguments.</param> + </member> + <member name="M:NUnit.Framework.Internal.Logger.Warning(System.String)"> + <summary> + Logs the message at warm level. + </summary> + <param name="message">The message.</param> + </member> + <member name="M:NUnit.Framework.Internal.Logger.Warning(System.String,System.Object[])"> + <summary> + Logs the message at warning level. + </summary> + <param name="message">The message.</param> + <param name="args">The message arguments.</param> + </member> + <member name="M:NUnit.Framework.Internal.Logger.Info(System.String)"> + <summary> + Logs the message at info level. + </summary> + <param name="message">The message.</param> + </member> + <member name="M:NUnit.Framework.Internal.Logger.Info(System.String,System.Object[])"> + <summary> + Logs the message at info level. + </summary> + <param name="message">The message.</param> + <param name="args">The message arguments.</param> + </member> + <member name="M:NUnit.Framework.Internal.Logger.Debug(System.String)"> + <summary> + Logs the message at debug level. + </summary> + <param name="message">The message.</param> + </member> + <member name="M:NUnit.Framework.Internal.Logger.Debug(System.String,System.Object[])"> + <summary> + Logs the message at debug level. + </summary> + <param name="message">The message.</param> + <param name="args">The message arguments.</param> + </member> + <member name="T:NUnit.Framework.Internal.MethodWrapper"> + <summary> + The MethodWrapper class wraps a MethodInfo so that it may + be used in a platform-independent manner. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.MethodWrapper.#ctor(System.Type,System.Reflection.MethodInfo)"> + <summary> + Construct a MethodWrapper for a Type and a MethodInfo. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.MethodWrapper.#ctor(System.Type,System.String)"> + <summary> + Construct a MethodInfo for a given Type and method name. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.MethodWrapper.TypeInfo"> + <summary> + Gets the Type from which this method was reflected. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.MethodWrapper.MethodInfo"> + <summary> + Gets the MethodInfo for this method. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.MethodWrapper.Name"> + <summary> + Gets the name of the method. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.MethodWrapper.IsAbstract"> + <summary> + Gets a value indicating whether the method is abstract. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.MethodWrapper.IsPublic"> + <summary> + Gets a value indicating whether the method is public. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.MethodWrapper.IsStatic"> + <summary> + Gets a value indicating whether the method is static. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.MethodWrapper.ContainsGenericParameters"> + <summary> + Gets a value indicating whether the method contains unassigned generic type parameters. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.MethodWrapper.IsGenericMethod"> + <summary> + Gets a value indicating whether the method is a generic method. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.MethodWrapper.IsGenericMethodDefinition"> + <summary> + Gets a value indicating whether the MethodInfo represents the definition of a generic method. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.MethodWrapper.ReturnType"> + <summary> + Gets the return Type of the method. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.MethodWrapper.GetParameters"> + <summary> + Gets the parameters of the method. + </summary> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Internal.MethodWrapper.GetGenericArguments"> + <summary> + Returns the Type arguments of a generic method or the Type parameters of a generic method definition. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.MethodWrapper.MakeGenericMethod(System.Type[])"> + <summary> + Replaces the type parameters of the method with the array of types provided and returns a new IMethodInfo. + </summary> + <param name="typeArguments">The type arguments to be used</param> + <returns>A new IMethodInfo with the type arguments replaced</returns> + </member> + <member name="M:NUnit.Framework.Internal.MethodWrapper.GetCustomAttributes``1(System.Boolean)"> + <summary> + Returns an array of custom attributes of the specified type applied to this method + </summary> + </member> + <member name="M:NUnit.Framework.Internal.MethodWrapper.IsDefined``1(System.Boolean)"> + <summary> + Gets a value indicating whether one or more attributes of the specified type are defined on the method. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.MethodWrapper.Invoke(System.Object,System.Object[])"> + <summary> + Invokes the method, converting any TargetInvocationException to an NUnitException. + </summary> + <param name="fixture">The object on which to invoke the method</param> + <param name="args">The argument list for the method</param> + <returns>The return value from the invoked method</returns> + </member> + <member name="M:NUnit.Framework.Internal.MethodWrapper.ToString"> + <summary> + Override ToString() so that error messages in NUnit's own tests make sense + </summary> + </member> + <member name="M:NUnit.Framework.Internal.MethodWrapper.Equals(NUnit.Framework.Internal.MethodWrapper)"> + <inheritdoc /> + </member> + <member name="M:NUnit.Framework.Internal.MethodWrapper.Equals(System.Object)"> + <inheritdoc /> + </member> + <member name="M:NUnit.Framework.Internal.MethodWrapper.GetHashCode"> + <inheritdoc /> + </member> + <member name="T:NUnit.Framework.Internal.NUnitException"> + <summary> + Thrown when an assertion failed. Here to preserve the inner + exception and hence its stack trace. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.NUnitException.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.NUnitException"/> class. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.NUnitException.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.NUnitException"/> class. + </summary> + <param name="message">The error message that explains + the reason for the exception</param> + </member> + <member name="M:NUnit.Framework.Internal.NUnitException.#ctor(System.String,System.Exception)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.NUnitException"/> class. + </summary> + <param name="message">The error message that explains + the reason for the exception</param> + <param name="inner">The exception that caused the + current exception</param> + </member> + <member name="M:NUnit.Framework.Internal.NUnitException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)"> + <summary> + Serialization Constructor + </summary> + </member> + <member name="T:NUnit.Framework.Internal.On"> + <summary> + Enables the <see cref="M:NUnit.Framework.Internal.On.Dispose(System.Action)"/> syntax. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.On.Dispose(System.Action)"> + <summary> + 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. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.OSPlatform"> + <summary> + OSPlatform represents a particular operating system platform + </summary> + </member> + <member name="F:NUnit.Framework.Internal.OSPlatform.UnixPlatformID_Microsoft"> + <summary> + Platform ID for Unix as defined by .NET + </summary> + </member> + <member name="F:NUnit.Framework.Internal.OSPlatform.UnixPlatformID_Mono"> + <summary> + Platform ID for Unix as defined by Mono + </summary> + </member> + <member name="F:NUnit.Framework.Internal.OSPlatform.XBoxPlatformID"> + <summary> + Platform ID for XBox as defined by .NET and Mono + </summary> + </member> + <member name="F:NUnit.Framework.Internal.OSPlatform.MacOSXPlatformID"> + <summary> + Platform ID for MacOSX as defined by .NET and Mono + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.CurrentPlatform"> + <summary> + Get the OSPlatform under which we are currently running + </summary> + </member> + <member name="M:NUnit.Framework.Internal.OSPlatform.GetWindows81PlusVersion(System.Version)"> + <summary> + Gets the actual OS Version, not the incorrect value that might be + returned for Win 8.1 and Win 10 + </summary> + <remarks> + 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. + </remarks> + <param name="version">The original version</param> + <returns>The correct OS version</returns> + </member> + <member name="T:NUnit.Framework.Internal.OSPlatform.ProductType"> + <summary> + Product Type Enumeration used for Windows + </summary> + </member> + <member name="F:NUnit.Framework.Internal.OSPlatform.ProductType.Unknown"> + <summary> + Product type is unknown or unspecified + </summary> + </member> + <member name="F:NUnit.Framework.Internal.OSPlatform.ProductType.WorkStation"> + <summary> + Product type is Workstation + </summary> + </member> + <member name="F:NUnit.Framework.Internal.OSPlatform.ProductType.DomainController"> + <summary> + Product type is Domain Controller + </summary> + </member> + <member name="F:NUnit.Framework.Internal.OSPlatform.ProductType.Server"> + <summary> + Product type is Server + </summary> + </member> + <member name="M:NUnit.Framework.Internal.OSPlatform.#ctor(System.PlatformID,System.Version)"> + <summary> + Construct from a platform ID and version + </summary> + </member> + <member name="M:NUnit.Framework.Internal.OSPlatform.#ctor(System.PlatformID,System.Version,NUnit.Framework.Internal.OSPlatform.ProductType)"> + <summary> + Construct from a platform ID, version and product type + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.Platform"> + <summary> + Get the platform ID of this instance + </summary> + </member> + <member name="M:NUnit.Framework.Internal.OSPlatform.ToString"> + <summary> + Implemented to use in place of Environment.OSVersion.ToString() + </summary> + <returns>A representation of the platform ID and version in an approximation of the format used by Environment.OSVersion.ToString()</returns> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.Version"> + <summary> + Get the Version of this instance + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.Product"> + <summary> + Get the Product Type of this instance + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWindows"> + <summary> + Return true if this is a windows platform + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsUnix"> + <summary> + Return true if this is a Unix or Linux platform + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWin32S"> + <summary> + Return true if the platform is Win32S + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWin32Windows"> + <summary> + Return true if the platform is Win32Windows + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWin32NT"> + <summary> + Return true if the platform is Win32NT + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWinCE"> + <summary> + Return true if the platform is Windows CE + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsXbox"> + <summary> + Return true if the platform is Xbox + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsMacOSX"> + <summary> + Return true if the platform is MacOSX + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWin95"> + <summary> + Return true if the platform is Windows 95 + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWin98"> + <summary> + Return true if the platform is Windows 98 + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWinME"> + <summary> + Return true if the platform is Windows ME + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsNT3"> + <summary> + Return true if the platform is NT 3 + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsNT4"> + <summary> + Return true if the platform is NT 4 + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsNT5"> + <summary> + Return true if the platform is NT 5 + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWin2K"> + <summary> + Return true if the platform is Windows 2000 + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWinXP"> + <summary> + Return true if the platform is Windows XP + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWin2003Server"> + <summary> + Return true if the platform is Windows 2003 Server + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsNT6"> + <summary> + Return true if the platform is NT 6 + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsNT60"> + <summary> + Return true if the platform is NT 6.0 + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsNT61"> + <summary> + Return true if the platform is NT 6.1 + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsNT62"> + <summary> + Return true if the platform is NT 6.2 + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsNT63"> + <summary> + Return true if the platform is NT 6.3 + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsVista"> + <summary> + Return true if the platform is Vista + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWin2008Server"> + <summary> + Return true if the platform is Windows 2008 Server (original or R2) + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWin2008ServerR1"> + <summary> + Return true if the platform is Windows 2008 Server (original) + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWin2008ServerR2"> + <summary> + Return true if the platform is Windows 2008 Server R2 + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWin2012Server"> + <summary> + Return true if the platform is Windows 2012 Server (original or R2) + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWin2012ServerR1"> + <summary> + Return true if the platform is Windows 2012 Server (original) + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWin2012ServerR2"> + <summary> + Return true if the platform is Windows 2012 Server R2 + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWindows7"> + <summary> + Return true if the platform is Windows 7 + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWindows8"> + <summary> + Return true if the platform is Windows 8 + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWindows81"> + <summary> + Return true if the platform is Windows 8.1 + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWindows10"> + <summary> + Return true if the platform is Windows 10 + </summary> + </member> + <member name="P:NUnit.Framework.Internal.OSPlatform.IsWindowsServer10"> + <summary> + Return true if the platform is Windows Server. This is named Windows + Server 10 to distinguish it from previous versions of Windows Server. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.ParamAttributeTypeConversions"> + <summary> + <para> + 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. + </para> + <para> + For example, since you can’t apply attributes using <see cref="T:System.Decimal"/> arguments, we allow the C# syntax + <c>10</c> (<see cref="T:System.Int32"/> value) or <c>0.1</c> (<see cref="T:System.Double"/> value) to be specified. + NUnit then converts it to match the method’s <see cref="T:System.Decimal"/> parameters, just as if you were actually + using the syntax <c>TestMethod(10)</c> or <c>TestMethod(0.1)</c>. + </para> + <para> + For another example, you might have written the syntax <c>10</c> and picked up the <see cref="T:System.Int32"/> attribute + constructor overload; however, the test method for which this value is intended only has a <see cref="T:System.Byte"/> + signature. Again, NUnit simulates what would have happened if the inferred C# syntax was transplanted + and you were actually using the syntax <c>TestMethod(10)</c>. + </para> + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ParamAttributeTypeConversions.ConvertData(System.Object[],System.Type)"> + <summary> + Converts an array of objects to the <paramref name="targetType"/>, if it is supported. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ParamAttributeTypeConversions.Convert(System.Object,System.Type)"> + <summary> + Converts a single value to the <paramref name="targetType"/>, if it is supported. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ParamAttributeTypeConversions.TryConvert(System.Object,System.Type,System.Object@)"> + <summary> + 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. + </summary> + <param name="value">The value to be converted</param> + <param name="targetType">The target <see cref="T:System.Type"/> in which the <paramref name="value"/> should be converted</param> + <param name="convertedValue">If conversion was successfully applied, the <paramref name="value"/> converted into <paramref name="targetType"/></param> + <returns> + <see langword="true"/> if <paramref name="value"/> was converted and <paramref name="convertedValue"/> should be used; + <see langword="false"/> is no conversion was applied and <paramref name="convertedValue"/> should be ignored + </returns> + </member> + <member name="T:NUnit.Framework.Internal.ParameterWrapper"> + <summary> + The ParameterWrapper class wraps a ParameterInfo so that it may + be used in a platform-independent manner. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ParameterWrapper.#ctor(NUnit.Framework.Interfaces.IMethodInfo,System.Reflection.ParameterInfo)"> + <summary> + Construct a ParameterWrapper for a given method and parameter + </summary> + <param name="method"></param> + <param name="parameterInfo"></param> + </member> + <member name="P:NUnit.Framework.Internal.ParameterWrapper.IsOptional"> + <summary> + Gets a value indicating whether the parameter is optional + </summary> + </member> + <member name="P:NUnit.Framework.Internal.ParameterWrapper.Method"> + <summary> + Gets an IMethodInfo representing the method for which this is a parameter. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.ParameterWrapper.ParameterInfo"> + <summary> + Gets the underlying ParameterInfo + </summary> + </member> + <member name="P:NUnit.Framework.Internal.ParameterWrapper.ParameterType"> + <summary> + Gets the Type of the parameter + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ParameterWrapper.GetCustomAttributes``1(System.Boolean)"> + <summary> + Returns an array of custom attributes of the specified type applied to this method + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ParameterWrapper.IsDefined``1(System.Boolean)"> + <summary> + Gets a value indicating whether one or more attributes of the specified type are defined on the parameter. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.PlatformHelper"> + <summary> + PlatformHelper class is used by the PlatformAttribute class to + determine whether a platform is supported. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PlatformHelper.OSPlatforms"> + <summary> + Comma-delimited list of all supported OS platform constants + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PlatformHelper.RuntimePlatforms"> + <summary> + Comma-delimited list of all supported Runtime platform constants + </summary> + </member> + <member name="M:NUnit.Framework.Internal.PlatformHelper.#ctor"> + <summary> + Default constructor uses the operating system and + common language runtime of the system. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.PlatformHelper.#ctor(NUnit.Framework.Internal.OSPlatform,NUnit.Framework.Internal.RuntimeFramework)"> + <summary> + Construct a PlatformHelper for a particular operating + system and common language runtime. Used in testing. + </summary> + <param name="rt">RuntimeFramework to be used</param> + <param name="os">OperatingSystem to be used</param> + </member> + <member name="M:NUnit.Framework.Internal.PlatformHelper.IsPlatformSupported(System.String[])"> + <summary> + Test to determine if one of a collection of platforms + is being used currently. + </summary> + <param name="platforms"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Internal.PlatformHelper.IsPlatformSupported(NUnit.Framework.PlatformAttribute)"> + <summary> + Tests to determine if the current platform is supported + based on a platform attribute. + </summary> + <param name="platformAttribute">The attribute to examine</param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Internal.PlatformHelper.IsPlatformSupported(NUnit.Framework.TestCaseAttribute)"> + <summary> + Tests to determine if the current platform is supported + based on a platform attribute. + </summary> + <param name="testCaseAttribute">The attribute to examine</param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Internal.PlatformHelper.IsPlatformSupported(System.String)"> + <summary> + Test to determine if a particular platform or comma-delimited set of platforms is in use. + </summary> + <param name="platform">Name of the platform or comma-separated list of platform ids</param> + <returns>True if the platform is in use on the system</returns> + </member> + <member name="P:NUnit.Framework.Internal.PlatformHelper.Reason"> + <summary> + Return the last failure reason. Results are not + defined if called before IsSupported( Attribute ) + is called. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.PreFilter"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.PreFilter.Empty"> + <summary> + Return a new PreFilter, without elements, which is considered + empty and always matches. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.PreFilter.IsEmpty"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.PreFilter.Add(System.String)"> + <summary> + Add a new filter element to the filter + </summary> + <param name="filterText"></param> + </member> + <member name="M:NUnit.Framework.Internal.PreFilter.IsMatch(System.Type)"> + <summary> + Use the filter on a Type, returning true if the type matches the filter + and should therefore be included in the discovery process. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.PreFilter.IsMatch(System.Type,System.Reflection.MethodInfo)"> + <summary> + Use the filter on a Type, returning true if the type matches the filter + and should therefore be included in the discovery process. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.PropertyBag"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.PropertyBag.Add(System.String,System.Object)"> + <summary> + Adds a key/value pair to the property set + </summary> + <param name="key">The key</param> + <param name="value">The value</param> + </member> + <member name="M:NUnit.Framework.Internal.PropertyBag.Set(System.String,System.Object)"> + <summary> + Sets the value for a key, removing any other + values that are already in the property set. + </summary> + <param name="key"></param> + <param name="value"></param> + </member> + <member name="M:NUnit.Framework.Internal.PropertyBag.Get(System.String)"> + <summary> + 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. + </summary> + <param name="key"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Internal.PropertyBag.ContainsKey(System.String)"> + <summary> + Gets a flag indicating whether the specified key has + any entries in the property set. + </summary> + <param name="key">The key to be checked</param> + <returns> + True if their are values present, otherwise false + </returns> + </member> + <member name="P:NUnit.Framework.Internal.PropertyBag.Keys"> + <summary> + Gets a collection containing all the keys in the property set + </summary> + <value></value> + </member> + <member name="P:NUnit.Framework.Internal.PropertyBag.Item(System.String)"> + <summary> + Gets or sets the list of values for a particular key + </summary> + </member> + <member name="M:NUnit.Framework.Internal.PropertyBag.ToXml(System.Boolean)"> + <summary> + Returns an XmlNode representing the current PropertyBag. + </summary> + <param name="recursive">Not used</param> + <returns>An XmlNode representing the PropertyBag</returns> + </member> + <member name="M:NUnit.Framework.Internal.PropertyBag.AddToXml(NUnit.Framework.Interfaces.TNode,System.Boolean)"> + <summary> + Returns an XmlNode representing the PropertyBag after + adding it as a child of the supplied parent node. + </summary> + <param name="parentNode">The parent node.</param> + <param name="recursive">Not used</param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Internal.PropertyNames"> + <summary> + The PropertyNames class provides static constants for the + standard property ids that NUnit uses on tests. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PropertyNames.AppDomain"> + <summary> + The FriendlyName of the AppDomain in which the assembly is running + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PropertyNames.JoinType"> + <summary> + The selected strategy for joining parameter data into test cases + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PropertyNames.ProcessId"> + <summary> + The process ID of the executing assembly + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PropertyNames.ProviderStackTrace"> + <summary> + The stack trace from any data provider that threw + an exception. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PropertyNames.SkipReason"> + <summary> + The reason a test was not run + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PropertyNames.Author"> + <summary> + The author of the tests + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PropertyNames.ApartmentState"> + <summary> + The ApartmentState required for running the test + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PropertyNames.Category"> + <summary> + The categories applying to a test + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PropertyNames.Description"> + <summary> + The Description of a test + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PropertyNames.LevelOfParallelism"> + <summary> + The number of threads to be used in running tests + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PropertyNames.MaxTime"> + <summary> + The maximum time in ms, above which the test is considered to have failed + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PropertyNames.ParallelScope"> + <summary> + The ParallelScope associated with a test + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PropertyNames.RepeatCount"> + <summary> + The number of times the test should be repeated + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PropertyNames.RequiresThread"> + <summary> + Indicates that the test should be run on a separate thread + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PropertyNames.SetCulture"> + <summary> + The culture to be set for a test + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PropertyNames.SetUICulture"> + <summary> + The UI culture to be set for a test + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PropertyNames.TestOf"> + <summary> + The type that is under test + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PropertyNames.Timeout"> + <summary> + The timeout value for the test + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PropertyNames.IgnoreUntilDate"> + <summary> + The test will be ignored until the given date + </summary> + </member> + <member name="F:NUnit.Framework.Internal.PropertyNames.Order"> + <summary> + The optional Order the test will run in + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Randomizer"> + <summary> + 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. + </summary> + <remarks> + 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. + </remarks> + </member> + <member name="P:NUnit.Framework.Internal.Randomizer.InitialSeed"> + <summary> + Initial seed used to create randomizers for this run + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.GetRandomizer(System.Reflection.MemberInfo)"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.GetRandomizer(System.Reflection.ParameterInfo)"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.CreateRandomizer"> + <summary> + Create a new Randomizer using the next seed + available to ensure that each randomizer gives + a unique sequence of values. + </summary> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.#ctor"> + <summary> + Default constructor + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.#ctor(System.Int32)"> + <summary> + Construct based on seed value + </summary> + <param name="seed"></param> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextUInt"> + <summary> + Returns a random unsigned int. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextUInt(System.UInt32)"> + <summary> + Returns a random unsigned int less than the specified maximum. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextUInt(System.UInt32,System.UInt32)"> + <summary> + Returns a random unsigned int within a specified range. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextShort"> + <summary> + Returns a non-negative random short. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextShort(System.Int16)"> + <summary> + Returns a non-negative random short less than the specified maximum. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextShort(System.Int16,System.Int16)"> + <summary> + Returns a non-negative random short within a specified range. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextUShort"> + <summary> + Returns a random unsigned short. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextUShort(System.UInt16)"> + <summary> + Returns a random unsigned short less than the specified maximum. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextUShort(System.UInt16,System.UInt16)"> + <summary> + Returns a random unsigned short within a specified range. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextLong"> + <summary> + Returns a random long. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextLong(System.Int64)"> + <summary> + Returns a random long less than the specified maximum. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextLong(System.Int64,System.Int64)"> + <summary> + Returns a non-negative random long within a specified range. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextULong"> + <summary> + Returns a random ulong. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextULong(System.UInt64)"> + <summary> + Returns a random ulong less than the specified maximum. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextULong(System.UInt64,System.UInt64)"> + <summary> + Returns a non-negative random long within a specified range. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextByte"> + <summary> + Returns a random Byte + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextByte(System.Byte)"> + <summary> + Returns a random Byte less than the specified maximum. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextByte(System.Byte,System.Byte)"> + <summary> + Returns a random Byte within a specified range + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextSByte"> + <summary> + Returns a random SByte + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextSByte(System.SByte)"> + <summary> + Returns a random sbyte less than the specified maximum. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextSByte(System.SByte,System.SByte)"> + <summary> + Returns a random sbyte within a specified range + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextBool"> + <summary> + Returns a random bool + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextBool(System.Double)"> + <summary> + Returns a random bool based on the probability a true result + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextDouble(System.Double)"> + <summary> + Returns a random double between 0.0 and the specified maximum. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextDouble(System.Double,System.Double)"> + <summary> + Returns a random double within a specified range. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextFloat"> + <summary> + Returns a random float. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextFloat(System.Single)"> + <summary> + Returns a random float between 0.0 and the specified maximum. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextFloat(System.Single,System.Single)"> + <summary> + Returns a random float within a specified range. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextEnum(System.Type)"> + <summary> + Returns a random enum value of the specified Type as an object. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextEnum``1"> + <summary> + Returns a random enum value of the specified Type. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Randomizer.DefaultStringChars"> + <summary> + Default characters for random functions. + </summary> + <remarks>Default characters are the English alphabet (uppercase & lowercase), Arabic numerals, and underscore</remarks> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.GetString(System.Int32,System.String)"> + <summary> + Generate a random string based on the characters from the input string. + </summary> + <param name="outputLength">desired length of output string.</param> + <param name="allowedChars">string representing the set of characters from which to construct the resulting string</param> + <returns>A random string of arbitrary length</returns> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.GetString(System.Int32)"> + <summary> + Generate a random string based on the characters from the input string. + </summary> + <param name="outputLength">desired length of output string.</param> + <returns>A random string of arbitrary length</returns> + <remarks>Uses <see cref="F:NUnit.Framework.Internal.Randomizer.DefaultStringChars">DefaultStringChars</see> as the input character set </remarks> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.GetString"> + <summary> + Generate a random string based on the characters from the input string. + </summary> + <returns>A random string of the default length</returns> + <remarks>Uses <see cref="F:NUnit.Framework.Internal.Randomizer.DefaultStringChars">DefaultStringChars</see> as the input character set </remarks> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextDecimal"> + <summary> + Returns a random decimal. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextDecimal(System.Decimal)"> + <summary> + Returns a random decimal between positive zero and the specified maximum. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextDecimal(System.Decimal,System.Decimal)"> + <summary> + Returns a random decimal within a specified range, which is not + permitted to exceed decimal.MaxVal in the current implementation. + </summary> + <remarks> + A limitation of this implementation is that the range from min + to max must not exceed decimal.MaxVal. + </remarks> + </member> + <member name="M:NUnit.Framework.Internal.Randomizer.NextGuid"> + <summary> + Generates a valid version 4 <see cref="T:System.Guid"/>. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.Reflect"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Reflect.HasMethodWithAttribute(System.Type,System.Type)"> + <summary> + Examine a fixture type and return true if it has a method with + a particular attribute. + </summary> + <param name="fixtureType">The type to examine</param> + <param name="attributeType">The attribute Type to look for</param> + <returns>True if found, otherwise false</returns> + </member> + <member name="M:NUnit.Framework.Internal.Reflect.Construct(System.Type)"> + <summary> + Invoke the default constructor on a Type + </summary> + <param name="type">The Type to be constructed</param> + <returns>An instance of the Type</returns> + </member> + <member name="M:NUnit.Framework.Internal.Reflect.Construct(System.Type,System.Object[])"> + <summary> + Invoke a constructor on a Type with arguments + </summary> + <param name="type">The Type to be constructed</param> + <param name="arguments">Arguments to the constructor</param> + <returns>An instance of the Type</returns> + </member> + <member name="M:NUnit.Framework.Internal.Reflect.GetTypeArray(System.Object[])"> + <summary> + Returns an array of types from an array of objects. + Differs from <see cref="M:System.Type.GetTypeArray(System.Object[])"/> by returning <see langword="null"/> + for null elements rather than throwing <see cref="T:System.ArgumentNullException"/>. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Reflect.GetConstructors(System.Type,System.Type[])"> + <summary> + Gets the constructors to which the specified argument types can be coerced. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Reflect.ParametersMatch(System.Reflection.ParameterInfo[],System.Type[])"> + <summary> + Determines if the given types can be coerced to match the given parameters. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Reflect.CanImplicitlyConvertTo(System.Type,System.Type)"> + <summary> + Determines whether the current type can be implicitly converted to the specified type. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Reflect.InvokeMethod(System.Reflection.MethodInfo,System.Object)"> + <summary> + Invoke a parameterless method returning void on an object. + </summary> + <param name="method">A MethodInfo for the method to be invoked</param> + <param name="fixture">The object on which to invoke the method</param> + </member> + <member name="M:NUnit.Framework.Internal.Reflect.InvokeMethod(System.Reflection.MethodInfo,System.Object,System.Object[])"> + <summary> + Invoke a method, converting any TargetInvocationException to an NUnitException. + </summary> + <param name="method">A MethodInfo for the method to be invoked</param> + <param name="fixture">The object on which to invoke the method</param> + <param name="args">The argument list for the method</param> + <returns>The return value from the invoked method</returns> + </member> + <member name="M:NUnit.Framework.Internal.Reflect.GetUltimateShadowingProperty(System.Type,System.String,System.Reflection.BindingFlags)"> + <summary> + <para> + Selects the ultimate shadowing property just like <c>dynamic</c> would, + rather than throwing <see cref="T:System.Reflection.AmbiguousMatchException"/> + for properties that shadow properties of a different property type + which is what <see cref="M:System.Type.GetProperty(System.String,System.Reflection.BindingFlags)"/> does. + </para> + <para> + 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. + </para> + </summary> + <param name="type">See <see cref="M:System.Type.GetProperty(System.String,System.Reflection.BindingFlags)"/>.</param> + <param name="name">See <see cref="M:System.Type.GetProperty(System.String,System.Reflection.BindingFlags)"/>.</param> + <param name="bindingFlags">See <see cref="M:System.Type.GetProperty(System.String,System.Reflection.BindingFlags)"/>.</param> + </member> + <member name="M:NUnit.Framework.Internal.Reflect.GetNonGenericPublicInstanceMethod(System.Type,System.String,System.Type[])"> + <summary> + Same as <c>GetMethod(<paramref name="name"/>, <see cref="F:System.Reflection.BindingFlags.Public"/> | + <see cref="F:System.Reflection.BindingFlags.Instance"/>, <see langword="null"/>, <paramref name="parameterTypes"/>, + <see langword="null"/>)</c> except that it also chooses only non-generic methods. + Useful for avoiding the <see cref="T:System.Reflection.AmbiguousMatchException"/> you can have with <c>GetMethod</c>. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Reflect.GetDefaultIndexer(System.Type,System.Type[])"> + <summary> + Returns the get accessor for the indexer. + </summary> + <param name="type">Type to reflect on for the indexer.</param> + <param name="indexerTypes">List of indexer types that matches the indexer type order.</param> + <returns>The Get accessor</returns> + </member> + <member name="M:NUnit.Framework.Internal.Reflect.GetMemberIncludingFromBase(System.Type,System.String,System.Reflection.BindingFlags)"> + <summary> + Searches for the specified members, using the specified binding constraints. + </summary> + <remarks> + Similar to <see cref="M:System.Type.GetMember(System.String,System.Reflection.BindingFlags)"/> but also finds private static members from the base class. + </remarks> + <param name="type">The type to find the members from.</param> + <param name="name">The string containing the name of the members to get.</param> + <param name="flags">A bitwise combination of the enumeration values that specify how the search is conducted.</param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Internal.TestCaseResult"> + <summary> + Represents the result of running a single test case. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestCaseResult.#ctor(NUnit.Framework.Internal.TestMethod)"> + <summary> + Construct a TestCaseResult based on a TestMethod + </summary> + <param name="test">A TestMethod to which the result applies.</param> + </member> + <member name="P:NUnit.Framework.Internal.TestCaseResult.FailCount"> + <summary> + Gets the number of test cases that failed + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestCaseResult.TotalCount"> + <summary> + Gets the number of test cases that executed + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestCaseResult.WarningCount"> + <summary> + Gets the number of test cases that had warnings + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestCaseResult.PassCount"> + <summary> + Gets the number of test cases that passed + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestCaseResult.SkipCount"> + <summary> + Gets the number of test cases that were skipped + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestCaseResult.InconclusiveCount"> + <summary> + Gets the number of test cases that were inconclusive + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestCaseResult.HasChildren"> + <summary> + Indicates whether this result has any child results. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestCaseResult.Children"> + <summary> + Gets the collection of child results. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.TestResult"> + <summary> + The TestResult class represents the result of a test. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TestResult.CHILD_ERRORS_MESSAGE"> + <summary> + Error message for when child tests have errors + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TestResult.CHILD_WARNINGS_MESSAGE"> + <summary> + Error message for when child tests have warnings + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TestResult.CHILD_IGNORE_MESSAGE"> + <summary> + Error message for when child tests are ignored + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TestResult.USER_CANCELLED_MESSAGE"> + <summary> + Error message for when user has cancelled the test run + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TestResult.MIN_DURATION"> + <summary> + The minimum duration for tests + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TestResult.InternalAssertCount"> + <summary> + Aggregate assertion count + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TestResult.RwLock"> + <summary> + ReaderWriterLock + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestResult.#ctor(NUnit.Framework.Interfaces.ITest)"> + <summary> + Construct a test result given a Test + </summary> + <param name="test">The test to be used</param> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.Test"> + <summary> + Gets the test with which this result is associated. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.ResultState"> + <summary> + Gets the ResultState of the test result, which + indicates the success or failure of the test. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.Name"> + <summary> + Gets the name of the test result + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.FullName"> + <summary> + Gets the full name of the test result + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.Duration"> + <summary> + Gets or sets the elapsed time for running the test in seconds + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.StartTime"> + <summary> + Gets or sets the time the test started running. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.EndTime"> + <summary> + Gets or sets the time the test finished running. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestResult.AddTestAttachment(NUnit.Framework.Interfaces.TestAttachment)"> + <summary> + Adds a test attachment to the test result + </summary> + <param name="attachment">The TestAttachment object to attach</param> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.TestAttachments"> + <summary> + Gets the collection of files attached to the test + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.Message"> + <summary> + Gets the message associated with a test + failure or with not running the test + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.StackTrace"> + <summary> + Gets any stack trace associated with an + error or failure. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.AssertCount"> + <summary> + Gets or sets the count of asserts executed + when running the test. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.TotalCount"> + <summary> + Gets the number of test cases executed + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.FailCount"> + <summary> + Gets the number of test cases that failed + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.WarningCount"> + <summary> + Gets the number of test cases that had warnings + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.PassCount"> + <summary> + Gets the number of test cases that passed + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.SkipCount"> + <summary> + Gets the number of test cases that were skipped + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.InconclusiveCount"> + <summary> + Gets the number of test cases that were inconclusive + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.HasChildren"> + <summary> + Indicates whether this result has any child results. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.Children"> + <summary> + Gets the collection of child results. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.OutWriter"> + <summary> + Gets a TextWriter, which will write output to be included in the result. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.Output"> + <summary> + Gets any text output written to this result. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.AssertionResults"> + <summary> + Gets a list of assertion results associated with the test. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestResult.ToXml(System.Boolean)"> + <summary> + Returns the XML representation of the result. + </summary> + <param name="recursive">If true, descendant results are included</param> + <returns>An XmlNode representing the result</returns> + </member> + <member name="M:NUnit.Framework.Internal.TestResult.AddToXml(NUnit.Framework.Interfaces.TNode,System.Boolean)"> + <summary> + Adds the XML representation of the result as a child of the + supplied parent node.. + </summary> + <param name="parentNode">The parent node.</param> + <param name="recursive">If true, descendant results are included</param> + <returns></returns> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.PendingFailures"> + <summary> + Gets a count of pending failures (from Multiple Assert) + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestResult.WorstAssertionStatus"> + <summary> + Gets the worst assertion status (highest enum) in all the assertion results + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestResult.SetResult(NUnit.Framework.Interfaces.ResultState)"> + <summary> + Set the result of the test + </summary> + <param name="resultState">The ResultState to use in the result</param> + </member> + <member name="M:NUnit.Framework.Internal.TestResult.SetResult(NUnit.Framework.Interfaces.ResultState,System.String)"> + <summary> + Set the result of the test + </summary> + <param name="resultState">The ResultState to use in the result</param> + <param name="message">A message associated with the result state</param> + </member> + <member name="M:NUnit.Framework.Internal.TestResult.SetResult(NUnit.Framework.Interfaces.ResultState,System.String,System.String)"> + <summary> + Set the result of the test + </summary> + <param name="resultState">The ResultState to use in the result</param> + <param name="message">A message associated with the result state</param> + <param name="stackTrace">Stack trace giving the location of the command</param> + </member> + <member name="M:NUnit.Framework.Internal.TestResult.RecordException(System.Exception)"> + <summary> + Set the test result based on the type of exception thrown + </summary> + <param name="ex">The exception that was thrown</param> + </member> + <member name="M:NUnit.Framework.Internal.TestResult.RecordException(System.Exception,NUnit.Framework.Interfaces.FailureSite)"> + <summary> + Set the test result based on the type of exception thrown + </summary> + <param name="ex">The exception that was thrown</param> + <param name="site">The FailureSite to use in the result</param> + </member> + <member name="M:NUnit.Framework.Internal.TestResult.RecordTearDownException(System.Exception)"> + <summary> + 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. + </summary> + <param name="ex">The Exception to be recorded</param> + </member> + <member name="M:NUnit.Framework.Internal.TestResult.RecordTestCompletion"> + <summary> + Update overall test result, including legacy Message, based + on AssertionResults that have been saved to this point. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestResult.RecordAssertion(NUnit.Framework.Interfaces.AssertionResult)"> + <summary> + Record an assertion result + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestResult.RecordAssertion(NUnit.Framework.Interfaces.AssertionStatus,System.String,System.String)"> + <summary> + Record an assertion result + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestResult.RecordAssertion(NUnit.Framework.Interfaces.AssertionStatus,System.String)"> + <summary> + Record an assertion result + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestResult.CreateLegacyFailureMessage"> + <summary> + Creates a failure message incorporating failures + from a Multiple Assert block for use by runners + that don't know about AssertionResults. + </summary> + <returns>Message as a string</returns> + </member> + <member name="M:NUnit.Framework.Internal.TestResult.AddFailureElement(NUnit.Framework.Interfaces.TNode)"> + <summary> + Adds a failure element to a node and returns it. + </summary> + <param name="targetNode">The target node.</param> + <returns>The new failure element.</returns> + </member> + <member name="M:NUnit.Framework.Internal.TestResult.AddAttachmentsElement(NUnit.Framework.Interfaces.TNode)"> + <summary> + Adds an attachments element to a node and returns it. + </summary> + <param name="targetNode">The target node.</param> + <returns>The new attachments element.</returns> + </member> + <member name="T:NUnit.Framework.Internal.TestSuiteResult"> + <summary> + Represents the result of running a test suite + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestSuiteResult.#ctor(NUnit.Framework.Internal.TestSuite)"> + <summary> + Construct a TestSuiteResult base on a TestSuite + </summary> + <param name="suite">The TestSuite to which the result applies</param> + </member> + <member name="P:NUnit.Framework.Internal.TestSuiteResult.TotalCount"> + <summary> + Gets the number of test cases that executed + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestSuiteResult.FailCount"> + <summary> + Gets the number of test cases that failed + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestSuiteResult.PassCount"> + <summary> + Gets the number of test cases that passed + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestSuiteResult.WarningCount"> + <summary> + Gets the number of test cases that passed + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestSuiteResult.SkipCount"> + <summary> + Gets the number of test cases that were skipped + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestSuiteResult.InconclusiveCount"> + <summary> + Gets the number of test cases that were inconclusive + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestSuiteResult.HasChildren"> + <summary> + Indicates whether this result has any child results. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestSuiteResult.Children"> + <summary> + Gets the collection of child results. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestSuiteResult.AddResult(NUnit.Framework.Interfaces.ITestResult)"> + <summary> + Adds a child result to this result, setting this result's + ResultState to Failure if the child result failed. + </summary> + <param name="result">The result to be added</param> + </member> + <member name="T:NUnit.Framework.Internal.RuntimeFramework"> + <summary> + RuntimeFramework represents a particular version + of a common language runtime implementation. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.RuntimeFramework.DefaultVersion"> + <summary> + DefaultVersion is an empty Version, used to indicate that + NUnit should select the CLR version to use for the test. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.RuntimeFramework.#ctor(NUnit.Framework.Internal.RuntimeType,System.Version)"> + <summary> + 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. + </summary> + <param name="runtime">The runtime type of the framework</param> + <param name="version">The version of the framework</param> + </member> + <member name="P:NUnit.Framework.Internal.RuntimeFramework.CurrentFramework"> + <summary> + Static method to return a RuntimeFramework object + for the framework that is currently in use. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.RuntimeFramework.Runtime"> + <summary> + The type of this runtime framework + </summary> + </member> + <member name="P:NUnit.Framework.Internal.RuntimeFramework.FrameworkVersion"> + <summary> + The framework version for this runtime framework + </summary> + </member> + <member name="P:NUnit.Framework.Internal.RuntimeFramework.ClrVersion"> + <summary> + The CLR version for this runtime framework + </summary> + </member> + <member name="P:NUnit.Framework.Internal.RuntimeFramework.AllowAnyVersion"> + <summary> + Return true if any CLR version may be used in + matching this RuntimeFramework object. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.RuntimeFramework.DisplayName"> + <summary> + Returns the Display name for this framework + </summary> + </member> + <member name="M:NUnit.Framework.Internal.RuntimeFramework.Parse(System.String)"> + <summary> + 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'. + </summary> + <param name="s"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Internal.RuntimeFramework.ToString"> + <summary> + Overridden to return the short name of the framework + </summary> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Internal.RuntimeFramework.Supports(NUnit.Framework.Internal.RuntimeFramework)"> + <summary> + 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. + </summary> + <param name="target">The RuntimeFramework to be matched.</param> + <returns>True on match, otherwise false</returns> + </member> + <member name="T:NUnit.Framework.Internal.RuntimeType"> + <summary> + Enumeration identifying a common language + runtime implementation. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.RuntimeType.Any"> + <summary>Any supported runtime framework</summary> + </member> + <member name="F:NUnit.Framework.Internal.RuntimeType.NetFramework"> + <summary>Microsoft .NET Framework</summary> + </member> + <member name="F:NUnit.Framework.Internal.RuntimeType.Net"> + <summary>Microsoft .NET Framework</summary> + </member> + <member name="F:NUnit.Framework.Internal.RuntimeType.SSCLI"> + <summary>Microsoft Shared Source CLI</summary> + </member> + <member name="F:NUnit.Framework.Internal.RuntimeType.Mono"> + <summary>Mono</summary> + </member> + <member name="F:NUnit.Framework.Internal.RuntimeType.MonoTouch"> + <summary>MonoTouch</summary> + </member> + <member name="F:NUnit.Framework.Internal.RuntimeType.NetCore"> + <summary>Microsoft .NET Core, including .NET 5+</summary> + </member> + <member name="T:NUnit.Framework.Internal.SandboxedThreadState"> + <summary> + Holds thread state which is captured and restored in order to sandbox user code. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.SandboxedThreadState.Principal"> + <summary> + Thread principal. + This will be null on platforms that don't support <see cref="P:System.Threading.Thread.CurrentPrincipal"/>. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.SandboxedThreadState.Capture"> + <summary> + Captures a snapshot of the tracked state of the current thread to be restored later. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.SandboxedThreadState.Restore"> + <summary> + Restores the tracked state of the current thread to the previously captured state. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.SandboxedThreadState.WithCulture(System.Globalization.CultureInfo)"> + <summary> + Returns a copy with the specified culture. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.SandboxedThreadState.WithUICulture(System.Globalization.CultureInfo)"> + <summary> + Returns a copy with the specified UI culture. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.SandboxedThreadState.WithPrincipal(System.Security.Principal.IPrincipal)"> + <summary> + Returns a copy with the specified principal. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.SingleThreadedTestSynchronizationContext.Post(System.Threading.SendOrPostCallback,System.Object)"> + <summary> + May be called from any thread. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.SingleThreadedTestSynchronizationContext.Send(System.Threading.SendOrPostCallback,System.Object)"> + <summary> + May be called from any thread. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.SingleThreadedTestSynchronizationContext.ShutDown"> + <summary> + May be called from any thread. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.SingleThreadedTestSynchronizationContext.Run"> + <summary> + May be called from any thread, but may only be called once. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.StackFilter"> + <summary> + StackFilter class is used to remove internal NUnit + entries from a stack trace so that the resulting + trace provides better information about the test. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.StackFilter.DefaultFilter"> + <summary> + Single instance of our default filter + </summary> + </member> + <member name="M:NUnit.Framework.Internal.StackFilter.#ctor(System.String,System.String)"> + <summary> + Construct a stack filter instance + </summary> + <param name="topOfStackPattern">Regex pattern used to delete lines from the top of the stack</param> + <param name="bottomOfStackPattern">Regex pattern used to delete lines from the bottom of the stack</param> + </member> + <member name="M:NUnit.Framework.Internal.StackFilter.#ctor(System.String)"> + <summary> + Construct a stack filter instance + </summary> + <param name="topOfStackPattern">Regex pattern used to delete lines from the top of the stack</param> + </member> + <member name="M:NUnit.Framework.Internal.StackFilter.#ctor"> + <summary> + Construct a stack filter instance + </summary> + </member> + <member name="M:NUnit.Framework.Internal.StackFilter.Filter(System.String)"> + <summary> + Filters a raw stack trace and returns the result. + </summary> + <param name="rawTrace">The original stack trace</param> + <returns>A filtered stack trace</returns> + </member> + <member name="T:NUnit.Framework.Internal.StringUtil"> + <summary> + Provides methods to support legacy string comparison methods. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.StringUtil.Compare(System.String,System.String,System.Boolean)"> + <summary> + Compares two strings for equality, ignoring case if requested. + </summary> + <param name="strA">The first string.</param> + <param name="strB">The second string..</param> + <param name="ignoreCase">if set to <see langword="true"/>, the case of the letters in the strings is ignored.</param> + <returns>Zero if the strings are equivalent, a negative number if strA is sorted first, a positive number if + strB is sorted first</returns> + </member> + <member name="M:NUnit.Framework.Internal.StringUtil.StringsEqual(System.String,System.String,System.Boolean)"> + <summary> + Compares two strings for equality, ignoring case if requested. + </summary> + <param name="strA">The first string.</param> + <param name="strB">The second string..</param> + <param name="ignoreCase">if set to <see langword="true"/>, the case of the letters in the strings is ignored.</param> + <returns>True if the strings are equivalent, false if not.</returns> + </member> + <member name="T:NUnit.Framework.Internal.TestCaseParameters"> + <summary> + The TestCaseParameters class encapsulates method arguments and + other selected parameters needed for constructing + a parameterized test case. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TestCaseParameters._expectedResult"> + <summary> + The expected result to be returned + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestCaseParameters.#ctor"> + <summary> + Default Constructor creates an empty parameter set + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestCaseParameters.#ctor(System.Exception)"> + <summary> + Construct a non-runnable ParameterSet, specifying + the provider exception that made it invalid. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestCaseParameters.#ctor(System.Object[])"> + <summary> + Construct a parameter set with a list of arguments + </summary> + <param name="args"></param> + </member> + <member name="M:NUnit.Framework.Internal.TestCaseParameters.#ctor(NUnit.Framework.Interfaces.ITestCaseData)"> + <summary> + Construct a ParameterSet from an object implementing ITestCaseData + </summary> + <param name="data"></param> + </member> + <member name="P:NUnit.Framework.Internal.TestCaseParameters.ExpectedResult"> + <summary> + The expected result of the test, which + must match the method return type. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestCaseParameters.HasExpectedResult"> + <summary> + Gets a value indicating whether an expected result was specified. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.TestCaseTimeoutException"> + <summary> + TestCaseTimeoutException is thrown when a test running directly + on a TestWorker thread is cancelled due to timeout. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestCaseTimeoutException.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.TestCaseTimeoutException"/> class. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestCaseTimeoutException.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.TestCaseTimeoutException"/> class. + </summary> + <param name="message">The message.</param> + </member> + <member name="M:NUnit.Framework.Internal.TestCaseTimeoutException.#ctor(System.String,System.Exception)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.TestCaseTimeoutException"/> class. + </summary> + <param name="message">The message.</param> + <param name="inner">The inner.</param> + </member> + <member name="M:NUnit.Framework.Internal.TestCaseTimeoutException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)"> + <summary> + Serialization Constructor + </summary> + </member> + <member name="T:NUnit.Framework.Internal.TestExecutionContext"> + <summary> + 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. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TestExecutionContext._priorContext"> + <summary> + Link to a prior saved context + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TestExecutionContext._executionStatus"> + <summary> + Indicates that a stop has been requested + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TestExecutionContext._listener"> + <summary> + The event listener currently receiving notifications + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TestExecutionContext._assertCount"> + <summary> + The number of assertions for the current test + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TestExecutionContext._currentResult"> + <summary> + The current test result + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestExecutionContext.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.TestExecutionContext"/> class. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestExecutionContext.#ctor(NUnit.Framework.Internal.TestExecutionContext)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.TestExecutionContext"/> class. + </summary> + <param name="other">An existing instance of TestExecutionContext.</param> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.CurrentContext"> + <summary> + Gets and sets the current context. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.CurrentTest"> + <summary> + Gets or sets the current test + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.StartTime"> + <summary> + The time the current test started execution + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.StartTicks"> + <summary> + The time the current test started in Ticks + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.Duration"> + <summary> + Gets the elapsed time for running the test in seconds + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.CurrentResult"> + <summary> + Gets or sets the current test result + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.OutWriter"> + <summary> + Gets a TextWriter that will send output to the current test result. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.TestObject"> + <summary> + The current test object - that is the user fixture + object on which tests are being executed. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.StopOnError"> + <summary> + Get or set indicator that run should stop on the first error + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.ExecutionStatus"> + <summary> + Gets an enum indicating whether a stop has been requested. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.Listener"> + <summary> + The current test event listener + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.Dispatcher"> + <summary> + The current WorkItemDispatcher. Made public for + use by nunitlite.tests + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.ParallelScope"> + <summary> + The ParallelScope to be used by tests running in this context. + For builds with out the parallel feature, it has no effect. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.DefaultFloatingPointTolerance"> + <summary> + Default tolerance value used for floating point equality + when no other tolerance is specified. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.TestWorker"> + <summary> + The worker that spawned the context. + For builds without the parallel feature, it is null. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.RandomGenerator"> + <summary> + Gets the RandomGenerator specific to this Test + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.AssertCount"> + <summary> + Gets the assert count. + </summary> + <value>The assert count.</value> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.MultipleAssertLevel"> + <summary> + The current nesting level of multiple assert blocks + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.TestCaseTimeout"> + <summary> + Gets or sets the test case timeout value + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.UpstreamActions"> + <summary> + Gets a list of ITestActions set by upstream tests + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.CurrentCulture"> + <summary> + Saves or restores the CurrentCulture + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.CurrentUICulture"> + <summary> + Saves or restores the CurrentUICulture + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.CurrentPrincipal"> + <summary> + Gets or sets the current <see cref="T:System.Security.Principal.IPrincipal"/> for the Thread. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.CurrentValueFormatter"> + <summary> + The current head of the ValueFormatter chain, copied from MsgUtils.ValueFormatter + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.IsSingleThreaded"> + <summary> + If true, all tests must run on the same thread. No new thread may be spawned. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestExecutionContext.CurrentRepeatCount"> + <summary> + The number of times the current test has been scheduled for execution. + Currently only being executed in a test using the <see cref="T:NUnit.Framework.RetryAttribute"/> + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestExecutionContext.UpdateContextFromEnvironment"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestExecutionContext.EstablishExecutionEnvironment"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestExecutionContext.IncrementAssertCount"> + <summary> + Increments the assert count by one. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestExecutionContext.IncrementAssertCount(System.Int32)"> + <summary> + Increments the assert count by a specified amount. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestExecutionContext.AddFormatter(NUnit.Framework.Constraints.ValueFormatterFactory)"> + <summary> + Adds a new ValueFormatterFactory to the chain of formatters + </summary> + <param name="formatterFactory">The new factory</param> + </member> + <member name="M:NUnit.Framework.Internal.TestExecutionContext.SendMessage(System.String,System.String)"> + <summary> + Sends a message from test to listeners. This message is not kind of test output and doesn't go to test result. + </summary> + <param name="destination">A name recognized by the intended listeners.</param> + <param name="message">A message to be sent</param> + </member> + <member name="M:NUnit.Framework.Internal.TestExecutionContext.InitializeLifetimeService"> + <summary> + Obtain lifetime service object + </summary> + <returns></returns> + </member> + <member name="T:NUnit.Framework.Internal.TestExecutionContext.IsolatedContext"> + <summary> + 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. + </summary> + <example> + using (new TestExecutionContext.IsolatedContext()) + { + // Code that should not impact the result + } + </example> + </member> + <member name="M:NUnit.Framework.Internal.TestExecutionContext.IsolatedContext.#ctor"> + <summary> + Save the original current TestExecutionContext and + make a new isolated context current. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestExecutionContext.IsolatedContext.Dispose"> + <summary> + Restore the original TestExecutionContext. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.TestExecutionContext.AdhocContext"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestExecutionContext.AdhocContext.#ctor"> + <summary> + Construct an AdhocTestExecutionContext, which is used + whenever the current TestExecutionContext is found to be null. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.TestExecutionStatus"> + <summary> + Enumeration indicating whether the tests are + running normally or being cancelled. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TestExecutionStatus.Running"> + <summary> + Running normally with no stop requested + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TestExecutionStatus.StopRequested"> + <summary> + A graceful stop has been requested + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TestExecutionStatus.AbortRequested"> + <summary> + A forced stop has been requested + </summary> + </member> + <member name="T:NUnit.Framework.Internal.TestFilter"> + <summary> + 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. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TestFilter.Empty"> + <summary> + Unique Empty filter. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestFilter.IsEmpty"> + <summary> + Indicates whether this is the EmptyFilter + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestFilter.TopLevel"> + <summary> + Indicates whether this is a top-level filter, + not contained in any other filter. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestFilter.Pass(NUnit.Framework.Interfaces.ITest)"> + <summary> + 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. + </summary> + <param name="test">The test to which the filter is applied</param> + <returns>True if the test passes the filter, otherwise false</returns> + </member> + <member name="M:NUnit.Framework.Internal.TestFilter.Pass(NUnit.Framework.Interfaces.ITest,System.Boolean)"> + <summary> + 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. + </summary> + <param name="test">The test to which the filter is applied</param> + <param name="negated">If set to <see langword="true"/> we are carrying a negation through</param> + <returns>True if the test passes the filter, otherwise false</returns> + </member> + <member name="M:NUnit.Framework.Internal.TestFilter.IsExplicitMatch(NUnit.Framework.Interfaces.ITest)"> + <summary> + 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. + </summary> + <param name="test">The test to which the filter is applied</param> + <returns>True if the test matches the filter explicitly, otherwise false</returns> + </member> + <member name="M:NUnit.Framework.Internal.TestFilter.Match(NUnit.Framework.Interfaces.ITest)"> + <summary> + 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. + </summary> + <param name="test">The test to which the filter is applied</param> + <returns>True if the filter matches the any parent of the test</returns> + </member> + <member name="M:NUnit.Framework.Internal.TestFilter.MatchParent(NUnit.Framework.Interfaces.ITest)"> + <summary> + Determine whether any ancestor of the test matches the filter criteria + </summary> + <param name="test">The test to which the filter is applied</param> + <returns>True if the filter matches the an ancestor of the test</returns> + </member> + <member name="M:NUnit.Framework.Internal.TestFilter.MatchDescendant(NUnit.Framework.Interfaces.ITest)"> + <summary> + Determine whether any descendant of the test matches the filter criteria. + </summary> + <param name="test">The test to be matched</param> + <returns>True if at least one descendant matches the filter criteria</returns> + </member> + <member name="M:NUnit.Framework.Internal.TestFilter.FromXml(System.String)"> + <summary> + Create a TestFilter instance from an XML representation. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestFilter.FromXml(NUnit.Framework.Interfaces.TNode)"> + <summary> + Create a TestFilter from its TNode representation + </summary> + </member> + <member name="T:NUnit.Framework.Internal.TestFilter.EmptyFilter"> + <summary> + Nested class provides an empty filter - one that always + returns true when called. It never matches explicitly. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestFilter.ToXml(System.Boolean)"> + <summary> + Adds an XML node + </summary> + <param name="recursive">True if recursive</param> + <returns>The added XML node</returns> + </member> + <member name="M:NUnit.Framework.Internal.TestFilter.AddToXml(NUnit.Framework.Interfaces.TNode,System.Boolean)"> + <summary> + Adds an XML node + </summary> + <param name="parentNode">Parent node</param> + <param name="recursive">True if recursive</param> + <returns>The added XML node</returns> + </member> + <member name="T:NUnit.Framework.Internal.TestFixtureParameters"> + <summary> + The TestCaseParameters class encapsulates method arguments and + other selected parameters needed for constructing + a parameterized test case. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestFixtureParameters.#ctor"> + <summary> + Default Constructor creates an empty parameter set + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestFixtureParameters.#ctor(System.Exception)"> + <summary> + Construct a non-runnable ParameterSet, specifying + the provider exception that made it invalid. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestFixtureParameters.#ctor(System.Object[])"> + <summary> + Construct a parameter set with a list of arguments + </summary> + <param name="args"></param> + </member> + <member name="M:NUnit.Framework.Internal.TestFixtureParameters.#ctor(NUnit.Framework.Interfaces.ITestFixtureData)"> + <summary> + Construct a ParameterSet from an object implementing ITestCaseData + </summary> + <param name="data"></param> + </member> + <member name="P:NUnit.Framework.Internal.TestFixtureParameters.TypeArgs"> + <summary> + Type arguments used to create a generic fixture instance + </summary> + </member> + <member name="T:NUnit.Framework.Internal.TestListener"> + <summary> + TestListener provides an implementation of ITestListener that + does nothing. It is used only through its NULL property. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestListener.TestStarted(NUnit.Framework.Interfaces.ITest)"> + <summary> + Called when a test has just started + </summary> + <param name="test">The test that is starting</param> + </member> + <member name="M:NUnit.Framework.Internal.TestListener.TestFinished(NUnit.Framework.Interfaces.ITestResult)"> + <summary> + Called when a test case has finished + </summary> + <param name="result">The result of the test</param> + </member> + <member name="M:NUnit.Framework.Internal.TestListener.TestOutput(NUnit.Framework.Interfaces.TestOutput)"> + <summary> + Called when a test produces output for immediate display + </summary> + <param name="output">A TestOutput object containing the text to display</param> + </member> + <member name="M:NUnit.Framework.Internal.TestListener.SendMessage(NUnit.Framework.Interfaces.TestMessage)"> + <summary> + Called when a test produces a message to be sent to listeners + </summary> + <param name="message">A <see cref="T:NUnit.Framework.Interfaces.TestMessage"/> object containing the message to send</param> + </member> + <member name="M:NUnit.Framework.Internal.TestListener.#ctor"> + <summary> + Construct a new TestListener - private so it may not be used. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestListener.NULL"> + <summary> + Get a listener that does nothing + </summary> + </member> + <member name="T:NUnit.Framework.Internal.TestNameGenerator"> + <summary> + TestNameGenerator is able to create test names according to + a coded pattern. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TestNameGenerator.DefaultTestNamePattern"> + <summary> + Default pattern used to generate names + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestNameGenerator.#ctor"> + <summary> + Construct a TestNameGenerator + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestNameGenerator.#ctor(System.String)"> + <summary> + Construct a TestNameGenerator + </summary> + <param name="pattern">The pattern used by this generator.</param> + </member> + <member name="M:NUnit.Framework.Internal.TestNameGenerator.GetDisplayName(NUnit.Framework.Internal.TestMethod)"> + <summary> + Get the display name for a TestMethod and its arguments + </summary> + <param name="testMethod">A TestMethod</param> + <returns>The display name</returns> + </member> + <member name="M:NUnit.Framework.Internal.TestNameGenerator.GetDisplayName(NUnit.Framework.Internal.TestMethod,System.Object[])"> + <summary> + Get the display name for a TestMethod and its arguments + </summary> + <param name="testMethod">A TestMethod</param> + <param name="args">Arguments to be used</param> + <returns>The display name</returns> + </member> + <member name="M:NUnit.Framework.Internal.TestNameGenerator.NameFragment.MayNeedEscape(System.String)"> + <summary> + Checks if string contains any character that might need escaping. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestNameGenerator.NameFragment.MayNeedEscape(System.Char)"> + <summary> + Checks whether given char *might* need escaping. + </summary> + <returns>False when absolutely no escaping is needed, otherwise true.</returns> + </member> + <member name="T:NUnit.Framework.Internal.TestParameters"> + <summary> + TestParameters is the abstract base class for all classes + that know how to provide data for constructing a test. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestParameters.#ctor"> + <summary> + Default Constructor creates an empty parameter set + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestParameters.#ctor(System.Object[])"> + <summary> + Construct a parameter set with a list of arguments + </summary> + <param name="args"></param> + </member> + <member name="M:NUnit.Framework.Internal.TestParameters.#ctor(System.Exception)"> + <summary> + Construct a non-runnable ParameterSet, specifying + the provider exception that made it invalid. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestParameters.#ctor(NUnit.Framework.Interfaces.ITestData)"> + <summary> + Construct a ParameterSet from an object implementing ITestData + </summary> + <param name="data"></param> + </member> + <member name="P:NUnit.Framework.Internal.TestParameters.RunState"> + <summary> + The RunState for this set of parameters. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestParameters.Arguments"> + <summary> + The arguments to be used in running the test, + which must match the method signature. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestParameters.TestName"> + <summary> + A name to be used for this test case in lieu + of the standard generated name containing + the argument list. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestParameters.Properties"> + <summary> + Gets the property dictionary for this test + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestParameters.ApplyToTest(NUnit.Framework.Internal.Test)"> + <summary> + Applies ParameterSet values to the test itself. + </summary> + <param name="test">A test.</param> + </member> + <member name="P:NUnit.Framework.Internal.TestParameters.OriginalArguments"> + <summary> + The original arguments provided by the user, + used for display purposes. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestParameters.ArgDisplayNames"> + <summary> + The list of display names to use as the parameters in the test name. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.TestProgressReporter"> + <summary> + TestProgressReporter translates ITestListener events into + the async callbacks that are used to inform the client + software about the progress of a test run. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestProgressReporter.#ctor(System.Web.UI.ICallbackEventHandler)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.TestProgressReporter"/> class. + </summary> + <param name="handler">The callback handler to be used for reporting progress.</param> + </member> + <member name="M:NUnit.Framework.Internal.TestProgressReporter.TestStarted(NUnit.Framework.Interfaces.ITest)"> + <summary> + Called when a test has just started + </summary> + <param name="test">The test that is starting</param> + </member> + <member name="M:NUnit.Framework.Internal.TestProgressReporter.TestFinished(NUnit.Framework.Interfaces.ITestResult)"> + <summary> + Called when a test has finished. Sends a result summary to the callback. + to + </summary> + <param name="result">The result of the test</param> + </member> + <member name="M:NUnit.Framework.Internal.TestProgressReporter.TestOutput(NUnit.Framework.Interfaces.TestOutput)"> + <summary> + Called when a test produces output for immediate display + </summary> + <param name="output">A TestOutput object containing the text to display</param> + </member> + <member name="M:NUnit.Framework.Internal.TestProgressReporter.SendMessage(NUnit.Framework.Interfaces.TestMessage)"> + <summary> + Called when a test produces a message to be sent to listeners + </summary> + <param name="message">A <see cref="T:NUnit.Framework.Interfaces.TestMessage"/> object containing the text to send</param> + </member> + <member name="M:NUnit.Framework.Internal.TestProgressReporter.GetParent(NUnit.Framework.Interfaces.ITest)"> + <summary> + Returns the parent test item for the target test item if it exists + </summary> + <param name="test"></param> + <returns>parent test item</returns> + </member> + <member name="M:NUnit.Framework.Internal.TestProgressReporter.FormatAttributeValue(System.String)"> + <summary> + Makes a string safe for use as an attribute, replacing + characters that can't be used with their + corresponding XML representations. + </summary> + <param name="original">The string to be used</param> + <returns>A new string with the values replaced</returns> + </member> + <member name="T:NUnit.Framework.Internal.ParameterizedFixtureSuite"> + <summary> + ParameterizedFixtureSuite serves as a container for the set of test + fixtures created from a given Type using various parameters. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ParameterizedFixtureSuite.#ctor(NUnit.Framework.Interfaces.ITypeInfo)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.ParameterizedFixtureSuite"/> class. + </summary> + <param name="typeInfo">The ITypeInfo for the type that represents the suite.</param> + </member> + <member name="M:NUnit.Framework.Internal.ParameterizedFixtureSuite.#ctor(NUnit.Framework.Internal.ParameterizedFixtureSuite,NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Creates a copy of the given suite with only the descendants that pass the specified filter. + </summary> + <param name="suite">The <see cref="T:NUnit.Framework.Internal.ParameterizedFixtureSuite"/> to copy.</param> + <param name="filter">Determines which descendants are copied.</param> + </member> + <member name="P:NUnit.Framework.Internal.ParameterizedFixtureSuite.TestType"> + <summary> + Gets a string representing the type of test + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ParameterizedFixtureSuite.Copy(NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Creates a filtered copy of the test suite. + </summary> + <param name="filter">Determines which descendants are copied.</param> + </member> + <member name="T:NUnit.Framework.Internal.ParameterizedMethodSuite"> + <summary> + ParameterizedMethodSuite holds a collection of individual + TestMethods with their arguments applied. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ParameterizedMethodSuite.#ctor(NUnit.Framework.Interfaces.IMethodInfo)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.ParameterizedMethodSuite"/> class. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ParameterizedMethodSuite.#ctor(NUnit.Framework.Internal.ParameterizedMethodSuite,NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Creates a copy of the given suite with only the descendants that pass the specified filter. + </summary> + <param name="suite">The <see cref="T:NUnit.Framework.Internal.ParameterizedMethodSuite"/> to copy.</param> + <param name="filter">Determines which descendants are copied.</param> + </member> + <member name="P:NUnit.Framework.Internal.ParameterizedMethodSuite.Method"> + <summary> + Gets a MethodInfo for the method implementing this test. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.ParameterizedMethodSuite.TestType"> + <summary> + Gets a string representing the type of test + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ParameterizedMethodSuite.Copy(NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Creates a filtered copy of the test suite. + </summary> + <param name="filter">Determines which descendants are copied.</param> + </member> + <member name="T:NUnit.Framework.Internal.SetUpFixture"> + <summary> + SetUpFixture extends TestSuite and supports + Setup and TearDown methods. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.SetUpFixture.#ctor(NUnit.Framework.Interfaces.ITypeInfo)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.SetUpFixture"/> class. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.SetUpFixture.#ctor(NUnit.Framework.Internal.SetUpFixture,NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Creates a copy of the given suite with only the descendants that pass the specified filter. + </summary> + <param name="setUpFixture">The <see cref="T:NUnit.Framework.Internal.SetUpFixture"/> to copy.</param> + <param name="filter">Determines which descendants are copied.</param> + </member> + <member name="P:NUnit.Framework.Internal.SetUpFixture.TypeInfo"> + <summary> + Gets the TypeInfo of the fixture used in running this test. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.SetUpFixture.Copy(NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Creates a filtered copy of the test suite. + </summary> + <param name="filter">Determines which descendants are copied.</param> + </member> + <member name="T:NUnit.Framework.Internal.Test"> + <summary> + The Test abstract class represents a test within the framework. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Test._nextID"> + <summary> + Static value to seed ids. It's started at 1000 so any + uninitialized ids will stand out. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Test._declaringTypeInfo"> + <summary> + Used to cache the declaring type for this MethodInfo + </summary> + </member> + <member name="F:NUnit.Framework.Internal.Test._method"> + <summary> + Method property backing field + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Test.#ctor(System.String)"> + <summary> + Constructs a test given its name + </summary> + <param name="name">The name of the test</param> + </member> + <member name="M:NUnit.Framework.Internal.Test.#ctor(System.String,System.String)"> + <summary> + Constructs a test given the path through the + test hierarchy to its parent and a name. + </summary> + <param name="pathName">The parent tests full name</param> + <param name="name">The name of the test</param> + </member> + <member name="M:NUnit.Framework.Internal.Test.#ctor(NUnit.Framework.Interfaces.ITypeInfo)"> + <summary> + Constructs a test for a specific type. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Test.#ctor(NUnit.Framework.Interfaces.IMethodInfo)"> + <summary> + Constructs a test for a specific method. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Test.Id"> + <summary> + Gets or sets the id of the test + </summary> + <value></value> + </member> + <member name="P:NUnit.Framework.Internal.Test.Name"> + <summary> + Gets or sets the name of the test + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Test.FullName"> + <summary> + Gets or sets the fully qualified name of the test + </summary> + <value></value> + </member> + <member name="P:NUnit.Framework.Internal.Test.ClassName"> + <summary> + Gets the name of the class where this test was declared. + Returns null if the test is not associated with a class. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Test.MethodName"> + <summary> + Gets the name of the method implementing this test. + Returns null if the test is not implemented as a method. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Test.Arguments"> + <summary> + The arguments to use in creating the test or empty array if none required. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Test.TypeInfo"> + <summary> + Gets the TypeInfo of the fixture used in running this test + or null if no fixture type is associated with it. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Test.Method"> + <summary> + Gets a MethodInfo for the method implementing this test. + Returns null if the test is not implemented as a method. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Test.RunState"> + <summary> + Whether or not the test should be run + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Test.XmlElementName"> + <summary> + Gets the name used for the top-level element in the + XML representation of this test + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Test.TestType"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Test.TestCaseCount"> + <summary> + Gets a count of test cases represented by + or contained under this test. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Test.Properties"> + <summary> + Gets the properties for this test + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Test.IsSuite"> + <summary> + Returns true if this is a TestSuite + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Test.HasChildren"> + <summary> + Gets a bool indicating whether the current test + has any descendant tests. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Test.Parent"> + <summary> + Gets the parent as a Test object. + Used by the core to set the parent. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Test.Tests"> + <summary> + Gets this test's child tests + </summary> + <value>A list of child tests</value> + </member> + <member name="P:NUnit.Framework.Internal.Test.Fixture"> + <summary> + Gets or sets a fixture object for running this test. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Test.IdPrefix"> + <summary> + Static prefix used for ids in this AppDomain. + Set by FrameworkController. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Test.Seed"> + <summary> + Gets or Sets the Int value representing the seed for the RandomGenerator + </summary> + <value></value> + </member> + <member name="P:NUnit.Framework.Internal.Test.SetUpMethods"> + <summary> + The SetUp methods. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.Test.TearDownMethods"> + <summary> + The teardown methods + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Test.MakeTestResult"> + <summary> + Creates a TestResult for this test. + </summary> + <returns>A TestResult suitable for this type of test.</returns> + </member> + <member name="M:NUnit.Framework.Internal.Test.ApplyAttributesToTest(System.Reflection.ICustomAttributeProvider)"> + <summary> + Modify a newly constructed test by applying any of NUnit's common + attributes, based on a supplied <see cref="T:System.Reflection.ICustomAttributeProvider"/>, 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. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Test.MakeInvalid(System.String)"> + <summary> + Mark the test as Invalid (not runnable) specifying a reason + </summary> + <param name="reason">The reason the test is not runnable</param> + </member> + <member name="M:NUnit.Framework.Internal.Test.GetCustomAttributes``1(System.Boolean)"> + <summary> + Get custom attributes applied to a test + </summary> + </member> + <member name="M:NUnit.Framework.Internal.Test.PopulateTestNode(NUnit.Framework.Interfaces.TNode,System.Boolean)"> + <summary> + Add standard attributes and members to a test node. + </summary> + <param name="thisNode"></param> + <param name="recursive"></param> + </member> + <member name="M:NUnit.Framework.Internal.Test.ToXml(System.Boolean)"> + <summary> + Returns the XML representation of the test + </summary> + <param name="recursive">If true, include child tests recursively</param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Internal.Test.AddToXml(NUnit.Framework.Interfaces.TNode,System.Boolean)"> + <summary> + Returns an XmlNode representing the current result after + adding it as a child of the supplied parent node. + </summary> + <param name="parentNode">The parent node.</param> + <param name="recursive">If true, descendant results are included</param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Internal.Test.CompareTo(System.Object)"> + <summary>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.</summary> + <param name="obj">An object to compare with this instance. </param> + </member> + <member name="M:NUnit.Framework.Internal.Test.CompareTo(NUnit.Framework.Internal.Test)"> + <summary>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. </summary> + <param name="other">An object to compare with this instance.</param> + </member> + <member name="T:NUnit.Framework.Internal.TestAssembly"> + <summary> + TestAssembly is a TestSuite that represents the execution + of tests in a managed assembly. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestAssembly.#ctor(System.Reflection.Assembly,System.String)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.TestAssembly"/> class + specifying the Assembly and the suite name. + </summary> + <param name="assembly">The assembly this test represents.</param> + <param name="assemblyNameOrPath"> + This becomes the full name of the suite and the filename part is used as the suite name. + </param> + </member> + <member name="M:NUnit.Framework.Internal.TestAssembly.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.TestAssembly"/> class + specifying the suite name for an assembly that could not be loaded. + </summary> + <param name="assemblyNameOrPath"> + This becomes the full name of the suite and the filename part is used as the suite name. + </param> + </member> + <member name="M:NUnit.Framework.Internal.TestAssembly.#ctor(NUnit.Framework.Internal.TestAssembly,NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Creates a copy of the given assembly with only the descendants that pass the specified filter. + </summary> + <param name="assembly">The <see cref="T:NUnit.Framework.Internal.TestAssembly"/> to copy.</param> + <param name="filter">Determines which descendants are copied.</param> + </member> + <member name="P:NUnit.Framework.Internal.TestAssembly.Assembly"> + <summary> + Gets the Assembly represented by this instance. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestAssembly.TestType"> + <summary> + Gets the name used for the top-level element in the + XML representation of this test + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestAssembly.GetCustomAttributes``1(System.Boolean)"> + <summary> + Get custom attributes specified on the assembly + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestAssembly.Copy(NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Creates a filtered copy of the test suite. + </summary> + <param name="filter">Determines which descendants are copied.</param> + </member> + <member name="T:NUnit.Framework.Internal.TestFixture"> + <summary> + TestFixture is a surrogate for a user test fixture class, + containing one or more tests. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestFixture.LifeCycle"> + <summary> + The life cycle specified for the current test fixture. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestFixture.#ctor(NUnit.Framework.Interfaces.ITypeInfo,System.Object[])"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.TestFixture"/> class. + </summary> + <param name="fixtureType">Type of the fixture.</param> + <param name="arguments">Arguments used to instantiate the test fixture, or null if none used</param> + </member> + <member name="M:NUnit.Framework.Internal.TestFixture.#ctor(NUnit.Framework.Internal.TestFixture,NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Creates a copy of the given suite with only the descendants that pass the specified filter. + </summary> + <param name="fixture">The <see cref="T:NUnit.Framework.Internal.TestFixture"/> to copy.</param> + <param name="filter">Determines which descendants are copied.</param> + </member> + <member name="P:NUnit.Framework.Internal.TestFixture.TypeInfo"> + <summary> + Gets the TypeInfo of the fixture used in running this test. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestFixture.Copy(NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Creates a filtered copy of the test suite. + </summary> + <param name="filter">Determines which descendants are copied.</param> + </member> + <member name="T:NUnit.Framework.Internal.TestMethod"> + <summary> + The TestMethod class represents a Test implemented as a method. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TestMethod.parms"> + <summary> + The ParameterSet used to create this test method + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestMethod.#ctor(NUnit.Framework.Interfaces.IMethodInfo)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.TestMethod"/> class. + </summary> + <param name="method">The method to be used as a test.</param> + </member> + <member name="M:NUnit.Framework.Internal.TestMethod.#ctor(NUnit.Framework.Interfaces.IMethodInfo,NUnit.Framework.Internal.Test)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.TestMethod"/> class. + </summary> + <param name="method">The method to be used as a test.</param> + <param name="parentSuite">The suite or fixture to which the new test will be added</param> + </member> + <member name="P:NUnit.Framework.Internal.TestMethod.Method"> + <summary> + Gets a MethodInfo for the method implementing this test. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestMethod.Arguments"> + <summary> + The arguments to use in executing the test method, or empty array if none are provided. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestMethod.MakeTestResult"> + <summary> + Overridden to return a TestCaseResult. + </summary> + <returns>A TestResult for this test.</returns> + </member> + <member name="P:NUnit.Framework.Internal.TestMethod.HasChildren"> + <summary> + Gets a bool indicating whether the current test + has any descendant tests. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestMethod.AddToXml(NUnit.Framework.Interfaces.TNode,System.Boolean)"> + <summary> + Returns a TNode representing the current result after + adding it as a child of the supplied parent node. + </summary> + <param name="parentNode">The parent node.</param> + <param name="recursive">If true, descendant results are included</param> + <returns></returns> + </member> + <member name="P:NUnit.Framework.Internal.TestMethod.Tests"> + <summary> + Gets this test's child tests + </summary> + <value>A list of child tests</value> + </member> + <member name="P:NUnit.Framework.Internal.TestMethod.XmlElementName"> + <summary> + Gets the name used for the top-level element in the + XML representation of this test + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestMethod.MethodName"> + <summary> + Returns the name of the method + </summary> + </member> + <member name="T:NUnit.Framework.Internal.TestSuite"> + <summary> + TestSuite represents a composite test, which contains other tests. + </summary> + </member> + <member name="F:NUnit.Framework.Internal.TestSuite.tests"> + <summary> + Our collection of child tests + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestSuite.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.TestSuite"/> class. + </summary> + <param name="name">The name of the suite.</param> + </member> + <member name="M:NUnit.Framework.Internal.TestSuite.#ctor(System.String,System.String)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.TestSuite"/> class. + </summary> + <param name="parentSuiteName">Name of the parent suite.</param> + <param name="name">The name of the suite.</param> + </member> + <member name="M:NUnit.Framework.Internal.TestSuite.#ctor(NUnit.Framework.Interfaces.ITypeInfo,System.Object[])"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.TestSuite"/> class. + </summary> + <param name="fixtureType">Type of the fixture.</param> + <param name="arguments">Arguments used to instantiate the test fixture, or null if none used.</param> + </member> + <member name="M:NUnit.Framework.Internal.TestSuite.#ctor(System.Type)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.TestSuite"/> class. + </summary> + <param name="fixtureType">Type of the fixture.</param> + </member> + <member name="M:NUnit.Framework.Internal.TestSuite.#ctor(NUnit.Framework.Internal.TestSuite,NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Creates a copy of the given suite with only the descendants that pass the specified filter. + </summary> + <param name="suite">The <see cref="T:NUnit.Framework.Internal.TestSuite"/> to copy.</param> + <param name="filter">Determines which descendants are copied.</param> + </member> + <member name="M:NUnit.Framework.Internal.TestSuite.Sort"> + <summary> + Sorts tests under this suite. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestSuite.Add(NUnit.Framework.Internal.Test)"> + <summary> + Adds a test to the suite. + </summary> + <param name="test">The test.</param> + </member> + <member name="M:NUnit.Framework.Internal.TestSuite.Copy(NUnit.Framework.Interfaces.ITestFilter)"> + <summary> + Creates a filtered copy of the test suite. + </summary> + <param name="filter">Determines which descendants are copied.</param> + </member> + <member name="P:NUnit.Framework.Internal.TestSuite.Tests"> + <summary> + Gets this test's child tests + </summary> + <value>The list of child tests</value> + </member> + <member name="P:NUnit.Framework.Internal.TestSuite.TestCaseCount"> + <summary> + Gets a count of test cases represented by + or contained under this test. + </summary> + <value></value> + </member> + <member name="P:NUnit.Framework.Internal.TestSuite.Arguments"> + <summary> + The arguments to use in creating the fixture, or empty array if none are provided. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestSuite.MaintainTestOrder"> + <summary> + Set to true to suppress sorting this suite's contents + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestSuite.OneTimeSetUpMethods"> + <summary> + OneTimeSetUp methods for this suite + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestSuite.OneTimeTearDownMethods"> + <summary> + OneTimeTearDown methods for this suite + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestSuite.MakeTestResult"> + <summary> + Overridden to return a TestSuiteResult. + </summary> + <returns>A TestResult for this test.</returns> + </member> + <member name="P:NUnit.Framework.Internal.TestSuite.HasChildren"> + <summary> + Gets a bool indicating whether the current test + has any descendant tests. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TestSuite.XmlElementName"> + <summary> + Gets the name used for the top-level element in the + XML representation of this test + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TestSuite.AddToXml(NUnit.Framework.Interfaces.TNode,System.Boolean)"> + <summary> + Returns an XmlNode representing the current result after + adding it as a child of the supplied parent node. + </summary> + <param name="parentNode">The parent node.</param> + <param name="recursive">If true, descendant results are included</param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Internal.TestSuite.CheckSetUpTearDownMethods(NUnit.Framework.Interfaces.IMethodInfo[])"> + <summary> + Check that setup and teardown methods marked by certain attributes + meet NUnit's requirements and mark the tests not runnable otherwise. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.ThreadUtility"> + <summary> + ThreadUtility provides a set of static methods convenient + for working with threads. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ThreadUtility.GetCurrentThreadPrincipal"> + <summary>Gets <see cref="P:System.Threading.Thread.CurrentPrincipal"/> or <see langword="null" /> if the current platform does not support it.</summary> + </member> + <member name="M:NUnit.Framework.Internal.ThreadUtility.SetCurrentThreadPrincipal(System.Security.Principal.IPrincipal)"> + <summary>Sets <see cref="P:System.Threading.Thread.CurrentPrincipal"/> if current platform supports it.</summary> + <param name="principal">Value to set. If the current platform does not support <see cref="P:System.Threading.Thread.CurrentPrincipal"/> then the only allowed value is <see langword="null"/>.</param> + </member> + <member name="T:NUnit.Framework.Internal.TypeHelper"> + <summary> + TypeHelper provides static methods that operate on Types. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TypeHelper.GetDisplayName(System.Type)"> + <summary> + Gets the display name for a Type as used by NUnit. + </summary> + <param name="type">The Type for which a display name is needed.</param> + <returns>The display name for the Type</returns> + </member> + <member name="M:NUnit.Framework.Internal.TypeHelper.GetDisplayName(System.Type,System.Object[])"> + <summary> + Gets the display name for a Type as used by NUnit. + </summary> + <param name="type">The Type for which a display name is needed.</param> + <param name="arglist">The arglist provided.</param> + <returns>The display name for the Type</returns> + </member> + <member name="M:NUnit.Framework.Internal.TypeHelper.TryGetBestCommonType(System.Type,System.Type,System.Type@)"> + <summary> + Returns the best fit for a common type to be used in + matching actual arguments to a methods Type parameters. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TypeHelper.IsNumeric(System.Type)"> + <summary> + Determines whether the specified type is numeric. + </summary> + <param name="type">The type to be examined.</param> + <returns> + <see langword="true"/> if the specified type is numeric; otherwise, <see langword="false"/>. + </returns> + </member> + <member name="M:NUnit.Framework.Internal.TypeHelper.ConvertArgumentList(System.Object[],NUnit.Framework.Interfaces.IParameterInfo[])"> + <summary> + Convert an argument list to the required parameter types. + Currently, only widening numeric conversions are performed. + </summary> + <param name="arglist">An array of args to be converted</param> + <param name="parameters">A ParameterInfo[] whose types will be used as targets</param> + </member> + <member name="M:NUnit.Framework.Internal.TypeHelper.CanDeduceTypeArgsFromArgs(System.Type,System.Object[],System.Type[]@)"> + <summary> + Determines whether this instance can deduce type args for a generic type from the supplied arguments. + </summary> + <param name="type">The type to be examined.</param> + <param name="arglist">The arglist.</param> + <param name="typeArgsOut">The type args to be used.</param> + <returns> + <see langword="true"/> if this the provided args give sufficient information to determine the type args to be used; otherwise, <see langword="false"/>. + </returns> + </member> + <member name="M:NUnit.Framework.Internal.TypeHelper.GetDeclaredInterfaces(System.Type)"> + <summary> + Return the interfaces implemented by a Type. + </summary> + <param name="type">The Type to be examined.</param> + <returns>An array of Types for the interfaces.</returns> + </member> + <member name="M:NUnit.Framework.Internal.TypeHelper.IsValueTuple(System.Type)"> + <summary> + Return whether or not the given type is a ValueTuple. + </summary> + <param name="type">Type.</param> + <returns>Whether or not the given type is a ValueTuple.</returns> + </member> + <member name="M:NUnit.Framework.Internal.TypeHelper.IsTuple(System.Type)"> + <summary> + Return whether or not the given type is a Tuple. + </summary> + <param name="type">Type.</param> + <returns>Whether or not the given type is a Tuple.</returns> + </member> + <member name="M:NUnit.Framework.Internal.TypeHelper.CanCast``1(System.Object)"> + <summary> + Determines whether the cast to the given type would succeed. + If <paramref name="obj"/> is <see langword="null"/> and <typeparamref name="T"/> + can be <see langword="null"/>, the cast succeeds just like the C# language feature. + </summary> + <param name="obj">The object to cast.</param> + </member> + <member name="M:NUnit.Framework.Internal.TypeHelper.TryCast``1(System.Object,``0@)"> + <summary> + Casts to a value of the given type if possible. + If <paramref name="obj"/> is <see langword="null"/> and <typeparamref name="T"/> + can be <see langword="null"/>, the cast succeeds just like the C# language feature. + </summary> + <param name="obj">The object to cast.</param> + <param name="value">The value of the object, if the cast succeeded.</param> + </member> + <member name="T:NUnit.Framework.Internal.TypeNameDifferenceResolver"> + <summary> + Used for resolving the type difference between objects. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TypeNameDifferenceResolver.ResolveTypeNameDifference(System.Object,System.Object,System.String@,System.String@)"> + <summary> + Gets the shortened type name difference between <paramref name="expected"/> and <paramref name="actual"/>. + </summary> + <param name="expected">The expected object.</param> + <param name="actual">The actual object.</param> + <param name="expectedTypeShortened">Output of the unique type name for the expected object.</param> + <param name="actualTypeShortened">Output of the unique type name for actual object.</param> + </member> + <member name="M:NUnit.Framework.Internal.TypeNameDifferenceResolver.ResolveTypeNameDifference(System.Type,System.Type,System.String@,System.String@)"> + <summary> + Gets the shortened type name difference between <paramref name="expected"/> and <paramref name="actual"/>. + </summary> + <param name="expected">The expected object <see cref="T:System.Type"/>.</param> + <param name="actual">The actual object <see cref="T:System.Type"/>.</param> + <param name="expectedTypeShortened">Output of the unique type name for the expected object.</param> + <param name="actualTypeShortened">Output of the unique type name for actual object.</param> + </member> + <member name="M:NUnit.Framework.Internal.TypeNameDifferenceResolver.GetShortenedGenericParams(System.Type,System.Type,System.Collections.Generic.List{System.String}@,System.Collections.Generic.List{System.String}@)"> + <summary> + Obtain the shortened generic template parameters of the given <paramref name="expectedFullType"/> and <paramref name="actualFullType"/>, + if they are generic. + </summary> + <param name="expectedFullType">The expected <see cref="T:System.Type"/>.</param> + <param name="actualFullType">The actual <see cref="T:System.Type"/>.</param> + <param name="shortenedParamsExpected">Shortened generic parameters of the expected <see cref="T:System.Type"/>.</param> + <param name="shortenedParamsActual">Shortened generic parameters of the actual <see cref="T:System.Type"/>.</param> + </member> + <member name="M:NUnit.Framework.Internal.TypeNameDifferenceResolver.FullyShortenTypeName(System.Type)"> + <summary> + Obtain a shortened name of the given <see cref="T:System.Type"/>. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TypeNameDifferenceResolver.ShortenTypeNames(System.Type,System.Type,System.String@,System.String@)"> + <summary> + Shorten the given <see cref="T:System.Type"/> names by only including the relevant differing namespaces/types, if they differ. + </summary> + <param name="expectedType">The expected <see cref="T:System.Type"/>.</param> + <param name="actualType">The actual <see cref="T:System.Type"/>.</param> + <param name="expectedTypeShortened">The shortened expected <see cref="T:System.Type"/> name.</param> + <param name="actualTypeShortened">The shortened actual <see cref="T:System.Type"/> name.</param> + </member> + <member name="M:NUnit.Framework.Internal.TypeNameDifferenceResolver.IsTypeGeneric(System.Type)"> + <summary> + Returns whether or not the <see cref="T:System.Type"/> is generic. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TypeNameDifferenceResolver.GetGenericTypeName(System.Type)"> + <summary> + Returns the fully qualified generic <see cref="T:System.Type"/> name of a given <see cref="T:System.Type"/>. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TypeNameDifferenceResolver.ReconstructGenericTypeName(System.String,System.Collections.Generic.List{System.String})"> + <summary> + Reconstruct a generic type name using the provided generic type name, and a + <see cref="T:NUnit.Framework.List"/> of the template parameters. + </summary> + <param name="genericTypeName">The name of the generic type, including the number of template parameters expected.</param> + <param name="templateParamNames">A <see cref="T:NUnit.Framework.List"/> of names of the template parameters of the provided generic type.</param> + </member> + <member name="M:NUnit.Framework.Internal.TypeNameDifferenceResolver.GetShortenedGenericTypes(System.Type,System.Type,System.String@,System.String@)"> + <summary> + Obtain the shortened generic <see cref="T:System.Type"/> names of the given expected and actual <see cref="T:System.Type"/>s. + </summary> + <param name="expected">The expected <see cref="T:System.Type"/>.</param> + <param name="actual">The actual <see cref="T:System.Type"/>.</param> + <param name="shortenedGenericNameExpected">The shortened expected generic name.</param> + <param name="shortenedGenericNameActual">The shortened actual generic name.</param> + </member> + <member name="T:NUnit.Framework.Internal.TypeWrapper"> + <summary> + The TypeWrapper class wraps a Type so it may be used in + a platform-independent manner. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TypeWrapper.#ctor(System.Type)"> + <summary> + Construct a TypeWrapper for a specified Type. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TypeWrapper.Type"> + <summary> + Gets the underlying Type on which this TypeWrapper is based. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TypeWrapper.BaseType"> + <summary> + Gets the base type of this type as an ITypeInfo + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TypeWrapper.Name"> + <summary> + Gets the Name of the Type + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TypeWrapper.FullName"> + <summary> + Gets the FullName of the Type + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TypeWrapper.Assembly"> + <summary> + Gets the assembly in which the type is declared + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TypeWrapper.Namespace"> + <summary> + Gets the namespace of the Type + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TypeWrapper.IsAbstract"> + <summary> + Gets a value indicating whether the type is abstract. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TypeWrapper.IsGenericType"> + <summary> + Gets a value indicating whether the Type is a generic Type + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TypeWrapper.IsType(System.Type)"> + <summary> + Returns true if the Type wrapped is T + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TypeWrapper.ContainsGenericParameters"> + <summary> + Gets a value indicating whether the Type has generic parameters that have not been replaced by specific Types. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TypeWrapper.IsGenericTypeDefinition"> + <summary> + Gets a value indicating whether the Type is a generic Type definition + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TypeWrapper.IsSealed"> + <summary> + Gets a value indicating whether the type is sealed. + </summary> + </member> + <member name="P:NUnit.Framework.Internal.TypeWrapper.IsStaticClass"> + <summary> + Gets a value indicating whether this type represents a static class. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TypeWrapper.GetDisplayName"> + <summary> + Get the display name for this type + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TypeWrapper.GetDisplayName(System.Object[])"> + <summary> + Get the display name for an object of this type, constructed with the specified args. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TypeWrapper.MakeGenericType(System.Type[])"> + <summary> + Returns a new ITypeInfo representing an instance of this generic Type using the supplied Type arguments + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TypeWrapper.GetGenericTypeDefinition"> + <summary> + Returns a Type representing a generic type definition from which this Type can be constructed. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TypeWrapper.GetCustomAttributes``1(System.Boolean)"> + <summary> + Returns an array of custom attributes of the specified type applied to this type + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TypeWrapper.IsDefined``1(System.Boolean)"> + <summary> + Returns a value indicating whether the type has an attribute of the specified type. + </summary> + <typeparam name="T"></typeparam> + <param name="inherit"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Internal.TypeWrapper.HasMethodWithAttribute(System.Type)"> + <summary> + Returns a flag indicating whether this type has a method with an attribute of the specified type. + </summary> + <param name="attributeType"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Internal.TypeWrapper.GetMethods(System.Reflection.BindingFlags)"> + <summary> + Returns an array of IMethodInfos for methods of this Type + that match the specified flags. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TypeWrapper.GetConstructor(System.Type[])"> + <summary> + Gets the public constructor taking the specified argument Types + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TypeWrapper.HasConstructor(System.Type[])"> + <summary> + Returns a value indicating whether this Type has a public constructor taking the specified argument Types. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TypeWrapper.Construct(System.Object[])"> + <summary> + Construct an object of this Type, using the specified arguments. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TypeWrapper.ToString"> + <summary> + Override ToString() so that error messages in NUnit's own tests make sense + </summary> + </member> + <member name="M:NUnit.Framework.Internal.TypeWrapper.GetMethodsWithAttribute``1(System.Boolean)"> + <summary> + 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. + </summary> + <param name="inherit">Specifies whether to search the fixture type inheritance chain.</param> + </member> + <member name="T:NUnit.Framework.Internal.ValueGenerator.Step"> + <summary> + Encapsulates the ability to increment a value by an amount which may be of a different type. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ValueGenerator.CreateStep(System.Object)"> + <summary> + Creates a <see cref="T:NUnit.Framework.Internal.ValueGenerator.Step"/> 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, + <see cref="T:System.NotSupportedException"/> is thrown. + </summary> + <exception cref="T:System.NotSupportedException"/> + </member> + <member name="M:NUnit.Framework.Internal.ValueGenerator.TryCreateStep(System.Object,NUnit.Framework.Internal.ValueGenerator.Step@)"> + <summary> + Creates a <see cref="T:NUnit.Framework.Internal.ValueGenerator.Step"/> 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. + </summary> + </member> + <member name="T:NUnit.Framework.Internal.ValueGenerator`1.ComparableStep`1"> + <summary> + Provides a convenient shorthand when <typeparamref name="TStep"/> is <see cref="T:System.IComparable`1"/> + and the default value of <typeparamref name="TStep"/> represents zero. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ValueGenerator`1.ComparableStep`1.#ctor(`1,System.Func{`0,`1,`0})"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.Internal.ValueGenerator`1.ComparableStep`1"/> class. + </summary> + <param name="value">The amount by which to increment each time this step is applied.</param> + <param name="apply"> + Must increment the given value and return the result. + If the result is outside the range representable by <typeparamref name="T"/>, + must throw <see cref="T:System.OverflowException"/>. If the result does not change due to lack + of precision representable by <typeparamref name="T"/>, must throw <see cref="T:System.ArithmeticException"/>. + </param> + </member> + <member name="M:NUnit.Framework.Internal.ValueGenerator`1.ComparableStep`1.Apply(`0)"> + <summary> + Increments the given value and returns the result. + If the result is outside the range representable by <typeparamref name="T"/>, + throws <see cref="T:System.OverflowException"/>. If the result does not change due to lack + of precision representable by <typeparamref name="T"/>, throws <see cref="T:System.ArithmeticException"/>. + </summary> + <exception cref="T:System.OverflowException"/> + <exception cref="T:System.ArithmeticException"/> + </member> + <member name="T:NUnit.Framework.Internal.ValueGenerator`1.Step"> + <summary> + Encapsulates the ability to increment a <typeparamref name="T"/> value by an amount + which may be of a different type. + </summary> + </member> + <member name="M:NUnit.Framework.Internal.ValueGenerator`1.Step.Apply(`0)"> + <summary> + Increments the given value and returns the result. + If the result is outside the range representable by <typeparamref name="T"/>, + throws <see cref="T:System.OverflowException"/>. If the result does not change due to lack + of precision representable by <typeparamref name="T"/>, throws <see cref="T:System.ArithmeticException"/>. + </summary> + <exception cref="T:System.OverflowException"/> + <exception cref="T:System.ArithmeticException"/> + </member> + <member name="M:NUnit.Framework.Internal.ValueGenerator`1.CreateStep(System.Object)"> + <summary> + Creates a <see cref="T:NUnit.Framework.Internal.ValueGenerator`1.Step"/> from the specified value if the current instance is able to + use it to increment values of type <typeparamref name="T"/>. If the creation fails, + <see cref="T:System.NotSupportedException"/> is thrown. + </summary> + <exception cref="T:System.NotSupportedException"/> + </member> + <member name="M:NUnit.Framework.Internal.ValueGenerator`1.TryCreateStep(System.Object,NUnit.Framework.Internal.ValueGenerator.Step@)"> + <summary> + Creates a <see cref="T:NUnit.Framework.Internal.ValueGenerator`1.Step"/> from the specified value if the current instance is able to + use it to increment values of type <typeparamref name="T"/>. A return value indicates + whether the creation succeeded. + </summary> + </member> + <member name="T:NUnit.Framework.IgnoredTestCaseData"> + <summary> + The IgnoredTestCaseData class represents a ignored TestCaseData. It adds + the ability to set a date until which the test will be ignored. + </summary> + </member> + <member name="F:NUnit.Framework.IgnoredTestCaseData._prevRunState"> + <summary> + The previous RunState + </summary> + </member> + <member name="M:NUnit.Framework.IgnoredTestCaseData.Until(System.DateTimeOffset)"> + <summary> + Set the date that the test is being ignored until + </summary> + <param name="datetime">The date that the test is being ignored until</param> + <returns>A modified TestCaseData.</returns> + </member> + <member name="T:NUnit.Framework.Is"> + <summary> + Helper class with properties and methods that supply + a number of constraints used in Asserts. + </summary> + </member> + <member name="P:NUnit.Framework.Is.Not"> + <summary> + Returns a ConstraintExpression that negates any + following constraint. + </summary> + </member> + <member name="P:NUnit.Framework.Is.All"> + <summary> + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + </summary> + </member> + <member name="P:NUnit.Framework.Is.Null"> + <summary> + Returns a constraint that tests for null + </summary> + </member> + <member name="P:NUnit.Framework.Is.True"> + <summary> + Returns a constraint that tests for True + </summary> + </member> + <member name="P:NUnit.Framework.Is.False"> + <summary> + Returns a constraint that tests for False + </summary> + </member> + <member name="P:NUnit.Framework.Is.Positive"> + <summary> + Returns a constraint that tests for a positive value + </summary> + </member> + <member name="P:NUnit.Framework.Is.Negative"> + <summary> + Returns a constraint that tests for a negative value + </summary> + </member> + <member name="P:NUnit.Framework.Is.Zero"> + <summary> + Returns a constraint that tests for equality with zero + </summary> + </member> + <member name="P:NUnit.Framework.Is.NaN"> + <summary> + Returns a constraint that tests for NaN + </summary> + </member> + <member name="P:NUnit.Framework.Is.Empty"> + <summary> + Returns a constraint that tests for empty + </summary> + </member> + <member name="P:NUnit.Framework.Is.Unique"> + <summary> + Returns a constraint that tests whether a collection + contains all unique items. + </summary> + </member> + <member name="P:NUnit.Framework.Is.BinarySerializable"> + <summary> + Returns a constraint that tests whether an object graph is serializable in binary format. + </summary> + </member> + <member name="P:NUnit.Framework.Is.XmlSerializable"> + <summary> + Returns a constraint that tests whether an object graph is serializable in XML format. + </summary> + </member> + <member name="M:NUnit.Framework.Is.EqualTo(System.Object)"> + <summary> + Returns a constraint that tests two items for equality + </summary> + </member> + <member name="M:NUnit.Framework.Is.SameAs(System.Object)"> + <summary> + Returns a constraint that tests that two references are the same object + </summary> + </member> + <member name="M:NUnit.Framework.Is.GreaterThan(System.Object)"> + <summary> + Returns a constraint that tests whether the + actual value is greater than the supplied argument + </summary> + </member> + <member name="M:NUnit.Framework.Is.GreaterThanOrEqualTo(System.Object)"> + <summary> + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + </summary> + </member> + <member name="M:NUnit.Framework.Is.AtLeast(System.Object)"> + <summary> + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + </summary> + </member> + <member name="M:NUnit.Framework.Is.LessThan(System.Object)"> + <summary> + Returns a constraint that tests whether the + actual value is less than the supplied argument + </summary> + </member> + <member name="M:NUnit.Framework.Is.LessThanOrEqualTo(System.Object)"> + <summary> + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + </summary> + </member> + <member name="M:NUnit.Framework.Is.AtMost(System.Object)"> + <summary> + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + </summary> + </member> + <member name="M:NUnit.Framework.Is.TypeOf(System.Type)"> + <summary> + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Is.TypeOf``1"> + <summary> + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Is.InstanceOf(System.Type)"> + <summary> + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + </summary> + </member> + <member name="M:NUnit.Framework.Is.InstanceOf``1"> + <summary> + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + </summary> + </member> + <member name="M:NUnit.Framework.Is.AssignableFrom(System.Type)"> + <summary> + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Is.AssignableFrom``1"> + <summary> + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Is.AssignableTo(System.Type)"> + <summary> + Returns a constraint that tests whether the actual value + is assignable to the type supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Is.AssignableTo``1"> + <summary> + Returns a constraint that tests whether the actual value + is assignable to the type supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Is.EquivalentTo(System.Collections.IEnumerable)"> + <summary> + Returns a constraint that tests whether the actual value + is a collection containing the same elements as the + collection supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Is.SubsetOf(System.Collections.IEnumerable)"> + <summary> + Returns a constraint that tests whether the actual value + is a subset of the collection supplied as an argument. + </summary> + </member> + <member name="M:NUnit.Framework.Is.SupersetOf(System.Collections.IEnumerable)"> + <summary> + Returns a constraint that tests whether the actual value + is a superset of the collection supplied as an argument. + </summary> + </member> + <member name="P:NUnit.Framework.Is.Ordered"> + <summary> + Returns a constraint that tests whether a collection is ordered + </summary> + </member> + <member name="M:NUnit.Framework.Is.SamePath(System.String)"> + <summary> + Returns a constraint that tests whether the path provided + is the same as an expected path after canonicalization. + </summary> + </member> + <member name="M:NUnit.Framework.Is.SubPathOf(System.String)"> + <summary> + Returns a constraint that tests whether the path provided + is a subpath of the expected path after canonicalization. + </summary> + </member> + <member name="M:NUnit.Framework.Is.SamePathOrUnder(System.String)"> + <summary> + Returns a constraint that tests whether the path provided + is the same path or under an expected path after canonicalization. + </summary> + </member> + <member name="M:NUnit.Framework.Is.InRange(System.Object,System.Object)"> + <summary> + Returns a constraint that tests whether the actual value falls + inclusively within a specified range. + </summary> + <param name="from">Inclusive beginning of the range.</param> + <param name="to">Inclusive end of the range.</param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.Is.AnyOf(System.Object[])"> + <summary> + Returns a constraint that tests if an item is equal to any of parameters + </summary> + <param name="expected">Expected values</param> + </member> + <member name="T:NUnit.Framework.ITestAction"> + <summary> + When implemented by an attribute, this interface implemented to provide actions to execute before and after tests. + </summary> + </member> + <member name="M:NUnit.Framework.ITestAction.BeforeTest(NUnit.Framework.Interfaces.ITest)"> + <summary> + Executed before each test is run + </summary> + <param name="test">The test that is going to be run.</param> + </member> + <member name="M:NUnit.Framework.ITestAction.AfterTest(NUnit.Framework.Interfaces.ITest)"> + <summary> + Executed after each test is run + </summary> + <param name="test">The test that has just been run.</param> + </member> + <member name="P:NUnit.Framework.ITestAction.Targets"> + <summary> + Provides the target for the action attribute + </summary> + <returns>The target for the action attribute</returns> + </member> + <member name="T:NUnit.Framework.Iz"> + <summary> + The Iz class is a synonym for Is intended for use in VB, + which regards Is as a keyword. + </summary> + </member> + <member name="T:NUnit.Framework.List"> + <summary> + The List class is a helper class with properties and methods + that supply a number of constraints used with lists and collections. + </summary> + </member> + <member name="M:NUnit.Framework.List.Map(System.Collections.ICollection)"> + <summary> + List.Map returns a ListMapper, which can be used to map + the original collection to another collection. + </summary> + <param name="actual"></param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.ListMapper"> + <summary> + ListMapper is used to transform a collection used as an actual argument + producing another collection to be used in the assertion. + </summary> + </member> + <member name="M:NUnit.Framework.ListMapper.#ctor(System.Collections.ICollection)"> + <summary> + Construct a ListMapper based on a collection + </summary> + <param name="original">The collection to be transformed</param> + </member> + <member name="M:NUnit.Framework.ListMapper.Property(System.String)"> + <summary> + Produces a collection containing all the values of a property + </summary> + <param name="name">The collection of property values</param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.StringAssert"> + <summary> + Basic Asserts on strings. + </summary> + </member> + <member name="M:NUnit.Framework.StringAssert.Equals(System.Object,System.Object)"> + <summary> + 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. + </summary> + <param name="a"></param> + <param name="b"></param> + </member> + <member name="M:NUnit.Framework.StringAssert.ReferenceEquals(System.Object,System.Object)"> + <summary> + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + </summary> + <param name="a"></param> + <param name="b"></param> + </member> + <member name="M:NUnit.Framework.StringAssert.Contains(System.String,System.String,System.String,System.Object[])"> + <summary> + Asserts that a string is found within another string. + </summary> + <param name="expected">The expected string</param> + <param name="actual">The string to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Arguments used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.StringAssert.Contains(System.String,System.String)"> + <summary> + Asserts that a string is found within another string. + </summary> + <param name="expected">The expected string</param> + <param name="actual">The string to be examined</param> + </member> + <member name="M:NUnit.Framework.StringAssert.DoesNotContain(System.String,System.String,System.String,System.Object[])"> + <summary> + Asserts that a string is not found within another string. + </summary> + <param name="expected">The expected string</param> + <param name="actual">The string to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Arguments used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.StringAssert.DoesNotContain(System.String,System.String)"> + <summary> + Asserts that a string is found within another string. + </summary> + <param name="expected">The expected string</param> + <param name="actual">The string to be examined</param> + </member> + <member name="M:NUnit.Framework.StringAssert.StartsWith(System.String,System.String,System.String,System.Object[])"> + <summary> + Asserts that a string starts with another string. + </summary> + <param name="expected">The expected string</param> + <param name="actual">The string to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Arguments used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.StringAssert.StartsWith(System.String,System.String)"> + <summary> + Asserts that a string starts with another string. + </summary> + <param name="expected">The expected string</param> + <param name="actual">The string to be examined</param> + </member> + <member name="M:NUnit.Framework.StringAssert.DoesNotStartWith(System.String,System.String,System.String,System.Object[])"> + <summary> + Asserts that a string does not start with another string. + </summary> + <param name="expected">The expected string</param> + <param name="actual">The string to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Arguments used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.StringAssert.DoesNotStartWith(System.String,System.String)"> + <summary> + Asserts that a string does not start with another string. + </summary> + <param name="expected">The expected string</param> + <param name="actual">The string to be examined</param> + </member> + <member name="M:NUnit.Framework.StringAssert.EndsWith(System.String,System.String,System.String,System.Object[])"> + <summary> + Asserts that a string ends with another string. + </summary> + <param name="expected">The expected string</param> + <param name="actual">The string to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Arguments used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.StringAssert.EndsWith(System.String,System.String)"> + <summary> + Asserts that a string ends with another string. + </summary> + <param name="expected">The expected string</param> + <param name="actual">The string to be examined</param> + </member> + <member name="M:NUnit.Framework.StringAssert.DoesNotEndWith(System.String,System.String,System.String,System.Object[])"> + <summary> + Asserts that a string does not end with another string. + </summary> + <param name="expected">The expected string</param> + <param name="actual">The string to be examined</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Arguments used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.StringAssert.DoesNotEndWith(System.String,System.String)"> + <summary> + Asserts that a string does not end with another string. + </summary> + <param name="expected">The expected string</param> + <param name="actual">The string to be examined</param> + </member> + <member name="M:NUnit.Framework.StringAssert.AreEqualIgnoringCase(System.String,System.String,System.String,System.Object[])"> + <summary> + Asserts that two strings are equal, without regard to case. + </summary> + <param name="expected">The expected string</param> + <param name="actual">The actual string</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Arguments used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.StringAssert.AreEqualIgnoringCase(System.String,System.String)"> + <summary> + Asserts that two strings are equal, without regard to case. + </summary> + <param name="expected">The expected string</param> + <param name="actual">The actual string</param> + </member> + <member name="M:NUnit.Framework.StringAssert.AreNotEqualIgnoringCase(System.String,System.String,System.String,System.Object[])"> + <summary> + Asserts that two strings are not equal, without regard to case. + </summary> + <param name="expected">The expected string</param> + <param name="actual">The actual string</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Arguments used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.StringAssert.AreNotEqualIgnoringCase(System.String,System.String)"> + <summary> + Asserts that two strings are not equal, without regard to case. + </summary> + <param name="expected">The expected string</param> + <param name="actual">The actual string</param> + </member> + <member name="M:NUnit.Framework.StringAssert.IsMatch(System.String,System.String,System.String,System.Object[])"> + <summary> + Asserts that a string matches an expected regular expression pattern. + </summary> + <param name="pattern">The regex pattern to be matched</param> + <param name="actual">The actual string</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Arguments used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.StringAssert.IsMatch(System.String,System.String)"> + <summary> + Asserts that a string matches an expected regular expression pattern. + </summary> + <param name="pattern">The regex pattern to be matched</param> + <param name="actual">The actual string</param> + </member> + <member name="M:NUnit.Framework.StringAssert.DoesNotMatch(System.String,System.String,System.String,System.Object[])"> + <summary> + Asserts that a string does not match an expected regular expression pattern. + </summary> + <param name="pattern">The regex pattern to be used</param> + <param name="actual">The actual string</param> + <param name="message">The message to display in case of failure</param> + <param name="args">Arguments used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.StringAssert.DoesNotMatch(System.String,System.String)"> + <summary> + Asserts that a string does not match an expected regular expression pattern. + </summary> + <param name="pattern">The regex pattern to be used</param> + <param name="actual">The actual string</param> + </member> + <member name="T:NUnit.Framework.TestCaseData"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.TestCaseData.#ctor(System.Object[])"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.TestCaseData"/> class. + </summary> + <param name="args">The arguments.</param> + </member> + <member name="M:NUnit.Framework.TestCaseData.#ctor(System.Object)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.TestCaseData"/> class. + </summary> + <param name="arg">The argument.</param> + </member> + <member name="M:NUnit.Framework.TestCaseData.#ctor(System.Object,System.Object)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.TestCaseData"/> class. + </summary> + <param name="arg1">The first argument.</param> + <param name="arg2">The second argument.</param> + </member> + <member name="M:NUnit.Framework.TestCaseData.#ctor(System.Object,System.Object,System.Object)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.TestCaseData"/> class. + </summary> + <param name="arg1">The first argument.</param> + <param name="arg2">The second argument.</param> + <param name="arg3">The third argument.</param> + </member> + <member name="M:NUnit.Framework.TestCaseData.Returns(System.Object)"> + <summary> + Sets the expected result for the test + </summary> + <param name="result">The expected result</param> + <returns>A modified TestCaseData</returns> + </member> + <member name="M:NUnit.Framework.TestCaseData.SetName(System.String)"> + <summary> + Sets the name of the test case + </summary> + <returns>The modified TestCaseData instance</returns> + </member> + <member name="M:NUnit.Framework.TestCaseData.SetArgDisplayNames(System.String[])"> + <summary> + Sets the list of display names to use as the parameters in the test name. + </summary> + </member> + <member name="M:NUnit.Framework.TestCaseData.SetDescription(System.String)"> + <summary> + Sets the description for the test case + being constructed. + </summary> + <param name="description">The description.</param> + <returns>The modified TestCaseData instance.</returns> + </member> + <member name="M:NUnit.Framework.TestCaseData.SetCategory(System.String)"> + <summary> + Applies a category to the test + </summary> + <param name="category"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.TestCaseData.SetProperty(System.String,System.String)"> + <summary> + Applies a named property to the test + </summary> + <param name="propName"></param> + <param name="propValue"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.TestCaseData.SetProperty(System.String,System.Int32)"> + <summary> + Applies a named property to the test + </summary> + <param name="propName"></param> + <param name="propValue"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.TestCaseData.SetProperty(System.String,System.Double)"> + <summary> + Applies a named property to the test + </summary> + <param name="propName"></param> + <param name="propValue"></param> + <returns></returns> + </member> + <member name="M:NUnit.Framework.TestCaseData.Explicit"> + <summary> + Marks the test case as explicit. + </summary> + </member> + <member name="M:NUnit.Framework.TestCaseData.Explicit(System.String)"> + <summary> + Marks the test case as explicit, specifying the reason. + </summary> + </member> + <member name="M:NUnit.Framework.TestCaseData.Ignore(System.String)"> + <summary> + Ignores this TestCase, specifying the reason. + </summary> + <param name="reason">The reason.</param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.TestContext"> + <summary> + Provide the context information of the current test. + This is an adapter for the internal ExecutionContext + class, hiding the internals from the user test. + </summary> + </member> + <member name="M:NUnit.Framework.TestContext.#ctor(NUnit.Framework.Internal.TestExecutionContext)"> + <summary> + Construct a TestContext for an ExecutionContext + </summary> + <param name="testExecutionContext">The ExecutionContext to adapt</param> + </member> + <member name="P:NUnit.Framework.TestContext.CurrentContext"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.Out"> + <summary> + Gets a TextWriter that will send output to the current test result. + </summary> + </member> + <member name="F:NUnit.Framework.TestContext.Error"> + <summary> + Gets a TextWriter that will send output directly to Console.Error + </summary> + </member> + <member name="F:NUnit.Framework.TestContext.Progress"> + <summary> + Gets a TextWriter for use in displaying immediate progress messages + </summary> + </member> + <member name="F:NUnit.Framework.TestContext.Parameters"> + <summary> + TestParameters object holds parameters for the test run, if any are specified + </summary> + </member> + <member name="F:NUnit.Framework.TestContext.DefaultWorkDirectory"> + <summary> + 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. + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.Test"> + <summary> + Get a representation of the current test. + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.Result"> + <summary> + Gets a Representation of the TestResult for the current test. + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.WorkerId"> + <summary> + Gets the unique name of the Worker that is executing this test. + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.TestDirectory"> + <summary> + Gets the directory containing the current test assembly. + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.WorkDirectory"> + <summary> + Gets the directory to be used for outputting files created + by this test run. + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.Random"> + <summary> + Gets the random generator. + </summary> + <value> + The random generator. + </value> + </member> + <member name="P:NUnit.Framework.TestContext.AssertCount"> + <summary> + Gets the number of assertions executed + up to this point in the test. + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.CurrentRepeatCount"> + <summary> + Get the number of times the current Test has been repeated + when using the <see cref="T:NUnit.Framework.RetryAttribute"/> or <see cref="T:NUnit.Framework.RepeatAttribute"/>. + </summary> + </member> + <member name="M:NUnit.Framework.TestContext.Write(System.Boolean)"> + <summary>Write the string representation of a boolean value to the current result</summary> + </member> + <member name="M:NUnit.Framework.TestContext.Write(System.Char)"> + <summary>Write a char to the current result</summary> + </member> + <member name="M:NUnit.Framework.TestContext.Write(System.Char[])"> + <summary>Write a char array to the current result</summary> + </member> + <member name="M:NUnit.Framework.TestContext.Write(System.Double)"> + <summary>Write the string representation of a double to the current result</summary> + </member> + <member name="M:NUnit.Framework.TestContext.Write(System.Int32)"> + <summary>Write the string representation of an Int32 value to the current result</summary> + </member> + <member name="M:NUnit.Framework.TestContext.Write(System.Int64)"> + <summary>Write the string representation of an Int64 value to the current result</summary> + </member> + <member name="M:NUnit.Framework.TestContext.Write(System.Decimal)"> + <summary>Write the string representation of a decimal value to the current result</summary> + </member> + <member name="M:NUnit.Framework.TestContext.Write(System.Object)"> + <summary>Write the string representation of an object to the current result</summary> + </member> + <member name="M:NUnit.Framework.TestContext.Write(System.Single)"> + <summary>Write the string representation of a Single value to the current result</summary> + </member> + <member name="M:NUnit.Framework.TestContext.Write(System.String)"> + <summary>Write a string to the current result</summary> + </member> + <member name="M:NUnit.Framework.TestContext.Write(System.UInt32)"> + <summary>Write the string representation of a UInt32 value to the current result</summary> + </member> + <member name="M:NUnit.Framework.TestContext.Write(System.UInt64)"> + <summary>Write the string representation of a UInt64 value to the current result</summary> + </member> + <member name="M:NUnit.Framework.TestContext.Write(System.String,System.Object)"> + <summary>Write a formatted string to the current result</summary> + </member> + <member name="M:NUnit.Framework.TestContext.Write(System.String,System.Object,System.Object)"> + <summary>Write a formatted string to the current result</summary> + </member> + <member name="M:NUnit.Framework.TestContext.Write(System.String,System.Object,System.Object,System.Object)"> + <summary>Write a formatted string to the current result</summary> + </member> + <member name="M:NUnit.Framework.TestContext.Write(System.String,System.Object[])"> + <summary>Write a formatted string to the current result</summary> + </member> + <member name="M:NUnit.Framework.TestContext.WriteLine"> + <summary>Write a line terminator to the current result</summary> + </member> + <member name="M:NUnit.Framework.TestContext.WriteLine(System.Boolean)"> + <summary>Write the string representation of a boolean value to the current result followed by a line terminator</summary> + </member> + <member name="M:NUnit.Framework.TestContext.WriteLine(System.Char)"> + <summary>Write a char to the current result followed by a line terminator</summary> + </member> + <member name="M:NUnit.Framework.TestContext.WriteLine(System.Char[])"> + <summary>Write a char array to the current result followed by a line terminator</summary> + </member> + <member name="M:NUnit.Framework.TestContext.WriteLine(System.Double)"> + <summary>Write the string representation of a double to the current result followed by a line terminator</summary> + </member> + <member name="M:NUnit.Framework.TestContext.WriteLine(System.Int32)"> + <summary>Write the string representation of an Int32 value to the current result followed by a line terminator</summary> + </member> + <member name="M:NUnit.Framework.TestContext.WriteLine(System.Int64)"> + <summary>Write the string representation of an Int64 value to the current result followed by a line terminator</summary> + </member> + <member name="M:NUnit.Framework.TestContext.WriteLine(System.Decimal)"> + <summary>Write the string representation of a decimal value to the current result followed by a line terminator</summary> + </member> + <member name="M:NUnit.Framework.TestContext.WriteLine(System.Object)"> + <summary>Write the string representation of an object to the current result followed by a line terminator</summary> + </member> + <member name="M:NUnit.Framework.TestContext.WriteLine(System.Single)"> + <summary>Write the string representation of a Single value to the current result followed by a line terminator</summary> + </member> + <member name="M:NUnit.Framework.TestContext.WriteLine(System.String)"> + <summary>Write a string to the current result followed by a line terminator</summary> + </member> + <member name="M:NUnit.Framework.TestContext.WriteLine(System.UInt32)"> + <summary>Write the string representation of a UInt32 value to the current result followed by a line terminator</summary> + </member> + <member name="M:NUnit.Framework.TestContext.WriteLine(System.UInt64)"> + <summary>Write the string representation of a UInt64 value to the current result followed by a line terminator</summary> + </member> + <member name="M:NUnit.Framework.TestContext.WriteLine(System.String,System.Object)"> + <summary>Write a formatted string to the current result followed by a line terminator</summary> + </member> + <member name="M:NUnit.Framework.TestContext.WriteLine(System.String,System.Object,System.Object)"> + <summary>Write a formatted string to the current result followed by a line terminator</summary> + </member> + <member name="M:NUnit.Framework.TestContext.WriteLine(System.String,System.Object,System.Object,System.Object)"> + <summary>Write a formatted string to the current result followed by a line terminator</summary> + </member> + <member name="M:NUnit.Framework.TestContext.WriteLine(System.String,System.Object[])"> + <summary>Write a formatted string to the current result followed by a line terminator</summary> + </member> + <member name="M:NUnit.Framework.TestContext.AddFormatter(NUnit.Framework.Constraints.ValueFormatterFactory)"> + <summary> + 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. + </summary> + <param name="formatterFactory">The factory delegate</param> + </member> + <member name="M:NUnit.Framework.TestContext.AddTestAttachment(System.String,System.String)"> + <summary> + Attach a file to the current test result + </summary> + <param name="filePath">Relative or absolute file path to attachment</param> + <param name="description">Optional description of attachment</param> + </member> + <member name="M:NUnit.Framework.TestContext.AddFormatter``1(NUnit.Framework.Constraints.ValueFormatter)"> + <summary> + 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. + </summary> + <typeparam name="TSupported">The type supported by this formatter</typeparam> + <param name="formatter">The ValueFormatter delegate</param> + </member> + <member name="T:NUnit.Framework.TestContext.TestAdapter"> + <summary> + TestAdapter adapts a Test for consumption by + the user test code. + </summary> + </member> + <member name="M:NUnit.Framework.TestContext.TestAdapter.#ctor(NUnit.Framework.Internal.Test)"> + <summary> + Construct a TestAdapter for a Test + </summary> + <param name="test">The Test to be adapted</param> + </member> + <member name="P:NUnit.Framework.TestContext.TestAdapter.ID"> + <summary> + Gets the unique Id of a test + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.TestAdapter.Name"> + <summary> + The name of the test, which may or may not be + the same as the method name. + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.TestAdapter.MethodName"> + <summary> + The name of the method representing the test. + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.TestAdapter.FullName"> + <summary> + The FullName of the test + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.TestAdapter.ClassName"> + <summary> + The ClassName of the test + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.TestAdapter.Properties"> + <summary> + A shallow copy of the properties of the test. + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.TestAdapter.Arguments"> + <summary> + The arguments to use in creating the test or empty array if none are required. + </summary> + </member> + <member name="T:NUnit.Framework.TestContext.ResultAdapter"> + <summary> + ResultAdapter adapts a TestResult for consumption by + the user test code. + </summary> + </member> + <member name="M:NUnit.Framework.TestContext.ResultAdapter.#ctor(NUnit.Framework.Internal.TestResult)"> + <summary> + Construct a ResultAdapter for a TestResult + </summary> + <param name="result">The TestResult to be adapted</param> + </member> + <member name="P:NUnit.Framework.TestContext.ResultAdapter.Outcome"> + <summary> + Gets a ResultState representing the outcome of the test + up to this point in its execution. + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.ResultAdapter.Assertions"> + <summary> + Gets a list of the assertion results generated + up to this point in the test. + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.ResultAdapter.Message"> + <summary> + Gets the message associated with a test + failure or with not running the test + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.ResultAdapter.StackTrace"> + <summary> + Gets any stack trace associated with an + error or failure. + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.ResultAdapter.FailCount"> + <summary> + Gets the number of test cases that failed + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.ResultAdapter.WarningCount"> + <summary> + Gets the number of test cases that had warnings + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.ResultAdapter.PassCount"> + <summary> + Gets the number of test cases that passed + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.ResultAdapter.SkipCount"> + <summary> + Gets the number of test cases that were skipped + when running the test and all its children. + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.ResultAdapter.InconclusiveCount"> + <summary> + Gets the number of test cases that were inconclusive + when running the test and all its children. + </summary> + </member> + <member name="T:NUnit.Framework.TestContext.PropertyBagAdapter"> + <summary> + <see cref="T:NUnit.Framework.TestContext.PropertyBagAdapter"/> adapts an <see cref="T:NUnit.Framework.Interfaces.IPropertyBag"/> + for consumption by the user. + </summary> + </member> + <member name="M:NUnit.Framework.TestContext.PropertyBagAdapter.#ctor(NUnit.Framework.Interfaces.IPropertyBag)"> + <summary> + Construct a <see cref="T:NUnit.Framework.TestContext.PropertyBagAdapter"/> from a source + <see cref="T:NUnit.Framework.Interfaces.IPropertyBag"/>. + </summary> + </member> + <member name="M:NUnit.Framework.TestContext.PropertyBagAdapter.Get(System.String)"> + <summary> + Get the first property with the given <paramref name="key"/>, if it can be found, otherwise + returns null. + </summary> + </member> + <member name="M:NUnit.Framework.TestContext.PropertyBagAdapter.ContainsKey(System.String)"> + <summary> + Indicates whether <paramref name="key"/> is found in this + <see cref="T:NUnit.Framework.TestContext.PropertyBagAdapter"/>. + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.PropertyBagAdapter.Item(System.String)"> + <summary> + Returns a collection of properties + with the given <paramref name="key"/>. + </summary> + </member> + <member name="M:NUnit.Framework.TestContext.PropertyBagAdapter.Count(System.String)"> + <summary> + Returns the count of elements with the given <paramref name="key"/>. + </summary> + </member> + <member name="P:NUnit.Framework.TestContext.PropertyBagAdapter.Keys"> + <summary> + Returns a collection of the property keys. + </summary> + </member> + <member name="T:NUnit.Framework.TestFixtureData"> + <summary> + 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. + </summary> + </member> + <member name="M:NUnit.Framework.TestFixtureData.#ctor(System.Object[])"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.TestFixtureData"/> class. + </summary> + <param name="args">The arguments.</param> + </member> + <member name="M:NUnit.Framework.TestFixtureData.#ctor(System.Object)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.TestFixtureData"/> class. + </summary> + <param name="arg">The argument.</param> + </member> + <member name="M:NUnit.Framework.TestFixtureData.#ctor(System.Object,System.Object)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.TestFixtureData"/> class. + </summary> + <param name="arg1">The first argument.</param> + <param name="arg2">The second argument.</param> + </member> + <member name="M:NUnit.Framework.TestFixtureData.#ctor(System.Object,System.Object,System.Object)"> + <summary> + Initializes a new instance of the <see cref="T:NUnit.Framework.TestFixtureData"/> class. + </summary> + <param name="arg1">The first argument.</param> + <param name="arg2">The second argument.</param> + <param name="arg3">The third argument.</param> + </member> + <member name="M:NUnit.Framework.TestFixtureData.SetName(System.String)"> + <summary> + Sets the name of the test fixture + </summary> + <returns>The modified TestFixtureData instance</returns> + </member> + <member name="M:NUnit.Framework.TestFixtureData.SetArgDisplayNames(System.String[])"> + <summary> + Sets the list of display names to use as the parameters in the test name. + </summary> + </member> + <member name="M:NUnit.Framework.TestFixtureData.Explicit"> + <summary> + Marks the test fixture as explicit. + </summary> + </member> + <member name="M:NUnit.Framework.TestFixtureData.Explicit(System.String)"> + <summary> + Marks the test fixture as explicit, specifying the reason. + </summary> + </member> + <member name="M:NUnit.Framework.TestFixtureData.Ignore(System.String)"> + <summary> + Ignores this TestFixture, specifying the reason. + </summary> + <param name="reason">The reason.</param> + <returns></returns> + </member> + <member name="T:NUnit.Framework.TestParameters"> + <summary> + TestParameters class holds any named parameters supplied to the test run + </summary> + </member> + <member name="P:NUnit.Framework.TestParameters.Count"> + <summary> + Gets the number of test parameters + </summary> + </member> + <member name="P:NUnit.Framework.TestParameters.Names"> + <summary> + Gets a collection of the test parameter names + </summary> + </member> + <member name="M:NUnit.Framework.TestParameters.Exists(System.String)"> + <summary> + Gets a flag indicating whether a parameter with the specified name exists. + </summary> + <param name="name">Name of the parameter</param> + <returns>True if it exists, otherwise false</returns> + </member> + <member name="P:NUnit.Framework.TestParameters.Item(System.String)"> + <summary> + Indexer provides access to the internal dictionary + </summary> + <param name="name">Name of the parameter</param> + <returns>Value of the parameter or null if not present</returns> + </member> + <member name="M:NUnit.Framework.TestParameters.Get(System.String)"> + <summary> + Get method is a simple alternative to the indexer + </summary> + <param name="name">Name of the parameter</param> + <returns>Value of the parameter or null if not present</returns> + </member> + <member name="M:NUnit.Framework.TestParameters.Get(System.String,System.String)"> + <summary> + Get the value of a parameter or a default string + </summary> + <param name="name">Name of the parameter</param> + <param name="defaultValue">Default value of the parameter</param> + <returns>Value of the parameter or default value if not present</returns> + </member> + <member name="M:NUnit.Framework.TestParameters.Get``1(System.String,``0)"> + <summary> + Get the value of a parameter or return a default + </summary> + <typeparam name="T">The return Type</typeparam> + <param name="name">Name of the parameter</param> + <param name="defaultValue">Default value of the parameter</param> + <returns>Value of the parameter or default value if not present</returns> + </member> + <member name="M:NUnit.Framework.TestParameters.Add(System.String,System.String)"> + <summary> + Adds a parameter to the list + </summary> + <param name="name">Name of the parameter</param> + <param name="value">Value of the parameter</param> + </member> + <member name="T:NUnit.Framework.Throws"> + <summary> + Helper class with properties and methods that supply + constraints that operate on exceptions. + </summary> + </member> + <member name="P:NUnit.Framework.Throws.Exception"> + <summary> + Creates a constraint specifying an expected exception + </summary> + </member> + <member name="P:NUnit.Framework.Throws.InnerException"> + <summary> + Creates a constraint specifying an exception with a given InnerException + </summary> + </member> + <member name="P:NUnit.Framework.Throws.TargetInvocationException"> + <summary> + Creates a constraint specifying an expected TargetInvocationException + </summary> + </member> + <member name="P:NUnit.Framework.Throws.ArgumentException"> + <summary> + Creates a constraint specifying an expected ArgumentException + </summary> + </member> + <member name="P:NUnit.Framework.Throws.ArgumentNullException"> + <summary> + Creates a constraint specifying an expected ArgumentNullException + </summary> + </member> + <member name="P:NUnit.Framework.Throws.InvalidOperationException"> + <summary> + Creates a constraint specifying an expected InvalidOperationException + </summary> + </member> + <member name="P:NUnit.Framework.Throws.Nothing"> + <summary> + Creates a constraint specifying that no exception is thrown + </summary> + </member> + <member name="M:NUnit.Framework.Throws.TypeOf(System.Type)"> + <summary> + Creates a constraint specifying the exact type of exception expected + </summary> + </member> + <member name="M:NUnit.Framework.Throws.TypeOf``1"> + <summary> + Creates a constraint specifying the exact type of exception expected + </summary> + </member> + <member name="M:NUnit.Framework.Throws.InstanceOf(System.Type)"> + <summary> + Creates a constraint specifying the type of exception expected + </summary> + </member> + <member name="M:NUnit.Framework.Throws.InstanceOf``1"> + <summary> + Creates a constraint specifying the type of exception expected + </summary> + </member> + <member name="T:NUnit.Framework.Warn"> + <summary> + Provides static methods to express conditions + that must be met for the test to succeed. If + any test fails, a warning is issued. + </summary> + </member> + <member name="M:NUnit.Framework.Warn.Equals(System.Object,System.Object)"> + <summary> + DO NOT USE! + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + </summary> + <param name="a">The left object.</param> + <param name="b">The right object.</param> + <returns>Not applicable</returns> + </member> + <member name="M:NUnit.Framework.Warn.ReferenceEquals(System.Object,System.Object)"> + <summary> + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + </summary> + <param name="a">The left object.</param> + <param name="b">The right object.</param> + </member> + <member name="M:NUnit.Framework.Warn.Unless``1(NUnit.Framework.Constraints.ActualValueDelegate{``0},NUnit.Framework.Constraints.IResolveConstraint)"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="del">An ActualValueDelegate returning the value to be tested</param> + <param name="expr">A Constraint expression to be applied</param> + </member> + <member name="M:NUnit.Framework.Warn.Unless``1(NUnit.Framework.Constraints.ActualValueDelegate{``0},NUnit.Framework.Constraints.IResolveConstraint,System.String,System.Object[])"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="del">An ActualValueDelegate returning the value to be tested</param> + <param name="expr">A Constraint expression to be applied</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Warn.Unless``1(NUnit.Framework.Constraints.ActualValueDelegate{``0},NUnit.Framework.Constraints.IResolveConstraint,System.Func{System.String})"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="del">An ActualValueDelegate returning the value to be tested</param> + <param name="expr">A Constraint expression to be applied</param> + <param name="getExceptionMessage">A function to build the message included with the Exception</param> + </member> + <member name="M:NUnit.Framework.Warn.Unless(System.Boolean,System.String,System.Object[])"> + <summary> + Asserts that a condition is true. If the condition is false, a warning is issued. + </summary> + <param name="condition">The evaluated condition</param> + <param name="message">The message to display if the condition is false</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Warn.Unless(System.Boolean)"> + <summary> + Asserts that a condition is true. If the condition is false, a warning is issued. + </summary> + <param name="condition">The evaluated condition</param> + </member> + <member name="M:NUnit.Framework.Warn.Unless(System.Boolean,System.Func{System.String})"> + <summary> + Asserts that a condition is true. If the condition is false, a warning is issued. + </summary> + <param name="condition">The evaluated condition</param> + <param name="getExceptionMessage">A function to build the message included with the Exception</param> + </member> + <member name="M:NUnit.Framework.Warn.Unless(System.Func{System.Boolean},System.String,System.Object[])"> + <summary> + Asserts that a condition is true. If the condition is false, a warning is issued. + </summary> + <param name="condition">A lambda that returns a Boolean</param> + <param name="message">The message to display if the condition is false</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Warn.Unless(System.Func{System.Boolean})"> + <summary> + Asserts that a condition is true. If the condition is false, a warning is issued. + </summary> + <param name="condition">A lambda that returns a Boolean</param> + </member> + <member name="M:NUnit.Framework.Warn.Unless(System.Func{System.Boolean},System.Func{System.String})"> + <summary> + Asserts that a condition is true. If the condition is false, a warning is issued. + </summary> + <param name="condition">A lambda that returns a Boolean</param> + <param name="getExceptionMessage">A function to build the message included with the Exception</param> + </member> + <member name="M:NUnit.Framework.Warn.Unless(NUnit.Framework.TestDelegate,NUnit.Framework.Constraints.IResolveConstraint)"> + <summary> + Asserts that the code represented by a delegate throws an exception + that satisfies the constraint provided. + </summary> + <param name="code">A TestDelegate to be executed</param> + <param name="constraint">A Constraint expression to be applied</param> + </member> + <member name="M:NUnit.Framework.Warn.Unless``1(``0,NUnit.Framework.Constraints.IResolveConstraint)"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="actual">The actual value to test</param> + <param name="expression">A Constraint expression to be applied</param> + </member> + <member name="M:NUnit.Framework.Warn.Unless``1(``0,NUnit.Framework.Constraints.IResolveConstraint,System.String,System.Object[])"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="actual">The actual value to test</param> + <param name="expression">A Constraint expression to be applied</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Warn.Unless``1(``0,NUnit.Framework.Constraints.IResolveConstraint,System.Func{System.String})"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="actual">The actual value to test</param> + <param name="expression">A Constraint expression to be applied</param> + <param name="getExceptionMessage">A function to build the message included with the Exception</param> + </member> + <member name="M:NUnit.Framework.Warn.If``1(NUnit.Framework.Constraints.ActualValueDelegate{``0},NUnit.Framework.Constraints.IResolveConstraint)"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + fails and issuing a warning on success. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="del">An ActualValueDelegate returning the value to be tested</param> + <param name="expr">A Constraint expression to be applied</param> + </member> + <member name="M:NUnit.Framework.Warn.If``1(NUnit.Framework.Constraints.ActualValueDelegate{``0},NUnit.Framework.Constraints.IResolveConstraint,System.String,System.Object[])"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + fails and issuing a warning on success. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="del">An ActualValueDelegate returning the value to be tested</param> + <param name="expr">A Constraint expression to be applied</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Warn.If``1(NUnit.Framework.Constraints.ActualValueDelegate{``0},NUnit.Framework.Constraints.IResolveConstraint,System.Func{System.String})"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + fails and issuing a warning on failure. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="del">An ActualValueDelegate returning the value to be tested</param> + <param name="expr">A Constraint expression to be applied</param> + <param name="getExceptionMessage">A function to build the message included with the Exception</param> + </member> + <member name="M:NUnit.Framework.Warn.If(System.Boolean,System.String,System.Object[])"> + <summary> + Asserts that a condition is true. If the condition is false, a warning is issued. + </summary> + <param name="condition">The evaluated condition</param> + <param name="message">The message to display if the condition is false</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Warn.If(System.Boolean)"> + <summary> + Asserts that a condition is true. If the condition is false, a warning is issued. + </summary> + <param name="condition">The evaluated condition</param> + </member> + <member name="M:NUnit.Framework.Warn.If(System.Boolean,System.Func{System.String})"> + <summary> + Asserts that a condition is true. If the condition is false, a warning is issued. + </summary> + <param name="condition">The evaluated condition</param> + <param name="getExceptionMessage">A function to build the message included with the Exception</param> + </member> + <member name="M:NUnit.Framework.Warn.If(System.Func{System.Boolean},System.String,System.Object[])"> + <summary> + Asserts that a condition is false. If the condition is true a warning is issued. + </summary> + <param name="condition">A lambda that returns a Boolean</param> + <param name="message">The message to display if the condition is true</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Warn.If(System.Func{System.Boolean})"> + <summary> + Asserts that a condition is false. If the condition is true a warning is issued. + </summary> + <param name="condition">A lambda that returns a Boolean</param> + </member> + <member name="M:NUnit.Framework.Warn.If(System.Func{System.Boolean},System.Func{System.String})"> + <summary> + Asserts that a condition is false. If the condition is true a warning is issued. + </summary> + <param name="condition">A lambda that returns a Boolean</param> + <param name="getExceptionMessage">A function to build the message included with the Exception</param> + </member> + <member name="M:NUnit.Framework.Warn.If``1(``0,NUnit.Framework.Constraints.IResolveConstraint)"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + fails and issuing a warning if it succeeds. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="actual">The actual value to test</param> + <param name="expression">A Constraint expression to be applied</param> + </member> + <member name="M:NUnit.Framework.Warn.If``1(``0,NUnit.Framework.Constraints.IResolveConstraint,System.String,System.Object[])"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + fails and issuing a warning if it succeeds. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="actual">The actual value to test</param> + <param name="expression">A Constraint expression to be applied</param> + <param name="message">The message that will be displayed on failure</param> + <param name="args">Arguments to be used in formatting the message</param> + </member> + <member name="M:NUnit.Framework.Warn.If``1(``0,NUnit.Framework.Constraints.IResolveConstraint,System.Func{System.String})"> + <summary> + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + </summary> + <typeparam name="TActual">The Type being compared.</typeparam> + <param name="actual">The actual value to test</param> + <param name="expression">A Constraint expression to be applied</param> + <param name="getExceptionMessage">A function to build the message included with the Exception</param> + </member> + <member name="T:NUnit.FrameworkPackageSettings"> + <summary> + 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. + </summary> + </member> + <member name="F:NUnit.FrameworkPackageSettings.DebugTests"> + <summary> + Flag (bool) indicating whether tests are being debugged. + </summary> + </member> + <member name="F:NUnit.FrameworkPackageSettings.PauseBeforeRun"> + <summary> + Flag (bool) indicating whether to pause execution of tests to allow + the user to attach a debugger. + </summary> + </member> + <member name="F:NUnit.FrameworkPackageSettings.InternalTraceLevel"> + <summary> + The InternalTraceLevel for this run. Values are: "Default", + "Off", "Error", "Warning", "Info", "Debug", "Verbose". + Default is "Off". "Debug" and "Verbose" are synonyms. + </summary> + </member> + <member name="F:NUnit.FrameworkPackageSettings.WorkDirectory"> + <summary> + Full path of the directory to be used for work and result files. + This path is provided to tests by the framework TestContext. + </summary> + </member> + <member name="F:NUnit.FrameworkPackageSettings.DefaultTimeout"> + <summary> + 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. + </summary> + </member> + <member name="F:NUnit.FrameworkPackageSettings.DefaultCulture"> + <summary> + 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. + </summary> + </member> + <member name="F:NUnit.FrameworkPackageSettings.DefaultUICulture"> + <summary> + 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. + </summary> + </member> + <member name="F:NUnit.FrameworkPackageSettings.InternalTraceWriter"> + <summary> + A TextWriter to which the internal trace will be sent. + </summary> + </member> + <member name="F:NUnit.FrameworkPackageSettings.LOAD"> + <summary> + A list of tests to be loaded. + </summary> + </member> + <member name="F:NUnit.FrameworkPackageSettings.NumberOfTestWorkers"> + <summary> + 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. + </summary> + </member> + <member name="F:NUnit.FrameworkPackageSettings.RandomSeed"> + <summary> + 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. + </summary> + </member> + <member name="F:NUnit.FrameworkPackageSettings.StopOnError"> + <summary> + If true, execution stops after the first error or failure. + </summary> + </member> + <member name="F:NUnit.FrameworkPackageSettings.SynchronousEvents"> + <summary> + If true, use of the event queue is suppressed and test events are synchronous. + </summary> + </member> + <member name="F:NUnit.FrameworkPackageSettings.DefaultTestNamePattern"> + <summary> + The default naming pattern used in generating test names + </summary> + </member> + <member name="F:NUnit.FrameworkPackageSettings.TestParameters"> + <summary> + Parameters to be passed on to the tests, serialized to a single string which needs parsing. Obsoleted by <see cref="F:NUnit.FrameworkPackageSettings.TestParametersDictionary"/>; kept for backward compatibility. + </summary> + </member> + <member name="F:NUnit.FrameworkPackageSettings.TestParametersDictionary"> + <summary> + Parameters to be passed on to the tests, already parsed into an IDictionary<string, string>. Replaces <see cref="F:NUnit.FrameworkPackageSettings.TestParameters"/>. + </summary> + </member> + <member name="F:NUnit.FrameworkPackageSettings.RunOnMainThread"> + <summary> + If true, the tests will run on the same thread as the NUnit runner itself + </summary> + </member> + <member name="T:NUnit.Compatibility.AttributeHelper"> + <summary> + Provides a platform-independent methods for getting attributes + for use by AttributeConstraint and AttributeExistsConstraint. + </summary> + </member> + <member name="M:NUnit.Compatibility.AttributeHelper.GetCustomAttributes(System.Object,System.Type,System.Boolean)"> + <summary> + Gets the custom attributes from the given object. + </summary> + <param name="actual">The actual.</param> + <param name="attributeType">Type of the attribute.</param> + <param name="inherit">if set to <see langword="true"/> [inherit].</param> + <returns>A list of the given attribute on the given object.</returns> + </member> + <member name="T:NUnit.Compatibility.LongLivedMarshalByRefObject"> + <summary> + A MarshalByRefObject that lives forever + </summary> + </member> + <member name="M:NUnit.Compatibility.LongLivedMarshalByRefObject.InitializeLifetimeService"> + <summary> + Obtains a lifetime service object to control the lifetime policy for this instance. + </summary> + </member> + <member name="T:System.Diagnostics.CodeAnalysis.AllowNullAttribute"> + <summary>Specifies that null is allowed as an input even if the corresponding type disallows it.</summary> + </member> + <member name="T:System.Diagnostics.CodeAnalysis.DisallowNullAttribute"> + <summary>Specifies that null is disallowed as an input even if the corresponding type allows it.</summary> + </member> + <member name="T:System.Diagnostics.CodeAnalysis.MaybeNullAttribute"> + <summary>Specifies that an output may be null even if the corresponding type disallows it.</summary> + </member> + <member name="T:System.Diagnostics.CodeAnalysis.NotNullAttribute"> + <summary>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.</summary> + </member> + <member name="T:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute"> + <summary>Specifies that when a method returns <see cref="P:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute.ReturnValue"/>, the parameter may be null even if the corresponding type disallows it.</summary> + </member> + <member name="M:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute.#ctor(System.Boolean)"> + <summary>Initializes the attribute with the specified return value condition.</summary> + <param name="returnValue"> + The return value condition. If the method returns this value, the associated parameter may be null. + </param> + </member> + <member name="P:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute.ReturnValue"> + <summary>Gets the return value condition.</summary> + </member> + <member name="T:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute"> + <summary>Specifies that when a method returns <see cref="P:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute.ReturnValue"/>, the parameter will not be null even if the corresponding type allows it.</summary> + </member> + <member name="M:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute.#ctor(System.Boolean)"> + <summary>Initializes the attribute with the specified return value condition.</summary> + <param name="returnValue"> + The return value condition. If the method returns this value, the associated parameter will not be null. + </param> + </member> + <member name="P:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute.ReturnValue"> + <summary>Gets the return value condition.</summary> + </member> + <member name="T:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute"> + <summary>Specifies that the output will be non-null if the named parameter is non-null.</summary> + </member> + <member name="M:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute.#ctor(System.String)"> + <summary>Initializes the attribute with the associated parameter name.</summary> + <param name="parameterName"> + The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null. + </param> + </member> + <member name="P:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute.ParameterName"> + <summary>Gets the associated parameter name.</summary> + </member> + <member name="T:System.Diagnostics.CodeAnalysis.DoesNotReturnAttribute"> + <summary>Applied to a method that will never return under any circumstance.</summary> + </member> + <member name="T:System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute"> + <summary>Specifies that the method will not return if the associated Boolean parameter is passed the specified value.</summary> + </member> + <member name="M:System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute.#ctor(System.Boolean)"> + <summary>Initializes the attribute with the specified parameter value.</summary> + <param name="parameterValue"> + The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to + the associated parameter matches this value. + </param> + </member> + <member name="P:System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute.ParameterValue"> + <summary>Gets the condition parameter value.</summary> + </member> + <member name="T:System.Web.UI.ICallbackEventHandler"> + <summary> + A shim of the .NET interface for platforms that do not support it. + Used to indicate that a control can be the target of a callback event on the server. + </summary> + </member> + <member name="M:System.Web.UI.ICallbackEventHandler.RaiseCallbackEvent(System.String)"> + <summary> + Processes a callback event that targets a control. + </summary> + <param name="report"></param> + </member> + <member name="M:System.Web.UI.ICallbackEventHandler.GetCallbackResult"> + <summary> + Returns the results of a callback event that targets a control. + </summary> + <returns></returns> + </member> + </members> +</doc> -- GitLab