diff --git a/PointCloud.Test/NUnit-net-4.0/mock-assembly.exe b/PointCloud.Test/NUnit-net-4.0/mock-assembly.exe
new file mode 100644
index 0000000..7e2f45a
Binary files /dev/null and b/PointCloud.Test/NUnit-net-4.0/mock-assembly.exe differ
diff --git a/PointCloud.Test/NUnit-net-4.0/nunit.framework.dll b/PointCloud.Test/NUnit-net-4.0/nunit.framework.dll
new file mode 100644
index 0000000..ce04dc4
Binary files /dev/null and b/PointCloud.Test/NUnit-net-4.0/nunit.framework.dll differ
diff --git a/PointCloud.Test/NUnit-net-4.0/nunit.framework.tests.dll b/PointCloud.Test/NUnit-net-4.0/nunit.framework.tests.dll
new file mode 100644
index 0000000..599e551
Binary files /dev/null and b/PointCloud.Test/NUnit-net-4.0/nunit.framework.tests.dll differ
diff --git a/PointCloud.Test/NUnit-net-4.0/nunit.framework.xml b/PointCloud.Test/NUnit-net-4.0/nunit.framework.xml
new file mode 100644
index 0000000..33edb78
--- /dev/null
+++ b/PointCloud.Test/NUnit-net-4.0/nunit.framework.xml
@@ -0,0 +1,17337 @@
+
+
+
+ nunit.framework
+
+
+
+
+ AssemblyHelper provides static methods for working
+ with assemblies.
+
+
+
+
+ Gets the path from which the assembly defining a type was loaded.
+
+ The Type.
+ The path.
+
+
+
+ Gets the path from which an assembly was loaded.
+ For builds where this is not possible, returns
+ the name of the assembly.
+
+ The assembly.
+ The path.
+
+
+
+ Gets the path to the directory from which an assembly was loaded.
+
+ The assembly.
+ The path.
+
+
+
+ Gets the AssemblyName of an assembly.
+
+ The assembly
+ An AssemblyName
+
+
+
+ Loads an assembly given a string, which may be the
+ path to the assembly or the AssemblyName
+
+
+
+
+
+
+ Gets the assembly path from code base.
+
+ Public for testing purposes
+ The code base.
+
+
+
+
+ Interface for logging within the engine
+
+
+
+
+ Logs the specified message at the error level.
+
+ The message.
+
+
+
+ Logs the specified message at the error level.
+
+ The message.
+ The arguments.
+
+
+
+ Logs the specified message at the warning level.
+
+ The message.
+
+
+
+ Logs the specified message at the warning level.
+
+ The message.
+ The arguments.
+
+
+
+ Logs the specified message at the info level.
+
+ The message.
+
+
+
+ Logs the specified message at the info level.
+
+ The message.
+ The arguments.
+
+
+
+ Logs the specified message at the debug level.
+
+ The message.
+
+
+
+ Logs the specified message at the debug level.
+
+ The message.
+ The arguments.
+
+
+
+ InternalTrace provides facilities for tracing the execution
+ of the NUnit framework. Tests and classes under test may make use
+ of Console writes, System.Diagnostics.Trace or various loggers and
+ NUnit itself traps and processes each of them. For that reason, a
+ separate internal trace is needed.
+
+ Note:
+ InternalTrace uses a global lock to allow multiple threads to write
+ trace messages. This can easily make it a bottleneck so it must be
+ used sparingly. Keep the trace Level as low as possible and only
+ insert InternalTrace writes where they are needed.
+ TODO: add some buffering and a separate writer thread as an option.
+ TODO: figure out a way to turn on trace in specific classes only.
+
+
+
+
+ Gets a flag indicating whether the InternalTrace is initialized
+
+
+
+
+ Initialize the internal trace facility using the name of the log
+ to be written to and the trace level.
+
+ The log name
+ The trace level
+
+
+
+ Initialize the internal trace using a provided TextWriter and level
+
+ A TextWriter
+ The InternalTraceLevel
+
+
+
+ Get a named Logger
+
+
+
+
+
+ Get a logger named for a particular Type.
+
+
+
+
+ InternalTraceLevel is an enumeration controlling the
+ level of detailed presented in the internal log.
+
+
+
+
+ Use the default settings as specified by the user.
+
+
+
+
+ Do not display any trace messages
+
+
+
+
+ Display Error messages only
+
+
+
+
+ Display Warning level and higher messages
+
+
+
+
+ Display informational and higher messages
+
+
+
+
+ Display debug messages and higher - i.e. all messages
+
+
+
+
+ Display debug messages and higher - i.e. all messages
+
+
+
+
+ A trace listener that writes to a separate file per domain
+ and process using it.
+
+
+
+
+ Construct an InternalTraceWriter that writes to a file.
+
+ Path to the file to use
+
+
+
+ Construct an InternalTraceWriter that writes to a
+ TextWriter provided by the caller.
+
+
+
+
+
+ Returns the character encoding in which the output is written.
+
+ The character encoding in which the output is written.
+
+
+
+ Writes a character to the text string or stream.
+
+ The character to write to the text stream.
+
+
+
+ Writes a string to the text string or stream.
+
+ The string to write.
+
+
+
+ Writes a string followed by a line terminator to the text string or stream.
+
+ The string to write. If is null, only the line terminator is written.
+
+
+
+ Releases the unmanaged resources used by the and optionally releases the managed resources.
+
+ true to release both managed and unmanaged resources; false to release only unmanaged resources.
+
+
+
+ Clears all buffers for the current writer and causes any buffered data to be written to the underlying device.
+
+
+
+
+ Provides internal logging to the NUnit framework
+
+
+
+
+ Initializes a new instance of the class.
+
+ The name.
+ The log level.
+ The writer where logs are sent.
+
+
+
+ Logs the message at error level.
+
+ The message.
+
+
+
+ Logs the message at error level.
+
+ The message.
+ The message arguments.
+
+
+
+ Logs the message at warm level.
+
+ The message.
+
+
+
+ Logs the message at warning level.
+
+ The message.
+ The message arguments.
+
+
+
+ Logs the message at info level.
+
+ The message.
+
+
+
+ Logs the message at info level.
+
+ The message.
+ The message arguments.
+
+
+
+ Logs the message at debug level.
+
+ The message.
+
+
+
+ Logs the message at debug level.
+
+ The message.
+ The message arguments.
+
+
+
+ Waits for pending asynchronous operations to complete, if appropriate,
+ and returns a proper result of the invocation by unwrapping task results
+
+ The raw result of the method invocation
+ The unwrapped result, if necessary
+
+
+
+ CombinatorialStrategy creates test cases by using all possible
+ combinations of the parameter data.
+
+
+
+
+ Gets the test cases generated by the CombiningStrategy.
+
+ The test cases.
+
+
+
+ Provides data from fields marked with the DatapointAttribute or the
+ DatapointsAttribute.
+
+
+
+
+ Determine whether any data is available for a parameter.
+
+ A ParameterInfo representing one
+ argument to a parameterized test
+
+ True if any data is available, otherwise false.
+
+
+
+
+ Return an IEnumerable providing data for use with the
+ supplied parameter.
+
+ A ParameterInfo representing one
+ argument to a parameterized test
+
+ An IEnumerable providing the required data
+
+
+
+
+ Class to build ether a parameterized or a normal NUnitTestMethod.
+ There are four cases that the builder must deal with:
+ 1. The method needs no params and none are provided
+ 2. The method needs params and they are provided
+ 3. The method needs no params but they are provided in error
+ 4. The method needs params but they are not provided
+ This could have been done using two different builders, but it
+ turned out to be simpler to have just one. The BuildFrom method
+ takes a different branch depending on whether any parameters are
+ provided, but all four cases are dealt with in lower-level methods
+
+
+
+
+ Determines if the method can be used to build an NUnit test
+ test method of some kind. The method must normally be marked
+ with an identifying attribute for this to be true.
+
+ Note that this method does not check that the signature
+ of the method for validity. If we did that here, any
+ test methods with invalid signatures would be passed
+ over in silence in the test run. Since we want such
+ methods to be reported, the check for validity is made
+ in BuildFrom rather than here.
+
+ An IMethodInfo for the method being used as a test method
+ True if the builder can create a test case from this method
+
+
+
+ Build a Test from the provided MethodInfo. Depending on
+ whether the method takes arguments and on the availability
+ of test case data, this method may return a single test
+ or a group of tests contained in a ParameterizedMethodSuite.
+
+ The method for which a test is to be built
+ A Test representing one or more method invocations
+
+
+
+ Determines if the method can be used to build an NUnit test
+ test method of some kind. The method must normally be marked
+ with an identifying attribute for this to be true.
+
+ Note that this method does not check that the signature
+ of the method for validity. If we did that here, any
+ test methods with invalid signatures would be passed
+ over in silence in the test run. Since we want such
+ methods to be reported, the check for validity is made
+ in BuildFrom rather than here.
+
+ An IMethodInfo for the method being used as a test method
+ The test suite being built, to which the new test would be added
+ True if the builder can create a test case from this method
+
+
+
+ Build a Test from the provided MethodInfo. Depending on
+ whether the method takes arguments and on the availability
+ of test case data, this method may return a single test
+ or a group of tests contained in a ParameterizedMethodSuite.
+
+ The method for which a test is to be built
+ The test fixture being populated, or null
+ A Test representing one or more method invocations
+
+
+
+ Builds a ParameterizedMethodSuite containing individual test cases.
+
+ The method for which a test is to be built.
+ The list of test cases to include.
+ A ParameterizedMethodSuite populated with test cases
+
+
+
+ Build a simple, non-parameterized TestMethod for this method.
+
+ The MethodInfo for which a test is to be built
+ The test suite for which the method is being built
+ A TestMethod.
+
+
+
+ Class that can build a tree of automatic namespace
+ suites from a group of fixtures.
+
+
+
+
+ NamespaceDictionary of all test suites we have created to represent
+ namespaces. Used to locate namespace parent suites for fixtures.
+
+
+
+
+ The root of the test suite being created by this builder.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The root suite.
+
+
+
+ Gets the root entry in the tree created by the NamespaceTreeBuilder.
+
+ The root suite.
+
+
+
+ Adds the specified fixtures to the tree.
+
+ The fixtures to be added.
+
+
+
+ Adds the specified fixture to the tree.
+
+ The fixture to be added.
+
+
+
+ NUnitTestCaseBuilder is a utility class used by attributes
+ that build test cases.
+
+
+
+
+ Constructs an
+
+
+
+
+ Builds a single NUnitTestMethod, either as a child of the fixture
+ or as one of a set of test cases under a ParameterizedTestMethodSuite.
+
+ The MethodInfo from which to construct the TestMethod
+ The suite or fixture to which the new test will be added
+ The ParameterSet to be used, or null
+
+
+
+
+ Helper method that checks the signature of a TestMethod and
+ any supplied parameters to determine if the test is valid.
+
+ Currently, NUnitTestMethods are required to be public,
+ non-abstract methods, either static or instance,
+ returning void. They may take arguments but the _values must
+ be provided or the TestMethod is not considered runnable.
+
+ Methods not meeting these criteria will be marked as
+ non-runnable and the method will return false in that case.
+
+ The TestMethod to be checked. If it
+ is found to be non-runnable, it will be modified.
+ Parameters to be used for this test, or null
+ True if the method signature is valid, false if not
+
+ The return value is no longer used internally, but is retained
+ for testing purposes.
+
+
+
+
+ NUnitTestFixtureBuilder is able to build a fixture given
+ a class marked with a TestFixtureAttribute or an unmarked
+ class containing test methods. In the first case, it is
+ called by the attribute and in the second directly by
+ NUnitSuiteBuilder.
+
+
+
+
+ Build a TestFixture from type provided. A non-null TestSuite
+ must always be returned, since the method is generally called
+ because the user has marked the target class as a fixture.
+ If something prevents the fixture from being used, it should
+ be returned nonetheless, labelled as non-runnable.
+
+ An ITypeInfo for the fixture to be used.
+ A TestSuite object or one derived from TestSuite.
+
+
+
+ Overload of BuildFrom called by tests that have arguments.
+ Builds a fixture using the provided type and information
+ in the ITestFixtureData object.
+
+ The TypeInfo for which to construct a fixture.
+ An object implementing ITestFixtureData or null.
+
+
+
+
+ Method to add test cases to the newly constructed fixture.
+
+ The fixture to which cases should be added
+
+
+
+ Method to create a test case from a MethodInfo and add
+ it to the fixture being built. It first checks to see if
+ any global TestCaseBuilder addin wants to build the
+ test case. If not, it uses the internal builder
+ collection maintained by this fixture builder.
+
+ The default implementation has no test case builders.
+ Derived classes should add builders to the collection
+ in their constructor.
+
+ The method for which a test is to be created
+ The test suite being built.
+ A newly constructed Test
+
+
+
+ Built-in SuiteBuilder for all types of test classes.
+
+
+
+
+ Checks to see if the provided Type is a fixture.
+ To be considered a fixture, it must be a non-abstract
+ class with one or more attributes implementing the
+ IFixtureBuilder interface or one or more methods
+ marked as tests.
+
+ The fixture type to check
+ True if the fixture can be built, false if not
+
+
+
+ Build a TestSuite from TypeInfo provided.
+
+ The fixture type to build
+ A TestSuite built from that type
+
+
+
+ We look for attributes implementing IFixtureBuilder at one level
+ of inheritance at a time. Attributes on base classes are not used
+ unless there are no fixture builder attributes at all on the derived
+ class. This is by design.
+
+ The type being examined for attributes
+ A list of the attributes found.
+
+
+
+ PairwiseStrategy creates test cases by combining the parameter
+ data so that all possible pairs of data items are used.
+
+
+
+ The number of test cases that cover all possible pairs of test function
+ parameters values is significantly less than the number of test cases
+ that cover all possible combination of test function parameters values.
+ And because different studies show that most of software failures are
+ caused by combination of no more than two parameters, pairwise testing
+ can be an effective ways to test the system when it's impossible to test
+ all combinations of parameters.
+
+
+ The PairwiseStrategy code is based on "jenny" tool by Bob Jenkins:
+ http://burtleburtle.net/bob/math/jenny.html
+
+
+
+
+
+ FleaRand is a pseudo-random number generator developed by Bob Jenkins:
+ http://burtleburtle.net/bob/rand/talksmall.html#flea
+
+
+
+
+ Initializes a new instance of the FleaRand class.
+
+ The seed.
+
+
+
+ FeatureInfo represents coverage of a single value of test function
+ parameter, represented as a pair of indices, Dimension and Feature. In
+ terms of unit testing, Dimension is the index of the test parameter and
+ Feature is the index of the supplied value in that parameter's list of
+ sources.
+
+
+
+
+ Initializes a new instance of FeatureInfo class.
+
+ Index of a dimension.
+ Index of a feature.
+
+
+
+ A FeatureTuple represents a combination of features, one per test
+ parameter, which should be covered by a test case. In the
+ PairwiseStrategy, we are only trying to cover pairs of features, so the
+ tuples actually may contain only single feature or pair of features, but
+ the algorithm itself works with triplets, quadruples and so on.
+
+
+
+
+ Initializes a new instance of FeatureTuple class for a single feature.
+
+ Single feature.
+
+
+
+ Initializes a new instance of FeatureTuple class for a pair of features.
+
+ First feature.
+ Second feature.
+
+
+
+ TestCase represents a single test case covering a list of features.
+
+
+
+
+ Initializes a new instance of TestCaseInfo class.
+
+ A number of features in the test case.
+
+
+
+ PairwiseTestCaseGenerator class implements an algorithm which generates
+ a set of test cases which covers all pairs of possible values of test
+ function.
+
+
+
+ The algorithm starts with creating a set of all feature tuples which we
+ will try to cover (see method). This set
+ includes every single feature and all possible pairs of features. We
+ store feature tuples in the 3-D collection (where axes are "dimension",
+ "feature", and "all combinations which includes this feature"), and for
+ every two feature (e.g. "A" and "B") we generate both ("A", "B") and
+ ("B", "A") pairs. This data structure extremely reduces the amount of
+ time needed to calculate coverage for a single test case (this
+ calculation is the most time-consuming part of the algorithm).
+
+
+ Then the algorithm picks one tuple from the uncovered tuple, creates a
+ test case that covers this tuple, and then removes this tuple and all
+ other tuples covered by this test case from the collection of uncovered
+ tuples.
+
+
+ Picking a tuple to cover
+
+
+ There are no any special rules defined for picking tuples to cover. We
+ just pick them one by one, in the order they were generated.
+
+
+ Test generation
+
+
+ Test generation starts from creating a completely random test case which
+ covers, nevertheless, previously selected tuple. Then the algorithm
+ tries to maximize number of tuples which this test covers.
+
+
+ Test generation and maximization process repeats seven times for every
+ selected tuple and then the algorithm picks the best test case ("seven"
+ is a magic number which provides good results in acceptable time).
+
+ Maximizing test coverage
+
+ To maximize tests coverage, the algorithm walks thru 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 thru the list of features and checks if this feature provides
+ better coverage than randomly selected feature, and if yes keeps this
+ feature.
+
+
+ This process repeats while it shows progress. If the last iteration
+ doesn't improve coverage, the process ends.
+
+
+ In addition, for better results, before start every iteration, the
+ algorithm "scrambles" dimensions - so for every iteration dimension
+ probes in a different order.
+
+
+
+
+
+ Creates a set of test cases for specified dimensions.
+
+
+ An array which contains information about dimensions. Each element of
+ this array represents a number of features in the specific dimension.
+
+
+ A set of test cases.
+
+
+
+
+ Gets the test cases generated by this strategy instance.
+
+ A set of test cases.
+
+
+
+ The ParameterDataProvider class implements IParameterDataProvider
+ and hosts one or more individual providers.
+
+
+
+
+ Construct with a collection of individual providers
+
+
+
+
+ Determine whether any data is available for a parameter.
+
+ An IParameterInfo representing one
+ argument to a parameterized test
+ True if any data is available, otherwise false.
+
+
+
+ Return an IEnumerable providing data for use with the
+ supplied parameter.
+
+ An IParameterInfo representing one
+ argument to a parameterized test
+ An IEnumerable providing the required data
+
+
+
+ ParameterDataSourceProvider supplies individual argument _values for
+ single parameters using attributes implementing IParameterDataSource.
+
+
+
+
+ Determine whether any data is available for a parameter.
+
+ A ParameterInfo representing one
+ argument to a parameterized test
+
+ True if any data is available, otherwise false.
+
+
+
+
+ Return an IEnumerable providing data for use with the
+ supplied parameter.
+
+ An IParameterInfo representing one
+ argument to a parameterized test
+
+ An IEnumerable providing the required data
+
+
+
+
+ SequentialStrategy creates test cases by using all of the
+ parameter data sources in parallel, substituting null
+ when any of them run out of data.
+
+
+
+
+ Gets the test cases generated by the CombiningStrategy.
+
+ The test cases.
+
+
+
+ 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.
+
+
+
+
+ The CommandStage enumeration represents the defined stages
+ of execution for a series of TestCommands. The int _values
+ of the enum are used to apply decorators in the proper
+ order. Lower _values are applied first and are therefore
+ "closer" to the actual test execution.
+
+
+ No CommandStage is defined for actual invocation of the test or
+ for creation of the context. Execution may be imagined as
+ proceeding from the bottom of the list upwards, with cleanup
+ after the test running in the opposite order.
+
+
+
+
+ Use an application-defined default value.
+
+
+
+
+ Make adjustments needed before and after running
+ the raw test - that is, after any SetUp has run
+ and before TearDown.
+
+
+
+
+ Run SetUp and TearDown for the test. This stage is used
+ internally by NUnit and should not normally appear
+ in user-defined decorators.
+
+
+
+
+ Make adjustments needed before and after running
+ the entire test - including SetUp and TearDown.
+
+
+
+
+ TODO: Documentation needed for class
+
+
+
+ TODO: Documentation needed for field
+
+
+
+ TODO: Documentation needed for constructor
+
+
+
+
+
+ TODO: Documentation needed for class
+
+
+
+
+ Initializes a new instance of the class.
+
+ The inner command.
+ The max time allowed in milliseconds
+
+
+
+ Runs the test, saving a TestResult in the supplied TestExecutionContext
+
+ The context in which the test should run.
+ A TestResult
+
+
+
+ OneTimeSetUpCommand runs any one-time setup methods for a suite,
+ constructing the user test object if necessary.
+
+
+
+
+ Constructs a OneTimeSetUpCommand for a suite
+
+ The suite to which the command applies
+ A SetUpTearDownList for use by the command
+ A List of TestActionItems to be run after Setup
+
+
+
+ Overridden to run the one-time setup for a suite.
+
+ The TestExecutionContext to be used.
+ A TestResult
+
+
+
+ OneTimeTearDownCommand performs any teardown actions
+ specified for a suite and calls Dispose on the user
+ test object, if any.
+
+
+
+
+ Construct a OneTimeTearDownCommand
+
+ The test suite to which the command applies
+ A SetUpTearDownList for use by the command
+ A List of TestActionItems to be run before teardown.
+
+
+
+ Overridden to run the teardown methods specified on the test.
+
+ The TestExecutionContext to be used.
+ A TestResult
+
+
+
+ SetUpTearDownCommand runs any SetUp methods for a suite,
+ runs the test and then runs any TearDown methods.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The inner command.
+
+
+
+ Runs the test, saving a TestResult in the supplied TestExecutionContext.
+
+ The context in which the test should run.
+ A TestResult
+
+
+
+ SetUpTearDownItem holds the setup and teardown methods
+ for a single level of the inheritance hierarchy.
+
+
+
+
+ Construct a SetUpTearDownNode
+
+ A list of setup methods for this level
+ A list teardown methods for this level
+
+
+
+ Returns true if this level has any methods at all.
+ This flag is used to discard levels that do nothing.
+
+
+
+
+ Run SetUp on this level.
+
+ The execution context to use for running.
+
+
+
+ Run TearDown for this level.
+
+
+
+
+
+ TODO: Documentation needed for class
+
+
+
+
+ Initializes a new instance of the class.
+
+ The test being skipped.
+
+
+
+ Overridden to simply set the CurrentResult to the
+ appropriate Skipped state.
+
+ The execution context for the test
+ A TestResult
+
+
+
+ TestActionCommand runs the BeforeTest actions for a test,
+ then runs the test and finally runs the AfterTestActions.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The inner command.
+
+
+
+ Runs the test, saving a TestResult in the supplied TestExecutionContext.
+
+ The context in which the test should run.
+ A TestResult
+
+
+
+ TestActionItem represents a single execution of an
+ ITestAction. It is used to track whether the BeforeTest
+ method has been called and suppress calling the
+ AfterTest method if it has not.
+
+
+
+
+ Construct a TestActionItem
+
+ The ITestAction to be included
+
+
+
+ Run the BeforeTest method of the action and remember that it has been run.
+
+ The test to which the action applies
+
+
+
+ Run the AfterTest action, but only if the BeforeTest
+ action was actually run.
+
+ The test to which the action applies
+
+
+
+ TestCommand is the abstract base class for all test commands
+ in the framework. A TestCommand represents a single stage in
+ the execution of a test, e.g.: SetUp/TearDown, checking for
+ Timeout, verifying the returned result from a method, etc.
+
+ TestCommands may decorate other test commands so that the
+ execution of a lower-level command is nested within that
+ of a higher level command. All nested commands are executed
+ synchronously, as a single unit. Scheduling test execution
+ on separate threads is handled at a higher level, using the
+ task dispatcher.
+
+
+
+
+ Construct a TestCommand for a test.
+
+ The test to be executed
+
+
+
+ Gets the test associated with this command.
+
+
+
+
+ Runs the test in a specified context, returning a TestResult.
+
+ The TestExecutionContext to be used for running the test.
+ A TestResult
+
+
+
+ TestMethodCommand is the lowest level concrete command
+ used to run actual test cases.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The test.
+
+
+
+ Runs the test, saving a TestResult in the execution context, as
+ well as returning it. If the test has an expected result, it
+ is asserts on that value. Since failed tests and errors throw
+ an exception, this command must be wrapped in an outer command,
+ will handle that exception and records the failure. This role
+ is usually played by the SetUpTearDown command.
+
+ The execution context
+
+
+
+ TheoryResultCommand adjusts the result of a Theory so that
+ it fails if all the results were inconclusive.
+
+
+
+
+ Constructs a TheoryResultCommand
+
+ The command to be wrapped by this one
+
+
+
+ Overridden to call the inner command and adjust the result
+ in case all chlid results were inconclusive.
+
+
+
+
+
+
+ CultureDetector is a helper class used by NUnit to determine
+ whether a test should be run based on the current culture.
+
+
+
+
+ Default constructor uses the current culture.
+
+
+
+
+ Construct a CultureDetector for a particular culture for testing.
+
+ The culture to be used
+
+
+
+ Test to determine if one of a collection of cultures
+ is being used currently.
+
+
+
+
+
+
+ Tests to determine if the current culture is supported
+ based on a culture attribute.
+
+ The attribute to examine
+
+
+
+
+ Test to determine if the a particular culture or comma-
+ delimited set of cultures is in use.
+
+ Name of the culture or comma-separated list of culture ids
+ True if the culture is in use on the system
+
+
+
+ Return the last failure reason. Results are not
+ defined if called before IsSupported( Attribute )
+ is called.
+
+
+
+
+ ExceptionHelper provides static methods for working with exceptions
+
+
+
+
+ Rethrows an exception, preserving its stack trace
+
+ The exception to rethrow
+
+
+
+ Builds up a message, using the Message field of the specified exception
+ as well as any InnerExceptions.
+
+ The exception.
+ A combined message string.
+
+
+
+ Builds up a message, using the Message field of the specified exception
+ as well as any InnerExceptions.
+
+ The exception.
+ A combined stack trace.
+
+
+
+ Gets the stack trace of the exception.
+
+ The exception.
+ A string representation of the stack trace.
+
+
+
+ A utility class to create TestCommands
+
+
+
+
+ Gets the command to be executed before any of
+ the child tests are run.
+
+ A TestCommand
+
+
+
+ Gets the command to be executed after all of the
+ child tests are run.
+
+ A TestCommand
+
+
+
+ Creates a test command for use in running this test.
+
+
+
+
+
+ Creates a command for skipping a test. The result returned will
+ depend on the test RunState.
+
+
+
+
+ Builds the set up tear down list.
+
+ Type of the fixture.
+ Type of the set up attribute.
+ Type of the tear down attribute.
+ A list of SetUpTearDownItems
+
+
+
+ A CompositeWorkItem represents a test suite and
+ encapsulates the execution of the suite as well
+ as all its child tests.
+
+
+
+
+ List of Child WorkItems
+
+
+
+
+ A count of how many tests in the work item have a value for the Order Property
+
+
+
+
+ Construct a CompositeWorkItem for executing a test suite
+ using a filter to select child tests.
+
+ The TestSuite to be executed
+ A filter used to select child tests
+
+
+
+ Method that actually performs the work. Overridden
+ in CompositeWorkItem to do setup, run all child
+ items and then do teardown.
+
+
+
+
+ Compares two objects and returns a value indicating whether one is less than, equal to, or greater than the other.
+
+
+ A signed integer that indicates the relative values of and , as shown in the following table.Value Meaning Less than zero is less than .Zero equals .Greater than zero is greater than .
+
+ The first object to compare.The second object to compare.
+
+
+
+ Sorts tests under this suite.
+
+
+
+
+ Cancel (abort or stop) a CompositeWorkItem and all of its children
+
+ true if the CompositeWorkItem and all of its children should be aborted, false if it should allow all currently running tests to complete
+
+
+
+ The EventPumpState enum represents the state of an
+ EventPump.
+
+
+
+
+ The pump is stopped
+
+
+
+
+ The pump is pumping events with no stop requested
+
+
+
+
+ The pump is pumping events but a stop has been requested
+
+
+
+
+ EventPump pulls events out of an EventQueue and sends
+ them to a listener. It is used to send events back to
+ the client without using the CallContext of the test
+ runner thread.
+
+
+
+
+ The handle on which a thread enqueuing an event with == true
+ waits, until the EventPump has sent the event to its listeners.
+
+
+
+
+ The downstream listener to which we send events
+
+
+
+
+ The queue that holds our events
+
+
+
+
+ Thread to do the pumping
+
+
+
+
+ The current state of the eventpump
+
+
+
+
+ Constructor
+
+ The EventListener to receive events
+ The event queue to pull events from
+
+
+
+ Gets or sets the current state of the pump
+
+
+ On volatile and , see
+ "http://www.albahari.com/threading/part4.aspx".
+
+
+
+
+ Gets or sets the name of this EventPump
+ (used only internally and for testing).
+
+
+
+
+ Dispose stops the pump
+ Disposes the used WaitHandle, too.
+
+
+
+
+ Start the pump
+
+
+
+
+ Tell the pump to stop after emptying the queue.
+
+
+
+
+ Our thread proc for removing items from the event
+ queue and sending them on. Note that this would
+ need to do more locking if any other thread were
+ removing events from the queue.
+
+
+
+
+ NUnit.Core.Event is the abstract base for all stored events.
+ An Event is the stored representation of a call to the
+ ITestListener interface and is used to record such calls
+ or to queue them for forwarding on another thread or at
+ a later time.
+
+
+
+
+ The Send method is implemented by derived classes to send the event to the specified listener.
+
+ The listener.
+
+
+
+ Gets a value indicating whether this event is delivered synchronously by the NUnit .
+
+ If true, and if has been used to
+ set a WaitHandle, blocks its calling thread until the
+ thread has delivered the event and sets the WaitHandle.
+
+
+
+
+
+ TestStartedEvent holds information needed to call the TestStarted method.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The test.
+
+
+
+ Calls TestStarted on the specified listener.
+
+ The listener.
+
+
+
+ TestFinishedEvent holds information needed to call the TestFinished method.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The result.
+
+
+
+ Calls TestFinished on the specified listener.
+
+ The listener.
+
+
+
+ Implements a queue of work items each of which
+ is queued as a WaitCallback.
+
+
+
+
+ Construct a new EventQueue
+
+
+
+
+ WaitHandle for synchronous event delivery in .
+
+ Having just one handle for the whole implies that
+ there may be only one producer (the test thread) for synchronous events.
+ If there can be multiple producers for synchronous events, one would have
+ to introduce one WaitHandle per event.
+
+
+
+
+
+ Gets the count of items in the queue.
+
+
+
+
+ Sets a handle on which to wait, when is called
+ for an with == true.
+
+
+ The wait handle on which to wait, when is called
+ for an with == true.
+ The caller is responsible for disposing this wait handle.
+
+
+
+
+ Enqueues the specified event
+
+ The event to enqueue.
+
+
+
+ Removes the first element from the queue and returns it (or null).
+
+
+ If true and the queue is empty, the calling thread is blocked until
+ either an element is enqueued, or is called.
+
+
+
+ -
+ If the queue not empty
+ the first element.
+
+ -
+ otherwise, if ==false
+ or has been called
+ null.
+
+
+
+
+
+
+ Stop processing of the queue
+
+
+
+
+ An IWorkItemDispatcher handles execution of work items.
+
+
+
+
+ Dispatch a single work item for execution. The first
+ work item dispatched is saved as the top-level
+ work item and used when stopping the run.
+
+ The item to dispatch
+
+
+
+ Cancel the ongoing run completely.
+ If no run is in process, the call has no effect.
+
+ true if the IWorkItemDispatcher should abort all currently running WorkItems, false if it should allow all currently running WorkItems to complete
+
+
+
+ ParallelWorkItemDispatcher handles execution of work items by
+ queuing them for worker threads to process.
+
+
+
+
+ Construct a ParallelWorkItemDispatcher
+
+ Number of workers to use
+
+
+
+ Enumerates all the shifts supported by the dispatcher
+
+
+
+
+ Dispatch a single work item for execution. The first
+ work item dispatched is saved as the top-level
+ work item and used when stopping the run.
+
+ The item to dispatch
+
+
+
+ Cancel the ongoing run completely.
+ If no run is in process, the call has no effect.
+
+
+
+
+ QueuingEventListener uses an EventQueue to store any
+ events received on its EventListener interface.
+
+
+
+
+ The EvenQueue created and filled by this listener
+
+
+
+
+ A test has started
+
+ The test that is starting
+
+
+
+ A test case finished
+
+ Result of the test case
+
+
+
+ A SimpleWorkItem represents a single test case and is
+ marked as completed immediately upon execution. This
+ class is also used for skipped or ignored test suites.
+
+
+
+
+ Construct a simple work item for a test.
+
+ The test to be executed
+ The filter used to select this test
+
+
+
+ Method that performs actually performs the work.
+
+
+
+
+ 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.
+
+
+
+
+ Dispatch a single work item for execution. The first
+ work item dispatched is saved as the top-level
+ work item and a thread is created on which to
+ run it. Subsequent calls come from the top level
+ item or its descendants on the proper thread.
+
+ The item to dispatch
+
+
+
+ Cancel (abort or stop) the ongoing run.
+ If no run is in process, the call has no effect.
+
+ true if the run should be aborted, false if it should allow its currently running test to complete
+
+
+
+ A TestWorker pulls work items from a queue
+ and executes them.
+
+
+
+
+ Event signaled immediately before executing a WorkItem
+
+
+
+
+ Event signaled immediately after executing a WorkItem
+
+
+
+
+ Construct a new TestWorker.
+
+ The queue from which to pull work items
+ The name of this worker
+ The apartment state to use for running tests
+
+
+
+ The name of this worker - also used for the thread
+
+
+
+
+ Indicates whether the worker thread is running
+
+
+
+
+ Our ThreadProc, which pulls and runs tests in a loop
+
+
+
+
+ Start processing work items.
+
+
+
+
+ Stop the thread, either immediately or after finishing the current WorkItem
+
+ true if the thread should be aborted, false if it should allow the currently running test to complete
+
+
+
+ The TextCapture class intercepts console output and writes it
+ to the current execution context, if one is present on the thread.
+ If no execution context is found, the output is written to a
+ default destination, normally the original destination of the
+ intercepted output.
+
+
+
+
+ Construct a TextCapture object
+
+ The default destination for non-intercepted output
+
+
+
+ Gets the Encoding in use by this TextWriter
+
+
+
+
+ Writes a single character
+
+ The char to write
+
+
+
+ Writes a string
+
+ The string to write
+
+
+
+ Writes a string followed by a line terminator
+
+ The string to write
+
+
+
+ A WorkItem may be an individual test case, a fixture or
+ a higher level grouping of tests. All WorkItems inherit
+ from the abstract WorkItem class, which uses the template
+ pattern to allow derived classes to perform work in
+ whatever way is needed.
+
+ A WorkItem is created with a particular TestExecutionContext
+ and is responsible for re-establishing that context in the
+ current thread before it begins or resumes execution.
+
+
+
+
+ Creates a work item.
+
+ The test for which this WorkItem is being created.
+ The filter to be used in selecting any child Tests.
+
+
+
+
+ Construct a WorkItem for a particular test.
+
+ The test that the WorkItem will run
+
+
+
+ Initialize the TestExecutionContext. This must be done
+ before executing the WorkItem.
+
+
+ Originally, the context was provided in the constructor
+ but delaying initialization of the context until the item
+ is about to be dispatched allows changes in the parent
+ context during OneTimeSetUp to be reflected in the child.
+
+ The TestExecutionContext to use
+
+
+
+ Event triggered when the item is complete
+
+
+
+
+ Gets the current state of the WorkItem
+
+
+
+
+ The test being executed by the work item
+
+
+
+
+ The execution context
+
+
+
+
+ The test actions to be performed before and after this test
+
+
+
+
+ Indicates whether this WorkItem may be run in parallel
+
+
+
+
+ The test result
+
+
+
+
+ Execute the current work item, including any
+ child work items.
+
+
+
+
+ Cancel (abort or stop) a WorkItem
+
+ true if the WorkItem should be aborted, false if it should run to completion
+
+
+
+ Method that performs actually performs the work. It should
+ set the State to WorkItemState.Complete when done.
+
+
+
+
+ Method called by the derived class when all work is complete
+
+
+
+
+ WorkItemQueueState indicates the current state of a WorkItemQueue
+
+
+
+
+ The queue is paused
+
+
+
+
+ The queue is running
+
+
+
+
+ The queue is stopped
+
+
+
+
+ A WorkItemQueue holds work items that are ready to
+ be run, either initially or after some dependency
+ has been satisfied.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The name of the queue.
+
+
+
+ Gets the name of the work item queue.
+
+
+
+
+ Gets the total number of items processed so far
+
+
+
+
+ Gets the maximum number of work items.
+
+
+
+
+ Gets the current state of the queue
+
+
+
+
+ Get a bool indicating whether the queue is empty.
+
+
+
+
+ Enqueue a WorkItem to be processed
+
+ The WorkItem to process
+
+
+
+ Dequeue a WorkItem for processing
+
+ A WorkItem or null if the queue has stopped
+
+
+
+ Start or restart processing of items from the queue
+
+
+
+
+ Signal the queue to stop
+
+
+
+
+ Pause the queue for restarting later
+
+
+
+
+ The current state of a work item
+
+
+
+
+ Ready to run or continue
+
+
+
+
+ Work Item is executing
+
+
+
+
+ Complete
+
+
+
+
+ The dispatcher needs to do different things at different,
+ non-overlapped times. For example, non-parallel tests may
+ not be run at the same time as parallel tests. We model
+ this using the metaphor of a working shift. The WorkShift
+ class associates one or more WorkItemQueues with one or
+ more TestWorkers.
+
+ Work in the queues is processed until all queues are empty
+ and all workers are idle. Both tests are needed because a
+ worker that is busy may end up adding more work to one of
+ the queues. At that point, the shift is over and another
+ shift may begin. This cycle continues until all the tests
+ have been run.
+
+
+
+
+ Construct a WorkShift
+
+
+
+
+ Event that fires when the shift has ended
+
+
+
+
+ Gets a flag indicating whether the shift is currently active
+
+
+
+
+ Gets a list of the queues associated with this shift.
+
+ Used for testing
+
+
+
+ Gets the list of workers associated with this shift.
+
+
+
+
+ Gets a bool indicating whether this shift has any work to do
+
+
+
+
+ Add a WorkItemQueue to the shift, starting it if the
+ shift is currently active.
+
+
+
+
+ Assign a worker to the shift.
+
+
+
+
+
+ Start or restart processing for the shift
+
+
+
+
+ End the shift, pausing all queues and raising
+ the EndOfShift event.
+
+
+
+
+ Shut down the shift.
+
+
+
+
+ Cancel (abort or stop) the shift without completing all work
+
+ true if the WorkShift should be aborted, false if it should allow its currently running tests to complete
+
+
+
+ TextMessageWriter writes constraint descriptions and messages
+ in displayable form as a text stream. It tailors the display
+ of individual message components to form the standard message
+ format of NUnit assertion failure messages.
+
+
+
+
+ Prefix used for the expected value line of a message
+
+
+
+
+ Prefix used for the actual value line of a message
+
+
+
+
+ Length of a message prefix
+
+
+
+
+ Construct a TextMessageWriter
+
+
+
+
+ Construct a TextMessageWriter, specifying a user message
+ and optional formatting arguments.
+
+
+
+
+
+
+ Gets or sets the maximum line length for this writer
+
+
+
+
+ Method to write single line message with optional args, usually
+ written to precede the general failure message, at a given
+ indentation level.
+
+ The indentation level of the message
+ The message to be written
+ Any arguments used in formatting the message
+
+
+
+ Display Expected and Actual lines for a constraint. This
+ is called by MessageWriter's default implementation of
+ WriteMessageTo and provides the generic two-line display.
+
+ The result of the constraint that failed
+
+
+
+ Display Expected and Actual lines for given _values. This
+ method may be called by constraints that need more control over
+ the display of actual and expected _values than is provided
+ by the default implementation.
+
+ The expected value
+ The actual value causing the failure
+
+
+
+ Display Expected and Actual lines for given _values, including
+ a tolerance value on the expected line.
+
+ The expected value
+ The actual value causing the failure
+ The tolerance within which the test was made
+
+
+
+ Display the expected and actual string _values on separate lines.
+ If the mismatch parameter is >=0, an additional line is displayed
+ line containing a caret that points to the mismatch point.
+
+ The expected string value
+ The actual string value
+ The point at which the strings don't match or -1
+ If true, case is ignored in string comparisons
+ If true, clip the strings to fit the max line length
+
+
+
+ Writes the text for an actual value.
+
+ The actual value.
+
+
+
+ Writes the text for a generalized value.
+
+ The value.
+
+
+
+ Writes the text for a collection value,
+ starting at a particular point, to a max length
+
+ The collection containing elements to write.
+ The starting point of the elements to write
+ The maximum number of elements to write
+
+
+
+ Write the generic 'Expected' line for a constraint
+
+ The constraint that failed
+
+
+
+ Write the generic 'Expected' line for a given value
+
+ The expected value
+
+
+
+ Write the generic 'Expected' line for a given value
+ and tolerance.
+
+ The expected value
+ The tolerance within which the test was made
+
+
+
+ Write the generic 'Actual' line for a constraint
+
+ The ConstraintResult for which the actual value is to be written
+
+
+
+ Write the generic 'Actual' line for a given value
+
+ The actual value causing a failure
+
+
+
+ Combines multiple filters so that a test must pass all
+ of them in order to pass this filter.
+
+
+
+
+ Constructs an empty AndFilter
+
+
+
+
+ Constructs an AndFilter from an array of filters
+
+
+
+
+
+ Checks whether the AndFilter is matched by a test
+
+ The test to be matched
+ True if all the component filters pass, otherwise false
+
+
+
+ Checks whether the AndFilter is matched by a test
+
+ The test to be matched
+ True if all the component filters match, otherwise false
+
+
+
+ Gets the element name
+
+ Element name
+
+
+
+ CategoryFilter is able to select or exclude tests
+ based on their categories.
+
+
+
+
+
+ Construct a CategoryFilter using a single category name
+
+ A category name
+
+
+
+ Check whether the filter matches a test
+
+ The test to be matched
+
+
+
+
+ Gets the element name
+
+ Element name
+
+
+
+ ClassName filter selects tests based on the class FullName
+
+
+
+
+ Construct a FullNameFilter for a single name
+
+ The name the filter will recognize.
+
+
+
+ Match a test against a single value.
+
+
+
+
+ Gets the element name
+
+ Element name
+
+
+
+ A base class for multi-part filters
+
+
+
+
+ Constructs an empty CompositeFilter
+
+
+
+
+ Constructs a CompositeFilter from an array of filters
+
+
+
+
+
+ Adds a filter to the list of filters
+
+ The filter to be added
+
+
+
+ Return a list of the composing filters.
+
+
+
+
+ Adds an XML node
+
+ Parent node
+ True if recursive
+ The added XML node
+
+
+
+ Gets the element name
+
+ Element name
+
+
+
+ FullName filter selects tests based on their FullName
+
+
+
+
+ Construct a FullNameFilter for a single name
+
+ The name the filter will recognize.
+
+
+
+ Match a test against a single value.
+
+
+
+
+ Gets the element name
+
+ Element name
+
+
+
+ IdFilter selects tests based on their id
+
+
+
+
+ Construct an IdFilter for a single value
+
+ The id the filter will recognize.
+
+
+
+ Match a test against a single value.
+
+
+
+
+ Gets the element name
+
+ Element name
+
+
+
+ FullName filter selects tests based on their FullName
+
+
+
+
+ Construct a MethodNameFilter for a single name
+
+ The name the filter will recognize.
+
+
+
+ Match a test against a single value.
+
+
+
+
+ Gets the element name
+
+ Element name
+
+
+
+ NotFilter negates the operation of another filter
+
+
+
+
+ Construct a not filter on another filter
+
+ The filter to be negated
+
+
+
+ Gets the base filter
+
+
+
+
+ Determine if a particular test passes the filter criteria. The default
+ implementation checks the test itself, its parents and any descendants.
+
+ Derived classes may override this method or any of the Match methods
+ to change the behavior of the filter.
+
+ The test to which the filter is applied
+ True if the test passes the filter, otherwise false
+
+
+
+ Check whether the filter matches a test
+
+ The test to be matched
+ True if it matches, otherwise false
+
+
+
+ Determine if a test matches the filter expicitly. That is, it must
+ be a direct match of the test itself or one of it's children.
+
+ The test to which the filter is applied
+ True if the test matches the filter explicityly, otherwise false
+
+
+
+ Adds an XML node
+
+ Parent node
+ True if recursive
+ The added XML node
+
+
+
+ Combines multiple filters so that a test must pass one
+ of them in order to pass this filter.
+
+
+
+
+ Constructs an empty OrFilter
+
+
+
+
+ Constructs an AndFilter from an array of filters
+
+
+
+
+
+ Checks whether the OrFilter is matched by a test
+
+ The test to be matched
+ True if any of the component filters pass, otherwise false
+
+
+
+ Checks whether the OrFilter is matched by a test
+
+ The test to be matched
+ True if any of the component filters match, otherwise false
+
+
+
+ Gets the element name
+
+ Element name
+
+
+
+ PropertyFilter is able to select or exclude tests
+ based on their properties.
+
+
+
+
+
+ Construct a PropertyFilter using a property name and expected value
+
+ A property name
+ The expected value of the property
+
+
+
+ Check whether the filter matches a test
+
+ The test to be matched
+
+
+
+
+ Adds an XML node
+
+ Parent node
+ True if recursive
+ The added XML node
+
+
+
+ Gets the element name
+
+ Element name
+
+
+
+ TestName filter selects tests based on their Name
+
+
+
+
+ Construct a TestNameFilter for a single name
+
+ The name the filter will recognize.
+
+
+
+ Match a test against a single value.
+
+
+
+
+ Gets the element name
+
+ Element name
+
+
+
+ ValueMatchFilter selects tests based on some value, which
+ is expected to be contained in the test.
+
+
+
+
+ Returns the value matched by the filter - used for testing
+
+
+
+
+ Indicates whether the value is a regular expression
+
+
+
+
+ Construct a ValueMatchFilter for a single value.
+
+ The value to be included.
+
+
+
+ Match the input provided by the derived class
+
+ The value to be matchedT
+ True for a match, false otherwise.
+
+
+
+ Adds an XML node
+
+ Parent node
+ True if recursive
+ The added XML node
+
+
+
+ Gets the element name
+
+ Element name
+
+
+
+ GenericMethodHelper is able to deduce the Type arguments for
+ a generic method from the actual arguments provided.
+
+
+
+
+ Construct a GenericMethodHelper for a method
+
+ MethodInfo for the method to examine
+
+
+
+ Return the type argments for the method, deducing them
+ from the arguments actually provided.
+
+ The arguments to the method
+ An array of type arguments.
+
+
+
+ InvalidTestFixtureException is thrown when an appropriate test
+ fixture constructor using the provided arguments cannot be found.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The message.
+
+
+
+ Initializes a new instance of the class.
+
+ The message.
+ The inner.
+
+
+
+ Serialization Constructor
+
+
+
+
+ InvalidTestFixtureException is thrown when an appropriate test
+ fixture constructor using the provided arguments cannot be found.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The message.
+
+
+
+ Initializes a new instance of the class.
+
+ The message.
+ The inner.
+
+
+
+ Serialization Constructor
+
+
+
+
+ The MethodWrapper class wraps a MethodInfo so that it may
+ be used in a platform-independent manner.
+
+
+
+
+ Construct a MethodWrapper for a Type and a MethodInfo.
+
+
+
+
+ Construct a MethodInfo for a given Type and method name.
+
+
+
+
+ Gets the Type from which this method was reflected.
+
+
+
+
+ Gets the MethodInfo for this method.
+
+
+
+
+ Gets the name of the method.
+
+
+
+
+ Gets a value indicating whether the method is abstract.
+
+
+
+
+ Gets a value indicating whether the method is public.
+
+
+
+
+ Gets a value indicating whether the method contains unassigned generic type parameters.
+
+
+
+
+ Gets a value indicating whether the method is a generic method.
+
+
+
+
+ Gets a value indicating whether the MethodInfo represents the definition of a generic method.
+
+
+
+
+ Gets the return Type of the method.
+
+
+
+
+ Gets the parameters of the method.
+
+
+
+
+
+ Returns the Type arguments of a generic method or the Type parameters of a generic method definition.
+
+
+
+
+ Replaces the type parameters of the method with the array of types provided and returns a new IMethodInfo.
+
+ The type arguments to be used
+ A new IMethodInfo with the type arguments replaced
+
+
+
+ Returns an array of custom attributes of the specified type applied to this method
+
+
+
+
+ Gets a value indicating whether one or more attributes of the spcified type are defined on the method.
+
+
+
+
+ Invokes the method, converting any TargetInvocationException to an NUnitException.
+
+ The object on which to invoke the method
+ The argument list for the method
+ The return value from the invoked method
+
+
+
+ Override ToString() so that error messages in NUnit's own tests make sense
+
+
+
+
+ Thrown when an assertion failed. Here to preserve the inner
+ exception and hence its stack trace.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The error message that explains
+ the reason for the exception
+
+
+
+ Initializes a new instance of the class.
+
+ The error message that explains
+ the reason for the exception
+ The exception that caused the
+ current exception
+
+
+
+ Serialization Constructor
+
+
+
+
+ OSPlatform represents a particular operating system platform
+
+
+
+
+ Platform ID for Unix as defined by Microsoft .NET 2.0 and greater
+
+
+
+
+ Platform ID for Unix as defined by Mono
+
+
+
+
+ Platform ID for XBox as defined by .NET and Mono, but not CF
+
+
+
+
+ Platform ID for MacOSX as defined by .NET and Mono, but not CF
+
+
+
+
+ Get the OSPlatform under which we are currently running
+
+
+
+
+ Gets the actual OS Version, not the incorrect value that might be
+ returned for Win 8.1 and Win 10
+
+
+ If an application is not manifested as Windows 8.1 or Windows 10,
+ the version returned from Environment.OSVersion will not be 6.3 and 10.0
+ respectively, but will be 6.2 and 6.3. The correct value can be found in
+ the registry.
+
+ The original version
+ The correct OS version
+
+
+
+ Product Type Enumeration used for Windows
+
+
+
+
+ Product type is unknown or unspecified
+
+
+
+
+ Product type is Workstation
+
+
+
+
+ Product type is Domain Controller
+
+
+
+
+ Product type is Server
+
+
+
+
+ Construct from a platform ID and version
+
+
+
+
+ Construct from a platform ID, version and product type
+
+
+
+
+ Get the platform ID of this instance
+
+
+
+
+ Get the Version of this instance
+
+
+
+
+ Get the Product Type of this instance
+
+
+
+
+ Return true if this is a windows platform
+
+
+
+
+ Return true if this is a Unix or Linux platform
+
+
+
+
+ Return true if the platform is Win32S
+
+
+
+
+ Return true if the platform is Win32Windows
+
+
+
+
+ Return true if the platform is Win32NT
+
+
+
+
+ Return true if the platform is Windows CE
+
+
+
+
+ Return true if the platform is Xbox
+
+
+
+
+ Return true if the platform is MacOSX
+
+
+
+
+ Return true if the platform is Windows 95
+
+
+
+
+ Return true if the platform is Windows 98
+
+
+
+
+ Return true if the platform is Windows ME
+
+
+
+
+ Return true if the platform is NT 3
+
+
+
+
+ Return true if the platform is NT 4
+
+
+
+
+ Return true if the platform is NT 5
+
+
+
+
+ Return true if the platform is Windows 2000
+
+
+
+
+ Return true if the platform is Windows XP
+
+
+
+
+ Return true if the platform is Windows 2003 Server
+
+
+
+
+ Return true if the platform is NT 6
+
+
+
+
+ Return true if the platform is NT 6.0
+
+
+
+
+ Return true if the platform is NT 6.1
+
+
+
+
+ Return true if the platform is NT 6.2
+
+
+
+
+ Return true if the platform is NT 6.3
+
+
+
+
+ Return true if the platform is Vista
+
+
+
+
+ Return true if the platform is Windows 2008 Server (original or R2)
+
+
+
+
+ Return true if the platform is Windows 2008 Server (original)
+
+
+
+
+ Return true if the platform is Windows 2008 Server R2
+
+
+
+
+ Return true if the platform is Windows 2012 Server (original or R2)
+
+
+
+
+ Return true if the platform is Windows 2012 Server (original)
+
+
+
+
+ Return true if the platform is Windows 2012 Server R2
+
+
+
+
+ Return true if the platform is Windows 7
+
+
+
+
+ Return true if the platform is Windows 8
+
+
+
+
+ Return true if the platform is Windows 8.1
+
+
+
+
+ Return true if the platform is Windows 10
+
+
+
+
+ Return true if the platform is Windows Server. This is named Windows
+ Server 10 to distinguish it from previous versions of Windows Server.
+
+
+
+
+ The ParameterWrapper class wraps a ParameterInfo so that it may
+ be used in a platform-independent manner.
+
+
+
+
+ Construct a ParameterWrapper for a given method and parameter
+
+
+
+
+
+
+ Gets a value indicating whether the parameter is optional
+
+
+
+
+ Gets an IMethodInfo representing the method for which this is a parameter.
+
+
+
+
+ Gets the underlying ParameterInfo
+
+
+
+
+ Gets the Type of the parameter
+
+
+
+
+ Returns an array of custom attributes of the specified type applied to this method
+
+
+
+
+ Gets a value indicating whether one or more attributes of the specified type are defined on the parameter.
+
+
+
+
+ PlatformHelper class is used by the PlatformAttribute class to
+ determine whether a platform is supported.
+
+
+
+
+ Comma-delimited list of all supported OS platform constants
+
+
+
+
+ Comma-delimited list of all supported Runtime platform constants
+
+
+
+
+ Default constructor uses the operating system and
+ common language runtime of the system.
+
+
+
+
+ Construct a PlatformHelper for a particular operating
+ system and common language runtime. Used in testing.
+
+ OperatingSystem to be used
+ RuntimeFramework to be used
+
+
+
+ Test to determine if one of a collection of platforms
+ is being used currently.
+
+
+
+
+
+
+ Tests to determine if the current platform is supported
+ based on a platform attribute.
+
+ The attribute to examine
+
+
+
+
+ Tests to determine if the current platform is supported
+ based on a platform attribute.
+
+ The attribute to examine
+
+
+
+
+ Test to determine if the a particular platform or comma-
+ delimited set of platforms is in use.
+
+ Name of the platform or comma-separated list of platform ids
+ True if the platform is in use on the system
+
+
+
+ Return the last failure reason. Results are not
+ defined if called before IsSupported( Attribute )
+ is called.
+
+
+
+
+ A PropertyBag represents a collection of name value pairs
+ that allows duplicate entries with the same key. Methods
+ are provided for adding a new pair as well as for setting
+ a key to a single value. All keys are strings but _values
+ may be of any type. Null _values are not permitted, since
+ a null entry represents the absence of the key.
+
+
+
+
+ Adds a key/value pair to the property set
+
+ The key
+ The value
+
+
+
+ Sets the value for a key, removing any other
+ _values that are already in the property set.
+
+
+
+
+
+
+ Gets a single value for a key, using the first
+ one if multiple _values are present and returning
+ null if the value is not found.
+
+
+
+
+
+
+ Gets a flag indicating whether the specified key has
+ any entries in the property set.
+
+ The key to be checked
+
+ True if their are _values present, otherwise false
+
+
+
+
+ Gets a collection containing all the keys in the property set
+
+
+
+
+
+ Gets or sets the list of _values for a particular key
+
+
+
+
+ Returns an XmlNode representating the current PropertyBag.
+
+ Not used
+ An XmlNode representing the PropertyBag
+
+
+
+ Returns an XmlNode representing the PropertyBag after
+ adding it as a child of the supplied parent node.
+
+ The parent node.
+ Not used
+
+
+
+
+ The PropertyNames class provides static constants for the
+ standard property ids that NUnit uses on tests.
+
+
+
+
+ The FriendlyName of the AppDomain in which the assembly is running
+
+
+
+
+ The selected strategy for joining parameter data into test cases
+
+
+
+
+ The process ID of the executing assembly
+
+
+
+
+ The stack trace from any data provider that threw
+ an exception.
+
+
+
+
+ The reason a test was not run
+
+
+
+
+ The author of the tests
+
+
+
+
+ The ApartmentState required for running the test
+
+
+
+
+ The categories applying to a test
+
+
+
+
+ The Description of a test
+
+
+
+
+ The number of threads to be used in running tests
+
+
+
+
+ The maximum time in ms, above which the test is considered to have failed
+
+
+
+
+ The ParallelScope associated with a test
+
+
+
+
+ The number of times the test should be repeated
+
+
+
+
+ Indicates that the test should be run on a separate thread
+
+
+
+
+ The culture to be set for a test
+
+
+
+
+ The UI culture to be set for a test
+
+
+
+
+ The type that is under test
+
+
+
+
+ The timeout value for the test
+
+
+
+
+ The test will be ignored until the given date
+
+
+
+
+ The optional Order the test will run in
+
+
+
+
+ Randomizer returns a set of random _values in a repeatable
+ way, to allow re-running of tests if necessary. It extends
+ the .NET Random class, providing random values for a much
+ wider range of types.
+
+ The class is used internally by the framework to generate
+ test case data and is also exposed for use by users through
+ the TestContext.Random property.
+
+
+ For consistency with the underlying Random Type, methods
+ returning a single value use the prefix "Next..." Those
+ without an argument return a non-negative value up to
+ the full positive range of the Type. Overloads are provided
+ for specifying a maximum or a range. Methods that return
+ arrays or strings use the prefix "Get..." to avoid
+ confusion with the single-value methods.
+
+
+
+
+ Initial seed used to create randomizers for this run
+
+
+
+
+ Get a Randomizer for a particular member, returning
+ one that has already been created if it exists.
+ This ensures that the same _values are generated
+ each time the tests are reloaded.
+
+
+
+
+ Get a randomizer for a particular parameter, returning
+ one that has already been created if it exists.
+ This ensures that the same values are generated
+ each time the tests are reloaded.
+
+
+
+
+ Create a new Randomizer using the next seed
+ available to ensure that each randomizer gives
+ a unique sequence of values.
+
+
+
+
+
+ Default constructor
+
+
+
+
+ Construct based on seed value
+
+
+
+
+
+ Returns a random unsigned int.
+
+
+
+
+ Returns a random unsigned int less than the specified maximum.
+
+
+
+
+ Returns a random unsigned int within a specified range.
+
+
+
+
+ Returns a non-negative random short.
+
+
+
+
+ Returns a non-negative random short less than the specified maximum.
+
+
+
+
+ Returns a non-negative random short within a specified range.
+
+
+
+
+ Returns a random unsigned short.
+
+
+
+
+ Returns a random unsigned short less than the specified maximum.
+
+
+
+
+ Returns a random unsigned short within a specified range.
+
+
+
+
+ Returns a random long.
+
+
+
+
+ Returns a random long less than the specified maximum.
+
+
+
+
+ Returns a non-negative random long within a specified range.
+
+
+
+
+ Returns a random ulong.
+
+
+
+
+ Returns a random ulong less than the specified maximum.
+
+
+
+
+ Returns a non-negative random long within a specified range.
+
+
+
+
+ Returns a random Byte
+
+
+
+
+ Returns a random Byte less than the specified maximum.
+
+
+
+
+ Returns a random Byte within a specified range
+
+
+
+
+ Returns a random SByte
+
+
+
+
+ Returns a random sbyte less than the specified maximum.
+
+
+
+
+ Returns a random sbyte within a specified range
+
+
+
+
+ Returns a random bool
+
+
+
+
+ Returns a random bool based on the probablility a true result
+
+
+
+
+ Returns a random double between 0.0 and the specified maximum.
+
+
+
+
+ Returns a random double within a specified range.
+
+
+
+
+ Returns a random float.
+
+
+
+
+ Returns a random float between 0.0 and the specified maximum.
+
+
+
+
+ Returns a random float within a specified range.
+
+
+
+
+ Returns a random enum value of the specified Type as an object.
+
+
+
+
+ Returns a random enum value of the specified Type.
+
+
+
+
+ Default characters for random functions.
+
+ Default characters are the English alphabet (uppercase & lowercase), arabic numerals, and underscore
+
+
+
+ Generate a random string based on the characters from the input string.
+
+ desired length of output string.
+ string representing the set of characters from which to construct the resulting string
+ A random string of arbitrary length
+
+
+
+ Generate a random string based on the characters from the input string.
+
+ desired length of output string.
+ A random string of arbitrary length
+ Uses DefaultStringChars as the input character set
+
+
+
+ Generate a random string based on the characters from the input string.
+
+ A random string of the default length
+ Uses DefaultStringChars as the input character set
+
+
+
+ Returns a random decimal.
+
+
+
+
+ Returns a random decimal between positive zero and the specified maximum.
+
+
+
+
+ Returns a random decimal within a specified range, which is not
+ permitted to exceed decimal.MaxVal in the current implementation.
+
+
+ A limitation of this implementation is that the range from min
+ to max must not exceed decimal.MaxVal.
+
+
+
+
+ Helper methods for inspecting a type by reflection.
+
+ Many of these methods take ICustomAttributeProvider as an
+ argument to avoid duplication, even though certain attributes can
+ only appear on specific types of members, like MethodInfo or Type.
+
+ In the case where a type is being examined for the presence of
+ an attribute, interface or named member, the Reflect methods
+ operate with the full name of the member being sought. This
+ removes the necessity of the caller having a reference to the
+ assembly that defines the item being sought and allows the
+ NUnit core to inspect assemblies that reference an older
+ version of the NUnit framework.
+
+
+
+
+ Examine a fixture type and return an array of methods having a
+ particular attribute. The array is order with base methods first.
+
+ The type to examine
+ The attribute Type to look for
+ Specifies whether to search the fixture type inheritance chain
+ The array of methods found
+
+
+
+ Examine a fixture type and return true if it has a method with
+ a particular attribute.
+
+ The type to examine
+ The attribute Type to look for
+ True if found, otherwise false
+
+
+
+ Invoke the default constructor on a Type
+
+ The Type to be constructed
+ An instance of the Type
+
+
+
+ Invoke a constructor on a Type with arguments
+
+ The Type to be constructed
+ Arguments to the constructor
+ An instance of the Type
+
+
+
+ Returns an array of types from an array of objects.
+ Used because the compact framework doesn't support
+ Type.GetTypeArray()
+
+ An array of objects
+ An array of Types
+
+
+
+ Invoke a parameterless method returning void on an object.
+
+ A MethodInfo for the method to be invoked
+ The object on which to invoke the method
+
+
+
+ Invoke a method, converting any TargetInvocationException to an NUnitException.
+
+ A MethodInfo for the method to be invoked
+ The object on which to invoke the method
+ The argument list for the method
+ The return value from the invoked method
+
+
+
+ The TestResult class represents the result of a test.
+
+
+
+
+ Error message for when child tests have errors
+
+
+
+
+ Error message for when child tests are ignored
+
+
+
+
+ The minimum duration for tests
+
+
+
+
+ List of child results
+
+
+
+
+ Construct a test result given a Test
+
+ The test to be used
+
+
+
+ Gets the test with which this result is associated.
+
+
+
+
+ Gets the ResultState of the test result, which
+ indicates the success or failure of the test.
+
+
+
+
+ Gets the name of the test result
+
+
+
+
+ Gets the full name of the test result
+
+
+
+
+ Gets or sets the elapsed time for running the test in seconds
+
+
+
+
+ Gets or sets the time the test started running.
+
+
+
+
+ Gets or sets the time the test finished running.
+
+
+
+
+ Gets the message associated with a test
+ failure or with not running the test
+
+
+
+
+ Gets any stacktrace associated with an
+ error or failure.
+
+
+
+
+ Gets or sets the count of asserts executed
+ when running the test.
+
+
+
+
+ Gets the number of test cases that failed
+ when running the test and all its children.
+
+
+
+
+ Gets the number of test cases that passed
+ when running the test and all its children.
+
+
+
+
+ Gets the number of test cases that were skipped
+ when running the test and all its children.
+
+
+
+
+ Gets the number of test cases that were inconclusive
+ when running the test and all its children.
+
+
+
+
+ Indicates whether this result has any child results.
+ Test HasChildren before accessing Children to avoid
+ the creation of an empty collection.
+
+
+
+
+ Gets the collection of child results.
+
+
+
+
+ Gets a TextWriter, which will write output to be included in the result.
+
+
+
+
+ Gets any text output written to this result.
+
+
+
+
+ Returns the Xml representation of the result.
+
+ If true, descendant results are included
+ An XmlNode representing the result
+
+
+
+ Adds the XML representation of the result as a child of the
+ supplied parent node..
+
+ The parent node.
+ If true, descendant results are included
+
+
+
+
+ Adds a child result to this result, setting this result's
+ ResultState to Failure if the child result failed.
+
+ The result to be added
+
+
+
+ Set the result of the test
+
+ The ResultState to use in the result
+
+
+
+ Set the result of the test
+
+ The ResultState to use in the result
+ A message associated with the result state
+
+
+
+ Set the result of the test
+
+ The ResultState to use in the result
+ A message associated with the result state
+ Stack trace giving the location of the command
+
+
+
+ Set the test result based on the type of exception thrown
+
+ The exception that was thrown
+
+
+
+ Set the test result based on the type of exception thrown
+
+ The exception that was thrown
+ THe FailureSite to use in the result
+
+
+
+ RecordTearDownException appends the message and stacktrace
+ from an exception arising during teardown of the test
+ to any previously recorded information, so that any
+ earlier failure information is not lost. Note that
+ calling Assert.Ignore, Assert.Inconclusive, etc. during
+ teardown is treated as an error. If the current result
+ represents a suite, it may show a teardown error even
+ though all contained tests passed.
+
+ The Exception to be recorded
+
+
+
+ Adds a reason element to a node and returns it.
+
+ The target node.
+ The new reason element.
+
+
+
+ Adds a failure element to a node and returns it.
+
+ The target node.
+ The new failure element.
+
+
+
+ Enumeration identifying a common language
+ runtime implementation.
+
+
+
+ Any supported runtime framework
+
+
+ Microsoft .NET Framework
+
+
+ Microsoft .NET Compact Framework
+
+
+ Microsoft Shared Source CLI
+
+
+ Mono
+
+
+ Silverlight
+
+
+ MonoTouch
+
+
+
+ RuntimeFramework represents a particular version
+ of a common language runtime implementation.
+
+
+
+
+ DefaultVersion is an empty Version, used to indicate that
+ NUnit should select the CLR version to use for the test.
+
+
+
+
+ Construct from a runtime type and version. If the version has
+ two parts, it is taken as a framework version. If it has three
+ or more, it is taken as a CLR version. In either case, the other
+ version is deduced based on the runtime type and provided version.
+
+ The runtime type of the framework
+ The version of the framework
+
+
+
+ Static method to return a RuntimeFramework object
+ for the framework that is currently in use.
+
+
+
+
+ The type of this runtime framework
+
+
+
+
+ The framework version for this runtime framework
+
+
+
+
+ The CLR version for this runtime framework
+
+
+
+
+ Return true if any CLR version may be used in
+ matching this RuntimeFramework object.
+
+
+
+
+ Returns the Display name for this framework
+
+
+
+
+ Parses a string representing a RuntimeFramework.
+ The string may be just a RuntimeType name or just
+ a Version or a hyphenated RuntimeType-Version or
+ a Version prefixed by 'versionString'.
+
+
+
+
+
+
+ Overridden to return the short name of the framework
+
+
+
+
+
+ Returns true if the current framework matches the
+ one supplied as an argument. Two frameworks match
+ if their runtime types are the same or either one
+ is RuntimeType.Any and all specified version components
+ are equal. Negative (i.e. unspecified) version
+ components are ignored.
+
+ The RuntimeFramework to be matched.
+ True on match, otherwise false
+
+
+
+ StackFilter class is used to remove internal NUnit
+ entries from a stack trace so that the resulting
+ trace provides better information about the test.
+
+
+
+
+ Filters a raw stack trace and returns the result.
+
+ The original stack trace
+ A filtered stack trace
+
+
+
+ Provides methods to support legacy string comparison methods.
+
+
+
+
+ Compares two strings for equality, ignoring case if requested.
+
+ The first string.
+ The second string..
+ if set to true, the case of the letters in the strings is ignored.
+ Zero if the strings are equivalent, a negative number if strA is sorted first, a positive number if
+ strB is sorted first
+
+
+
+ Compares two strings for equality, ignoring case if requested.
+
+ The first string.
+ The second string..
+ if set to true, the case of the letters in the strings is ignored.
+ True if the strings are equivalent, false if not.
+
+
+
+ The TestCaseParameters class encapsulates method arguments and
+ other selected parameters needed for constructing
+ a parameterized test case.
+
+
+
+
+ The expected result to be returned
+
+
+
+
+ Default Constructor creates an empty parameter set
+
+
+
+
+ Construct a non-runnable ParameterSet, specifying
+ the provider exception that made it invalid.
+
+
+
+
+ Construct a parameter set with a list of arguments
+
+
+
+
+
+ Construct a ParameterSet from an object implementing ITestCaseData
+
+
+
+
+
+ The expected result of the test, which
+ must match the method return type.
+
+
+
+
+ Gets a value indicating whether an expected result was specified.
+
+
+
+
+ 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.
+
+ An internal class is used to hold settings and a stack
+ of these objects is pushed and popped as Save and Restore
+ are called.
+
+
+
+
+ Link to a prior saved context
+
+
+
+
+ Indicates that a stop has been requested
+
+
+
+
+ The event listener currently receiving notifications
+
+
+
+
+ The number of assertions for the current test
+
+
+
+
+ The current culture
+
+
+
+
+ The current UI culture
+
+
+
+
+ The current test result
+
+
+
+
+ The current Principal.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class.
+
+ An existing instance of TestExecutionContext.
+
+
+
+ The current context, head of the list of saved contexts.
+
+
+
+
+ Gets the current context.
+
+ The current context.
+
+
+
+ Get the current context or return null if none is found.
+
+
+
+
+ Clear the current context. This is provided to
+ prevent "leakage" of the CallContext containing
+ the current context back to any runners.
+
+
+
+
+ Gets or sets the current test
+
+
+
+
+ The time the current test started execution
+
+
+
+
+ The time the current test started in Ticks
+
+
+
+
+ Gets or sets the current test result
+
+
+
+
+ Gets a TextWriter that will send output to the current test result.
+
+
+
+
+ The current test object - that is the user fixture
+ object on which tests are being executed.
+
+
+
+
+ Get or set the working directory
+
+
+
+
+ Get or set indicator that run should stop on the first error
+
+
+
+
+ Gets an enum indicating whether a stop has been requested.
+
+
+
+
+ The current test event listener
+
+
+
+
+ The current WorkItemDispatcher
+
+
+
+
+ The ParallelScope to be used by tests running in this context.
+ For builds with out the parallel feature, it has no effect.
+
+
+
+
+ Gets the RandomGenerator specific to this Test
+
+
+
+
+ Gets the assert count.
+
+ The assert count.
+
+
+
+ Gets or sets the test case timeout value
+
+
+
+
+ Gets a list of ITestActions set by upstream tests
+
+
+
+
+ Saves or restores the CurrentCulture
+
+
+
+
+ Saves or restores the CurrentUICulture
+
+
+
+
+ Gets or sets the current for the Thread.
+
+
+
+
+ The current head of the ValueFormatter chain, copied from MsgUtils.ValueFormatter
+
+
+
+
+ Record any changes in the environment made by
+ the test code in the execution context so it
+ will be passed on to lower level tests.
+
+
+
+
+ Set up the execution environment to match a context.
+ Note that we may be running on the same thread where the
+ context was initially created or on a different thread.
+
+
+
+
+ Increments the assert count by one.
+
+
+
+
+ Increments the assert count by a specified amount.
+
+
+
+
+ Adds a new ValueFormatterFactory to the chain of formatters
+
+ The new factory
+
+
+
+ Obtain lifetime service object
+
+
+
+
+
+ Enumeration indicating whether the tests are
+ running normally or being cancelled.
+
+
+
+
+ Running normally with no stop requested
+
+
+
+
+ A graceful stop has been requested
+
+
+
+
+ A forced stop has been requested
+
+
+
+
+ Interface to be implemented by filters applied to tests.
+ The filter applies when running the test, after it has been
+ loaded, since this is the only time an ITest exists.
+
+
+
+
+ Unique Empty filter.
+
+
+
+
+ Indicates whether this is the EmptyFilter
+
+
+
+
+ Indicates whether this is a top-level filter,
+ not contained in any other filter.
+
+
+
+
+ Determine if a particular test passes the filter criteria. The default
+ implementation checks the test itself, its parents and any descendants.
+
+ Derived classes may override this method or any of the Match methods
+ to change the behavior of the filter.
+
+ The test to which the filter is applied
+ True if the test passes the filter, otherwise false
+
+
+
+ Determine if a test matches the filter expicitly. That is, it must
+ be a direct match of the test itself or one of it's children.
+
+ The test to which the filter is applied
+ True if the test matches the filter explicityly, otherwise false
+
+
+
+ Determine whether the test itself matches the filter criteria, without
+ examining either parents or descendants. This is overridden by each
+ different type of filter to perform the necessary tests.
+
+ The test to which the filter is applied
+ True if the filter matches the any parent of the test
+
+
+
+ Determine whether any ancestor of the test matches the filter criteria
+
+ The test to which the filter is applied
+ True if the filter matches the an ancestor of the test
+
+
+
+ Determine whether any descendant of the test matches the filter criteria.
+
+ The test to be matched
+ True if at least one descendant matches the filter criteria
+
+
+
+ Create a TestFilter instance from an xml representation.
+
+
+
+
+ Create a TestFilter from it's TNode representation
+
+
+
+
+ Nested class provides an empty filter - one that always
+ returns true when called. It never matches explicitly.
+
+
+
+
+ Adds an XML node
+
+ True if recursive
+ The added XML node
+
+
+
+ Adds an XML node
+
+ Parent node
+ True if recursive
+ The added XML node
+
+
+
+ The TestCaseParameters class encapsulates method arguments and
+ other selected parameters needed for constructing
+ a parameterized test case.
+
+
+
+
+ Default Constructor creates an empty parameter set
+
+
+
+
+ Construct a non-runnable ParameterSet, specifying
+ the provider exception that made it invalid.
+
+
+
+
+ Construct a parameter set with a list of arguments
+
+
+
+
+
+ Construct a ParameterSet from an object implementing ITestCaseData
+
+
+
+
+
+ Type arguments used to create a generic fixture instance
+
+
+
+
+ TestListener provides an implementation of ITestListener that
+ does nothing. It is used only through its NULL property.
+
+
+
+
+ Called when a test has just started
+
+ The test that is starting
+
+
+
+ Called when a test case has finished
+
+ The result of the test
+
+
+
+ Construct a new TestListener - private so it may not be used.
+
+
+
+
+ Get a listener that does nothing
+
+
+
+
+ TestNameGenerator is able to create test names according to
+ a coded pattern.
+
+
+
+
+ Construct a TestNameGenerator
+
+ The pattern used by this generator.
+
+
+
+ Get the display name for a TestMethod and it's arguments
+
+ A TestMethod
+ The display name
+
+
+
+ Get the display name for a TestMethod and it's arguments
+
+ A TestMethod
+ Arguments to be used
+ The display name
+
+
+
+ Get the display name for a MethodInfo
+
+ A MethodInfo
+ The display name
+
+
+
+ Get the display name for a method with args
+
+ A MethodInfo
+ Argument list for the method
+ The display name
+
+
+
+ TestParameters is the abstract base class for all classes
+ that know how to provide data for constructing a test.
+
+
+
+
+ Default Constructor creates an empty parameter set
+
+
+
+
+ Construct a parameter set with a list of arguments
+
+
+
+
+
+ Construct a non-runnable ParameterSet, specifying
+ the provider exception that made it invalid.
+
+
+
+
+ Construct a ParameterSet from an object implementing ITestData
+
+
+
+
+
+ The RunState for this set of parameters.
+
+
+
+
+ The arguments to be used in running the test,
+ which must match the method signature.
+
+
+
+
+ A name to be used for this test case in lieu
+ of the standard generated name containing
+ the argument list.
+
+
+
+
+ Gets the property dictionary for this test
+
+
+
+
+ Applies ParameterSet _values to the test itself.
+
+ A test.
+
+
+
+ The original arguments provided by the user,
+ used for display purposes.
+
+
+
+
+ TestProgressReporter translates ITestListener events into
+ the async callbacks that are used to inform the client
+ software about the progress of a test run.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The callback handler to be used for reporting progress.
+
+
+
+ Called when a test has just started
+
+ The test that is starting
+
+
+
+ Called when a test has finished. Sends a result summary to the callback.
+ to
+
+ The result of the test
+
+
+
+ Returns the parent test item for the targer test item if it exists
+
+
+ parent test item
+
+
+
+ Makes a string safe for use as an attribute, replacing
+ characters characters that can't be used with their
+ corresponding xml representations.
+
+ The string to be used
+ A new string with the _values replaced
+
+
+
+ ParameterizedFixtureSuite serves as a container for the set of test
+ fixtures created from a given Type using various parameters.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The ITypeInfo for the type that represents the suite.
+
+
+
+ Gets a string representing the type of test
+
+
+
+
+
+ ParameterizedMethodSuite holds a collection of individual
+ TestMethods with their arguments applied.
+
+
+
+
+ Construct from a MethodInfo
+
+
+
+
+
+ Gets a string representing the type of test
+
+
+
+
+
+ SetUpFixture extends TestSuite and supports
+ Setup and TearDown methods.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The type.
+
+
+
+ The Test abstract class represents a test within the framework.
+
+
+
+
+ Static value to seed ids. It's started at 1000 so any
+ uninitialized ids will stand out.
+
+
+
+
+ The SetUp methods.
+
+
+
+
+ The teardown methods
+
+
+
+
+ Constructs a test given its name
+
+ The name of the test
+
+
+
+ Constructs a test given the path through the
+ test hierarchy to its parent and a name.
+
+ The parent tests full name
+ The name of the test
+
+
+
+ TODO: Documentation needed for constructor
+
+
+
+
+
+ Construct a test from a MethodInfo
+
+
+
+
+
+ Gets or sets the id of the test
+
+
+
+
+
+ Gets or sets the name of the test
+
+
+
+
+ Gets or sets the fully qualified name of the test
+
+
+
+
+
+ Gets the name of the class containing this test. Returns
+ null if the test is not associated with a class.
+
+
+
+
+ Gets the name of the method implementing this test.
+ Returns null if the test is not implemented as a method.
+
+
+
+
+ Gets the TypeInfo of the fixture used in running this test
+ or null if no fixture type is associated with it.
+
+
+
+
+ Gets a MethodInfo for the method implementing this test.
+ Returns null if the test is not implemented as a method.
+
+
+
+
+ Whether or not the test should be run
+
+
+
+
+ Gets the name used for the top-level element in the
+ XML representation of this test
+
+
+
+
+ Gets a string representing the type of test. Used as an attribute
+ value in the XML representation of a test and has no other
+ function in the framework.
+
+
+
+
+ Gets a count of test cases represented by
+ or contained under this test.
+
+
+
+
+ Gets the properties for this test
+
+
+
+
+ Returns true if this is a TestSuite
+
+
+
+
+ Gets a bool indicating whether the current test
+ has any descendant tests.
+
+
+
+
+ Gets the parent as a Test object.
+ Used by the core to set the parent.
+
+
+
+
+ Gets this test's child tests
+
+ A list of child tests
+
+
+
+ Gets or sets a fixture object for running this test.
+
+
+
+
+ Static prefix used for ids in this AppDomain.
+ Set by FrameworkController.
+
+
+
+
+ Gets or Sets the Int value representing the seed for the RandomGenerator
+
+
+
+
+
+ Creates a TestResult for this test.
+
+ A TestResult suitable for this type of test.
+
+
+
+ Modify a newly constructed test by applying any of NUnit's common
+ attributes, based on a supplied 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.
+
+ An object implementing ICustomAttributeProvider
+
+
+
+ Add standard attributes and members to a test node.
+
+
+
+
+
+
+ Returns the Xml representation of the test
+
+ If true, include child tests recursively
+
+
+
+
+ Returns an XmlNode representing the current result after
+ adding it as a child of the supplied parent node.
+
+ The parent node.
+ If true, descendant results are included
+
+
+
+
+ Compares this test to another test for sorting purposes
+
+ The other test
+ Value of -1, 0 or +1 depending on whether the current test is less than, equal to or greater than the other test
+
+
+
+ TestAssembly is a TestSuite that represents the execution
+ of tests in a managed assembly.
+
+
+
+
+ Initializes a new instance of the class
+ specifying the Assembly and the path from which it was loaded.
+
+ The assembly this test represents.
+ The path used to load the assembly.
+
+
+
+ Initializes a new instance of the class
+ for a path which could not be loaded.
+
+ The path used to load the assembly.
+
+
+
+ Gets the Assembly represented by this instance.
+
+
+
+
+ Gets the name used for the top-level element in the
+ XML representation of this test
+
+
+
+
+ TestFixture is a surrogate for a user test fixture class,
+ containing one or more tests.
+
+
+
+
+ Initializes a new instance of the class.
+
+ Type of the fixture.
+
+
+
+ The TestMethod class represents a Test implemented as a method.
+
+
+
+
+ The ParameterSet used to create this test method
+
+
+
+
+ Initializes a new instance of the class.
+
+ The method to be used as a test.
+
+
+
+ Initializes a new instance of the class.
+
+ The method to be used as a test.
+ The suite or fixture to which the new test will be added
+
+
+
+ Overridden to return a TestCaseResult.
+
+ A TestResult for this test.
+
+
+
+ Gets a bool indicating whether the current test
+ has any descendant tests.
+
+
+
+
+ Returns a TNode representing the current result after
+ adding it as a child of the supplied parent node.
+
+ The parent node.
+ If true, descendant results are included
+
+
+
+
+ Gets this test's child tests
+
+ A list of child tests
+
+
+
+ Gets the name used for the top-level element in the
+ XML representation of this test
+
+
+
+
+ Returns the name of the method
+
+
+
+
+ TestSuite represents a composite test, which contains other tests.
+
+
+
+
+ Our collection of child tests
+
+
+
+
+ Initializes a new instance of the class.
+
+ The name of the suite.
+
+
+
+ Initializes a new instance of the class.
+
+ Name of the parent suite.
+ The name of the suite.
+
+
+
+ Initializes a new instance of the class.
+
+ Type of the fixture.
+
+
+
+ Initializes a new instance of the class.
+
+ Type of the fixture.
+
+
+
+ Sorts tests under this suite.
+
+
+
+
+ Adds a test to the suite.
+
+ The test.
+
+
+
+ Gets this test's child tests
+
+ The list of child tests
+
+
+
+ Gets a count of test cases represented by
+ or contained under this test.
+
+
+
+
+
+ The arguments to use in creating the fixture
+
+
+
+
+ Set to true to suppress sorting this suite's contents
+
+
+
+
+ Overridden to return a TestSuiteResult.
+
+ A TestResult for this test.
+
+
+
+ Gets a bool indicating whether the current test
+ has any descendant tests.
+
+
+
+
+ Gets the name used for the top-level element in the
+ XML representation of this test
+
+
+
+
+ Returns an XmlNode representing the current result after
+ adding it as a child of the supplied parent node.
+
+ The parent node.
+ If true, descendant results are included
+
+
+
+
+ Check that setup and teardown methods marked by certain attributes
+ meet NUnit's requirements and mark the tests not runnable otherwise.
+
+ The attribute type to check for
+
+
+
+ ThreadUtility provides a set of static methods convenient
+ for working with threads.
+
+
+
+
+ Do our best to Kill a thread
+
+ The thread to kill
+
+
+
+ Do our best to kill a thread, passing state info
+
+ The thread to kill
+ Info for the ThreadAbortException handler
+
+
+
+ TypeHelper provides static methods that operate on Types.
+
+
+
+
+ A special value, which is used to indicate that BestCommonType() method
+ was unable to find a common type for the specified arguments.
+
+
+
+
+ Gets the display name for a Type as used by NUnit.
+
+ The Type for which a display name is needed.
+ The display name for the Type
+
+
+
+ Gets the display name for a Type as used by NUnit.
+
+ The Type for which a display name is needed.
+ The arglist provided.
+ The display name for the Type
+
+
+
+ Returns the best fit for a common type to be used in
+ matching actual arguments to a methods Type parameters.
+
+ The first type.
+ The second type.
+ Either type1 or type2, depending on which is more general.
+
+
+
+ Determines whether the specified type is numeric.
+
+ The type to be examined.
+
+ true if the specified type is numeric; otherwise, false.
+
+
+
+
+ Convert an argument list to the required parameter types.
+ Currently, only widening numeric conversions are performed.
+
+ An array of args to be converted
+ A ParameterInfo[] whose types will be used as targets
+
+
+
+ Determines whether this instance can deduce type args for a generic type from the supplied arguments.
+
+ The type to be examined.
+ The arglist.
+ The type args to be used.
+
+ true if this the provided args give sufficient information to determine the type args to be used; otherwise, false.
+
+
+
+
+ Gets the _values for an enumeration, using Enum.GetTypes
+ where available, otherwise through reflection.
+
+
+
+
+
+
+ Gets the ids of the _values for an enumeration,
+ using Enum.GetNames where available, otherwise
+ through reflection.
+
+
+
+
+
+
+ The TypeWrapper class wraps a Type so it may be used in
+ a platform-independent manner.
+
+
+
+
+ Construct a TypeWrapper for a specified Type.
+
+
+
+
+ Gets the underlying Type on which this TypeWrapper is based.
+
+
+
+
+ Gets the base type of this type as an ITypeInfo
+
+
+
+
+ Gets the Name of the Type
+
+
+
+
+ Gets the FullName of the Type
+
+
+
+
+ Gets the assembly in which the type is declared
+
+
+
+
+ Gets the namespace of the Type
+
+
+
+
+ Gets a value indicating whether the type is abstract.
+
+
+
+
+ Gets a value indicating whether the Type is a generic Type
+
+
+
+
+ Returns true if the Type wrapped is T
+
+
+
+
+ Gets a value indicating whether the Type has generic parameters that have not been replaced by specific Types.
+
+
+
+
+ Gets a value indicating whether the Type is a generic Type definition
+
+
+
+
+ Gets a value indicating whether the type is sealed.
+
+
+
+
+ Gets a value indicating whether this type represents a static class.
+
+
+
+
+ Get the display name for this type
+
+
+
+
+ Get the display name for an object of this type, constructed with the specified args.
+
+
+
+
+ Returns a new ITypeInfo representing an instance of this generic Type using the supplied Type arguments
+
+
+
+
+ Returns a Type representing a generic type definition from which this Type can be constructed.
+
+
+
+
+ Returns an array of custom attributes of the specified type applied to this type
+
+
+
+
+ Returns a value indicating whether the type has an attribute of the specified type.
+
+
+
+
+
+
+
+ Returns a flag indicating whether this type has a method with an attribute of the specified type.
+
+
+
+
+
+
+ Returns an array of IMethodInfos for methods of this Type
+ that match the specified flags.
+
+
+
+
+ Returns a value indicating whether this Type has a public constructor taking the specified argument Types.
+
+
+
+
+ Construct an object of this Type, using the specified arguments.
+
+
+
+
+ Override ToString() so that error messages in NUnit's own tests make sense
+
+
+
+
+ Represents the result of running a single test case.
+
+
+
+
+ Construct a TestCaseResult based on a TestMethod
+
+ A TestMethod to which the result applies.
+
+
+
+ Gets the number of test cases that failed
+ when running the test and all its children.
+
+
+
+
+ Gets the number of test cases that passed
+ when running the test and all its children.
+
+
+
+
+ Gets the number of test cases that were skipped
+ when running the test and all its children.
+
+
+
+
+ Gets the number of test cases that were inconclusive
+ when running the test and all its children.
+
+
+
+
+ Represents the result of running a test suite
+
+
+
+
+ Construct a TestSuiteResult base on a TestSuite
+
+ The TestSuite to which the result applies
+
+
+
+ Gets the number of test cases that failed
+ when running the test and all its children.
+
+
+
+
+ Gets the number of test cases that passed
+ when running the test and all its children.
+
+
+
+
+ Gets the number of test cases that were skipped
+ when running the test and all its children.
+
+
+
+
+ Gets the number of test cases that were inconclusive
+ when running the test and all its children.
+
+
+
+
+ Add a child result
+
+ The child result to be added
+
+
+
+ Provides a platform-independent methods for getting attributes
+ for use by AttributeConstraint and AttributeExistsConstraint.
+
+
+
+
+ Gets the custom attributes from the given object.
+
+ Portable libraries do not have an ICustomAttributeProvider, so we need to cast to each of
+ it's direct subtypes and try to get attributes off those instead.
+ The actual.
+ Type of the attribute.
+ if set to true [inherit].
+ A list of the given attribute on the given object.
+
+
+
+ A MarshalByRefObject that lives forever
+
+
+
+
+ Obtains a lifetime service object to control the lifetime policy for this instance.
+
+
+
+
+ Provides NUnit specific extensions to aid in Reflection
+ across multiple frameworks
+
+
+ This version of the class supplies GetTypeInfo() on platforms
+ that don't support it.
+
+
+
+
+ GetTypeInfo gives access to most of the Type information we take for granted
+ on .NET Core and Windows Runtime. Rather than #ifdef different code for different
+ platforms, it is easiest to just code all platforms as if they worked this way,
+ thus the simple passthrough.
+
+
+
+
+
+
+ Extensions for Assembly that are not available in pre-4.5 .NET releases
+
+
+
+
+ An easy way to get a single custom attribute from an assembly
+
+ The attribute Type
+ The assembly
+ An attribute of Type T
+
+
+
+ This class is a System.Diagnostics.Stopwatch on operating systems that support it. On those that don't,
+ it replicates the functionality at the resolution supported.
+
+
+
+
+ Class used to guard against unexpected argument values
+ or operations by throwing an appropriate exception.
+
+
+
+
+ Throws an exception if an argument is null
+
+ The value to be tested
+ The name of the argument
+
+
+
+ Throws an exception if a string argument is null or empty
+
+ The value to be tested
+ The name of the argument
+
+
+
+ Throws an ArgumentOutOfRangeException if the specified condition is not met.
+
+ The condition that must be met
+ The exception message to be used
+ The name of the argument
+
+
+
+ Throws an ArgumentException if the specified condition is not met.
+
+ The condition that must be met
+ The exception message to be used
+ The name of the argument
+
+
+
+ Throws an InvalidOperationException if the specified condition is not met.
+
+ The condition that must be met
+ The exception message to be used
+
+
+
+ The different targets a test action attribute can be applied to
+
+
+
+
+ Default target, which is determined by where the action attribute is attached
+
+
+
+
+ Target a individual test case
+
+
+
+
+ Target a suite of test cases
+
+
+
+
+ DefaultTestAssemblyBuilder loads a single assembly and builds a TestSuite
+ containing test fixtures present in the assembly.
+
+
+
+
+ The default suite builder used by the test assembly builder.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Build a suite of tests from a provided assembly
+
+ The assembly from which tests are to be built
+ A dictionary of options to use in building the suite
+
+ A TestSuite containing the tests found in the assembly
+
+
+
+
+ Build a suite of tests given the filename of an assembly
+
+ The filename of the assembly from which tests are to be built
+ A dictionary of options to use in building the suite
+
+ A TestSuite containing the tests found in the assembly
+
+
+
+
+ FrameworkController provides a facade for use in loading, browsing
+ and running tests without requiring a reference to the NUnit
+ framework. All calls are encapsulated in constructors for
+ this class and its nested classes, which only require the
+ types of the Common Type System as arguments.
+
+ The controller supports four actions: Load, Explore, Count and Run.
+ They are intended to be called by a driver, which should allow for
+ proper sequencing of calls. Load must be called before any of the
+ other actions. The driver may support other actions, such as
+ reload on run, by combining these calls.
+
+
+
+
+ Construct a FrameworkController using the default builder and runner.
+
+ The AssemblyName or path to the test assembly
+ A prefix used for all test ids created under this controller.
+ A Dictionary of settings to use in loading and running the tests
+
+
+
+ Construct a FrameworkController using the default builder and runner.
+
+ The test assembly
+ A prefix used for all test ids created under this controller.
+ A Dictionary of settings to use in loading and running the tests
+
+
+
+ Construct a FrameworkController, specifying the types to be used
+ for the runner and builder. This constructor is provided for
+ purposes of development.
+
+ The full AssemblyName or the path to the test assembly
+ A prefix used for all test ids created under this controller.
+ A Dictionary of settings to use in loading and running the tests
+ The Type of the test runner
+ The Type of the test builder
+
+
+
+ Construct a FrameworkController, specifying the types to be used
+ for the runner and builder. This constructor is provided for
+ purposes of development.
+
+ The test assembly
+ A prefix used for all test ids created under this controller.
+ A Dictionary of settings to use in loading and running the tests
+ The Type of the test runner
+ The Type of the test builder
+
+
+
+ Gets the ITestAssemblyBuilder used by this controller instance.
+
+ The builder.
+
+
+
+ Gets the ITestAssemblyRunner used by this controller instance.
+
+ The runner.
+
+
+
+ Gets the AssemblyName or the path for which this FrameworkController was created
+
+
+
+
+ Gets the Assembly for which this
+
+
+
+
+ Gets a dictionary of settings for the FrameworkController
+
+
+
+
+ Loads the tests in the assembly
+
+
+
+
+
+ Returns info about the tests in an assembly
+
+ A string containing the XML representation of the filter to use
+ The XML result of exploring the tests
+
+
+
+ Runs the tests in an assembly
+
+ A string containing the XML representation of the filter to use
+ The XML result of the test run
+
+
+
+ Runs the tests in an assembly syncronously reporting back the test results through the callback
+ or through the return value
+
+ The callback that receives the test results
+ A string containing the XML representation of the filter to use
+ The XML result of the test run
+
+
+
+ Runs the tests in an assembly asyncronously reporting back the test results through the callback
+
+ The callback that receives the test results
+ A string containing the XML representation of the filter to use
+
+
+
+ Stops the test run
+
+ True to force the stop, false for a cooperative stop
+
+
+
+ Counts the number of test cases in the loaded TestSuite
+
+ A string containing the XML representation of the filter to use
+ The number of tests
+
+
+
+ Inserts environment element
+
+ Target node
+ The new node
+
+
+
+ Inserts settings element
+
+ Target node
+ Settings dictionary
+ The new node
+
+
+
+ FrameworkControllerAction is the base class for all actions
+ performed against a FrameworkController.
+
+
+
+
+ LoadTestsAction loads a test into the FrameworkController
+
+
+
+
+ LoadTestsAction loads the tests in an assembly.
+
+ The controller.
+ The callback handler.
+
+
+
+ ExploreTestsAction returns info about the tests in an assembly
+
+
+
+
+ Initializes a new instance of the class.
+
+ The controller for which this action is being performed.
+ Filter used to control which tests are included (NYI)
+ The callback handler.
+
+
+
+ CountTestsAction counts the number of test cases in the loaded TestSuite
+ held by the FrameworkController.
+
+
+
+
+ Construct a CountsTestAction and perform the count of test cases.
+
+ A FrameworkController holding the TestSuite whose cases are to be counted
+ A string containing the XML representation of the filter to use
+ A callback handler used to report results
+
+
+
+ RunTestsAction runs the loaded TestSuite held by the FrameworkController.
+
+
+
+
+ Construct a RunTestsAction and run all tests in the loaded TestSuite.
+
+ A FrameworkController holding the TestSuite to run
+ A string containing the XML representation of the filter to use
+ A callback handler used to report results
+
+
+
+ RunAsyncAction initiates an asynchronous test run, returning immediately
+
+
+
+
+ Construct a RunAsyncAction and run all tests in the loaded TestSuite.
+
+ A FrameworkController holding the TestSuite to run
+ A string containing the XML representation of the filter to use
+ A callback handler used to report results
+
+
+
+ StopRunAction stops an ongoing run.
+
+
+
+
+ Construct a StopRunAction and stop any ongoing run. If no
+ run is in process, no error is raised.
+
+ The FrameworkController for which a run is to be stopped.
+ True the stop should be forced, false for a cooperative stop.
+ >A callback handler used to report results
+ A forced stop will cause threads and processes to be killed as needed.
+
+
+
+ The ITestAssemblyBuilder interface is implemented by a class
+ that is able to build a suite of tests given an assembly or
+ an assembly filename.
+
+
+
+
+ Build a suite of tests from a provided assembly
+
+ The assembly from which tests are to be built
+ A dictionary of options to use in building the suite
+ A TestSuite containing the tests found in the assembly
+
+
+
+ Build a suite of tests given the filename of an assembly
+
+ The filename of the assembly from which tests are to be built
+ A dictionary of options to use in building the suite
+ A TestSuite containing the tests found in the assembly
+
+
+
+ The ITestAssemblyRunner interface is implemented by classes
+ that are able to execute a suite of tests loaded
+ from an assembly.
+
+
+
+
+ Gets the tree of loaded tests, or null if
+ no tests have been loaded.
+
+
+
+
+ Gets the tree of test results, if the test
+ run is completed, otherwise null.
+
+
+
+
+ Indicates whether a test has been loaded
+
+
+
+
+ Indicates whether a test is currently running
+
+
+
+
+ Indicates whether a test run is complete
+
+
+
+
+ Loads the tests found in an Assembly, returning an
+ indication of whether or not the load succeeded.
+
+ File name of the assembly to load
+ Dictionary of options to use in loading the test
+ An ITest representing the loaded tests
+
+
+
+ Loads the tests found in an Assembly, returning an
+ indication of whether or not the load succeeded.
+
+ The assembly to load
+ Dictionary of options to use in loading the test
+ An ITest representing the loaded tests
+
+
+
+ Count Test Cases using a filter
+
+ The filter to apply
+ The number of test cases found
+
+
+
+ Run selected tests and return a test result. The test is run synchronously,
+ and the listener interface is notified as it progresses.
+
+ Interface to receive ITestListener notifications.
+ A test filter used to select tests to be run
+
+
+
+ Run selected tests asynchronously, notifying the listener interface as it progresses.
+
+ Interface to receive EventListener notifications.
+ A test filter used to select tests to be run
+
+
+
+ Wait for the ongoing run to complete.
+
+ Time to wait in milliseconds
+ True if the run completed, otherwise false
+
+
+
+ Signal any test run that is in process to stop. Return without error if no test is running.
+
+ If true, kill any test-running threads
+
+
+
+ Implementation of ITestAssemblyRunner
+
+
+
+
+ Initializes a new instance of the class.
+
+ The builder.
+
+
+
+ Gets the default level of parallel execution (worker threads)
+
+
+
+
+ The tree of tests that was loaded by the builder
+
+
+
+
+ The test result, if a run has completed
+
+
+
+
+ Indicates whether a test is loaded
+
+
+
+
+ Indicates whether a test is running
+
+
+
+
+ Indicates whether a test run is complete
+
+
+
+
+ Our settings, specified when loading the assembly
+
+
+
+
+ The top level WorkItem created for the assembly as a whole
+
+
+
+
+ The TestExecutionContext for the top level WorkItem
+
+
+
+
+ Loads the tests found in an Assembly
+
+ File name of the assembly to load
+ Dictionary of option settings for loading the assembly
+ True if the load was successful
+
+
+
+ Loads the tests found in an Assembly
+
+ The assembly to load
+ Dictionary of option settings for loading the assembly
+ True if the load was successful
+
+
+
+ Count Test Cases using a filter
+
+ The filter to apply
+ The number of test cases found
+
+
+
+ Run selected tests and return a test result. The test is run synchronously,
+ and the listener interface is notified as it progresses.
+
+ Interface to receive EventListener notifications.
+ A test filter used to select tests to be run
+
+
+
+
+ Run selected tests asynchronously, notifying the listener interface as it progresses.
+
+ Interface to receive EventListener notifications.
+ A test filter used to select tests to be run
+
+ RunAsync is a template method, calling various abstract and
+ virtual methods to be overridden by derived classes.
+
+
+
+
+ Wait for the ongoing run to complete.
+
+ Time to wait in milliseconds
+ True if the run completed, otherwise false
+
+
+
+ Initiate the test run.
+
+
+
+
+ Signal any test run that is in process to stop. Return without error if no test is running.
+
+ If true, kill any tests that are currently running
+
+
+
+ Create the initial TestExecutionContext used to run tests
+
+ The ITestListener specified in the RunAsync call
+
+
+
+ Handle the the Completed event for the top level work item
+
+
+
+
+ The Assert class contains a collection of static methods that
+ implement the most common assertions used in NUnit.
+
+
+
+
+ Verifies that the first int is greater than the second
+ int. If it is not, then an
+ is thrown.
+
+ The first value, expected to be greater
+ The second value, expected to be less
+ The message to display in case of failure
+ Array of objects to be used in formatting the message
+
+
+
+ Verifies that the first int is greater than the second
+ int. If it is not, then an
+ is thrown.
+
+ The first value, expected to be greater
+ The second value, expected to be less
+
+
+
+ Verifies that the first value is greater than the second
+ value. If it is not, then an
+ is thrown.
+
+ The first value, expected to be greater
+ The second value, expected to be less
+ The message to display in case of failure
+ Array of objects to be used in formatting the message
+
+
+
+ Verifies that the first value is greater than the second
+ value. If it is not, then an
+ is thrown.
+
+ The first value, expected to be greater
+ The second value, expected to be less
+
+
+
+ Verifies that the first value is greater than the second
+ value. If it is not, then an
+ is thrown.
+
+ The first value, expected to be greater
+ The second value, expected to be less
+ The message to display in case of failure
+ Array of objects to be used in formatting the message
+
+
+
+ Verifies that the first value is greater than the second
+ value. If it is not, then an
+ is thrown.
+
+ The first value, expected to be greater
+ The second value, expected to be less
+
+
+
+ Verifies that the first value is greater than the second
+ value. If it is not, then an
+ is thrown.
+
+ The first value, expected to be greater
+ The second value, expected to be less
+ The message to display in case of failure
+ Array of objects to be used in formatting the message
+
+
+
+ Verifies that the first value is greater than the second
+ value. If it is not, then an
+ is thrown.
+
+ The first value, expected to be greater
+ The second value, expected to be less
+
+
+
+ Verifies that the first value is greater than the second
+ value. If it is not, then an
+ is thrown.
+
+ The first value, expected to be greater
+ The second value, expected to be less
+ The message to display in case of failure
+ Array of objects to be used in formatting the message
+
+
+
+ Verifies that the first value is greater than the second
+ value. If it is not, then an
+ is thrown.
+
+ The first value, expected to be greater
+ The second value, expected to be less
+
+
+
+ Verifies that the first value is greater than the second
+ value. If it is not, then an
+ is thrown.
+
+ The first value, expected to be greater
+ The second value, expected to be less
+ The message to display in case of failure
+ Array of objects to be used in formatting the message
+
+
+
+ Verifies that the first value is greater than the second
+ value. If it is not, then an
+ is thrown.
+
+ The first value, expected to be greater
+ The second value, expected to be less
+
+
+
+ Verifies that the first value is greater than the second
+ value. If it is not, then an
+ is thrown.
+
+ The first value, expected to be greater
+ The second value, expected to be less
+ The message to display in case of failure
+ Array of objects to be used in formatting the message
+
+
+
+ Verifies that the first value is greater than the second
+ value. If it is not, then an
+ is thrown.
+
+ The first value, expected to be greater
+ The second value, expected to be less
+
+
+
+ Verifies that the first value is greater than the second
+ value. If it is not, then an
+ is thrown.
+
+ The first value, expected to be greater
+ The second value, expected to be less
+ The message to display in case of failure
+ Array of objects to be used in formatting the message
+
+
+
+ Verifies that the first value is greater than the second
+ value. If it is not, then an
+ is thrown.
+
+ The first value, expected to be greater
+ The second value, expected to be less
+
+
+
+ Verifies that the first value is less than the second
+ value. If it is not, then an
+ is thrown.
+
+ The first value, expected to be less
+ The second value, expected to be greater
+ The message to display in case of failure
+ Array of objects to be used in formatting the message
+
+
+
+ Verifies that the first value is less than the second
+ value. If it is not, then an
+ is thrown.
+
+ The first value, expected to be less
+ The second value, expected to be greater
+
+
+
+ Verifies that the first value is less than the second
+ value. If it is not, then an
+ is thrown.
+
+ The first value, expected to be less
+ The second value, expected to be greater
+ The message to display in case of failure
+ Array of objects to be used in formatting the message
+
+
+
+ Verifies that the first value is less than the second
+ value. If it is not, then an
+ is thrown.
+
+ The first value, expected to be less
+ The second value, expected to be greater
+
+
+
+ Verifies that the first value is less than the second
+ value. If it is not, then an
+ is thrown.
+
+ The first value, expected to be less
+ The second value, expected to be greater
+ The message to display in case of failure
+ Array of objects to be used in formatting the message
+
+
+
+ Verifies that the first value is less than the second
+ value. If it is not, then an
+ is thrown.
+
+ The first value, expected to be less
+ The second value, expected to be greater
+
+
+
+ Verifies that the first value is less than the second
+ value. If it is not, then an
+ is thrown.
+
+ The first value, expected to be less
+ The second value, expected to be greater
+ The message to display in case of failure
+ Array of objects to be used in formatting the message
+
+
+
+ Verifies that the first value is less than the second
+ value. If it is not, then an
+ is thrown.
+
+ The first value, expected to be less
+ The second value, expected to be greater
+
+
+
+ Verifies that the first value is less than the second
+ value. If it is not, then an
+ is thrown.
+
+ The first value, expected to be less
+ The second value, expected to be greater
+ The message to display in case of failure
+ Array of objects to be used in formatting the message
+
+
+
+ Verifies that the first value is less than the second
+ value. If it is not, then an
+ is thrown.
+
+ The first value, expected to be less
+ The second value, expected to be greater
+
+
+
+ Verifies that the first value is less than the second
+ value. If it is not, then an
+ is thrown.
+
+ The first value, expected to be less
+ The second value, expected to be greater
+ The message to display in case of failure
+ Array of objects to be used in formatting the message
+
+
+
+ Verifies that the first value is less than the second
+ value. If it is not, then an
+ is thrown.
+
+ The first value, expected to be less
+ The second value, expected to be greater
+
+
+
+ Verifies that the first value is less than the second
+ value. If it is not, then an
+ is thrown.
+
+ The first value, expected to be less
+ The second value, expected to be greater
+ The message to display in case of failure
+ Array of objects to be used in formatting the message
+
+
+
+ Verifies that the first value is less than the second
+ value. If it is not, then an
+ is thrown.
+
+ The first value, expected to be less
+ The second value, expected to be greater
+
+
+
+ Verifies that the first value is less than the second
+ value. If it is not, then an
+ is thrown.
+
+ The first value, expected to be less
+ The second value, expected to be greater
+ The message to display in case of failure
+ Array of objects to be used in formatting the message
+
+
+
+ Verifies that the first value is less than the second
+ value. If it is not, then an
+ is thrown.
+
+ The first value, expected to be less
+ The second value, expected to be greater
+
+
+
+ Verifies that the first value is greater than or equal to the second
+ value. If it is not, then an
+ is thrown.
+
+ The first value, expected to be greater
+ The second value, expected to be less
+ The message to display in case of failure
+ Array of objects to be used in formatting the message
+
+
+
+ Verifies that the first value is greater than or equal to the second
+ value. If it is not, then an
+ is thrown.
+
+ The first value, expected to be greater
+ The second value, expected to be less
+
+
+
+ Verifies that the first value is greater than or equal to the second
+ value. If it is not, then an
+ is thrown.
+
+ The first value, expected to be greater
+ The second value, expected to be less
+ The message to display in case of failure
+ Array of objects to be used in formatting the message
+
+
+
+ Verifies that the first value is greater than or equal to the second
+ value. If it is not, then an
+ is thrown.
+
+ The first value, expected to be greater
+ The second value, expected to be less
+
+
+
+ Verifies that the first value is greater than or equal to the second
+ value. If it is not, then an
+ is thrown.
+
+ The first value, expected to be greater
+ The second value, expected to be less
+ The message to display in case of failure
+ Array of objects to be used in formatting the message
+
+
+
+ Verifies that the first value is greater than or equal to the second
+ value. If it is not, then an
+ is thrown.
+
+ The first value, expected to be greater
+ The second value, expected to be less
+
+
+
+ Verifies that the first value is greater than or equal to the second
+ value. If it is not, then an
+ is thrown.
+
+ The first value, expected to be greater
+ The second value, expected to be less
+ The message to display in case of failure
+ Array of objects to be used in formatting the message
+
+
+
+ Verifies that the first value is greater than or equal to the second
+ value. If it is not, then an
+ is thrown.
+
+ The first value, expected to be greater
+ The second value, expected to be less
+
+
+
+ Verifies that the first value is greater than or equal to the second
+ value. If it is not, then an
+ is thrown.
+
+ The first value, expected to be greater
+ The second value, expected to be less
+ The message to display in case of failure
+ Array of objects to be used in formatting the message
+
+
+
+ Verifies that the first value is greater than or equal to the second
+ value. If it is not, then an
+ is thrown.
+
+ The first value, expected to be greater
+ The second value, expected to be less
+
+
+
+ Verifies that the first value is greater than or equal to the second
+ value. If it is not, then an
+ is thrown.
+
+ The first value, expected to be greater
+ The second value, expected to be less
+ The message to display in case of failure
+ Array of objects to be used in formatting the message
+
+
+
+ Verifies that the first value is greater than or equal to the second
+ value. If it is not, then an
+ is thrown.
+
+ The first value, expected to be greater
+ The second value, expected to be less
+
+
+
+ Verifies that the first value is greater than or equal to the second
+ value. If it is not, then an
+ is thrown.
+
+ The first value, expected to be greater
+ The second value, expected to be less
+ The message to display in case of failure
+ Array of objects to be used in formatting the message
+
+
+
+ Verifies that the first value is greater than or equal to the second
+ value. If it is not, then an
+ is thrown.
+
+ The first value, expected to be greater
+ The second value, expected to be less
+
+
+
+ Verifies that the first value is greater than or equal to the second
+ value. If it is not, then an
+ is thrown.
+
+ The first value, expected to be greater
+ The second value, expected to be less
+ The message to display in case of failure
+ Array of objects to be used in formatting the message
+
+
+
+ Verifies that the first value is greater than or equal to the second
+ value. If it is not, then an
+ is thrown.
+
+ The first value, expected to be greater
+ The second value, expected to be less
+
+
+
+ Verifies that the first value is less than or equal to the second
+ value. If it is not, then an
+ is thrown.
+
+ The first value, expected to be less
+ The second value, expected to be greater
+ The message to display in case of failure
+ Array of objects to be used in formatting the message
+
+
+
+ Verifies that the first value is less than or equal to the second
+ value. If it is not, then an
+ is thrown.
+
+ The first value, expected to be less
+ The second value, expected to be greater
+
+
+
+ Verifies that the first value is less than or equal to the second
+ value. If it is not, then an
+ is thrown.
+
+ The first value, expected to be less
+ The second value, expected to be greater
+ The message to display in case of failure
+ Array of objects to be used in formatting the message
+
+
+
+ Verifies that the first value is less than or equal to the second
+ value. If it is not, then an
+ is thrown.
+
+ The first value, expected to be less
+ The second value, expected to be greater
+
+
+
+ Verifies that the first value is less than or equal to the second
+ value. If it is not, then an
+ is thrown.
+
+ The first value, expected to be less
+ The second value, expected to be greater
+ The message to display in case of failure
+ Array of objects to be used in formatting the message
+
+
+
+ Verifies that the first value is less than or equal to the second
+ value. If it is not, then an
+ is thrown.
+
+ The first value, expected to be less
+ The second value, expected to be greater
+
+
+
+ Verifies that the first value is less than or equal to the second
+ value. If it is not, then an
+ is thrown.
+
+ The first value, expected to be less
+ The second value, expected to be greater
+ The message to display in case of failure
+ Array of objects to be used in formatting the message
+
+
+
+ Verifies that the first value is less than or equal to the second
+ value. If it is not, then an
+ is thrown.
+
+ The first value, expected to be less
+ The second value, expected to be greater
+
+
+
+ Verifies that the first value is less than or equal to the second
+ value. If it is not, then an
+ is thrown.
+
+ The first value, expected to be less
+ The second value, expected to be greater
+ The message to display in case of failure
+ Array of objects to be used in formatting the message
+
+
+
+ Verifies that the first value is less than or equal to the second
+ value. If it is not, then an
+ is thrown.
+
+ The first value, expected to be less
+ The second value, expected to be greater
+
+
+
+ Verifies that the first value is less than or equal to the second
+ value. If it is not, then an
+ is thrown.
+
+ The first value, expected to be less
+ The second value, expected to be greater
+ The message to display in case of failure
+ Array of objects to be used in formatting the message
+
+
+
+ Verifies that the first value is less than or equal to the second
+ value. If it is not, then an
+ is thrown.
+
+ The first value, expected to be less
+ The second value, expected to be greater
+
+
+
+ Verifies that the first value is less than or equal to the second
+ value. If it is not, then an
+ is thrown.
+
+ The first value, expected to be less
+ The second value, expected to be greater
+ The message to display in case of failure
+ Array of objects to be used in formatting the message
+
+
+
+ Verifies that the first value is less than or equal to the second
+ value. If it is not, then an
+ is thrown.
+
+ The first value, expected to be less
+ The second value, expected to be greater
+
+
+
+ Verifies that the first value is less than or equal to the second
+ value. If it is not, then an
+ is thrown.
+
+ The first value, expected to be less
+ The second value, expected to be greater
+ The message to display in case of failure
+ Array of objects to be used in formatting the message
+
+
+
+ Verifies that the first value is less than or equal to the second
+ value. If it is not, then an
+ is thrown.
+
+ The first value, expected to be less
+ The second value, expected to be greater
+
+
+
+ Asserts that a condition is true. If the condition is false the method throws
+ an .
+
+ The evaluated condition
+ The message to display in case of failure
+ Array of objects to be used in formatting the message
+
+
+
+ Asserts that a condition is true. If the condition is false the method throws
+ an .
+
+ The evaluated condition
+ The message to display in case of failure
+ Array of objects to be used in formatting the message
+
+
+
+ Asserts that a condition is true. If the condition is false the method throws
+ an .
+
+ The evaluated condition
+
+
+
+ Asserts that a condition is true. If the condition is false the method throws
+ an .
+
+ The evaluated condition
+
+
+
+ Asserts that a condition is true. If the condition is false the method throws
+ an .
+
+ The evaluated condition
+ The message to display in case of failure
+ Array of objects to be used in formatting the message
+
+
+
+ Asserts that a condition is true. If the condition is false the method throws
+ an .
+
+ The evaluated condition
+ The message to display in case of failure
+ Array of objects to be used in formatting the message
+
+
+
+ Asserts that a condition is true. If the condition is false the method throws
+ an .
+
+ The evaluated condition
+
+
+
+ Asserts that a condition is true. If the condition is false the method throws
+ an .
+
+ The evaluated condition
+
+
+
+ Asserts that a condition is false. If the condition is true the method throws
+ an .
+
+ The evaluated condition
+ The message to display in case of failure
+ Array of objects to be used in formatting the message
+
+
+
+ Asserts that a condition is false. If the condition is true the method throws
+ an .
+
+ The evaluated condition
+ The message to display in case of failure
+ Array of objects to be used in formatting the message
+
+
+
+ Asserts that a condition is false. If the condition is true the method throws
+ an .
+
+ The evaluated condition
+
+
+
+ Asserts that a condition is false. If the condition is true the method throws
+ an .
+
+ The evaluated condition
+
+
+
+ Asserts that a condition is false. If the condition is true the method throws
+ an .
+
+ The evaluated condition
+ The message to display in case of failure
+ Array of objects to be used in formatting the message
+
+
+
+ Asserts that a condition is false. If the condition is true the method throws
+ an .
+
+ The evaluated condition
+ The message to display in case of failure
+ Array of objects to be used in formatting the message
+
+
+
+ Asserts that a condition is false. If the condition is true the method throws
+ an .
+
+ The evaluated condition
+
+
+
+ Asserts that a condition is false. If the condition is true the method throws
+ an .
+
+ The evaluated condition
+
+
+
+ Verifies that the object that is passed in is not equal to null
+ If the object is null then an
+ is thrown.
+
+ The object that is to be tested
+ The message to display in case of failure
+ Array of objects to be used in formatting the message
+
+
+
+ Verifies that the object that is passed in is not equal to null
+ If the object is null then an
+ is thrown.
+
+ The object that is to be tested
+
+
+
+ Verifies that the object that is passed in is not equal to null
+ If the object is null then an
+ is thrown.
+
+ The object that is to be tested
+ The message to display in case of failure
+ Array of objects to be used in formatting the message
+
+
+
+ Verifies that the object that is passed in is not equal to null
+ If the object is null then an
+ is thrown.
+
+ The object that is to be tested
+
+
+
+ Verifies that the object that is passed in is equal to null
+ If the object is not null then an
+ is thrown.
+
+ The object that is to be tested
+ The message to display in case of failure
+ Array of objects to be used in formatting the message
+
+
+
+ Verifies that the object that is passed in is equal to null
+ If the object is not null then an
+ is thrown.
+
+ The object that is to be tested
+
+
+
+ Verifies that the object that is passed in is equal to null
+ If the object is not null then an
+ is thrown.
+
+ The object that is to be tested
+ The message to display in case of failure
+ Array of objects to be used in formatting the message
+
+
+
+ Verifies that the object that is passed in is equal to null
+ If the object is not null then an
+ is thrown.
+
+ The object that is to be tested
+
+
+
+ Verifies that the double that is passed in is an NaN value.
+ If the object is not NaN then an
+ is thrown.
+
+ The value that is to be tested
+ The message to display in case of failure
+ Array of objects to be used in formatting the message
+
+
+
+ Verifies that the double that is passed in is an NaN value.
+ If the object is not NaN then an
+ is thrown.
+
+ The value that is to be tested
+
+
+
+ Verifies that the double that is passed in is an NaN value.
+ If the object is not NaN then an
+ is thrown.
+
+ The value that is to be tested
+ The message to display in case of failure
+ Array of objects to be used in formatting the message
+
+
+
+ Verifies that the double that is passed in is an NaN value.
+ If the object is not NaN then an
+ is thrown.
+
+ The value that is to be tested
+
+
+
+ Assert that a string is empty - that is equal to string.Empty
+
+ The string to be tested
+ The message to display in case of failure
+ Array of objects to be used in formatting the message
+
+
+
+ Assert that a string is empty - that is equal to string.Empty
+
+ The string to be tested
+
+
+
+ Assert that an array, list or other collection is empty
+
+ An array, list or other collection implementing ICollection
+ The message to display in case of failure
+ Array of objects to be used in formatting the message
+
+
+
+ Assert that an array, list or other collection is empty
+
+ An array, list or other collection implementing ICollection
+
+
+
+ Assert that a string is not empty - that is not equal to string.Empty
+
+ The string to be tested
+ The message to display in case of failure
+ Array of objects to be used in formatting the message
+
+
+
+ Assert that a string is not empty - that is not equal to string.Empty
+
+ The string to be tested
+
+
+
+ Assert that an array, list or other collection is not empty
+
+ An array, list or other collection implementing ICollection
+ The message to display in case of failure
+ Array of objects to be used in formatting the message
+
+
+
+ Assert that an array, list or other collection is not empty
+
+ An array, list or other collection implementing ICollection
+
+
+
+ We don't actually want any instances of this object, but some people
+ like to inherit from it to add other static methods. Hence, the
+ protected constructor disallows any instances of this object.
+
+
+
+
+ The Equals method throws an InvalidOperationException. This is done
+ to make sure there is no mistake by calling this function.
+
+
+
+
+
+
+ override the default ReferenceEquals to throw an InvalidOperationException. This
+ implementation makes sure there is no mistake in calling this function
+ as part of Assert.
+
+
+
+
+
+
+ Throws a with the message and arguments
+ that are passed in. This allows a test to be cut short, with a result
+ of success returned to NUnit.
+
+ The message to initialize the with.
+ Arguments to be used in formatting the message
+
+
+
+ Throws a with the message and arguments
+ that are passed in. This allows a test to be cut short, with a result
+ of success returned to NUnit.
+
+ The message to initialize the with.
+
+
+
+ Throws a with the message and arguments
+ that are passed in. This allows a test to be cut short, with a result
+ of success returned to NUnit.
+
+
+
+
+ Throws an with the message and arguments
+ that are passed in. This is used by the other Assert functions.
+
+ The message to initialize the with.
+ Arguments to be used in formatting the message
+
+
+
+ Throws an with the message that is
+ passed in. This is used by the other Assert functions.
+
+ The message to initialize the with.
+
+
+
+ Throws an .
+ This is used by the other Assert functions.
+
+
+
+
+ Throws an with the message and arguments
+ that are passed in. This causes the test to be reported as ignored.
+
+ The message to initialize the with.
+ Arguments to be used in formatting the message
+
+
+
+ Throws an with the message that is
+ passed in. This causes the test to be reported as ignored.
+
+ The message to initialize the with.
+
+
+
+ Throws an .
+ This causes the test to be reported as ignored.
+
+
+
+
+ Throws an with the message and arguments
+ that are passed in. This causes the test to be reported as inconclusive.
+
+ The message to initialize the with.
+ Arguments to be used in formatting the message
+
+
+
+ Throws an with the message that is
+ passed in. This causes the test to be reported as inconclusive.
+
+ The message to initialize the with.
+
+
+
+ Throws an .
+ This causes the test to be reported as Inconclusive.
+
+
+
+
+ Asserts that an object is contained in a list.
+
+ The expected object
+ The list to be examined
+ The message to display in case of failure
+ Array of objects to be used in formatting the message
+
+
+
+ Asserts that an object is contained in a list.
+
+ The expected object
+ The list to be examined
+
+
+
+ Verifies that two doubles are equal considering a delta. If the
+ expected value is infinity then the delta value is ignored. If
+ they are not equal then an is
+ thrown.
+
+ The expected value
+ The actual value
+ The maximum acceptable difference between the
+ the expected and the actual
+ The message to display in case of failure
+ Array of objects to be used in formatting the message
+
+
+
+ Verifies that two doubles are equal considering a delta. If the
+ expected value is infinity then the delta value is ignored. If
+ they are not equal then an is
+ thrown.
+
+ The expected value
+ The actual value
+ The maximum acceptable difference between the
+ the expected and the actual
+
+
+
+ Verifies that two doubles are equal considering a delta. If the
+ expected value is infinity then the delta value is ignored. If
+ they are not equal then an is
+ thrown.
+
+ The expected value
+ The actual value
+ The maximum acceptable difference between the
+ the expected and the actual
+ The message to display in case of failure
+ Array of objects to be used in formatting the message
+
+
+
+ Verifies that two doubles are equal considering a delta. If the
+ expected value is infinity then the delta value is ignored. If
+ they are not equal then an is
+ thrown.
+
+ The expected value
+ The actual value
+ The maximum acceptable difference between the
+ the expected and the actual
+
+
+
+ Verifies that two objects are equal. Two objects are considered
+ equal if both are null, or if both have the same value. NUnit
+ has special semantics for some object types.
+ If they are not equal an is thrown.
+
+ The value that is expected
+ The actual value
+ The message to display in case of failure
+ Array of objects to be used in formatting the message
+
+
+
+ Verifies that two objects are equal. Two objects are considered
+ equal if both are null, or if both have the same value. NUnit
+ has special semantics for some object types.
+ If they are not equal an is thrown.
+
+ The value that is expected
+ The actual value
+
+
+
+ Verifies that two objects are not equal. Two objects are considered
+ equal if both are null, or if both have the same value. NUnit
+ has special semantics for some object types.
+ If they are equal an is thrown.
+
+ The value that is expected
+ The actual value
+ The message to display in case of failure
+ Array of objects to be used in formatting the message
+
+
+
+ Verifies that two objects are not equal. Two objects are considered
+ equal if both are null, or if both have the same value. NUnit
+ has special semantics for some object types.
+ If they are equal an is thrown.
+
+ The value that is expected
+ The actual value
+
+
+
+ Asserts that two objects refer to the same object. If they
+ are not the same an is thrown.
+
+ The expected object
+ The actual object
+ The message to display in case of failure
+ Array of objects to be used in formatting the message
+
+
+
+ Asserts that two objects refer to the same object. If they
+ are not the same an is thrown.
+
+ The expected object
+ The actual object
+
+
+
+ Asserts that two objects do not refer to the same object. If they
+ are the same an is thrown.
+
+ The expected object
+ The actual object
+ The message to display in case of failure
+ Array of objects to be used in formatting the message
+
+
+
+ Asserts that two objects do not refer to the same object. If they
+ are the same an is thrown.
+
+ The expected object
+ The actual object
+
+
+
+ Helper for Assert.AreEqual(double expected, double actual, ...)
+ allowing code generation to work consistently.
+
+ The expected value
+ The actual value
+ The maximum acceptable difference between the
+ the expected and the actual
+ The message to display in case of failure
+ Array of objects to be used in formatting the message
+
+
+
+ Verifies that an async delegate throws a particular exception when called.
+
+ A constraint to be satisfied by the exception
+ A TestSnippet delegate
+ The message that will be displayed on failure
+ Arguments to be used in formatting the message
+
+
+
+ Verifies that an async delegate throws a particular exception when called.
+
+ A constraint to be satisfied by the exception
+ A TestSnippet delegate
+
+
+
+ Verifies that an async delegate throws a particular exception when called.
+
+ The exception Type expected
+ A TestDelegate
+ The message that will be displayed on failure
+ Arguments to be used in formatting the message
+
+
+
+ Verifies that an async delegate throws a particular exception when called.
+
+ The exception Type expected
+ A TestDelegate
+
+
+
+ Verifies that an async delegate throws a particular exception when called.
+
+ Type of the expected exception
+ A TestDelegate
+ The message that will be displayed on failure
+ Arguments to be used in formatting the message
+
+
+
+ Verifies that an async delegate throws a particular exception when called.
+
+ Type of the expected exception
+ A TestDelegate
+
+
+
+ Verifies that an async delegate throws an exception when called
+ and returns it.
+
+ A TestDelegate
+ The message that will be displayed on failure
+ Arguments to be used in formatting the message
+
+
+
+ Verifies that an async delegate throws an exception when called
+ and returns it.
+
+ A TestDelegate
+
+
+
+ Verifies that an async delegate throws an exception of a certain Type
+ or one derived from it when called and returns it.
+
+ The expected Exception Type
+ A TestDelegate
+ The message that will be displayed on failure
+ Arguments to be used in formatting the message
+
+
+
+ Verifies that an async delegate throws an exception of a certain Type
+ or one derived from it when called and returns it.
+
+ The expected Exception Type
+ A TestDelegate
+
+
+
+ Verifies that an async delegate throws an exception of a certain Type
+ or one derived from it when called and returns it.
+
+ A TestDelegate
+ The message that will be displayed on failure
+ Arguments to be used in formatting the message
+
+
+
+ Verifies that an async delegate throws an exception of a certain Type
+ or one derived from it when called and returns it.
+
+ A TestDelegate
+
+
+
+ Verifies that an async delegate does not throw an exception
+
+ A TestDelegate
+ The message that will be displayed on failure
+ Arguments to be used in formatting the message
+
+
+
+ Verifies that an async delegate does not throw an exception.
+
+ A TestDelegate
+
+
+
+ Verifies that a delegate throws a particular exception when called.
+
+ A constraint to be satisfied by the exception
+ A TestSnippet delegate
+ The message that will be displayed on failure
+ Arguments to be used in formatting the message
+
+
+
+ Verifies that a delegate throws a particular exception when called.
+
+ A constraint to be satisfied by the exception
+ A TestSnippet delegate
+
+
+
+ Verifies that a delegate throws a particular exception when called.
+
+ The exception Type expected
+ A TestDelegate
+ The message that will be displayed on failure
+ Arguments to be used in formatting the message
+
+
+
+ Verifies that a delegate throws a particular exception when called.
+
+ The exception Type expected
+ A TestDelegate
+
+
+
+ Verifies that a delegate throws a particular exception when called.
+
+ Type of the expected exception
+ A TestDelegate
+ The message that will be displayed on failure
+ Arguments to be used in formatting the message
+
+
+
+ Verifies that a delegate throws a particular exception when called.
+
+ Type of the expected exception
+ A TestDelegate
+
+
+
+ Verifies that a delegate throws an exception when called
+ and returns it.
+
+ A TestDelegate
+ The message that will be displayed on failure
+ Arguments to be used in formatting the message
+
+
+
+ Verifies that a delegate throws an exception when called
+ and returns it.
+
+ A TestDelegate
+
+
+
+ Verifies that a delegate throws an exception of a certain Type
+ or one derived from it when called and returns it.
+
+ The expected Exception Type
+ A TestDelegate
+ The message that will be displayed on failure
+ Arguments to be used in formatting the message
+
+
+
+ Verifies that a delegate throws an exception of a certain Type
+ or one derived from it when called and returns it.
+
+ The expected Exception Type
+ A TestDelegate
+
+
+
+ Verifies that a delegate throws an exception of a certain Type
+ or one derived from it when called and returns it.
+
+ A TestDelegate
+ The message that will be displayed on failure
+ Arguments to be used in formatting the message
+
+
+
+ Verifies that a delegate throws an exception of a certain Type
+ or one derived from it when called and returns it.
+
+ A TestDelegate
+
+
+
+ Verifies that a delegate does not throw an exception
+
+ A TestDelegate
+ The message that will be displayed on failure
+ Arguments to be used in formatting the message
+
+
+
+ Verifies that a delegate does not throw an exception.
+
+ A TestDelegate
+
+
+
+ Asserts that a condition is true. If the condition is false the method throws
+ an .
+
+ The evaluated condition
+ The message to display if the condition is false
+ Arguments to be used in formatting the message
+
+
+
+ Asserts that a condition is true. If the condition is false the method throws
+ an .
+
+ The evaluated condition
+
+
+
+ Asserts that a condition is true. If the condition is false the method throws
+ an .
+
+ A lambda that returns a Boolean
+ The message to display if the condition is false
+ Arguments to be used in formatting the message
+
+
+
+ Asserts that a condition is true. If the condition is false the method throws
+ an .
+
+ A lambda that returns a Boolean
+
+
+
+ Apply a constraint to an actual value, succeeding if the constraint
+ is satisfied and throwing an assertion exception on failure.
+
+ A Constraint expression to be applied
+ An ActualValueDelegate returning the value to be tested
+
+
+
+ Apply a constraint to an actual value, succeeding if the constraint
+ is satisfied and throwing an assertion exception on failure.
+
+ An ActualValueDelegate returning the value to be tested
+ A Constraint expression to be applied
+ The message that will be displayed on failure
+ Arguments to be used in formatting the message
+
+
+
+ Asserts that the code represented by a delegate throws an exception
+ that satisfies the constraint provided.
+
+ A TestDelegate to be executed
+ A ThrowsConstraint used in the test
+
+
+
+ Asserts that the code represented by a delegate throws an exception
+ that satisfies the constraint provided.
+
+ A TestDelegate to be executed
+ A ThrowsConstraint used in the test
+ The message that will be displayed on failure
+ Arguments to be used in formatting the message
+
+
+
+ Apply a constraint to an actual value, succeeding if the constraint
+ is satisfied and throwing an assertion exception on failure.
+
+ A Constraint to be applied
+ The actual value to test
+
+
+
+ Apply a constraint to an actual value, succeeding if the constraint
+ is satisfied and throwing an assertion exception on failure.
+
+ A Constraint expression to be applied
+ The actual value to test
+ The message that will be displayed on failure
+ Arguments to be used in formatting the message
+
+
+
+ Apply a constraint to an actual value, succeeding if the constraint
+ is satisfied and throwing an assertion exception on failure.
+ Used as a synonym for That in rare cases where a private setter
+ causes a Visual Basic compilation error.
+
+ A Constraint to be applied
+ The actual value to test
+
+
+
+ Apply a constraint to an actual value, succeeding if the constraint
+ is satisfied and throwing an assertion exception on failure.
+ Used as a synonym for That in rare cases where a private setter
+ causes a Visual Basic compilation error.
+
+
+ This method is provided for use by VB developers needing to test
+ the value of properties with private setters.
+
+ A Constraint expression to be applied
+ The actual value to test
+ The message that will be displayed on failure
+ Arguments to be used in formatting the message
+
+
+
+ Asserts that an object may be assigned a value of a given Type.
+
+ The expected Type.
+ The object under examination
+ The message to display in case of failure
+ Array of objects to be used in formatting the message
+
+
+
+ Asserts that an object may be assigned a value of a given Type.
+
+ The expected Type.
+ The object under examination
+
+
+
+ Asserts that an object may be assigned a value of a given Type.
+
+ The expected Type.
+ The object under examination
+ The message to display in case of failure
+ Array of objects to be used in formatting the message
+
+
+
+ Asserts that an object may be assigned a value of a given Type.
+
+ The expected Type.
+ The object under examination
+
+
+
+ Asserts that an object may not be assigned a value of a given Type.
+
+ The expected Type.
+ The object under examination
+ The message to display in case of failure
+ Array of objects to be used in formatting the message
+
+
+
+ Asserts that an object may not be assigned a value of a given Type.
+
+ The expected Type.
+ The object under examination
+
+
+
+ Asserts that an object may not be assigned a value of a given Type.
+
+ The expected Type.
+ The object under examination
+ The message to display in case of failure
+ Array of objects to be used in formatting the message
+
+
+
+ Asserts that an object may not be assigned a value of a given Type.
+
+ The expected Type.
+ The object under examination
+
+
+
+ Asserts that an object is an instance of a given type.
+
+ The expected Type
+ The object being examined
+ The message to display in case of failure
+ Array of objects to be used in formatting the message
+
+
+
+ Asserts that an object is an instance of a given type.
+
+ The expected Type
+ The object being examined
+
+
+
+ Asserts that an object is an instance of a given type.
+
+ The expected Type
+ The object being examined
+ The message to display in case of failure
+ Array of objects to be used in formatting the message
+
+
+
+ Asserts that an object is an instance of a given type.
+
+ The expected Type
+ The object being examined
+
+
+
+ Asserts that an object is not an instance of a given type.
+
+ The expected Type
+ The object being examined
+ The message to display in case of failure
+ Array of objects to be used in formatting the message
+
+
+
+ Asserts that an object is not an instance of a given type.
+
+ The expected Type
+ The object being examined
+
+
+
+ Asserts that an object is not an instance of a given type.
+
+ The expected Type
+ The object being examined
+ The message to display in case of failure
+ Array of objects to be used in formatting the message
+
+
+
+ Asserts that an object is not an instance of a given type.
+
+ The expected Type
+ The object being examined
+
+
+
+ Delegate used by tests that execute code and
+ capture any thrown exception.
+
+
+
+
+ Delegate used by tests that execute async code and
+ capture any thrown exception.
+
+
+
+
+ AssertionHelper is an optional base class for user tests,
+ allowing the use of shorter ids for constraints and
+ asserts and avoiding conflict with the definition of
+ , from which it inherits much of its
+ behavior, in certain mock object frameworks.
+
+
+
+
+ Asserts that a condition is true. If the condition is false the method throws
+ an . Works Identically to
+ .
+
+ The evaluated condition
+ The message to display if the condition is false
+ Arguments to be used in formatting the message
+
+
+
+ Asserts that a condition is true. If the condition is false the method throws
+ an . Works Identically to .
+
+ The evaluated condition
+
+
+
+ Apply a constraint to an actual value, succeeding if the constraint
+ is satisfied and throwing an assertion exception on failure.
+
+ A Constraint expression to be applied
+ An ActualValueDelegate returning the value to be tested
+
+
+
+ Apply a constraint to an actual value, succeeding if the constraint
+ is satisfied and throwing an assertion exception on failure.
+
+ An ActualValueDelegate returning the value to be tested
+ A Constraint expression to be applied
+ The message that will be displayed on failure
+ Arguments to be used in formatting the message
+
+
+
+ Asserts that the code represented by a delegate throws an exception
+ that satisfies the constraint provided.
+
+ A TestDelegate to be executed
+ A ThrowsConstraint used in the test
+
+
+
+ Apply a constraint to an actual value, succeeding if the constraint
+ is satisfied and throwing an assertion exception on failure.
+
+ A Constraint to be applied
+ The actual value to test
+
+
+
+ Apply a constraint to an actual value, succeeding if the constraint
+ is satisfied and throwing an assertion exception on failure.
+
+ A Constraint expression to be applied
+ The actual value to test
+ The message that will be displayed on failure
+ Arguments to be used in formatting the message
+
+
+
+ Returns a ListMapper based on a collection.
+
+ The original collection
+
+
+
+
+ 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.
+
+
+
+
+ The Equals method throws an InvalidOperationException. This is done
+ to make sure there is no mistake by calling this function.
+
+
+
+
+
+
+ override the default ReferenceEquals to throw an InvalidOperationException. This
+ implementation makes sure there is no mistake in calling this function
+ as part of Assert.
+
+
+
+
+
+
+ Apply a constraint to an actual value, succeeding if the constraint
+ is satisfied and throwing an InconclusiveException on failure.
+
+ A Constraint expression to be applied
+ An ActualValueDelegate returning the value to be tested
+
+
+
+ Apply a constraint to an actual value, succeeding if the constraint
+ is satisfied and throwing an InconclusiveException on failure.
+
+ An ActualValueDelegate returning the value to be tested
+ A Constraint expression to be applied
+ The message that will be displayed on failure
+ Arguments to be used in formatting the message
+
+
+
+ Asserts that a condition is true. If the condition is false the method throws
+ an .
+
+ The evaluated condition
+ The message to display if the condition is false
+ Arguments to be used in formatting the message
+
+
+
+ Asserts that a condition is true. If the condition is false the
+ method throws an .
+
+ The evaluated condition
+
+
+
+ Asserts that a condition is true. If the condition is false the method throws
+ an .
+
+ A lambda that returns a Boolean
+ The message to display if the condition is false
+ Arguments to be used in formatting the message
+
+
+
+ Asserts that a condition is true. If the condition is false the method throws
+ an .
+
+ A lambda that returns a Boolean
+
+
+
+ Asserts that the code represented by a delegate throws an exception
+ that satisfies the constraint provided.
+
+ A TestDelegate to be executed
+ A ThrowsConstraint used in the test
+
+
+
+ Apply a constraint to an actual value, succeeding if the constraint
+ is satisfied and throwing an InconclusiveException on failure.
+
+ A Constraint to be applied
+ The actual value to test
+
+
+
+ Apply a constraint to an actual value, succeeding if the constraint
+ is satisfied and throwing an InconclusiveException on failure.
+
+ A Constraint expression to be applied
+ The actual value to test
+ The message that will be displayed on failure
+ Arguments to be used in formatting the message
+
+
+
+ Marks a test that must run in a particular threading apartment state, causing it
+ to run in a separate thread if necessary.
+
+
+
+
+ Construct an ApartmentAttribute
+
+ The apartment state that this test must be run under. You must pass in a valid apartment state.
+
+
+
+ Provides the Author of a test or test fixture.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The name of the author.
+
+
+
+ Initializes a new instance of the class.
+
+ The name of the author.
+ The email address of the author.
+
+
+
+ Attribute used to apply a category to a test
+
+
+
+
+ The name of the category
+
+
+
+
+ Construct attribute for a given category based on
+ a name. The name may not contain the characters ',',
+ '+', '-' or '!'. However, this is not checked in the
+ constructor since it would cause an error to arise at
+ as the test was loaded without giving a clear indication
+ of where the problem is located. The error is handled
+ in NUnitFramework.cs by marking the test as not
+ runnable.
+
+ The name of the category
+
+
+
+ Protected constructor uses the Type name as the name
+ of the category.
+
+
+
+
+ The name of the category
+
+
+
+
+ Modifies a test by adding a category to it.
+
+ The test to modify
+
+
+
+ Marks a test to use a combinatorial join of any argument
+ data provided. Since this is the default, the attribute is
+ optional.
+
+
+
+
+ Default constructor
+
+
+
+
+ Marks a test to use a particular CombiningStrategy to join
+ any parameter data provided. Since this is the default, the
+ attribute is optional.
+
+
+
+
+ Construct a CombiningStrategyAttribute incorporating an
+ ICombiningStrategy and an IParamterDataProvider.
+
+ Combining strategy to be used in combining data
+ An IParameterDataProvider to supply data
+
+
+
+ Construct a CombiningStrategyAttribute incorporating an object
+ that implements ICombiningStrategy and an IParameterDataProvider.
+ This constructor is provided for CLS compliance.
+
+ Combining strategy to be used in combining data
+ An IParameterDataProvider to supply data
+
+
+
+ Construct one or more TestMethods from a given MethodInfo,
+ using available parameter data.
+
+ The MethodInfo for which tests are to be constructed.
+ The suite to which the tests will be added.
+ One or more TestMethods
+
+
+
+ Modify the test by adding the name of the combining strategy
+ to the properties.
+
+ The test to modify
+
+
+
+ TestAssemblyDirectoryResolveAttribute is used to mark 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.
+
+
+
+
+ LevelOfParallelismAttribute is used to set the number of worker threads
+ that may be allocated by the framework for running tests.
+
+
+
+
+ Construct a LevelOfParallelismAttribute.
+
+ The number of worker threads to be created by the framework.
+
+
+
+ Attribute used to identify a method that is called once
+ to perform setup before any child tests are run.
+
+
+
+
+ Attribute used to identify a method that is called once
+ after all the child tests have run. The method is
+ guaranteed to be called, even if an exception is thrown.
+
+
+
+
+ Defines the order that the test will run in
+
+
+
+
+ Defines the order that the test will run in
+
+
+
+
+ Defines the order that the test will run in
+
+
+
+
+
+ Modifies a test as defined for the specific attribute.
+
+ The test to modify
+
+
+
+ RepeatAttribute may be applied to test case in order
+ to run it multiple times.
+
+
+
+
+ Construct a RepeatAttribute
+
+ The number of times to run the test
+
+
+
+ Wrap a command and return the result.
+
+ The command to be wrapped
+ The wrapped command
+
+
+
+ The test command for the RetryAttribute
+
+
+
+
+ Initializes a new instance of the class.
+
+ The inner command.
+ The number of repetitions
+
+
+
+ Runs the test, saving a TestResult in the supplied TestExecutionContext.
+
+ The context in which the test should run.
+ A TestResult
+
+
+
+ Provide actions to execute before and after tests.
+
+
+
+
+ Executed before each test is run
+
+ The test that is going to be run.
+
+
+
+ Executed after each test is run
+
+ The test that has just been run.
+
+
+
+ Provides the target for the action attribute
+
+
+
+
+ ParallelizableAttribute is used to mark tests that may be run in parallel.
+
+
+
+
+ Construct a ParallelizableAttribute using default ParallelScope.Self.
+
+
+
+
+ Construct a ParallelizableAttribute with a specified scope.
+
+ The ParallelScope associated with this attribute.
+
+
+
+ Modify the context to be used for child tests
+
+ The current TestExecutionContext
+
+
+
+ CultureAttribute is used to mark a test fixture or an
+ individual method as applying to a particular Culture only.
+
+
+
+
+ Constructor with no cultures specified, for use
+ with named property syntax.
+
+
+
+
+ Constructor taking one or more cultures
+
+ Comma-deliminted list of cultures
+
+
+
+ Causes a test to be skipped if this CultureAttribute is not satisfied.
+
+ The test to modify
+
+
+
+ Tests to determine if the current culture is supported
+ based on the properties of this attribute.
+
+ True, if the current culture is supported
+
+
+
+ Test to determine if the a particular culture or comma-
+ delimited set of cultures is in use.
+
+ Name of the culture or comma-separated list of culture ids
+ True if the culture is in use on the system
+
+
+
+ Test to determine if one of a collection of cultures
+ is being used currently.
+
+
+
+
+
+
+ The abstract base class for all data-providing attributes
+ defined by NUnit. Used to select all data sources for a
+ method, class or parameter.
+
+
+
+
+ Default constructor
+
+
+
+
+ Used to mark a field for use as a datapoint when executing a theory
+ within the same fixture that requires an argument of the field's Type.
+
+
+
+
+ Used to mark a field, property or method providing a set of datapoints to
+ be used in executing any theories within the same fixture that require an
+ argument of the Type provided. The data source may provide an array of
+ the required Type or an .
+ Synonymous with DatapointSourceAttribute.
+
+
+
+
+ Used to mark a field, property or method providing a set of datapoints to
+ be used in executing any theories within the same fixture that require an
+ argument of the Type provided. The data source may provide an array of
+ the required Type or an .
+ Synonymous with DatapointsAttribute.
+
+
+
+
+ Attribute used to provide descriptive text about a
+ test case or fixture.
+
+
+
+
+ Construct a description Attribute
+
+ The text of the description
+
+
+
+ ExplicitAttribute marks a test or test fixture so that it will
+ only be run if explicitly executed from the gui or command line
+ or if it is included by use of a filter. The test will not be
+ run simply because an enclosing suite is run.
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor with a reason
+
+ The reason test is marked explicit
+
+
+
+ Modifies a test by marking it as explicit.
+
+ The test to modify
+
+
+
+ Attribute used to mark a test that is to be ignored.
+ Ignored tests result in a warning message when the
+ tests are run.
+
+
+
+
+ Constructs the attribute giving a reason for ignoring the test
+
+ The reason for ignoring the test
+
+
+
+ The date in the future to stop ignoring the test as a string in UTC time.
+ For example for a date and time, "2014-12-25 08:10:00Z" or for just a date,
+ "2014-12-25". If just a date is given, the Ignore will expire at midnight UTC.
+
+
+ Once the ignore until date has passed, the test will be marked
+ as runnable. Tests with an ignore until date will have an IgnoreUntilDate
+ property set which will appear in the test results.
+
+ The string does not contain a valid string representation of a date and time.
+
+
+
+ Modifies a test by marking it as Ignored.
+
+ The test to modify
+
+
+
+ Abstract base for Attributes that are used to include tests
+ in the test run based on environmental settings.
+
+
+
+
+ Constructor with no included items specified, for use
+ with named property syntax.
+
+
+
+
+ Constructor taking one or more included items
+
+ Comma-delimited list of included items
+
+
+
+ Name of the item that is needed in order for
+ a test to run. Multiple items may be given,
+ separated by a comma.
+
+
+
+
+ Name of the item to be excluded. Multiple items
+ may be given, separated by a comma.
+
+
+
+
+ The reason for including or excluding the test
+
+
+
+
+ Summary description for MaxTimeAttribute.
+
+
+
+
+ Construct a MaxTimeAttribute, given a time in milliseconds.
+
+ The maximum elapsed time in milliseconds
+
+
+
+ The abstract base class for all custom attributes defined by NUnit.
+
+
+
+
+ Default constructor
+
+
+
+
+ Marks a test to use a pairwise join of any argument
+ data provided. Arguments will be combined in such a
+ way that all possible pairs of arguments are used.
+
+
+
+
+ Default constructor
+
+
+
+
+ The ParallelScope enumeration permits specifying the degree to
+ which a test and its descendants may be run in parallel.
+
+
+
+
+ No Parallelism is permitted
+
+
+
+
+ The test itself may be run in parallel with others at the same level
+
+
+
+
+ Descendants of the test may be run in parallel with one another
+
+
+
+
+ Descendants of the test down to the level of TestFixtures may be run in parallel
+
+
+
+
+ PlatformAttribute is used to mark a test fixture or an
+ individual method as applying to a particular platform only.
+
+
+
+
+ Constructor with no platforms specified, for use
+ with named property syntax.
+
+
+
+
+ Constructor taking one or more platforms
+
+ Comma-delimited list of platforms
+
+
+
+ Causes a test to be skipped if this PlatformAttribute is not satisfied.
+
+ The test to modify
+
+
+
+ PropertyAttribute is used to attach information to a test as a name/value pair..
+
+
+
+
+ Construct a PropertyAttribute with a name and string value
+
+ The name of the property
+ The property value
+
+
+
+ Construct a PropertyAttribute with a name and int value
+
+ The name of the property
+ The property value
+
+
+
+ Construct a PropertyAttribute with a name and double value
+
+ The name of the property
+ The property value
+
+
+
+ Constructor for derived classes that set the
+ property dictionary directly.
+
+
+
+
+ Constructor for use by derived classes that use the
+ name of the type as the property name. Derived classes
+ must ensure that the Type of the property value is
+ a standard type supported by the BCL. Any custom
+ types will cause a serialization Exception when
+ in the client.
+
+
+
+
+ Gets the property dictionary for this attribute
+
+
+
+
+ Modifies a test by adding properties to it.
+
+ The test to modify
+
+
+
+ RandomAttribute is used to supply a set of random _values
+ to a single parameter of a parameterized test.
+
+
+
+
+ Construct a random set of values appropriate for the Type of the
+ parameter on which the attribute appears, specifying only the count.
+
+
+
+
+
+ Construct a set of ints within a specified range
+
+
+
+
+ Construct a set of unsigned ints within a specified range
+
+
+
+
+ Construct a set of longs within a specified range
+
+
+
+
+ Construct a set of unsigned longs within a specified range
+
+
+
+
+ Construct a set of shorts within a specified range
+
+
+
+
+ Construct a set of unsigned shorts within a specified range
+
+
+
+
+ Construct a set of doubles within a specified range
+
+
+
+
+ Construct a set of floats within a specified range
+
+
+
+
+ Construct a set of bytes within a specified range
+
+
+
+
+ Construct a set of sbytes within a specified range
+
+
+
+
+ Get the collection of _values to be used as arguments.
+
+
+
+
+ RangeAttribute is used to supply a range of _values to an
+ individual parameter of a parameterized test.
+
+
+
+
+ Construct a range of ints using default step of 1
+
+
+
+
+
+
+ Construct a range of ints specifying the step size
+
+
+
+
+
+
+
+ Construct a range of unsigned ints using default step of 1
+
+
+
+
+
+
+ Construct a range of unsigned ints specifying the step size
+
+
+
+
+
+
+
+ Construct a range of longs using a default step of 1
+
+
+
+
+
+
+ Construct a range of longs
+
+
+
+
+
+
+
+ Construct a range of unsigned longs using default step of 1
+
+
+
+
+
+
+ Construct a range of unsigned longs specifying the step size
+
+
+
+
+
+
+
+ Construct a range of doubles
+
+
+
+
+
+
+
+ Construct a range of floats
+
+
+
+
+
+
+
+ RepeatAttribute may be applied to test case in order
+ to run it multiple times.
+
+
+
+
+ Construct a RepeatAttribute
+
+ The number of times to run the test
+
+
+
+ Wrap a command and return the result.
+
+ The command to be wrapped
+ The wrapped command
+
+
+
+ The test command for the RepeatAttribute
+
+
+
+
+ Initializes a new instance of the class.
+
+ The inner command.
+ The number of repetitions
+
+
+
+ Runs the test, saving a TestResult in the supplied TestExecutionContext.
+
+ The context in which the test should run.
+ A TestResult
+
+
+
+ Marks a test that must run in the MTA, causing it
+ to run in a separate thread if necessary.
+
+ On methods, you may also use MTAThreadAttribute
+ to serve the same purpose.
+
+
+
+
+ Construct a RequiresMTAAttribute
+
+
+
+
+ Marks a test that must run in the STA, causing it
+ to run in a separate thread if necessary.
+
+
+
+
+ Construct a RequiresSTAAttribute
+
+
+
+
+ Marks a test that must run on a separate thread.
+
+
+
+
+ Construct a RequiresThreadAttribute
+
+
+
+
+ Construct a RequiresThreadAttribute, specifying the apartment
+
+
+
+
+ Marks a test to use a Sequential join of any argument
+ data provided. Arguments will be combined into test cases,
+ taking the next value of each argument until all are used.
+
+
+
+
+ Default constructor
+
+
+
+
+ Summary description for SetCultureAttribute.
+
+
+
+
+ Construct given the name of a culture
+
+
+
+
+
+ Summary description for SetUICultureAttribute.
+
+
+
+
+ Construct given the name of a culture
+
+
+
+
+
+ Attribute used to mark a class that contains one-time SetUp
+ and/or TearDown methods that apply to all the tests in a
+ namespace or an assembly.
+
+
+
+
+ Attribute used to mark a class that contains one-time SetUp
+ and/or TearDown methods that apply to all the tests in a
+ namespace or an assembly.
+
+
+
+
+ Attribute used to mark a class that contains one-time SetUp
+ and/or TearDown methods that apply to all the tests in a
+ namespace or an assembly.
+
+
+
+
+ SetUpFixtureAttribute is used to identify a SetUpFixture
+
+
+
+
+ Build a SetUpFixture from type provided. Normally called for a Type
+ on which the attribute has been placed.
+
+ The type info of the fixture to be used.
+ A SetUpFixture object as a TestSuite.
+
+
+
+ Attribute used to identify a method that is called
+ immediately after each test is run. The method is
+ guaranteed to be called, even if an exception is thrown.
+
+
+
+
+ Adding this attribute to a method within a
+ class makes the method callable from the NUnit test runner. There is a property
+ called Description which is optional which you can provide a more detailed test
+ description. This class cannot be inherited.
+
+
+
+ [TestFixture]
+ public class Fixture
+ {
+ [Test]
+ public void MethodToTest()
+ {}
+
+ [Test(Description = "more detailed description")]
+ public void TestDescriptionMethod()
+ {}
+ }
+
+
+
+
+
+ Descriptive text for this test
+
+
+
+
+ The author of this test
+
+
+
+
+ The type that this test is testing
+
+
+
+
+ Modifies a test by adding a description, if not already set.
+
+ The test to modify
+
+
+
+ Gets or sets the expected result.
+
+ The result.
+
+
+
+ Returns true if an expected result has been set
+
+
+
+
+ Construct a TestMethod from a given method.
+
+ The method for which a test is to be constructed.
+ The suite to which the test will be added.
+ A TestMethod
+
+
+
+ TestCaseAttribute is used to mark parameterized test cases
+ and provide them with their arguments.
+
+
+
+
+ Construct a TestCaseAttribute with a list of arguments.
+ This constructor is not CLS-Compliant
+
+
+
+
+
+ Construct a TestCaseAttribute with a single argument
+
+
+
+
+
+ Construct a TestCaseAttribute with a two arguments
+
+
+
+
+
+
+ Construct a TestCaseAttribute with a three arguments
+
+
+
+
+
+
+
+ Gets or sets the name of the test.
+
+ The name of the test.
+
+
+
+ Gets or sets the RunState of this test case.
+
+
+
+
+ Gets the list of arguments to a test case
+
+
+
+
+ Gets the properties of the test case
+
+
+
+
+ Gets or sets the expected result.
+
+ The result.
+
+
+
+ Returns true if the expected result has been set
+
+
+
+
+ Gets or sets the description.
+
+ The description.
+
+
+
+ The author of this test
+
+
+
+
+ The type that this test is testing
+
+
+
+
+ Gets or sets the reason for ignoring the test
+
+
+
+
+ Gets or sets a value indicating whether this is explicit.
+
+
+ true if explicit; otherwise, false.
+
+
+
+
+ Gets or sets the reason for not running the test.
+
+ The reason.
+
+
+
+ Gets or sets the ignore reason. When set to a non-null
+ non-empty value, the test is marked as ignored.
+
+ The ignore reason.
+
+
+
+ Comma-delimited list of platforms to run the test for
+
+
+
+
+ Comma-delimited list of platforms to not run the test for
+
+
+
+
+ Gets and sets the category for this test case.
+ May be a comma-separated list of categories.
+
+
+
+
+ Performs several special conversions allowed by NUnit in order to
+ permit arguments with types that cannot be used in the constructor
+ of an Attribute such as TestCaseAttribute or to simplify their use.
+
+ The arguments to be converted
+ The ParameterInfo array for the method
+
+
+
+ Construct one or more TestMethods from a given MethodInfo,
+ using available parameter data.
+
+ The MethodInfo for which tests are to be constructed.
+ The suite to which the tests will be added.
+ One or more TestMethods
+
+
+
+ TestCaseSourceAttribute indicates the source to be used to
+ provide test cases for a test method.
+
+
+
+
+ Construct with the name of the method, property or field that will provide data
+
+ The name of a static method, property or field that will provide data.
+
+
+
+ Construct with a Type and name
+
+ The Type that will provide data
+ The name of a static method, property or field that will provide data.
+ A set of parameters passed to the method, works only if the Source Name is a method.
+ If the source name is a field or property has no effect.
+
+
+
+ Construct with a Type and name
+
+ The Type that will provide data
+ The name of a static method, property or field that will provide data.
+
+
+
+ Construct with a Type
+
+ The type that will provide data
+
+
+
+ A set of parameters passed to the method, works only if the Source Name is a method.
+ If the source name is a field or property has no effect.
+
+
+
+
+ The name of a the method, property or fiend to be used as a source
+
+
+
+
+ A Type to be used as a source
+
+
+
+
+ Gets or sets the category associated with every fixture created from
+ this attribute. May be a single category or a comma-separated list.
+
+
+
+
+ Construct one or more TestMethods from a given MethodInfo,
+ using available parameter data.
+
+ The IMethod for which tests are to be constructed.
+ The suite to which the tests will be added.
+ One or more TestMethods
+
+
+
+ Returns a set of ITestCaseDataItems for use as arguments
+ to a parameterized test method.
+
+ The method for which data is needed.
+
+
+
+
+ TestFixtureAttribute is used to mark a class that represents a TestFixture.
+
+
+
+
+ Default constructor
+
+
+
+
+ Construct with a object[] representing a set of arguments.
+ In .NET 2.0, the arguments may later be separated into
+ type arguments and constructor arguments.
+
+
+
+
+
+ Gets or sets the name of the test.
+
+ The name of the test.
+
+
+
+ Gets or sets the RunState of this test fixture.
+
+
+
+
+ The arguments originally provided to the attribute
+
+
+
+
+ Properties pertaining to this fixture
+
+
+
+
+ Get or set the type arguments. If not set
+ explicitly, any leading arguments that are
+ Types are taken as type arguments.
+
+
+
+
+ Descriptive text for this fixture
+
+
+
+
+ The author of this fixture
+
+
+
+
+ The type that this fixture is testing
+
+
+
+
+ Gets or sets the ignore reason. May set RunState as a side effect.
+
+ The ignore reason.
+
+
+
+ Gets or sets the reason for not running the fixture.
+
+ The reason.
+
+
+
+ Gets or sets the ignore reason. When set to a non-null
+ non-empty value, the test is marked as ignored.
+
+ The ignore reason.
+
+
+
+ Gets or sets a value indicating whether this is explicit.
+
+
+ true if explicit; otherwise, false.
+
+
+
+
+ Gets and sets the category for this fixture.
+ May be a comma-separated list of categories.
+
+
+
+
+ Build a fixture from type provided. Normally called for a Type
+ on which the attribute has been placed.
+
+ The type info of the fixture to be used.
+ A an IEnumerable holding one TestFixture object.
+
+
+
+ Attribute used to identify a method that is
+ called before any tests in a fixture are run.
+
+
+
+
+ TestCaseSourceAttribute indicates the source to be used to
+ provide test fixture instances for a test class.
+
+
+
+
+ Error message string is public so the tests can use it
+
+
+
+
+ Construct with the name of the method, property or field that will provide data
+
+ The name of a static method, property or field that will provide data.
+
+
+
+ Construct with a Type and name
+
+ The Type that will provide data
+ The name of a static method, property or field that will provide data.
+
+
+
+ Construct with a Type
+
+ The type that will provide data
+
+
+
+ The name of a the method, property or fiend to be used as a source
+
+
+
+
+ A Type to be used as a source
+
+
+
+
+ Gets or sets the category associated with every fixture created from
+ this attribute. May be a single category or a comma-separated list.
+
+
+
+
+ Construct one or more TestFixtures from a given Type,
+ using available parameter data.
+
+ The TypeInfo for which fixures are to be constructed.
+ One or more TestFixtures as TestSuite
+
+
+
+ Returns a set of ITestFixtureData items for use as arguments
+ to a parameterized test fixture.
+
+ The type for which data is needed.
+
+
+
+
+ Attribute used to identify a method that is called after
+ all the tests in a fixture have run. The method is
+ guaranteed to be called, even if an exception is thrown.
+
+
+
+
+ Indicates which class the test or test fixture is testing
+
+
+
+
+ Initializes a new instance of the class.
+
+ The type that is being tested.
+
+
+
+ Initializes a new instance of the class.
+
+ The type that is being tested.
+
+
+
+ Adding this attribute to a method within a
+ class makes the method callable from the NUnit test runner. There is a property
+ called Description which is optional which you can provide a more detailed test
+ description. This class cannot be inherited.
+
+
+
+ [TestFixture]
+ public class Fixture
+ {
+ [Test]
+ public void MethodToTest()
+ {}
+
+ [Test(Description = "more detailed description")]
+ public void TestDescriptionMethod()
+ {}
+ }
+
+
+
+
+
+ Construct the attribute, specifying a combining strategy and source of parameter data.
+
+
+
+
+ Used on a method, marks the test with a timeout value in milliseconds.
+ The test will be run in a separate thread and is cancelled if the timeout
+ is exceeded. Used on a class or assembly, sets the default timeout
+ for all contained test methods.
+
+
+
+
+ Construct a TimeoutAttribute given a time in milliseconds
+
+ The timeout value in milliseconds
+
+
+
+ ValuesAttribute is used to provide literal arguments for
+ an individual parameter of a test.
+
+
+
+
+ The collection of data to be returned. Must
+ be set by any derived attribute classes.
+ We use an object[] so that the individual
+ elements may have their type changed in GetData
+ if necessary
+
+
+
+
+ Constructs for use with an Enum parameter. Will pass every enum
+ value in to the test.
+
+
+
+
+ Construct with one argument
+
+
+
+
+
+ Construct with two arguments
+
+
+
+
+
+
+ Construct with three arguments
+
+
+
+
+
+
+
+ Construct with an array of arguments
+
+
+
+
+
+ Get the collection of _values to be used as arguments
+
+
+
+
+ ValueSourceAttribute indicates the source to be used to
+ provide data for one parameter of a test method.
+
+
+
+
+ Construct with the name of the factory - for use with languages
+ that don't support params arrays.
+
+ The name of a static method, property or field that will provide data.
+
+
+
+ Construct with a Type and name - for use with languages
+ that don't support params arrays.
+
+ The Type that will provide data
+ The name of a static method, property or field that will provide data.
+
+
+
+ The name of a the method, property or fiend to be used as a source
+
+
+
+
+ A Type to be used as a source
+
+
+
+
+ Gets an enumeration of data items for use as arguments
+ for a test method parameter.
+
+ The parameter for which data is needed
+
+ An enumeration containing individual data items
+
+
+
+
+ A set of Assert methods operating on one or more collections
+
+
+
+
+ The Equals method throws an InvalidOperationException. This is done
+ to make sure there is no mistake by calling this function.
+
+
+
+
+
+
+ override the default ReferenceEquals to throw an InvalidOperationException. This
+ implementation makes sure there is no mistake in calling this function
+ as part of Assert.
+
+
+
+
+
+
+ Asserts that all items contained in collection are of the type specified by expectedType.
+
+ IEnumerable containing objects to be considered
+ System.Type that all objects in collection must be instances of
+
+
+
+ Asserts that all items contained in collection are of the type specified by expectedType.
+
+ IEnumerable containing objects to be considered
+ System.Type that all objects in collection must be instances of
+ The message that will be displayed on failure
+ Arguments to be used in formatting the message
+
+
+
+ Asserts that all items contained in collection are not equal to null.
+
+ IEnumerable containing objects to be considered
+
+
+
+ Asserts that all items contained in collection are not equal to null.
+
+ IEnumerable of objects to be considered
+ The message that will be displayed on failure
+ Arguments to be used in formatting the message
+
+
+
+ Ensures that every object contained in collection exists within the collection
+ once and only once.
+
+ IEnumerable of objects to be considered
+
+
+
+ Ensures that every object contained in collection exists within the collection
+ once and only once.
+
+ IEnumerable of objects to be considered
+ The message that will be displayed on failure
+ Arguments to be used in formatting the message
+
+
+
+ Asserts that expected and actual are exactly equal. The collections must have the same count,
+ and contain the exact same objects in the same order.
+
+ The first IEnumerable of objects to be considered
+ The second IEnumerable of objects to be considered
+
+
+
+ Asserts that expected and actual are exactly equal. The collections must have the same count,
+ and contain the exact same objects in the same order.
+ If comparer is not null then it will be used to compare the objects.
+
+ The first IEnumerable of objects to be considered
+ The second IEnumerable of objects to be considered
+ The IComparer to use in comparing objects from each IEnumerable
+
+
+
+ Asserts that expected and actual are exactly equal. The collections must have the same count,
+ and contain the exact same objects in the same order.
+
+ The first IEnumerable of objects to be considered
+ The second IEnumerable of objects to be considered
+ The message that will be displayed on failure
+ Arguments to be used in formatting the message
+
+
+
+ Asserts that expected and actual are exactly equal. The collections must have the same count,
+ and contain the exact same objects in the same order.
+ If comparer is not null then it will be used to compare the objects.
+
+ The first IEnumerable of objects to be considered
+ The second IEnumerable of objects to be considered
+ The IComparer to use in comparing objects from each IEnumerable
+ The message that will be displayed on failure
+ Arguments to be used in formatting the message
+
+
+
+ Asserts that expected and actual are equivalent, containing the same objects but the match may be in any order.
+
+ The first IEnumerable of objects to be considered
+ The second IEnumerable of objects to be considered
+
+
+
+ Asserts that expected and actual are equivalent, containing the same objects but the match may be in any order.
+
+ The first IEnumerable of objects to be considered
+ The second IEnumerable of objects to be considered
+ The message that will be displayed on failure
+ Arguments to be used in formatting the message
+
+
+
+ Asserts that expected and actual are not exactly equal.
+
+ The first IEnumerable of objects to be considered
+ The second IEnumerable of objects to be considered
+
+
+
+ Asserts that expected and actual are not exactly equal.
+ If comparer is not null then it will be used to compare the objects.
+
+ The first IEnumerable of objects to be considered
+ The second IEnumerable of objects to be considered
+ The IComparer to use in comparing objects from each IEnumerable
+
+
+
+ Asserts that expected and actual are not exactly equal.
+
+ The first IEnumerable of objects to be considered
+ The second IEnumerable of objects to be considered
+ The message that will be displayed on failure
+ Arguments to be used in formatting the message
+
+
+
+ Asserts that expected and actual are not exactly equal.
+ If comparer is not null then it will be used to compare the objects.
+
+ The first IEnumerable of objects to be considered
+ The second IEnumerable of objects to be considered
+ The IComparer to use in comparing objects from each IEnumerable
+ The message that will be displayed on failure
+ Arguments to be used in formatting the message
+
+
+
+ Asserts that expected and actual are not equivalent.
+
+ The first IEnumerable of objects to be considered
+ The second IEnumerable of objects to be considered
+
+
+
+ Asserts that expected and actual are not equivalent.
+
+ The first IEnumerable of objects to be considered
+ The second IEnumerable of objects to be considered
+ The message that will be displayed on failure
+ Arguments to be used in formatting the message
+
+
+
+ Asserts that collection contains actual as an item.
+
+ IEnumerable of objects to be considered
+ Object to be found within collection
+
+
+
+ Asserts that collection contains actual as an item.
+
+ IEnumerable of objects to be considered
+ Object to be found within collection
+ The message that will be displayed on failure
+ Arguments to be used in formatting the message
+
+
+
+ Asserts that collection does not contain actual as an item.
+
+ IEnumerable of objects to be considered
+ Object that cannot exist within collection
+
+
+
+ Asserts that collection does not contain actual as an item.
+
+ IEnumerable of objects to be considered
+ Object that cannot exist within collection
+ The message that will be displayed on failure
+ Arguments to be used in formatting the message
+
+
+
+ Asserts that the superset does not contain the subset
+
+ The IEnumerable subset to be considered
+ The IEnumerable superset to be considered
+
+
+
+ Asserts that the superset does not contain the subset
+
+ The IEnumerable subset to be considered
+ The IEnumerable superset to be considered
+ The message that will be displayed on failure
+ Arguments to be used in formatting the message
+
+
+
+ Asserts that the superset contains the subset.
+
+ The IEnumerable subset to be considered
+ The IEnumerable superset to be considered
+
+
+
+ Asserts that the superset contains the subset.
+
+ The IEnumerable subset to be considered
+ The IEnumerable superset to be considered
+ The message that will be displayed on failure
+ Arguments to be used in formatting the message
+
+
+
+ Asserts that the subset does not contain the superset
+
+ The IEnumerable superset to be considered
+ The IEnumerable subset to be considered
+
+
+
+ Asserts that the subset does not contain the superset
+
+ The IEnumerable superset to be considered
+ The IEnumerable subset to be considered
+ The message that will be displayed on failure
+ Arguments to be used in formatting the message
+
+
+
+ Asserts that the subset contains the superset.
+
+ The IEnumerable superset to be considered
+ The IEnumerable subset to be considered
+
+
+
+ Asserts that the subset contains the superset.
+
+ The IEnumerable superset to be considered
+ The IEnumerable subset to be considered
+ The message that will be displayed on failure
+ Arguments to be used in formatting the message
+
+
+
+ Assert that an array, list or other collection is empty
+
+ An array, list or other collection implementing IEnumerable
+ The message to be displayed on failure
+ Arguments to be used in formatting the message
+
+
+
+ Assert that an array,list or other collection is empty
+
+ An array, list or other collection implementing IEnumerable
+
+
+
+ Assert that an array, list or other collection is empty
+
+ An array, list or other collection implementing IEnumerable
+ The message to be displayed on failure
+ Arguments to be used in formatting the message
+
+
+
+ Assert that an array,list or other collection is empty
+
+ An array, list or other collection implementing IEnumerable
+
+
+
+ Assert that an array, list or other collection is ordered
+
+ An array, list or other collection implementing IEnumerable
+ The message to be displayed on failure
+ Arguments to be used in formatting the message
+
+
+
+ Assert that an array, list or other collection is ordered
+
+ An array, list or other collection implementing IEnumerable
+
+
+
+ Assert that an array, list or other collection is ordered
+
+ An array, list or other collection implementing IEnumerable
+ A custom comparer to perform the comparisons
+ The message to be displayed on failure
+ Arguments to be used in formatting the message
+
+
+
+ Assert that an array, list or other collection is ordered
+
+ An array, list or other collection implementing IEnumerable
+ A custom comparer to perform the comparisons
+
+
+
+ AllItemsConstraint applies another constraint to each
+ item in a collection, succeeding if they all succeed.
+
+
+
+
+ Construct an AllItemsConstraint on top of an existing constraint
+
+
+
+
+
+ Apply the item constraint to each item in the collection,
+ failing if any item fails.
+
+
+
+
+
+
+ AndConstraint succeeds only if both members succeed.
+
+
+
+
+ Create an AndConstraint from two other constraints
+
+ The first constraint
+ The second constraint
+
+
+
+ Gets text describing a constraint
+
+
+
+
+ Apply both member constraints to an actual value, succeeding
+ succeeding only if both of them succeed.
+
+ The actual value
+ True if the constraints both succeeded
+
+
+
+ Write the actual value for a failing constraint test to a
+ MessageWriter. The default implementation simply writes
+ the raw value of actual, leaving it to the writer to
+ perform any formatting.
+
+ The writer on which the actual value is displayed
+
+
+
+ AssignableFromConstraint is used to test that an object
+ can be assigned from a given Type.
+
+
+
+
+ Construct an AssignableFromConstraint for the type provided
+
+
+
+
+
+ Apply the constraint to an actual value, returning true if it succeeds
+
+ The actual argument
+ True if the constraint succeeds, otherwise false.
+
+
+
+ AssignableToConstraint is used to test that an object
+ can be assigned to a given Type.
+
+
+
+
+ Construct an AssignableToConstraint for the type provided
+
+
+
+
+
+ Apply the constraint to an actual value, returning true if it succeeds
+
+ The actual argument
+ True if the constraint succeeds, otherwise false.
+
+
+
+ AttributeConstraint tests that a specified attribute is present
+ on a Type or other provider and that the value of the attribute
+ satisfies some other constraint.
+
+
+
+
+ Constructs an AttributeConstraint for a specified attribute
+ Type and base constraint.
+
+
+
+
+
+
+ Determines whether the Type or other provider has the
+ expected attribute and if its value matches the
+ additional constraint specified.
+
+
+
+
+ Returns a string representation of the constraint.
+
+
+
+
+ AttributeExistsConstraint tests for the presence of a
+ specified attribute on a Type.
+
+
+
+
+ Constructs an AttributeExistsConstraint for a specific attribute Type
+
+
+
+
+
+ The Description of what this constraint tests, for
+ use in messages and in the ConstraintResult.
+
+
+
+
+ Tests whether the object provides the expected attribute.
+
+ A Type, MethodInfo, or other ICustomAttributeProvider
+ True if the expected attribute is present, otherwise false
+
+
+
+ BinaryConstraint is the abstract base of all constraints
+ that combine two other constraints in some fashion.
+
+
+
+
+ The first constraint being combined
+
+
+
+
+ The second constraint being combined
+
+
+
+
+ Construct a BinaryConstraint from two other constraints
+
+ The first constraint
+ The second constraint
+
+
+
+ BinarySerializableConstraint tests whether
+ an object is serializable in binary format.
+
+
+
+
+ The Description of what this constraint tests, for
+ use in messages and in the ConstraintResult.
+
+
+
+
+ Test whether the constraint is satisfied by a given value
+
+ The value to be tested
+ True for success, false for failure
+
+
+
+ Returns the string representation
+
+
+
+
+ CollectionConstraint is the abstract base class for
+ constraints that operate on collections.
+
+
+
+
+ Construct an empty CollectionConstraint
+
+
+
+
+ Construct a CollectionConstraint
+
+
+
+
+
+ Determines whether the specified enumerable is empty.
+
+ The enumerable.
+
+ true if the specified enumerable is empty; otherwise, false.
+
+
+
+
+ Test whether the constraint is satisfied by a given value
+
+ The value to be tested
+ True for success, false for failure
+
+
+
+ Protected method to be implemented by derived classes
+
+
+
+
+
+
+ CollectionContainsConstraint is used to test whether a collection
+ contains an expected object as a member.
+
+
+
+
+ Construct a CollectionContainsConstraint
+
+
+
+
+
+ The Description of what this constraint tests, for
+ use in messages and in the ConstraintResult.
+
+
+
+
+ Gets the expected object
+
+
+
+
+ Test whether the expected item is contained in the collection
+
+
+
+
+
+
+ Flag the constraint to use the supplied predicate function
+
+ The comparison function to use.
+ Self.
+
+
+
+ CollectionEquivalentConstraint is used to determine whether two
+ collections are equivalent.
+
+
+
+
+ Construct a CollectionEquivalentConstraint
+
+
+
+
+
+ The Description of what this constraint tests, for
+ use in messages and in the ConstraintResult.
+
+
+
+
+ Test whether two collections are equivalent
+
+
+
+
+
+
+ Flag the constraint to use the supplied predicate function
+
+ The comparison function to use.
+ Self.
+
+
+
+ CollectionItemsEqualConstraint is the abstract base class for all
+ collection constraints that apply some notion of item equality
+ as a part of their operation.
+
+
+
+
+ Construct an empty CollectionConstraint
+
+
+
+
+ Construct a CollectionConstraint
+
+
+
+
+
+ Flag the constraint to ignore case and return self.
+
+
+
+
+ Flag the constraint to use the supplied IComparer object.
+
+ The IComparer object to use.
+ Self.
+
+
+
+ Flag the constraint to use the supplied IComparer object.
+
+ The IComparer object to use.
+ Self.
+
+
+
+ Flag the constraint to use the supplied Comparison object.
+
+ The IComparer object to use.
+ Self.
+
+
+
+ Flag the constraint to use the supplied IEqualityComparer object.
+
+ The IComparer object to use.
+ Self.
+
+
+
+ Flag the constraint to use the supplied IEqualityComparer object.
+
+ The IComparer object to use.
+ Self.
+
+
+
+ Compares two collection members for equality
+
+
+
+
+ Return a new CollectionTally for use in making tests
+
+ The collection to be included in the tally
+
+
+
+ CollectionOrderedConstraint is used to test whether a collection is ordered.
+
+
+
+
+ Construct a CollectionOrderedConstraint
+
+
+
+
+ If used performs a reverse comparison
+
+
+
+
+ Modifies the constraint to use an and returns self.
+
+
+
+
+ Modifies the constraint to use an and returns self.
+
+
+
+
+ Modifies the constraint to use a and returns self.
+
+
+
+
+ Modifies the constraint to test ordering by the value of
+ a specified property and returns self.
+
+
+
+
+ The Description of what this constraint tests, for
+ use in messages and in the ConstraintResult.
+
+
+
+
+ Test whether the collection is ordered
+
+
+
+
+
+
+ Returns the string representation of the constraint.
+
+
+
+
+
+ CollectionSupersetConstraint is used to determine whether
+ one collection is a superset of another
+
+
+
+
+ Construct a CollectionSupersetConstraint
+
+ The collection that the actual value is expected to be a superset of
+
+
+
+ The Description of what this constraint tests, for
+ use in messages and in the ConstraintResult.
+
+
+
+
+ Test whether the actual collection is a superset of
+ the expected collection provided.
+
+
+
+
+
+
+ Flag the constraint to use the supplied predicate function
+
+ The comparison function to use.
+ Self.
+
+
+
+ CollectionSubsetConstraint is used to determine whether
+ one collection is a subset of another
+
+
+
+
+ Construct a CollectionSubsetConstraint
+
+ The collection that the actual value is expected to be a subset of
+
+
+
+ The Description of what this constraint tests, for
+ use in messages and in the ConstraintResult.
+
+
+
+
+ Test whether the actual collection is a subset of
+ the expected collection provided.
+
+
+
+
+
+
+ Flag the constraint to use the supplied predicate function
+
+ The comparison function to use.
+ Self.
+
+
+
+ CollectionTally counts (tallies) the number of
+ occurrences of each object in one or more enumerations.
+
+
+
+
+ Construct a CollectionTally object from a comparer and a collection
+
+
+
+
+ The number of objects remaining in the tally
+
+
+
+
+ Try to remove an object from the tally
+
+ The object to remove
+ True if successful, false if the object was not found
+
+
+
+ Try to remove a set of objects from the tally
+
+ The objects to remove
+ True if successful, false if any object was not found
+
+
+
+ ComparisonAdapter class centralizes all comparisons of
+ _values in NUnit, adapting to the use of any provided
+ ,
+ or .
+
+
+
+
+ Gets the default ComparisonAdapter, which wraps an
+ NUnitComparer object.
+
+
+
+
+ Returns a ComparisonAdapter that wraps an
+
+
+
+
+ Returns a ComparisonAdapter that wraps an
+
+
+
+
+ Returns a ComparisonAdapter that wraps a
+
+
+
+
+ Compares two objects
+
+
+
+
+ Construct a default ComparisonAdapter
+
+
+
+
+ Construct a ComparisonAdapter for an
+
+
+
+
+ Compares two objects
+
+
+
+
+
+
+
+ ComparerAdapter extends and
+ allows use of an or
+ to actually perform the comparison.
+
+
+
+
+ Construct a ComparisonAdapter for an
+
+
+
+
+ Compare a Type T to an object
+
+
+
+
+ Construct a ComparisonAdapter for a
+
+
+
+
+ Compare a Type T to an object
+
+
+
+
+ Abstract base class for constraints that compare _values to
+ determine if one is greater than, equal to or less than
+ the other.
+
+
+
+
+ The value against which a comparison is to be made
+
+
+
+
+ If true, less than returns success
+
+
+
+
+ if true, equal returns success
+
+
+
+
+ if true, greater than returns success
+
+
+
+
+ ComparisonAdapter to be used in making the comparison
+
+
+
+
+ Initializes a new instance of the class.
+
+ The value against which to make a comparison.
+ if set to true less succeeds.
+ if set to true equal succeeds.
+ if set to true greater succeeds.
+ String used in describing the constraint.
+
+
+
+ Test whether the constraint is satisfied by a given value
+
+ The value to be tested
+ True for success, false for failure
+
+
+
+ Modifies the constraint to use an and returns self
+
+ The comparer used for comparison tests
+ A constraint modified to use the given comparer
+
+
+
+ Modifies the constraint to use an and returns self
+
+ The comparer used for comparison tests
+ A constraint modified to use the given comparer
+
+
+
+ Modifies the constraint to use a and returns self
+
+ The comparer used for comparison tests
+ A constraint modified to use the given comparer
+
+
+
+ Delegate used to delay evaluation of the actual value
+ to be used in evaluating a constraint
+
+
+
+
+ The Constraint class is the base of all built-in constraints
+ within NUnit. It provides the operator overloads used to combine
+ constraints.
+
+
+
+
+ Construct a constraint with optional arguments
+
+ Arguments to be saved
+
+
+
+ The display name of this Constraint for use by ToString().
+ The default value is the name of the constraint with
+ trailing "Constraint" removed. Derived classes may set
+ this to another name in their constructors.
+
+
+
+
+ The Description of what this constraint tests, for
+ use in messages and in the ConstraintResult.
+
+
+
+
+ Arguments provided to this Constraint, for use in
+ formatting the description.
+
+
+
+
+ The ConstraintBuilder holding this constraint
+
+
+
+
+ Applies the constraint to an actual value, returning a ConstraintResult.
+
+ The value to be tested
+ A ConstraintResult
+
+
+
+ Applies the constraint to an ActualValueDelegate that returns
+ the value to be tested. The default implementation simply evaluates
+ the delegate but derived classes may override it to provide for
+ delayed processing.
+
+ An ActualValueDelegate
+ A ConstraintResult
+
+
+
+ Test whether the constraint is satisfied by a given reference.
+ The default implementation simply dereferences the value but
+ derived classes may override it to provide for delayed processing.
+
+ A reference to the value to be tested
+ A ConstraintResult
+
+
+
+ Retrieves the value to be tested from an ActualValueDelegate.
+ The default implementation simply evaluates the delegate but derived
+ classes may override it to provide for delayed processing.
+
+ An ActualValueDelegate
+ Delegate evaluation result
+
+
+
+ Default override of ToString returns the constraint DisplayName
+ followed by any arguments within angle brackets.
+
+
+
+
+
+ Returns the string representation of this constraint
+
+
+
+
+ This operator creates a constraint that is satisfied only if both
+ argument constraints are satisfied.
+
+
+
+
+ This operator creates a constraint that is satisfied if either
+ of the argument constraints is satisfied.
+
+
+
+
+ This operator creates a constraint that is satisfied if the
+ argument constraint is not satisfied.
+
+
+
+
+ Returns a ConstraintExpression by appending And
+ to the current constraint.
+
+
+
+
+ Returns a ConstraintExpression by appending And
+ to the current constraint.
+
+
+
+
+ Returns a ConstraintExpression by appending Or
+ to the current constraint.
+
+
+
+
+ Returns a DelayedConstraint with the specified delay time.
+
+ The delay in milliseconds.
+
+
+
+
+ Returns a DelayedConstraint with the specified delay time
+ and polling interval.
+
+ The delay in milliseconds.
+ The interval at which to test the constraint.
+
+
+
+
+ Resolves any pending operators and returns the resolved constraint.
+
+
+
+
+ ConstraintBuilder maintains the stacks that are used in
+ processing a ConstraintExpression. An OperatorStack
+ is used to hold operators that are waiting for their
+ operands to be reorganized. a ConstraintStack holds
+ input constraints as well as the results of each
+ operator applied.
+
+
+
+
+ OperatorStack is a type-safe stack for holding ConstraintOperators
+
+
+
+
+ Initializes a new instance of the class.
+
+ The ConstraintBuilder using this stack.
+
+
+
+ Gets a value indicating whether this is empty.
+
+ true if empty; otherwise, false.
+
+
+
+ Gets the topmost operator without modifying the stack.
+
+
+
+
+ Pushes the specified operator onto the stack.
+
+ The operator to put onto the stack.
+
+
+
+ Pops the topmost operator from the stack.
+
+ The topmost operator on the stack
+
+
+
+ ConstraintStack is a type-safe stack for holding Constraints
+
+
+
+
+ Initializes a new instance of the class.
+
+ The ConstraintBuilder using this stack.
+
+
+
+ Gets a value indicating whether this is empty.
+
+ true if empty; otherwise, false.
+
+
+
+ Pushes the specified constraint. As a side effect,
+ the constraint's Builder field is set to the
+ ConstraintBuilder owning this stack.
+
+ The constraint to put onto the stack
+
+
+
+ Pops this topmost constraint from the stack.
+ As a side effect, the constraint's Builder
+ field is set to null.
+
+ The topmost contraint on the stack
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Appends the specified operator to the expression by first
+ reducing the operator stack and then pushing the new
+ operator on the stack.
+
+ The operator to push.
+
+
+
+ Appends the specified constraint to the expression by pushing
+ it on the constraint stack.
+
+ The constraint to push.
+
+
+
+ Sets the top operator right context.
+
+ The right context.
+
+
+
+ Reduces the operator stack until the topmost item
+ precedence is greater than or equal to the target precedence.
+
+ The target precedence.
+
+
+
+ Resolves this instance, returning a Constraint. If the Builder
+ is not currently in a resolvable state, an exception is thrown.
+
+ The resolved constraint
+
+
+
+ Gets a value indicating whether this instance is resolvable.
+
+
+ true if this instance is resolvable; otherwise, false.
+
+
+
+
+ ConstraintExpression represents a compound constraint in the
+ process of being constructed from a series of syntactic elements.
+
+ Individual elements are appended to the expression as they are
+ reorganized. When a constraint is appended, it is returned as the
+ value of the operation so that modifiers may be applied. However,
+ any partially built expression is attached to the constraint for
+ later resolution. When an operator is appended, the partial
+ expression is returned. If it's a self-resolving operator, then
+ a ResolvableConstraintExpression is returned.
+
+
+
+
+ The ConstraintBuilder holding the elements recognized so far
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the
+ class passing in a ConstraintBuilder, which may be pre-populated.
+
+ The builder.
+
+
+
+ Returns a string representation of the expression as it
+ currently stands. This should only be used for testing,
+ since it has the side-effect of resolving the expression.
+
+
+
+
+
+ Appends an operator to the expression and returns the
+ resulting expression itself.
+
+
+
+
+ Appends a self-resolving operator to the expression and
+ returns a new ResolvableConstraintExpression.
+
+
+
+
+ Appends a constraint to the expression and returns that
+ constraint, which is associated with the current state
+ of the expression being built. Note that the constraint
+ is not reduced at this time. For example, if there
+ is a NotOperator on the stack we don't reduce and
+ return a NotConstraint. The original constraint must
+ be returned because it may support modifiers that
+ are yet to be applied.
+
+
+
+
+ Returns a ConstraintExpression that negates any
+ following constraint.
+
+
+
+
+ Returns a ConstraintExpression that negates any
+ following constraint.
+
+
+
+
+ Returns a ConstraintExpression, which will apply
+ the following constraint to all members of a collection,
+ succeeding if all of them succeed.
+
+
+
+
+ Returns a ConstraintExpression, which will apply
+ the following constraint to all members of a collection,
+ succeeding if at least one of them succeeds.
+
+
+
+
+ Returns a ConstraintExpression, which will apply
+ the following constraint to all members of a collection,
+ succeeding if all of them fail.
+
+
+
+
+ Returns a ConstraintExpression, which will apply
+ the following constraint to all members of a collection,
+ succeeding only if a specified number of them succeed.
+
+
+
+
+ Returns a new PropertyConstraintExpression, which will either
+ test for the existence of the named property on the object
+ being tested or apply any following constraint to that property.
+
+
+
+
+ Returns a new ConstraintExpression, which will apply the following
+ constraint to the Length property of the object being tested.
+
+
+
+
+ Returns a new ConstraintExpression, which will apply the following
+ constraint to the Count property of the object being tested.
+
+
+
+
+ Returns a new ConstraintExpression, which will apply the following
+ constraint to the Message property of the object being tested.
+
+
+
+
+ Returns a new ConstraintExpression, which will apply the following
+ constraint to the InnerException property of the object being tested.
+
+
+
+
+ Returns a new AttributeConstraint checking for the
+ presence of a particular attribute on an object.
+
+
+
+
+ Returns a new AttributeConstraint checking for the
+ presence of a particular attribute on an object.
+
+
+
+
+ With is currently a NOP - reserved for future use.
+
+
+
+
+ Returns the constraint provided as an argument - used to allow custom
+ custom constraints to easily participate in the syntax.
+
+
+
+
+ Returns the constraint provided as an argument - used to allow custom
+ custom constraints to easily participate in the syntax.
+
+
+
+
+ Returns a constraint that tests for null
+
+
+
+
+ Returns a constraint that tests for True
+
+
+
+
+ Returns a constraint that tests for False
+
+
+
+
+ Returns a constraint that tests for a positive value
+
+
+
+
+ Returns a constraint that tests for a negative value
+
+
+
+
+ Returns a constraint that tests if item is equal to zero
+
+
+
+
+ Returns a constraint that tests for NaN
+
+
+
+
+ Returns a constraint that tests for empty
+
+
+
+
+ Returns a constraint that tests whether a collection
+ contains all unique items.
+
+
+
+
+ Returns a constraint that tests whether an object graph is serializable in binary format.
+
+
+
+
+ Returns a constraint that tests whether an object graph is serializable in xml format.
+
+
+
+
+ Returns a constraint that tests two items for equality
+
+
+
+
+ Returns a constraint that tests that two references are the same object
+
+
+
+
+ Returns a constraint that tests whether the
+ actual value is greater than the supplied argument
+
+
+
+
+ Returns a constraint that tests whether the
+ actual value is greater than or equal to the supplied argument
+
+
+
+
+ Returns a constraint that tests whether the
+ actual value is greater than or equal to the supplied argument
+
+
+
+
+ Returns a constraint that tests whether the
+ actual value is less than the supplied argument
+
+
+
+
+ Returns a constraint that tests whether the
+ actual value is less than or equal to the supplied argument
+
+
+
+
+ Returns a constraint that tests whether the
+ actual value is less than or equal to the supplied argument
+
+
+
+
+ Returns a constraint that tests whether the actual
+ value is of the exact type supplied as an argument.
+
+
+
+
+ Returns a constraint that tests whether the actual
+ value is of the exact type supplied as an argument.
+
+
+
+
+ Returns a constraint that tests whether the actual value
+ is of the type supplied as an argument or a derived type.
+
+
+
+
+ Returns a constraint that tests whether the actual value
+ is of the type supplied as an argument or a derived type.
+
+
+
+
+ Returns a constraint that tests whether the actual value
+ is assignable from the type supplied as an argument.
+
+
+
+
+ Returns a constraint that tests whether the actual value
+ is assignable from the type supplied as an argument.
+
+
+
+
+ Returns a constraint that tests whether the actual value
+ is assignable from the type supplied as an argument.
+
+
+
+
+ Returns a constraint that tests whether the actual value
+ is assignable from the type supplied as an argument.
+
+
+
+
+ Returns a constraint that tests whether the actual value
+ is a collection containing the same elements as the
+ collection supplied as an argument.
+
+
+
+
+ Returns a constraint that tests whether the actual value
+ is a subset of the collection supplied as an argument.
+
+
+
+
+ Returns a constraint that tests whether the actual value
+ is a superset of the collection supplied as an argument.
+
+
+
+
+ Returns a constraint that tests whether a collection is ordered
+
+
+
+
+ Returns a new CollectionContainsConstraint checking for the
+ presence of a particular object in the collection.
+
+
+
+
+ Returns a new CollectionContainsConstraint checking for the
+ presence of a particular object in the collection.
+
+
+
+
+ Returns a new ContainsConstraint. This constraint
+ will, in turn, make use of the appropriate second-level
+ constraint, depending on the type of the actual argument.
+ This overload is only used if the item sought is a string,
+ since any other type implies that we are looking for a
+ collection member.
+
+
+
+
+ Returns a new ContainsConstraint. This constraint
+ will, in turn, make use of the appropriate second-level
+ constraint, depending on the type of the actual argument.
+ This overload is only used if the item sought is a string,
+ since any other type implies that we are looking for a
+ collection member.
+
+
+
+
+ Returns a constraint that succeeds if the actual
+ value contains the substring supplied as an argument.
+
+
+
+
+ Returns a constraint that succeeds if the actual
+ value contains the substring supplied as an argument.
+
+
+
+
+ Returns a constraint that succeeds if the actual
+ value starts with the substring supplied as an argument.
+
+
+
+
+ Returns a constraint that succeeds if the actual
+ value starts with the substring supplied as an argument.
+
+
+
+
+ Returns a constraint that succeeds if the actual
+ value starts with the substring supplied as an argument.
+
+
+
+
+ Returns a constraint that succeeds if the actual
+ value ends with the substring supplied as an argument.
+
+
+
+
+ Returns a constraint that succeeds if the actual
+ value ends with the substring supplied as an argument.
+
+
+
+
+ Returns a constraint that succeeds if the actual
+ value ends with the substring supplied as an argument.
+
+
+
+
+ Returns a constraint that succeeds if the actual
+ value matches the regular expression supplied as an argument.
+
+
+
+
+ Returns a constraint that succeeds if the actual
+ value matches the regular expression supplied as an argument.
+
+
+
+
+ Returns a constraint that succeeds if the actual
+ value matches the regular expression supplied as an argument.
+
+
+
+
+ Returns a constraint that tests whether the path provided
+ is the same as an expected path after canonicalization.
+
+
+
+
+ Returns a constraint that tests whether the path provided
+ is the a subpath of the expected path after canonicalization.
+
+
+
+
+ Returns a constraint that tests whether the path provided
+ is the same path or under an expected path after canonicalization.
+
+
+
+
+ Returns a constraint that tests whether the actual value falls
+ within a specified range.
+
+
+
+
+ Returns a constraint that succeeds if the value
+ is a file or directory and it exists.
+
+
+
+
+ Helper class with properties and methods that supply
+ a number of constraints used in Asserts.
+
+
+
+
+ Returns a ConstraintExpression that negates any
+ following constraint.
+
+
+
+
+ Returns a ConstraintExpression that negates any
+ following constraint.
+
+
+
+
+ Returns a ConstraintExpression, which will apply
+ the following constraint to all members of a collection,
+ succeeding if all of them succeed.
+
+
+
+
+ Returns a ConstraintExpression, which will apply
+ the following constraint to all members of a collection,
+ succeeding if at least one of them succeeds.
+
+
+
+
+ Returns a ConstraintExpression, which will apply
+ the following constraint to all members of a collection,
+ succeeding if all of them fail.
+
+
+
+
+ Returns a ConstraintExpression, which will apply
+ the following constraint to all members of a collection,
+ succeeding only if a specified number of them succeed.
+
+
+
+
+ Returns a new PropertyConstraintExpression, which will either
+ test for the existence of the named property on the object
+ being tested or apply any following constraint to that property.
+
+
+
+
+ Returns a new ConstraintExpression, which will apply the following
+ constraint to the Length property of the object being tested.
+
+
+
+
+ Returns a new ConstraintExpression, which will apply the following
+ constraint to the Count property of the object being tested.
+
+
+
+
+ Returns a new ConstraintExpression, which will apply the following
+ constraint to the Message property of the object being tested.
+
+
+
+
+ Returns a new ConstraintExpression, which will apply the following
+ constraint to the InnerException property of the object being tested.
+
+
+
+
+ Returns a new AttributeConstraint checking for the
+ presence of a particular attribute on an object.
+
+
+
+
+ Returns a new AttributeConstraint checking for the
+ presence of a particular attribute on an object.
+
+
+
+
+ Returns a constraint that tests for null
+
+
+
+
+ Returns a constraint that tests for True
+
+
+
+
+ Returns a constraint that tests for False
+
+
+
+
+ Returns a constraint that tests for a positive value
+
+
+
+
+ Returns a constraint that tests for a negative value
+
+
+
+
+ Returns a constraint that tests for equality with zero
+
+
+
+
+ Returns a constraint that tests for NaN
+
+
+
+
+ Returns a constraint that tests for empty
+
+
+
+
+ Returns a constraint that tests whether a collection
+ contains all unique items.
+
+
+
+
+ Returns a constraint that tests whether an object graph is serializable in binary format.
+
+
+
+
+ Returns a constraint that tests whether an object graph is serializable in xml format.
+
+
+
+
+ Returns a constraint that tests two items for equality
+
+
+
+
+ Returns a constraint that tests that two references are the same object
+
+
+
+
+ Returns a constraint that tests whether the
+ actual value is greater than the supplied argument
+
+
+
+
+ Returns a constraint that tests whether the
+ actual value is greater than or equal to the supplied argument
+
+
+
+
+ Returns a constraint that tests whether the
+ actual value is greater than or equal to the supplied argument
+
+
+
+
+ Returns a constraint that tests whether the
+ actual value is less than the supplied argument
+
+
+
+
+ Returns a constraint that tests whether the
+ actual value is less than or equal to the supplied argument
+
+
+
+
+ Returns a constraint that tests whether the
+ actual value is less than or equal to the supplied argument
+
+
+
+
+ Returns a constraint that tests whether the actual
+ value is of the exact type supplied as an argument.
+
+
+
+
+ Returns a constraint that tests whether the actual
+ value is of the exact type supplied as an argument.
+
+
+
+
+ Returns a constraint that tests whether the actual value
+ is of the type supplied as an argument or a derived type.
+
+
+
+
+ Returns a constraint that tests whether the actual value
+ is of the type supplied as an argument or a derived type.
+
+
+
+
+ Returns a constraint that tests whether the actual value
+ is assignable from the type supplied as an argument.
+
+
+
+
+ Returns a constraint that tests whether the actual value
+ is assignable from the type supplied as an argument.
+
+
+
+
+ Returns a constraint that tests whether the actual value
+ is assignable from the type supplied as an argument.
+
+
+
+
+ Returns a constraint that tests whether the actual value
+ is assignable from the type supplied as an argument.
+
+
+
+
+ Returns a constraint that tests whether the actual value
+ is a collection containing the same elements as the
+ collection supplied as an argument.
+
+
+
+
+ Returns a constraint that tests whether the actual value
+ is a subset of the collection supplied as an argument.
+
+
+
+
+ Returns a constraint that tests whether the actual value
+ is a superset of the collection supplied as an argument.
+
+
+
+
+ Returns a constraint that tests whether a collection is ordered
+
+
+
+
+ Returns a new CollectionContainsConstraint checking for the
+ presence of a particular object in the collection.
+
+
+
+
+ Returns a new CollectionContainsConstraint checking for the
+ presence of a particular object in the collection.
+
+
+
+
+ Returns a new ContainsConstraint. This constraint
+ will, in turn, make use of the appropriate second-level
+ constraint, depending on the type of the actual argument.
+ This overload is only used if the item sought is a string,
+ since any other type implies that we are looking for a
+ collection member.
+
+
+
+
+ Returns a constraint that succeeds if the actual
+ value contains the substring supplied as an argument.
+
+
+
+
+ Returns a constraint that succeeds if the actual
+ value contains the substring supplied as an argument.
+
+
+
+
+ Returns a constraint that fails if the actual
+ value contains the substring supplied as an argument.
+
+
+
+
+ Returns a constraint that succeeds if the actual
+ value starts with the substring supplied as an argument.
+
+
+
+
+ Returns a constraint that succeeds if the actual
+ value starts with the substring supplied as an argument.
+
+
+
+
+ Returns a constraint that succeeds if the actual
+ value starts with the substring supplied as an argument.
+
+
+
+
+ Returns a constraint that fails if the actual
+ value starts with the substring supplied as an argument.
+
+
+
+
+ Returns a constraint that succeeds if the actual
+ value ends with the substring supplied as an argument.
+
+
+
+
+ Returns a constraint that succeeds if the actual
+ value ends with the substring supplied as an argument.
+
+
+
+
+ Returns a constraint that succeeds if the actual
+ value ends with the substring supplied as an argument.
+
+
+
+
+ Returns a constraint that fails if the actual
+ value ends with the substring supplied as an argument.
+
+
+
+
+ Returns a constraint that succeeds if the actual
+ value matches the regular expression supplied as an argument.
+
+
+
+
+ Returns a constraint that succeeds if the actual
+ value matches the regular expression supplied as an argument.
+
+
+
+
+ Returns a constraint that succeeds if the actual
+ value matches the regular expression supplied as an argument.
+
+
+
+
+ Returns a constraint that fails if the actual
+ value matches the pattern supplied as an argument.
+
+
+
+
+ Returns a constraint that tests whether the path provided
+ is the same as an expected path after canonicalization.
+
+
+
+
+ Returns a constraint that tests whether the path provided
+ is a subpath of the expected path after canonicalization.
+
+
+
+
+ Returns a constraint that tests whether the path provided
+ is the same path or under an expected path after canonicalization.
+
+
+
+
+ Returns a constraint that tests whether the actual value falls
+ within a specified range.
+
+
+
+
+ ConstraintStatus represents the status of a ConstraintResult
+ returned by a Constraint being applied to an actual value.
+
+
+
+
+ The status has not yet been set
+
+
+
+
+ The constraint succeeded
+
+
+
+
+ The constraint failed
+
+
+
+
+ An error occured in applying the constraint (reserved for future use)
+
+
+
+
+ Contain the result of matching a against an actual value.
+
+
+
+
+ Constructs a for a particular .
+
+ The Constraint to which this result applies.
+ The actual value to which the Constraint was applied.
+
+
+
+ Constructs a for a particular .
+
+ The Constraint to which this result applies.
+ The actual value to which the Constraint was applied.
+ The status of the new ConstraintResult.
+
+
+
+ Constructs a for a particular .
+
+ The Constraint to which this result applies.
+ The actual value to which the Constraint was applied.
+ If true, applies a status of Success to the result, otherwise Failure.
+
+
+
+ The actual value that was passed to the method.
+
+
+
+
+ Gets and sets the ResultStatus for this result.
+
+
+
+
+ True if actual value meets the Constraint criteria otherwise false.
+
+
+
+
+ Display friendly name of the constraint.
+
+
+
+
+ Description of the constraint may be affected by the state the constraint had
+ when was performed against the actual value.
+
+
+
+
+ Write the failure message to the MessageWriter provided
+ as an argument. The default implementation simply passes
+ the result and the actual value to the writer, which
+ then displays the constraint description and the value.
+
+ Constraints that need to provide additional details,
+ such as where the error occured can override this.
+
+ The MessageWriter on which to display the message
+
+
+
+ Write the actual value for a failing constraint test to a
+ MessageWriter. The default implementation simply writes
+ the raw value of actual, leaving it to the writer to
+ perform any formatting.
+
+ The writer on which the actual value is displayed
+
+
+
+ ContainsConstraint tests a whether a string contains a substring
+ or a collection contains an object. It postpones the decision of
+ which test to use until the type of the actual argument is known.
+ This allows testing whether a string is contained in a collection
+ or as a substring of another string using the same syntax.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The _expected.
+
+
+
+ The Description of what this constraint tests, for
+ use in messages and in the ConstraintResult.
+
+
+
+
+ Flag the constraint to ignore case and return self.
+
+
+
+
+ Test whether the constraint is satisfied by a given value
+
+ The value to be tested
+ True for success, false for failure
+
+
+
+ Applies a delay to the match so that a match can be evaluated in the future.
+
+
+
+
+ Creates a new DelayedConstraint
+
+ The inner constraint to decorate
+ The time interval after which the match is performed
+ If the value of is less than 0
+
+
+
+ Creates a new DelayedConstraint
+
+ The inner constraint to decorate
+ The time interval after which the match is performed, in milliseconds
+ The time interval used for polling, in milliseconds
+ If the value of is less than 0
+
+
+
+ Gets text describing a constraint
+
+
+
+
+ Test whether the constraint is satisfied by a given value
+
+ The value to be tested
+ True for if the base constraint fails, false if it succeeds
+
+
+
+ Test whether the constraint is satisfied by a delegate
+
+ The delegate whose value is to be tested
+ A ConstraintResult
+
+
+
+ Test whether the constraint is satisfied by a given reference.
+ Overridden to wait for the specified delay period before
+ calling the base constraint with the dereferenced value.
+
+ A reference to the value to be tested
+ True for success, false for failure
+
+
+
+ Returns the string representation of the constraint.
+
+
+
+
+ Adjusts a Timestamp by a given TimeSpan
+
+
+
+
+
+
+
+ Returns the difference between two Timestamps as a TimeSpan
+
+
+
+
+
+
+
+ DictionaryContainsKeyConstraint is used to test whether a dictionary
+ contains an expected object as a key.
+
+
+
+
+ Construct a DictionaryContainsKeyConstraint
+
+
+
+
+
+ The Description of what this constraint tests, for
+ use in messages and in the ConstraintResult.
+
+
+
+
+ Test whether the expected key is contained in the dictionary
+
+
+
+
+ DictionaryContainsValueConstraint is used to test whether a dictionary
+ contains an expected object as a value.
+
+
+
+
+ Construct a DictionaryContainsValueConstraint
+
+
+
+
+
+ The Description of what this constraint tests, for
+ use in messages and in the ConstraintResult.
+
+
+
+
+ Test whether the expected value is contained in the dictionary
+
+
+
+
+ EmptyCollectionConstraint tests whether a collection is empty.
+
+
+
+
+ The Description of what this constraint tests, for
+ use in messages and in the ConstraintResult.
+
+
+
+
+ Check that the collection is empty
+
+
+
+
+
+
+ EmptyConstraint tests a whether a string or collection is empty,
+ postponing the decision about which test is applied until the
+ type of the actual argument is known.
+
+
+
+
+ The Description of what this constraint tests, for
+ use in messages and in the ConstraintResult.
+
+
+
+
+ Test whether the constraint is satisfied by a given value
+
+ The value to be tested
+ True for success, false for failure
+
+
+
+ EmptyDirectoryConstraint is used to test that a directory is empty
+
+
+
+
+ The Description of what this constraint tests, for
+ use in messages and in the ConstraintResult.
+
+
+
+
+ Test whether the constraint is satisfied by a given value
+
+ The value to be tested
+ True for success, false for failure
+
+
+
+ EmptyStringConstraint tests whether a string is empty.
+
+
+
+
+ The Description of what this constraint tests, for
+ use in messages and in the ConstraintResult.
+
+
+
+
+ Test whether the constraint is satisfied by a given value
+
+ The value to be tested
+ True for success, false for failure
+
+
+
+ EndsWithConstraint can test whether a string ends
+ with an expected substring.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The expected string
+
+
+
+ Test whether the constraint is matched by the actual value.
+ This is a template method, which calls the IsMatch method
+ of the derived class.
+
+
+
+
+
+
+ EqualConstraint is able to compare an actual value with the
+ expected value provided in its constructor. Two objects are
+ considered equal if both are null, or if both have the same
+ value. NUnit has special semantics for some object types.
+
+
+
+
+ NUnitEqualityComparer used to test equality.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The expected value.
+
+
+
+ Gets the tolerance for this comparison.
+
+
+ The tolerance.
+
+
+
+
+ Gets a value indicating whether to compare case insensitive.
+
+
+ true if comparing case insensitive; otherwise, false.
+
+
+
+
+ Gets a value indicating whether or not to clip strings.
+
+
+ true if set to clip strings otherwise, false.
+
+
+
+
+ Gets the failure points.
+
+
+ The failure points.
+
+
+
+
+ Flag the constraint to ignore case and return self.
+
+
+
+
+ Flag the constraint to suppress string clipping
+ and return self.
+
+
+
+
+ Flag the constraint to compare arrays as collections
+ and return self.
+
+
+
+
+ Flag the constraint to use a tolerance when determining equality.
+
+ Tolerance value to be used
+ Self.
+
+
+
+ Flags the constraint to include
+ property in comparison of two values.
+
+
+ Using this modifier does not allow to use the
+ constraint modifier.
+
+
+
+
+ Switches the .Within() modifier to interpret its tolerance as
+ a distance in representable _values (see remarks).
+
+ Self.
+
+ Ulp stands for "unit in the last place" and describes the minimum
+ amount a given value can change. For any integers, an ulp is 1 whole
+ digit. For floating point _values, the accuracy of which is better
+ for smaller numbers and worse for larger numbers, an ulp depends
+ on the size of the number. Using ulps for comparison of floating
+ point results instead of fixed tolerances is safer because it will
+ automatically compensate for the added inaccuracy of larger numbers.
+
+
+
+
+ Switches the .Within() modifier to interpret its tolerance as
+ a percentage that the actual _values is allowed to deviate from
+ the expected value.
+
+ Self
+
+
+
+ Causes the tolerance to be interpreted as a TimeSpan in days.
+
+ Self
+
+
+
+ Causes the tolerance to be interpreted as a TimeSpan in hours.
+
+ Self
+
+
+
+ Causes the tolerance to be interpreted as a TimeSpan in minutes.
+
+ Self
+
+
+
+ Causes the tolerance to be interpreted as a TimeSpan in seconds.
+
+ Self
+
+
+
+ Causes the tolerance to be interpreted as a TimeSpan in milliseconds.
+
+ Self
+
+
+
+ Causes the tolerance to be interpreted as a TimeSpan in clock ticks.
+
+ Self
+
+
+
+ Flag the constraint to use the supplied IComparer object.
+
+ The IComparer object to use.
+ Self.
+
+
+
+ Flag the constraint to use the supplied IComparer object.
+
+ The IComparer object to use.
+ Self.
+
+
+
+ Flag the constraint to use the supplied Comparison object.
+
+ The IComparer object to use.
+ Self.
+
+
+
+ Flag the constraint to use the supplied IEqualityComparer object.
+
+ The IComparer object to use.
+ Self.
+
+
+
+ Flag the constraint to use the supplied IEqualityComparer object.
+
+ The IComparer object to use.
+ Self.
+
+
+
+ Test whether the constraint is satisfied by a given value
+
+ The value to be tested
+ True for success, false for failure
+
+
+
+ The Description of what this constraint tests, for
+ use in messages and in the ConstraintResult.
+
+
+
+
+ EqualityAdapter class handles all equality comparisons
+ that use an ,
+ or a .
+
+
+
+
+ Compares two objects, returning true if they are equal
+
+
+
+
+ Returns true if the two objects can be compared by this adapter.
+ The base adapter cannot handle IEnumerables except for strings.
+
+
+
+
+ Returns an that wraps an .
+
+
+
+
+ that wraps an .
+
+
+
+
+ Returns an that wraps an .
+
+
+
+
+ Returns an EqualityAdapter that uses a predicate function for items comparison.
+
+
+
+
+
+
+
+
+ Returns true if the two objects can be compared by this adapter.
+ The base adapter cannot handle IEnumerables except for strings.
+
+
+
+
+ Compares two objects, returning true if they are equal
+
+
+
+
+ Returns true if the two objects can be compared by this adapter.
+ Generic adapter requires objects of the specified type.
+
+
+
+
+ Returns an that wraps an .
+
+
+
+
+ Returns an that wraps an .
+
+
+
+
+ that wraps an .
+
+
+
+
+ Returns an that wraps a .
+
+
+
+
+ ExactTypeConstraint is used to test that an object
+ is of the exact type provided in the constructor
+
+
+
+
+ Construct an ExactTypeConstraint for a given Type
+
+ The expected Type.
+
+
+
+ Apply the constraint to an actual value, returning true if it succeeds
+
+ The actual argument
+ True if the constraint succeeds, otherwise false.
+
+
+
+ The Description of what this constraint tests, for
+ use in messages and in the ConstraintResult.
+
+
+
+
+ Applies the constraint to an actual value, returning a ConstraintResult.
+
+ The value to be tested
+ A ConstraintResult
+
+
+
+ FalseConstraint tests that the actual value is false
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Test whether the constraint is satisfied by a given value
+
+ The value to be tested
+ True for success, false for failure
+
+
+
+ FileExistsConstraint is used to determine if a file exists
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ The Description of what this constraint tests, for
+ use in messages and in the ConstraintResult.
+
+
+
+
+ FileOrDirectoryExistsConstraint is used to determine if a file or directory exists
+
+
+
+
+ If true, the constraint will only check if files exist, not directories
+
+
+
+
+ If true, the constraint will only check if directories exist, not files
+
+
+
+
+ Initializes a new instance of the class that
+ will check files and directories.
+
+
+
+
+ Initializes a new instance of the class that
+ will only check files if ignoreDirectories is true.
+
+ if set to true [ignore directories].
+
+
+
+ The Description of what this constraint tests, for
+ use in messages and in the ConstraintResult.
+
+
+
+
+ Applies the constraint to an actual value, returning a ConstraintResult.
+
+ The value to be tested
+ A ConstraintResult
+
+
+ Helper routines for working with floating point numbers
+
+
+ The floating point comparison code is based on this excellent article:
+ http://www.cygnus-software.com/papers/comparingfloats/comparingfloats.htm
+
+
+ "ULP" means Unit in the Last Place and in the context of this library refers to
+ the distance between two adjacent floating point numbers. IEEE floating point
+ numbers can only represent a finite subset of natural numbers, with greater
+ accuracy for smaller numbers and lower accuracy for very large numbers.
+
+
+ If a comparison is allowed "2 ulps" of deviation, that means the _values are
+ allowed to deviate by up to 2 adjacent floating point _values, which might be
+ as low as 0.0000001 for small numbers or as high as 10.0 for large numbers.
+
+
+
+
+ Union of a floating point variable and an integer
+
+
+ The union's value as a floating point variable
+
+
+ The union's value as an integer
+
+
+ The union's value as an unsigned integer
+
+
+ Union of a double precision floating point variable and a long
+
+
+ The union's value as a double precision floating point variable
+
+
+ The union's value as a long
+
+
+ The union's value as an unsigned long
+
+
+ Compares two floating point _values for equality
+ First floating point value to be compared
+ Second floating point value t be compared
+
+ Maximum number of representable floating point _values that are allowed to
+ be between the left and the right floating point _values
+
+ True if both numbers are equal or close to being equal
+
+
+ Floating point _values can only represent a finite subset of natural numbers.
+ For example, the _values 2.00000000 and 2.00000024 can be stored in a float,
+ but nothing inbetween them.
+
+
+ This comparison will count how many possible floating point _values are between
+ the left and the right number. If the number of possible _values between both
+ numbers is less than or equal to maxUlps, then the numbers are considered as
+ being equal.
+
+
+ Implementation partially follows the code outlined here:
+ http://www.anttirt.net/2007/08/19/proper-floating-point-comparisons/
+
+
+
+
+ Compares two double precision floating point _values for equality
+ First double precision floating point value to be compared
+ Second double precision floating point value t be compared
+
+ Maximum number of representable double precision floating point _values that are
+ allowed to be between the left and the right double precision floating point _values
+
+ True if both numbers are equal or close to being equal
+
+
+ Double precision floating point _values can only represent a limited series of
+ natural numbers. For example, the _values 2.0000000000000000 and 2.0000000000000004
+ can be stored in a double, but nothing inbetween them.
+
+
+ This comparison will count how many possible double precision floating point
+ _values are between the left and the right number. If the number of possible
+ _values between both numbers is less than or equal to maxUlps, then the numbers
+ are considered as being equal.
+
+
+ Implementation partially follows the code outlined here:
+ http://www.anttirt.net/2007/08/19/proper-floating-point-comparisons/
+
+
+
+
+
+ Reinterprets the memory contents of a floating point value as an integer value
+
+
+ Floating point value whose memory contents to reinterpret
+
+
+ The memory contents of the floating point value interpreted as an integer
+
+
+
+
+ Reinterprets the memory contents of a double precision floating point
+ value as an integer value
+
+
+ Double precision floating point value whose memory contents to reinterpret
+
+
+ The memory contents of the double precision floating point value
+ interpreted as an integer
+
+
+
+
+ Reinterprets the memory contents of an integer as a floating point value
+
+ Integer value whose memory contents to reinterpret
+
+ The memory contents of the integer value interpreted as a floating point value
+
+
+
+
+ Reinterprets the memory contents of an integer value as a double precision
+ floating point value
+
+ Integer whose memory contents to reinterpret
+
+ The memory contents of the integer interpreted as a double precision
+ floating point value
+
+
+
+
+ Tests whether a value is greater than the value supplied to its constructor
+
+
+
+
+ Initializes a new instance of the class.
+
+ The expected value.
+
+
+
+ Tests whether a value is greater than or equal to the value supplied to its constructor
+
+
+
+
+ Initializes a new instance of the class.
+
+ The expected value.
+
+
+
+ Interface for all constraints
+
+
+
+
+ The display name of this Constraint for use by ToString().
+
+
+
+
+ The Description of what this constraint tests, for
+ use in messages and in the ConstraintResult.
+
+
+
+
+ Arguments provided to this Constraint, for use in
+ formatting the description.
+
+
+
+
+ The ConstraintBuilder holding this constraint
+
+
+
+
+ Applies the constraint to an actual value, returning a ConstraintResult.
+
+ The value to be tested
+ A ConstraintResult
+
+
+
+ Applies the constraint to an ActualValueDelegate that returns
+ the value to be tested. The default implementation simply evaluates
+ the delegate but derived classes may override it to provide for
+ delayed processing.
+
+ An ActualValueDelegate
+ A ConstraintResult
+
+
+
+ Test whether the constraint is satisfied by a given reference.
+ The default implementation simply dereferences the value but
+ derived classes may override it to provide for delayed processing.
+
+ A reference to the value to be tested
+ A ConstraintResult
+
+
+
+ InstanceOfTypeConstraint is used to test that an object
+ is of the same type provided or derived from it.
+
+
+
+
+ Construct an InstanceOfTypeConstraint for the type provided
+
+ The expected Type
+
+
+
+ Apply the constraint to an actual value, returning true if it succeeds
+
+ The actual argument
+ True if the constraint succeeds, otherwise false.
+
+
+
+ The IResolveConstraint interface is implemented by all
+ complete and resolvable constraints and expressions.
+
+
+
+
+ Return the top-level constraint for this expression
+
+
+
+
+
+ Tests whether a value is less than the value supplied to its constructor
+
+
+
+
+ Initializes a new instance of the class.
+
+ The expected value.
+
+
+
+ Tests whether a value is less than or equal to the value supplied to its constructor
+
+
+
+
+ Initializes a new instance of the class.
+
+ The expected value.
+
+
+
+ MessageWriter is the abstract base for classes that write
+ constraint descriptions and messages in some form. The
+ class has separate methods for writing various components
+ of a message, allowing implementations to tailor the
+ presentation as needed.
+
+
+
+
+ Construct a MessageWriter given a culture
+
+
+
+
+ Abstract method to get the max line length
+
+
+
+
+ Method to write single line message with optional args, usually
+ written to precede the general failure message.
+
+ The message to be written
+ Any arguments used in formatting the message
+
+
+
+ Method to write single line message with optional args, usually
+ written to precede the general failure message, at a givel
+ indentation level.
+
+ The indentation level of the message
+ The message to be written
+ Any arguments used in formatting the message
+
+
+
+ Display Expected and Actual lines for a constraint. This
+ is called by MessageWriter's default implementation of
+ WriteMessageTo and provides the generic two-line display.
+
+ The failing constraint result
+
+
+
+ Display Expected and Actual lines for given _values. This
+ method may be called by constraints that need more control over
+ the display of actual and expected _values than is provided
+ by the default implementation.
+
+ The expected value
+ The actual value causing the failure
+
+
+
+ Display Expected and Actual lines for given _values, including
+ a tolerance value on the Expected line.
+
+ The expected value
+ The actual value causing the failure
+ The tolerance within which the test was made
+
+
+
+ Display the expected and actual string _values on separate lines.
+ If the mismatch parameter is >=0, an additional line is displayed
+ line containing a caret that points to the mismatch point.
+
+ The expected string value
+ The actual string value
+ The point at which the strings don't match or -1
+ If true, case is ignored in locating the point where the strings differ
+ If true, the strings should be clipped to fit the line
+
+
+
+ Writes the text for an actual value.
+
+ The actual value.
+
+
+
+ Writes the text for a generalized value.
+
+ The value.
+
+
+
+ Writes the text for a collection value,
+ starting at a particular point, to a max length
+
+ The collection containing elements to write.
+ The starting point of the elements to write
+ The maximum number of elements to write
+
+
+
+ Custom value formatter function
+
+ The value
+
+
+
+
+ Custom value formatter factory function
+
+ The next formatter function
+ ValueFormatter
+ If the given formatter is unable to handle a certain format, it must call the next formatter in the chain
+
+
+
+ Static methods used in creating messages
+
+
+
+
+ Static string used when strings are clipped
+
+
+
+
+ Formatting strings used for expected and actual _values
+
+
+
+
+ Current head of chain of value formatters. Public for testing.
+
+
+
+
+ Add a formatter to the chain of responsibility.
+
+
+
+
+
+ Formats text to represent a generalized value.
+
+ The value
+ The formatted text
+
+
+
+ Formats text for a collection value,
+ starting at a particular point, to a max length
+
+ The collection containing elements to write.
+ The starting point of the elements to write
+ The maximum number of elements to write
+
+
+
+ Returns the representation of a type as used in NUnitLite.
+ This is the same as Type.ToString() except for arrays,
+ which are displayed with their declared sizes.
+
+
+
+
+
+
+ Converts any control characters in a string
+ to their escaped representation.
+
+ The string to be converted
+ The converted string
+
+
+
+ Return the a string representation for a set of indices into an array
+
+ Array of indices for which a string is needed
+
+
+
+ Get an array of indices representing the point in a collection or
+ array corresponding to a single int index into the collection.
+
+ The collection to which the indices apply
+ Index in the collection
+ Array of indices
+
+
+
+ Clip a string to a given length, starting at a particular offset, returning the clipped
+ string with ellipses representing the removed parts
+
+ The string to be clipped
+ The maximum permitted length of the result string
+ The point at which to start clipping
+ The clipped string
+
+
+
+ Clip the expected and actual strings in a coordinated fashion,
+ so that they may be displayed together.
+
+
+
+
+
+
+
+
+ Shows the position two strings start to differ. Comparison
+ starts at the start index.
+
+ The expected string
+ The actual string
+ The index in the strings at which comparison should start
+ Boolean indicating whether case should be ignored
+ -1 if no mismatch found, or the index where mismatch found
+
+
+
+ NaNConstraint tests that the actual value is a double or float NaN
+
+
+
+
+ The Description of what this constraint tests, for
+ use in messages and in the ConstraintResult.
+
+
+
+
+ Test that the actual value is an NaN
+
+
+
+
+
+
+ NoItemConstraint applies another constraint to each
+ item in a collection, failing if any of them succeeds.
+
+
+
+
+ Construct a SomeItemsConstraint on top of an existing constraint
+
+
+
+
+
+ Apply the item constraint to each item in the collection,
+ failing if any item fails.
+
+
+
+
+
+
+ NotConstraint negates the effect of some other constraint
+
+
+
+
+ Initializes a new instance of the class.
+
+ The base constraint to be negated.
+
+
+
+ Test whether the constraint is satisfied by a given value
+
+ The value to be tested
+ True for if the base constraint fails, false if it succeeds
+
+
+
+ NullConstraint tests that the actual value is null
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Applies the constraint to an actual value, returning a ConstraintResult.
+
+ The value to be tested
+ A ConstraintResult
+
+
+
+ The Numerics class contains common operations on numeric _values.
+
+
+
+
+ Checks the type of the object, returning true if
+ the object is a numeric type.
+
+ The object to check
+ true if the object is a numeric type
+
+
+
+ Checks the type of the object, returning true if
+ the object is a floating point numeric type.
+
+ The object to check
+ true if the object is a floating point numeric type
+
+
+
+ Checks the type of the object, returning true if
+ the object is a fixed point numeric type.
+
+ The object to check
+ true if the object is a fixed point numeric type
+
+
+
+ Test two numeric _values for equality, performing the usual numeric
+ conversions and using a provided or default tolerance. If the tolerance
+ provided is Empty, this method may set it to a default tolerance.
+
+ The expected value
+ The actual value
+ A reference to the tolerance in effect
+ True if the _values are equal
+
+
+
+ Compare two numeric _values, performing the usual numeric conversions.
+
+ The expected value
+ The actual value
+ The relationship of the _values to each other
+
+
+
+ NUnitComparer encapsulates NUnit's default behavior
+ in comparing two objects.
+
+
+
+
+ Returns the default NUnitComparer.
+
+
+
+
+ Compares two objects
+
+
+
+
+
+
+
+ NUnitEqualityComparer encapsulates NUnit's handling of
+ equality tests between objects.
+
+
+
+
+ If true, all string comparisons will ignore case
+
+
+
+
+ If true, arrays will be treated as collections, allowing
+ those of different dimensions to be compared
+
+
+
+
+ Comparison objects used in comparisons for some constraints.
+
+
+
+
+ List of points at which a failure occurred.
+
+
+
+
+ Returns the default NUnitEqualityComparer
+
+
+
+
+ Gets and sets a flag indicating whether case should
+ be ignored in determining equality.
+
+
+
+
+ Gets and sets a flag indicating that arrays should be
+ compared as collections, without regard to their shape.
+
+
+
+
+ Gets the list of external comparers to be used to
+ test for equality. They are applied to members of
+ collections, in place of NUnit's own logic.
+
+
+
+
+ Gets the list of failure points for the last Match performed.
+ The list consists of objects to be interpreted by the caller.
+ This generally means that the caller may only make use of
+ objects it has placed on the list at a particular depthy.
+
+
+
+
+ Flags the comparer to include
+ property in comparison of two values.
+
+
+ Using this modifier does not allow to use the
+ modifier.
+
+
+
+
+ Compares two objects for equality within a tolerance.
+
+
+
+
+ Helper method to compare two arrays
+
+
+
+
+ Method to compare two DirectoryInfo objects
+
+ first directory to compare
+ second directory to compare
+ true if equivalent, false if not
+
+
+
+ FailurePoint class represents one point of failure
+ in an equality test.
+
+
+
+
+ The location of the failure
+
+
+
+
+ The expected value
+
+
+
+
+ The actual value
+
+
+
+
+ Indicates whether the expected value is valid
+
+
+
+
+ Indicates whether the actual value is valid
+
+
+
+
+ Represents a constraint that succeeds if all the
+ members of a collection match a base constraint.
+
+
+
+
+ Returns a constraint that will apply the argument
+ to the members of a collection, succeeding if
+ they all succeed.
+
+
+
+
+ Operator that requires both it's arguments to succeed
+
+
+
+
+ Construct an AndOperator
+
+
+
+
+ Apply the operator to produce an AndConstraint
+
+
+
+
+ Operator that tests for the presence of a particular attribute
+ on a type and optionally applies further tests to the attribute.
+
+
+
+
+ Construct an AttributeOperator for a particular Type
+
+ The Type of attribute tested
+
+
+
+ Reduce produces a constraint from the operator and
+ any arguments. It takes the arguments from the constraint
+ stack and pushes the resulting constraint on it.
+
+
+
+
+ Abstract base class for all binary operators
+
+
+
+
+ Reduce produces a constraint from the operator and
+ any arguments. It takes the arguments from the constraint
+ stack and pushes the resulting constraint on it.
+
+
+
+
+
+ Gets the left precedence of the operator
+
+
+
+
+ Gets the right precedence of the operator
+
+
+
+
+ Abstract method that produces a constraint by applying
+ the operator to its left and right constraint arguments.
+
+
+
+
+ Abstract base for operators that indicate how to
+ apply a constraint to items in a collection.
+
+
+
+
+ Constructs a CollectionOperator
+
+
+
+
+ The ConstraintOperator class is used internally by a
+ ConstraintBuilder to represent an operator that
+ modifies or combines constraints.
+
+ Constraint operators use left and right precedence
+ _values to determine whether the top operator on the
+ stack should be reduced before pushing a new operator.
+
+
+
+
+ The precedence value used when the operator
+ is about to be pushed to the stack.
+
+
+
+
+ The precedence value used when the operator
+ is on the top of the stack.
+
+
+
+
+ The syntax element preceding this operator
+
+
+
+
+ The syntax element following this operator
+
+
+
+
+ The precedence value used when the operator
+ is about to be pushed to the stack.
+
+
+
+
+ The precedence value used when the operator
+ is on the top of the stack.
+
+
+
+
+ Reduce produces a constraint from the operator and
+ any arguments. It takes the arguments from the constraint
+ stack and pushes the resulting constraint on it.
+
+
+
+
+
+ Represents a constraint that succeeds if none of the
+ members of a collection match a base constraint.
+
+
+
+
+ Returns a constraint that will apply the argument
+ to the members of a collection, succeeding if
+ none of them succeed.
+
+
+
+
+ Negates the test of the constraint it wraps.
+
+
+
+
+ Constructs a new NotOperator
+
+
+
+
+ Returns a NotConstraint applied to its argument.
+
+
+
+
+ Operator that requires at least one of it's arguments to succeed
+
+
+
+
+ Construct an OrOperator
+
+
+
+
+ Apply the operator to produce an OrConstraint
+
+
+
+
+ PrefixOperator takes a single constraint and modifies
+ it's action in some way.
+
+
+
+
+ Reduce produces a constraint from the operator and
+ any arguments. It takes the arguments from the constraint
+ stack and pushes the resulting constraint on it.
+
+
+
+
+
+ Returns the constraint created by applying this
+ prefix to another constraint.
+
+
+
+
+
+
+ Operator used to test for the presence of a named Property
+ on an object and optionally apply further tests to the
+ value of that property.
+
+
+
+
+ Gets the name of the property to which the operator applies
+
+
+
+
+ Constructs a PropOperator for a particular named property
+
+
+
+
+ Reduce produces a constraint from the operator and
+ any arguments. It takes the arguments from the constraint
+ stack and pushes the resulting constraint on it.
+
+
+
+
+
+ Abstract base class for operators that are able to reduce to a
+ constraint whether or not another syntactic element follows.
+
+
+
+
+ Represents a constraint that succeeds if any of the
+ members of a collection match a base constraint.
+
+
+
+
+ Returns a constraint that will apply the argument
+ to the members of a collection, succeeding if
+ any of them succeed.
+
+
+
+
+ Operator that tests that an exception is thrown and
+ optionally applies further tests to the exception.
+
+
+
+
+ Construct a ThrowsOperator
+
+
+
+
+ Reduce produces a constraint from the operator and
+ any arguments. It takes the arguments from the constraint
+ stack and pushes the resulting constraint on it.
+
+
+
+
+ Represents a constraint that simply wraps the
+ constraint provided as an argument, without any
+ further functionality, but which modifies the
+ order of evaluation because of its precedence.
+
+
+
+
+ Constructor for the WithOperator
+
+
+
+
+ Returns a constraint that wraps its argument
+
+
+
+
+ OrConstraint succeeds if either member succeeds
+
+
+
+
+ Create an OrConstraint from two other constraints
+
+ The first constraint
+ The second constraint
+
+
+
+ Gets text describing a constraint
+
+
+
+
+ Apply the member constraints to an actual value, succeeding
+ succeeding as soon as one of them succeeds.
+
+ The actual value
+ True if either constraint succeeded
+
+
+
+ PathConstraint serves as the abstract base of constraints
+ that operate on paths and provides several helper methods.
+
+
+
+
+ Construct a PathConstraint for a give expected path
+
+ The expected path
+
+
+
+ Modifies the current instance to be case-sensitive
+ and returns it.
+
+
+
+
+ Returns the string representation of this constraint
+
+
+
+
+ Canonicalize the provided path
+
+
+ The path in standardized form
+
+
+
+ Test whether one path in canonical form is a subpath of another path
+
+ The first path - supposed to be the parent path
+ The second path - supposed to be the child path
+
+
+
+
+ Predicate constraint wraps a Predicate in a constraint,
+ returning success if the predicate is true.
+
+
+
+
+ Construct a PredicateConstraint from a predicate
+
+
+
+
+ Gets text describing a constraint
+
+
+
+
+ Determines whether the predicate succeeds when applied
+ to the actual value.
+
+
+
+
+ Abstract base class used for prefixes
+
+
+
+
+ The base constraint
+
+
+
+
+ Prefix used in forming the constraint description
+
+
+
+
+ Construct given a base constraint
+
+
+
+
+
+ The Description of what this constraint tests, for
+ use in messages and in the ConstraintResult.
+
+
+
+
+ PropertyConstraint extracts a named property and uses
+ its value as the actual value for a chained constraint.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The name.
+ The constraint to apply to the property.
+
+
+
+ Test whether the constraint is satisfied by a given value
+
+ The value to be tested
+ True for success, false for failure
+
+
+
+ Returns the string representation of the constraint.
+
+
+
+
+
+ PropertyExistsConstraint tests that a named property
+ exists on the object provided through Match.
+
+ Originally, PropertyConstraint provided this feature
+ in addition to making optional tests on the value
+ of the property. The two constraints are now separate.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The name of the property.
+
+
+
+ The Description of what this constraint tests, for
+ use in messages and in the ConstraintResult.
+
+
+
+
+ Test whether the property exists for a given object
+
+ The object to be tested
+ True for success, false for failure
+
+
+
+ Returns the string representation of the constraint.
+
+
+
+
+
+ RangeConstraint tests whether two _values are within a
+ specified range.
+
+
+
+
+ Initializes a new instance of the class.
+
+ from must be less than or equal to true
+ Inclusive beginning of the range. Must be less than or equal to to.
+ Inclusive end of the range. Must be greater than or equal to from.
+
+
+
+ Gets text describing a constraint
+
+
+
+
+ Test whether the constraint is satisfied by a given value
+
+ The value to be tested
+ True for success, false for failure
+
+
+
+ Modifies the constraint to use an and returns self.
+
+
+
+
+ Modifies the constraint to use an and returns self.
+
+
+
+
+ Modifies the constraint to use a and returns self.
+
+
+
+
+ RegexConstraint can test whether a string matches
+ the pattern provided.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The pattern.
+
+
+
+ Test whether the constraint is satisfied by a given value
+
+ The value to be tested
+ True for success, false for failure
+
+
+
+ ResolvableConstraintExpression is used to represent a compound
+ constraint being constructed at a point where the last operator
+ may either terminate the expression or may have additional
+ qualifying constraints added to it.
+
+ It is used, for example, for a Property element or for
+ an Exception element, either of which may be optionally
+ followed by constraints that apply to the property or
+ exception.
+
+
+
+
+ Create a new instance of ResolvableConstraintExpression
+
+
+
+
+ Create a new instance of ResolvableConstraintExpression,
+ passing in a pre-populated ConstraintBuilder.
+
+
+
+
+ Appends an And Operator to the expression
+
+
+
+
+ Appends an Or operator to the expression.
+
+
+
+
+ Resolve the current expression to a Constraint
+
+
+
+
+ ReusableConstraint wraps a constraint expression after
+ resolving it so that it can be reused consistently.
+
+
+
+
+ Construct a ReusableConstraint from a constraint expression
+
+ The expression to be resolved and reused
+
+
+
+ Converts a constraint to a ReusableConstraint
+
+ The constraint to be converted
+ A ReusableConstraint
+
+
+
+ Returns a that represents this instance.
+
+
+ A that represents this instance.
+
+
+
+
+ Return the top-level constraint for this expression
+
+
+
+
+
+ SameAsConstraint tests whether an object is identical to
+ the object passed to its constructor
+
+
+
+
+ Initializes a new instance of the class.
+
+ The expected object.
+
+
+
+ The Description of what this constraint tests, for
+ use in messages and in the ConstraintResult.
+
+
+
+
+ Test whether the constraint is satisfied by a given value
+
+ The value to be tested
+ True for success, false for failure
+
+
+
+ Summary description for SamePathConstraint.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The expected path
+
+
+
+ The Description of what this constraint tests, for
+ use in messages and in the ConstraintResult.
+
+
+
+
+ Test whether the constraint is satisfied by a given value
+
+ The value to be tested
+ True for success, false for failure
+
+
+
+ SamePathOrUnderConstraint tests that one path is under another
+
+
+
+
+ Initializes a new instance of the class.
+
+ The expected path
+
+
+
+ The Description of what this constraint tests, for
+ use in messages and in the ConstraintResult.
+
+
+
+
+ Test whether the constraint is satisfied by a given value
+
+ The value to be tested
+ True for success, false for failure
+
+
+
+ SomeItemsConstraint applies another constraint to each
+ item in a collection, succeeding if any of them succeeds.
+
+
+
+
+ Construct a SomeItemsConstraint on top of an existing constraint
+
+
+
+
+
+ Apply the item constraint to each item in the collection,
+ succeeding if any item succeeds.
+
+
+
+
+
+
+ The EqualConstraintResult class is tailored for formatting
+ and displaying the result of an EqualConstraint.
+
+
+
+
+ Construct an EqualConstraintResult
+
+
+
+
+ Write a failure message. Overridden to provide custom
+ failure messages for EqualConstraint.
+
+ The MessageWriter to write to
+
+
+
+ Display the failure information for two collections that did not match.
+
+ The MessageWriter on which to display
+ The expected collection.
+ The actual collection
+ The depth of this failure in a set of nested collections
+
+
+
+ Displays a single line showing the types and sizes of the expected
+ and actual collections or arrays. If both are identical, the value is
+ only shown once.
+
+ The MessageWriter on which to display
+ The expected collection or array
+ The actual collection or array
+ The indentation level for the message line
+
+
+
+ Displays a single line showing the point in the expected and actual
+ arrays at which the comparison failed. If the arrays have different
+ structures or dimensions, both _values are shown.
+
+ The MessageWriter on which to display
+ The expected array
+ The actual array
+ Index of the failure point in the underlying collections
+ The indentation level for the message line
+
+
+
+ Display the failure information for two IEnumerables that did not match.
+
+ The MessageWriter on which to display
+ The expected enumeration.
+ The actual enumeration
+ The depth of this failure in a set of nested collections
+
+
+
+ StartsWithConstraint can test whether a string starts
+ with an expected substring.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The expected string
+
+
+
+ Test whether the constraint is matched by the actual value.
+ This is a template method, which calls the IsMatch method
+ of the derived class.
+
+
+
+
+
+
+ StringConstraint is the abstract base for constraints
+ that operate on strings. It supports the IgnoreCase
+ modifier for string operations.
+
+
+
+
+ The expected value
+
+
+
+
+ Indicates whether tests should be case-insensitive
+
+
+
+
+ Description of this constraint
+
+
+
+
+ The Description of what this constraint tests, for
+ use in messages and in the ConstraintResult.
+
+
+
+
+ Constructs a StringConstraint without an expected value
+
+
+
+
+ Constructs a StringConstraint given an expected value
+
+ The expected value
+
+
+
+ Modify the constraint to ignore case in matching.
+
+
+
+
+ Test whether the constraint is satisfied by a given value
+
+ The value to be tested
+ True for success, false for failure
+
+
+
+ Test whether the constraint is satisfied by a given string
+
+ The string to be tested
+ True for success, false for failure
+
+
+
+ SubPathConstraint tests that the actual path is under the expected path
+
+
+
+
+ Initializes a new instance of the class.
+
+ The expected path
+
+
+
+ The Description of what this constraint tests, for
+ use in messages and in the ConstraintResult.
+
+
+
+
+ Test whether the constraint is satisfied by a given value
+
+ The value to be tested
+ True for success, false for failure
+
+
+
+ SubstringConstraint can test whether a string contains
+ the expected substring.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The expected.
+
+
+
+ Test whether the constraint is satisfied by a given value
+
+ The value to be tested
+ True for success, false for failure
+
+
+
+ ThrowsConstraint is used to test the exception thrown by
+ a delegate by applying a constraint to it.
+
+
+
+
+ Initializes a new instance of the class,
+ using a constraint to be applied to the exception.
+
+ A constraint to apply to the caught exception.
+
+
+
+ Get the actual exception thrown - used by Assert.Throws.
+
+
+
+
+ Gets text describing a constraint
+
+
+
+
+ Executes the code of the delegate and captures any exception.
+ If a non-null base constraint was provided, it applies that
+ constraint to the exception.
+
+ A delegate representing the code to be tested
+ True if an exception is thrown and the constraint succeeds, otherwise false
+
+
+
+ Converts an ActualValueDelegate to a TestDelegate
+ before calling the primary overload.
+
+
+
+
+
+
+ Write the actual value for a failing constraint test to a
+ MessageWriter. This override only handles the special message
+ used when an exception is expected but none is thrown.
+
+ The writer on which the actual value is displayed
+
+
+
+ ThrowsExceptionConstraint tests that an exception has
+ been thrown, without any further tests.
+
+
+
+
+ The Description of what this constraint tests, for
+ use in messages and in the ConstraintResult.
+
+
+
+
+ Executes the code and returns success if an exception is thrown.
+
+ A delegate representing the code to be tested
+ True if an exception is thrown, otherwise false
+
+
+
+ Returns the ActualValueDelegate itself as the value to be tested.
+
+ A delegate representing the code to be tested
+ The delegate itself
+
+
+
+ ThrowsNothingConstraint tests that a delegate does not
+ throw an exception.
+
+
+
+
+ Gets text describing a constraint
+
+
+
+
+ Test whether the constraint is satisfied by a given value
+
+ The value to be tested
+ True if no exception is thrown, otherwise false
+
+
+
+ Applies the constraint to an ActualValueDelegate that returns
+ the value to be tested. The default implementation simply evaluates
+ the delegate but derived classes may override it to provide for
+ delayed processing.
+
+ An ActualValueDelegate
+ A ConstraintResult
+
+
+
+ The Tolerance class generalizes the notion of a tolerance
+ within which an equality test succeeds. Normally, it is
+ used with numeric types, but it can be used with any
+ type that supports taking a difference between two
+ objects and comparing that difference to a value.
+
+
+
+
+ Returns a default Tolerance object, equivalent to
+ specifying an exact match unless
+ is set, in which case, the
+ will be used.
+
+
+
+
+ Returns an empty Tolerance object, equivalent to
+ specifying an exact match even if
+ is set.
+
+
+
+
+ Constructs a linear tolerance of a specified amount
+
+
+
+
+ Constructs a tolerance given an amount and
+
+
+
+
+ Gets the for the current Tolerance
+
+
+
+
+ Tests that the current Tolerance is linear with a
+ numeric value, throwing an exception if it is not.
+
+
+
+
+ Gets the value of the current Tolerance instance.
+
+
+
+
+ Returns a new tolerance, using the current amount as a percentage.
+
+
+
+
+ Returns a new tolerance, using the current amount in Ulps
+
+
+
+
+ Returns a new tolerance with a as the amount, using
+ the current amount as a number of days.
+
+
+
+
+ Returns a new tolerance with a as the amount, using
+ the current amount as a number of hours.
+
+
+
+
+ Returns a new tolerance with a as the amount, using
+ the current amount as a number of minutes.
+
+
+
+
+ Returns a new tolerance with a as the amount, using
+ the current amount as a number of seconds.
+
+
+
+
+ Returns a new tolerance with a as the amount, using
+ the current amount as a number of milliseconds.
+
+
+
+
+ Returns a new tolerance with a as the amount, using
+ the current amount as a number of clock ticks.
+
+
+
+
+ Returns true if the current tolerance has not been set or is using the .
+
+
+
+
+ Modes in which the tolerance value for a comparison can be interpreted.
+
+
+
+
+ The tolerance was created with a value, without specifying
+ how the value would be used. This is used to prevent setting
+ the mode more than once and is generally changed to Linear
+ upon execution of the test.
+
+
+
+
+ The tolerance is used as a numeric range within which
+ two compared _values are considered to be equal.
+
+
+
+
+ Interprets the tolerance as the percentage by which
+ the two compared _values my deviate from each other.
+
+
+
+
+ Compares two _values based in their distance in
+ representable numbers.
+
+
+
+
+ TrueConstraint tests that the actual value is true
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Test whether the constraint is satisfied by a given value
+
+ The value to be tested
+ True for success, false for failure
+
+
+
+ TypeConstraint is the abstract base for constraints
+ that take a Type as their expected value.
+
+
+
+
+ The expected Type used by the constraint
+
+
+
+
+ The type of the actual argument to which the constraint was applied
+
+
+
+
+ Construct a TypeConstraint for a given Type
+
+ The expected type for the constraint
+ Prefix used in forming the constraint description
+
+
+
+ Applies the constraint to an actual value, returning a ConstraintResult.
+
+ The value to be tested
+ A ConstraintResult
+
+
+
+ Apply the constraint to an actual value, returning true if it succeeds
+
+ The actual argument
+ True if the constraint succeeds, otherwise false.
+
+
+
+ UniqueItemsConstraint tests whether all the items in a
+ collection are unique.
+
+
+
+
+ The Description of what this constraint tests, for
+ use in messages and in the ConstraintResult.
+
+
+
+
+ Check that all items are unique.
+
+
+
+
+
+
+ XmlSerializableConstraint tests whether
+ an object is serializable in xml format.
+
+
+
+
+ Gets text describing a constraint
+
+
+
+
+ Test whether the constraint is satisfied by a given value
+
+ The value to be tested
+ True for success, false for failure
+
+
+
+ Returns the string representation of this constraint
+
+
+
+
+ ExactCountConstraint applies another constraint to each
+ item in a collection, succeeding only if a specified
+ number of items succeed.
+
+
+
+
+ Construct an ExactCountConstraint on top of an existing constraint
+
+
+
+
+
+
+ Apply the item constraint to each item in the collection,
+ succeeding only if the expected number of items pass.
+
+
+
+
+
+
+ Represents a constraint that succeeds if the specified
+ count of members of a collection match a base constraint.
+
+
+
+
+ Construct an ExactCountOperator for a specified count
+
+ The expected count
+
+
+
+ Returns a constraint that will apply the argument
+ to the members of a collection, succeeding if
+ none of them succeed.
+
+
+
+
+ ExceptionTypeConstraint is a special version of ExactTypeConstraint
+ used to provided detailed info about the exception thrown in
+ an error message.
+
+
+
+
+ Constructs an ExceptionTypeConstraint
+
+
+
+
+ Applies the constraint to an actual value, returning a ConstraintResult.
+
+ The value to be tested
+ A ConstraintResult
+
+
+
+ Helper class with properties and methods that supply
+ a number of constraints used in Asserts.
+
+
+
+
+ Returns a new CollectionContainsConstraint checking for the
+ presence of a particular object in the collection.
+
+
+
+
+ Returns a new DictionaryContainsKeyConstraint checking for the
+ presence of a particular key in the dictionary.
+
+
+
+
+ Returns a new DictionaryContainsValueConstraint checking for the
+ presence of a particular value in the dictionary.
+
+
+
+
+ Returns a constraint that succeeds if the actual
+ value contains the substring supplied as an argument.
+
+
+
+
+ Asserts on Directories
+
+
+
+
+ The Equals method throws an InvalidOperationException. This is done
+ to make sure there is no mistake by calling this function.
+
+
+
+
+
+
+ override the default ReferenceEquals to throw an InvalidOperationException. This
+ implementation makes sure there is no mistake in calling this function
+ as part of Assert.
+
+
+
+
+
+
+ Verifies that two directories are equal. Two directories are considered
+ equal if both are null, or if both point to the same directory.
+ If they are not equal an is thrown.
+
+ A directory containing the value that is expected
+ A directory containing the actual value
+ The message to display if the directories are not equal
+ Arguments to be used in formatting the message
+
+
+
+ Verifies that two directories are equal. Two directories are considered
+ equal if both are null, or if both point to the same directory.
+ If they are not equal an is thrown.
+
+ A directory containing the value that is expected
+ A directory containing the actual value
+
+
+
+ Asserts that two directories are not equal. If they are equal
+ an is thrown.
+
+ A directory containing the value that is expected
+ A directory containing the actual value
+ The message to display if directories are not equal
+ Arguments to be used in formatting the message
+
+
+
+ Asserts that two directories are not equal. If they are equal
+ an is thrown.
+
+ A directory containing the value that is expected
+ A directory containing the actual value
+
+
+
+ Asserts that the directory exists. If it does not exist
+ an is thrown.
+
+ A directory containing the actual value
+ The message to display if directories are not equal
+ Arguments to be used in formatting the message
+
+
+
+ Asserts that the directory exists. If it does not exist
+ an is thrown.
+
+ A directory containing the actual value
+
+
+
+ Asserts that the directory exists. If it does not exist
+ an is thrown.
+
+ The path to a directory containing the actual value
+ The message to display if directories are not equal
+ Arguments to be used in formatting the message
+
+
+
+ Asserts that the directory exists. If it does not exist
+ an is thrown.
+
+ The path to a directory containing the actual value
+
+
+
+ Asserts that the directory does not exist. If it does exist
+ an is thrown.
+
+ A directory containing the actual value
+ The message to display if directories are not equal
+ Arguments to be used in formatting the message
+
+
+
+ Asserts that the directory does not exist. If it does exist
+ an is thrown.
+
+ A directory containing the actual value
+
+
+
+ Asserts that the directory does not exist. If it does exist
+ an is thrown.
+
+ The path to a directory containing the actual value
+ The message to display if directories are not equal
+ Arguments to be used in formatting the message
+
+
+
+ Asserts that the directory does not exist. If it does exist
+ an is thrown.
+
+ The path to a directory containing the actual value
+
+
+
+ Helper class with properties and methods that supply
+ a number of constraints used in Asserts.
+
+
+
+
+ Returns a ConstraintExpression that negates any
+ following constraint.
+
+
+
+
+ Returns a constraint that succeeds if the value
+ is a file or directory and it exists.
+
+
+
+
+ Returns a new CollectionContainsConstraint checking for the
+ presence of a particular object in the collection.
+
+
+
+
+ Returns a new ContainsConstraint. This constraint
+ will, in turn, make use of the appropriate second-level
+ constraint, depending on the type of the actual argument.
+ This overload is only used if the item sought is a string,
+ since any other type implies that we are looking for a
+ collection member.
+
+
+
+
+ Returns a constraint that succeeds if the actual
+ value starts with the substring supplied as an argument.
+
+
+
+
+ Returns a constraint that succeeds if the actual
+ value ends with the substring supplied as an argument.
+
+
+
+
+ Returns a constraint that succeeds if the actual
+ value matches the regular expression supplied as an argument.
+
+
+
+
+ Thrown when an assertion failed.
+
+
+
+ The error message that explains
+ the reason for the exception
+
+
+ The error message that explains
+ the reason for the exception
+ The exception that caused the
+ current exception
+
+
+
+ Serialization Constructor
+
+
+
+
+ Gets the ResultState provided by this exception
+
+
+
+
+ Thrown when an assertion failed.
+
+
+
+
+
+
+ The error message that explains
+ the reason for the exception
+ The exception that caused the
+ current exception
+
+
+
+ Serialization Constructor
+
+
+
+
+ Gets the ResultState provided by this exception
+
+
+
+
+ Thrown when a test executes inconclusively.
+
+
+
+ The error message that explains
+ the reason for the exception
+
+
+ The error message that explains
+ the reason for the exception
+ The exception that caused the
+ current exception
+
+
+
+ Serialization Constructor
+
+
+
+
+ Gets the ResultState provided by this exception
+
+
+
+
+ Abstract base for Exceptions that terminate a test and provide a ResultState.
+
+
+
+ The error message that explains
+ the reason for the exception
+
+
+ The error message that explains
+ the reason for the exception
+ The exception that caused the
+ current exception
+
+
+
+ Serialization Constructor
+
+
+
+
+ Gets the ResultState provided by this exception
+
+
+
+
+ Thrown when an assertion failed.
+
+
+
+
+
+
+ The error message that explains
+ the reason for the exception
+ The exception that caused the
+ current exception
+
+
+
+ Serialization Constructor
+
+
+
+
+ Gets the ResultState provided by this exception
+
+
+
+
+ The IApplyToContext interface is implemented by attributes
+ that want to make changes to the execution context before
+ a test is run.
+
+
+
+
+ Apply changes to the execution context
+
+ The execution context
+
+
+
+ The IApplyToTest interface is implemented by self-applying
+ attributes that modify the state of a test in some way.
+
+
+
+
+ Modifies a test as defined for the specific attribute.
+
+ The test to modify
+
+
+
+ CombiningStrategy is the abstract base for classes that
+ know how to combine values provided for individual test
+ parameters to create a set of test cases.
+
+
+
+
+ Gets the test cases generated by the CombiningStrategy.
+
+ The test cases.
+
+
+
+ ICommandWrapper is implemented by attributes and other
+ objects able to wrap a TestCommand with another command.
+
+
+ Attributes or other objects should implement one of the
+ derived interfaces, rather than this one, since they
+ indicate in which part of the command chain the wrapper
+ should be applied.
+
+
+
+
+ Wrap a command and return the result.
+
+ The command to be wrapped
+ The wrapped command
+
+
+
+ Objects implementing this interface are used to wrap
+ the TestMethodCommand itself. They apply after SetUp
+ has been run and before TearDown.
+
+
+
+
+ Objects implementing this interface are used to wrap
+ the entire test, including SetUp and TearDown.
+
+
+
+
+ Any ITest that implements this interface is at a level that the implementing
+ class should be disposed at the end of the test run
+
+
+
+
+ The IFixtureBuilder interface is exposed by a class that knows how to
+ build a TestFixture from one or more Types. In general, it is exposed
+ by an attribute, but may be implemented in a helper class used by the
+ attribute in some cases.
+
+
+
+
+ Build one or more TestFixtures from type provided. At least one
+ 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
+ will be returned nonetheless, labelled as non-runnable.
+
+ The type info of the fixture to be used.
+ A TestSuite object or one derived from TestSuite.
+
+
+
+ IImplyFixture is an empty marker interface used by attributes like
+ TestAttribute that cause the class where they are used to be treated
+ as a TestFixture even without a TestFixtureAttribute.
+
+ Marker interfaces are not usually considered a good practice, but
+ we use it here to avoid cluttering the attribute hierarchy with
+ classes that don't contain any extra implementation.
+
+
+
+
+ The IMethodInfo class is used to encapsulate information
+ about a method in a platform-independent manner.
+
+
+
+
+ Gets the Type from which this method was reflected.
+
+
+
+
+ Gets the MethodInfo for this method.
+
+
+
+
+ Gets the name of the method.
+
+
+
+
+ Gets a value indicating whether the method is abstract.
+
+
+
+
+ Gets a value indicating whether the method is public.
+
+
+
+
+ Gets a value indicating whether the method contains unassigned generic type parameters.
+
+
+
+
+ Gets a value indicating whether the method is a generic method.
+
+
+
+
+ Gets a value indicating whether the MethodInfo represents the definition of a generic method.
+
+
+
+
+ Gets the return Type of the method.
+
+
+
+
+ Gets the parameters of the method.
+
+
+
+
+
+ Returns the Type arguments of a generic method or the Type parameters of a generic method definition.
+
+
+
+
+ Replaces the type parameters of the method with the array of types provided and returns a new IMethodInfo.
+
+ The type arguments to be used
+ A new IMethodInfo with the type arguments replaced
+
+
+
+ Invokes the method, converting any TargetInvocationException to an NUnitException.
+
+ The object on which to invoke the method
+ The argument list for the method
+ The return value from the invoked method
+
+
+
+ The IDataPointProvider interface is used by extensions
+ that provide data for a single test parameter.
+
+
+
+
+ Determine whether any data is available for a parameter.
+
+ An IParameterInfo representing one
+ argument to a parameterized test
+ True if any data is available, otherwise false.
+
+
+
+ Return an IEnumerable providing data for use with the
+ supplied parameter.
+
+ An IParameterInfo representing one
+ argument to a parameterized test
+ An IEnumerable providing the required data
+
+
+
+ The IParameterDataSource interface is implemented by types
+ that can provide data for a test method parameter.
+
+
+
+
+ Gets an enumeration of data items for use as arguments
+ for a test method parameter.
+
+ The parameter for which data is needed
+ An enumeration containing individual data items
+
+
+
+ The IParameterInfo interface is an abstraction of a .NET parameter.
+
+
+
+
+ Gets a value indicating whether the parameter is optional
+
+
+
+
+ Gets an IMethodInfo representing the method for which this is a parameter
+
+
+
+
+ Gets the underlying .NET ParameterInfo
+
+
+
+
+ Gets the Type of the parameter
+
+
+
+
+ A PropertyBag represents a collection of name/value pairs
+ that allows duplicate entries with the same key. Methods
+ are provided for adding a new pair as well as for setting
+ a key to a single value. All keys are strings but _values
+ may be of any type. Null _values are not permitted, since
+ a null entry represents the absence of the key.
+
+ The entries in a PropertyBag are of two kinds: those that
+ take a single value and those that take multiple _values.
+ However, the PropertyBag has no knowledge of which entries
+ fall into each category and the distinction is entirely
+ up to the code using the PropertyBag.
+
+ When working with multi-valued properties, client code
+ should use the Add method to add name/value pairs and
+ indexing to retrieve a list of all _values for a given
+ key. For example:
+
+ bag.Add("Tag", "one");
+ bag.Add("Tag", "two");
+ Assert.That(bag["Tag"],
+ Is.EqualTo(new string[] { "one", "two" }));
+
+ When working with single-valued propeties, client code
+ should use the Set method to set the value and Get to
+ retrieve the value. The GetSetting methods may also be
+ used to retrieve the value in a type-safe manner while
+ also providing default. For example:
+
+ bag.Set("Priority", "low");
+ bag.Set("Priority", "high"); // replaces value
+ Assert.That(bag.Get("Priority"),
+ Is.EqualTo("high"));
+ Assert.That(bag.GetSetting("Priority", "low"),
+ Is.EqualTo("high"));
+
+
+
+
+ Adds a key/value pair to the property bag
+
+ The key
+ The value
+
+
+
+ Sets the value for a key, removing any other
+ _values that are already in the property set.
+
+
+
+
+
+
+ Gets a single value for a key, using the first
+ one if multiple _values are present and returning
+ null if the value is not found.
+
+
+
+
+ Gets a flag indicating whether the specified key has
+ any entries in the property set.
+
+ The key to be checked
+ True if their are _values present, otherwise false
+
+
+
+ Gets or sets the list of _values for a particular key
+
+ The key for which the _values are to be retrieved or set
+
+
+
+ Gets a collection containing all the keys in the property set
+
+
+
+
+ The IReflectionInfo interface is implemented by NUnit wrapper objects that perform reflection.
+
+
+
+
+ Returns an array of custom attributes of the specified type applied to this object
+
+
+
+
+ Returns a value indicating whether an attribute of the specified type is defined on this object.
+
+
+
+
+ The ISimpleTestBuilder interface is exposed by a class that knows how to
+ build a single TestMethod from a suitable MethodInfo Types. In general,
+ it is exposed by an attribute, but may be implemented in a helper class
+ used by the attribute in some cases.
+
+
+
+
+ Build a TestMethod from the provided MethodInfo.
+
+ The method to be used as a test
+ The TestSuite to which the method will be added
+ A TestMethod object
+
+
+
+ The ISuiteBuilder interface is exposed by a class that knows how to
+ build a suite from one or more Types.
+
+
+
+
+ Examine the type and determine if it is suitable for
+ this builder to use in building a TestSuite.
+
+ Note that returning false will cause the type to be ignored
+ in loading the tests. If it is desired to load the suite
+ but label it as non-runnable, ignored, etc., then this
+ method must return true.
+
+ The type of the fixture to be used
+ True if the type can be used to build a TestSuite
+
+
+
+ Build a TestSuite from type provided.
+
+ The type of the fixture to be used
+ A TestSuite
+
+
+
+ Common interface supported by all representations
+ of a test. Only includes informational fields.
+ The Run method is specifically excluded to allow
+ for data-only representations of a test.
+
+
+
+
+ Gets the id of the test
+
+
+
+
+ Gets the name of the test
+
+
+
+
+ Gets the fully qualified name of the test
+
+
+
+
+ Gets the name of the class containing this test. Returns
+ null if the test is not associated with a class.
+
+
+
+
+ Gets the name of the method implementing this test.
+ Returns null if the test is not implemented as a method.
+
+
+
+
+ Gets the Type of the test fixture, if applicable, or
+ null if no fixture type is associated with this test.
+
+
+
+
+ Gets an IMethod for the method implementing this test.
+ Returns null if the test is not implemented as a method.
+
+
+
+
+ Gets the RunState of the test, indicating whether it can be run.
+
+
+
+
+ Count of the test cases ( 1 if this is a test case )
+
+
+
+
+ Gets the properties of the test
+
+
+
+
+ Gets the parent test, if any.
+
+ The parent test or null if none exists.
+
+
+
+ Returns true if this is a test suite
+
+
+
+
+ Gets a bool indicating whether the current test
+ has any descendant tests.
+
+
+
+
+ Gets this test's child tests
+
+ A list of child tests
+
+
+
+ Gets a fixture object for running this test.
+
+
+
+
+ The ITestBuilder interface is exposed by a class that knows how to
+ build one or more TestMethods from a MethodInfo. 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.
+
+
+
+
+ Build one or more TestMethods from the provided MethodInfo.
+
+ The method to be used as a test
+ The TestSuite to which the method will be added
+ A TestMethod object
+
+
+
+ The ITestCaseBuilder interface is exposed by a class that knows how to
+ build a test case from certain methods.
+
+
+ This interface is not the same as the ITestCaseBuilder interface in NUnit 2.x.
+ We have reused the name because the two products don't interoperate at all.
+
+
+
+
+ Examine the method and determine if it is suitable for
+ this builder to use in building a TestCase to be
+ included in the suite being populated.
+
+ Note that returning false will cause the method to be ignored
+ in loading the tests. If it is desired to load the method
+ but label it as non-runnable, ignored, etc., then this
+ method must return true.
+
+ The test method to examine
+ The suite being populated
+ True is the builder can use this method
+
+
+
+ Build a TestCase from the provided MethodInfo for
+ inclusion in the suite being constructed.
+
+ The method to be used as a test case
+ The test suite being populated, or null
+ A TestCase or null
+
+
+
+ The ITestCaseData interface is implemented by a class
+ that is able to return complete testcases for use by
+ a parameterized test method.
+
+
+
+
+ Gets the expected result of the test case
+
+
+
+
+ Returns true if an expected result has been set
+
+
+
+
+ The ITestData interface is implemented by a class that
+ represents a single instance of a parameterized test.
+
+
+
+
+ Gets the name to be used for the test
+
+
+
+
+ Gets the RunState for this test case.
+
+
+
+
+ Gets the argument list to be provided to the test
+
+
+
+
+ Gets the property dictionary for the test case
+
+
+
+
+ Interface to be implemented by filters applied to tests.
+ The filter applies when running the test, after it has been
+ loaded, since this is the only time an ITest exists.
+
+
+
+
+ Determine if a particular test passes the filter criteria. Pass
+ may examine the parents and/or descendants of a test, depending
+ on the semantics of the particular filter
+
+ The test to which the filter is applied
+ True if the test passes the filter, otherwise false
+
+
+
+ Determine if a test matches the filter expicitly. That is, it must
+ be a direct match of the test itself or one of it's children.
+
+ The test to which the filter is applied
+ True if the test matches the filter explicityly, otherwise false
+
+
+
+ The ITestCaseData interface is implemented by a class
+ that is able to return the data required to create an
+ instance of a parameterized test fixture.
+
+
+
+
+ Get the TypeArgs if separately set
+
+
+
+
+ The ITestListener interface is used internally to receive
+ notifications of significant events while a test is being
+ run. The events are propagated to clients by means of an
+ AsyncCallback. NUnit extensions may also monitor these events.
+
+
+
+
+ Called when a test has just started
+
+ The test that is starting
+
+
+
+ Called when a test has finished
+
+ The result of the test
+
+
+
+ The ITestResult interface represents the result of a test.
+
+
+
+
+ Gets the ResultState of the test result, which
+ indicates the success or failure of the test.
+
+
+
+
+ Gets the name of the test result
+
+
+
+
+ Gets the full name of the test result
+
+
+
+
+ Gets the elapsed time for running the test in seconds
+
+
+
+
+ Gets or sets the time the test started running.
+
+
+
+
+ Gets or sets the time the test finished running.
+
+
+
+
+ Gets the message associated with a test
+ failure or with not running the test
+
+
+
+
+ Gets any stacktrace associated with an
+ error or failure. Not available in
+ the Compact Framework 1.0.
+
+
+
+
+ Gets the number of asserts executed
+ when running the test and all its children.
+
+
+
+
+ Gets the number of test cases that failed
+ when running the test and all its children.
+
+
+
+
+ Gets the number of test cases that passed
+ when running the test and all its children.
+
+
+
+
+ Gets the number of test cases that were skipped
+ when running the test and all its children.
+
+
+
+
+ Gets the number of test cases that were inconclusive
+ when running the test and all its children.
+
+
+
+
+ Indicates whether this result has any child results.
+ Accessing HasChildren should not force creation of the
+ Children collection in classes implementing this interface.
+
+
+
+
+ Gets the the collection of child results.
+
+
+
+
+ Gets the Test to which this result applies.
+
+
+
+
+ Gets any text output written to this result.
+
+
+
+
+ The ITypeInfo interface is an abstraction of a .NET Type
+
+
+
+
+ Gets the underlying Type on which this ITypeInfo is based
+
+
+
+
+ Gets the base type of this type as an ITypeInfo
+
+
+
+
+ Returns true if the Type wrapped is equal to the argument
+
+
+
+
+ Gets the Name of the Type
+
+
+
+
+ Gets the FullName of the Type
+
+
+
+
+ Gets the assembly in which the type is declared
+
+
+
+
+ Gets the Namespace of the Type
+
+
+
+
+ Gets a value indicating whether the type is abstract.
+
+
+
+
+ Gets a value indicating whether the Type is a generic Type
+
+
+
+
+ Gets a value indicating whether the Type has generic parameters that have not been replaced by specific Types.
+
+
+
+
+ Gets a value indicating whether the Type is a generic Type definition
+
+
+
+
+ Gets a value indicating whether the type is sealed.
+
+
+
+
+ Gets a value indicating whether this type is a static class.
+
+
+
+
+ Get the display name for this typeInfo.
+
+
+
+
+ Get the display name for an oject of this type, constructed with specific arguments
+
+
+
+
+ Returns a Type representing a generic type definition from which this Type can be constructed.
+
+
+
+
+ Returns a new ITypeInfo representing an instance of this generic Type using the supplied Type arguments
+
+
+
+
+ Returns a value indicating whether this type has a method with a specified public attribute
+
+
+
+
+ Returns an array of IMethodInfos for methods of this Type
+ that match the specified flags.
+
+
+
+
+ Returns a value indicating whether this Type has a public constructor taking the specified argument Types.
+
+
+
+
+ Construct an object of this Type, using the specified arguments.
+
+
+
+
+ An object implementing IXmlNodeBuilder is able to build
+ an XML representation of itself and any children.
+
+
+
+
+ Returns a TNode representing the current object.
+
+ If true, children are included where applicable
+ A TNode representing the result
+
+
+
+ Returns a TNode representing the current object after
+ adding it as a child of the supplied parent node.
+
+ The parent node.
+ If true, children are included, where applicable
+
+
+
+
+ The ResultState class represents the outcome of running a test.
+ It contains two pieces of information. The Status of the test
+ is an enum indicating whether the test passed, failed, was
+ skipped or was inconclusive. The Label provides a more
+ detailed breakdown for use by client runners.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The TestStatus.
+
+
+
+ Initializes a new instance of the class.
+
+ The TestStatus.
+ The label.
+
+
+
+ Initializes a new instance of the class.
+
+ The TestStatus.
+ The stage at which the result was produced
+
+
+
+ Initializes a new instance of the class.
+
+ The TestStatus.
+ The label.
+ The stage at which the result was produced
+
+
+
+ The result is inconclusive
+
+
+
+
+ The test has been skipped.
+
+
+
+
+ The test has been ignored.
+
+
+
+
+ The test was skipped because it is explicit
+
+
+
+
+ The test succeeded
+
+
+
+
+ The test failed
+
+
+
+
+ The test encountered an unexpected exception
+
+
+
+
+ The test was cancelled by the user
+
+
+
+
+ The test was not runnable.
+
+
+
+
+ A suite failed because one or more child tests failed or had errors
+
+
+
+
+ A suite failed in its OneTimeSetUp
+
+
+
+
+ A suite had an unexpected exception in its OneTimeSetUp
+
+
+
+
+ A suite had an unexpected exception in its OneTimeDown
+
+
+
+
+ Gets the TestStatus for the test.
+
+ The status.
+
+
+
+ Gets the label under which this test result is
+ categorized, if any.
+
+
+
+
+ Gets the stage of test execution in which
+ the failure or other result took place.
+
+
+
+
+ Get a new ResultState, which is the same as the current
+ one but with the FailureSite set to the specified value.
+
+ The FailureSite to use
+ A new ResultState
+
+
+
+ Determines whether the specified , is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Returns a hash code for this instance.
+
+
+ A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
+
+
+
+
+ Returns a that represents this instance.
+
+
+ A that represents this instance.
+
+
+
+
+ The FailureSite enum indicates the stage of a test
+ in which an error or failure occurred.
+
+
+
+
+ Failure in the test itself
+
+
+
+
+ Failure in the SetUp method
+
+
+
+
+ Failure in the TearDown method
+
+
+
+
+ Failure of a parent test
+
+
+
+
+ Failure of a child test
+
+
+
+
+ The RunState enum indicates whether a test can be executed.
+
+
+
+
+ The test is not runnable.
+
+
+
+
+ The test is runnable.
+
+
+
+
+ The test can only be run explicitly
+
+
+
+
+ The test has been skipped. This value may
+ appear on a Test when certain attributes
+ are used to skip the test.
+
+
+
+
+ The test has been ignored. May appear on
+ a Test, when the IgnoreAttribute is used.
+
+
+
+
+ The TestStatus enum indicates the result of running a test
+
+
+
+
+ The test was inconclusive
+
+
+
+
+ The test has skipped
+
+
+
+
+ The test succeeded
+
+
+
+
+ The test failed
+
+
+
+
+ TNode represents a single node in the XML representation
+ of a Test or TestResult. It replaces System.Xml.XmlNode and
+ System.Xml.Linq.XElement, providing a minimal set of methods
+ for operating on the XML in a platform-independent manner.
+
+
+
+
+ Constructs a new instance of TNode
+
+ The name of the node
+
+
+
+ Constructs a new instance of TNode with a value
+
+ The name of the node
+ The text content of the node
+
+
+
+ Constructs a new instance of TNode with a value
+
+ The name of the node
+ The text content of the node
+ Flag indicating whether to use CDATA when writing the text
+
+
+
+ Gets the name of the node
+
+
+
+
+ Gets the value of the node
+
+
+
+
+ Gets a flag indicating whether the value should be output using CDATA.
+
+
+
+
+ Gets the dictionary of attributes
+
+
+
+
+ Gets a list of child nodes
+
+
+
+
+ Gets the first ChildNode
+
+
+
+
+ Gets the XML representation of this node.
+
+
+
+
+ Create a TNode from it's XML text representation
+
+ The XML text to be parsed
+ A TNode
+
+
+
+ Adds a new element as a child of the current node and returns it.
+
+ The element name.
+ The newly created child element
+
+
+
+ Adds a new element with a value as a child of the current node and returns it.
+
+ The element name
+ The text content of the new element
+ The newly created child element
+
+
+
+ Adds a new element with a value as a child of the current node and returns it.
+ The value will be output using a CDATA section.
+
+ The element name
+ The text content of the new element
+ The newly created child element
+
+
+
+ Adds an attribute with a specified name and value to the XmlNode.
+
+ The name of the attribute.
+ The value of the attribute.
+
+
+
+ Finds a single descendant of this node matching an xpath
+ specification. The format of the specification is
+ limited to what is needed by NUnit and its tests.
+
+
+
+
+
+
+ Finds all descendants of this node matching an xpath
+ specification. The format of the specification is
+ limited to what is needed by NUnit and its tests.
+
+
+
+
+ Writes the XML representation of the node to an XmlWriter
+
+
+
+
+
+ Class used to represent a list of XmlResults
+
+
+
+
+ Class used to represent the attributes of a node
+
+
+
+
+ Gets or sets the value associated with the specified key.
+ Overridden to return null if attribute is not found.
+
+ The key.
+ Value of the attribute or null
+
+
+
+ Asserts on Files
+
+
+
+
+ The Equals method throws an InvalidOperationException. This is done
+ to make sure there is no mistake by calling this function.
+
+
+
+
+
+
+ override the default ReferenceEquals to throw an InvalidOperationException. This
+ implementation makes sure there is no mistake in calling this function
+ as part of Assert.
+
+
+
+
+
+
+ Verifies that two Streams are equal. Two Streams are considered
+ equal if both are null, or if both have the same value byte for byte.
+ If they are not equal an is thrown.
+
+ The expected Stream
+ The actual Stream
+ The message to display if Streams are not equal
+ Arguments to be used in formatting the message
+
+
+
+ Verifies that two Streams are equal. Two Streams are considered
+ equal if both are null, or if both have the same value byte for byte.
+ If they are not equal an is thrown.
+
+ The expected Stream
+ The actual Stream
+
+
+
+ Verifies that two files are equal. Two files are considered
+ equal if both are null, or if both have the same value byte for byte.
+ If they are not equal an is thrown.
+
+ A file containing the value that is expected
+ A file containing the actual value
+ The message to display if Streams are not equal
+ Arguments to be used in formatting the message
+
+
+
+ Verifies that two files are equal. Two files are considered
+ equal if both are null, or if both have the same value byte for byte.
+ If they are not equal an is thrown.
+
+ A file containing the value that is expected
+ A file containing the actual value
+
+
+
+ Verifies that two files are equal. Two files are considered
+ equal if both are null, or if both have the same value byte for byte.
+ If they are not equal an is thrown.
+
+ The path to a file containing the value that is expected
+ The path to a file containing the actual value
+ The message to display if Streams are not equal
+ Arguments to be used in formatting the message
+
+
+
+ Verifies that two files are equal. Two files are considered
+ equal if both are null, or if both have the same value byte for byte.
+ If they are not equal an is thrown.
+
+ The path to a file containing the value that is expected
+ The path to a file containing the actual value
+
+
+
+ Asserts that two Streams are not equal. If they are equal
+ an is thrown.
+
+ The expected Stream
+ The actual Stream
+ The message to be displayed when the two Stream are the same.
+ Arguments to be used in formatting the message
+
+
+
+ Asserts that two Streams are not equal. If they are equal
+ an is thrown.
+
+ The expected Stream
+ The actual Stream
+
+
+
+ Asserts that two files are not equal. If they are equal
+ an is thrown.
+
+ A file containing the value that is expected
+ A file containing the actual value
+ The message to display if Streams are not equal
+ Arguments to be used in formatting the message
+
+
+
+ Asserts that two files are not equal. If they are equal
+ an is thrown.
+
+ A file containing the value that is expected
+ A file containing the actual value
+
+
+
+ Asserts that two files are not equal. If they are equal
+ an is thrown.
+
+ The path to a file containing the value that is expected
+ The path to a file containing the actual value
+ The message to display if Streams are not equal
+ Arguments to be used in formatting the message
+
+
+
+ Asserts that two files are not equal. If they are equal
+ an is thrown.
+
+ The path to a file containing the value that is expected
+ The path to a file containing the actual value
+
+
+
+ Asserts that the file exists. If it does not exist
+ an is thrown.
+
+ A file containing the actual value
+ The message to display if Streams are not equal
+ Arguments to be used in formatting the message
+
+
+
+ Asserts that the file exists. If it does not exist
+ an is thrown.
+
+ A file containing the actual value
+
+
+
+ Asserts that the file exists. If it does not exist
+ an is thrown.
+
+ The path to a file containing the actual value
+ The message to display if Streams are not equal
+ Arguments to be used in formatting the message
+
+
+
+ Asserts that the file exists. If it does not exist
+ an is thrown.
+
+ The path to a file containing the actual value
+
+
+
+ Asserts that the file does not exist. If it does exist
+ an is thrown.
+
+ A file containing the actual value
+ The message to display if Streams are not equal
+ Arguments to be used in formatting the message
+
+
+
+ Asserts that the file does not exist. If it does exist
+ an is thrown.
+
+ A file containing the actual value
+
+
+
+ Asserts that the file does not exist. If it does exist
+ an is thrown.
+
+ The path to a file containing the actual value
+ The message to display if Streams are not equal
+ Arguments to be used in formatting the message
+
+
+
+ Asserts that the file does not exist. If it does exist
+ an is thrown.
+
+ The path to a file containing the actual value
+
+
+
+ GlobalSettings is a place for setting default values used
+ by the framework in performing asserts. Anything set through
+ this class applies to the entire test run. It should not normally
+ be used from within a test, since it is not thread-safe.
+
+
+
+
+ Default tolerance for floating point equality
+
+
+
+
+ Helper class with properties and methods that supply
+ a number of constraints used in Asserts.
+
+
+
+
+ Returns a ConstraintExpression that negates any
+ following constraint.
+
+
+
+
+ Returns a ConstraintExpression, which will apply
+ the following constraint to all members of a collection,
+ succeeding if all of them succeed.
+
+
+
+
+ Returns a ConstraintExpression, which will apply
+ the following constraint to all members of a collection,
+ succeeding if at least one of them succeeds.
+
+
+
+
+ Returns a ConstraintExpression, which will apply
+ the following constraint to all members of a collection,
+ succeeding if all of them fail.
+
+
+
+
+ Returns a ConstraintExpression, which will apply
+ the following constraint to all members of a collection,
+ succeeding only if a specified number of them succeed.
+
+
+
+
+ Returns a new PropertyConstraintExpression, which will either
+ test for the existence of the named property on the object
+ being tested or apply any following constraint to that property.
+
+
+
+
+ Returns a new ConstraintExpression, which will apply the following
+ constraint to the Length property of the object being tested.
+
+
+
+
+ Returns a new ConstraintExpression, which will apply the following
+ constraint to the Count property of the object being tested.
+
+
+
+
+ Returns a new ConstraintExpression, which will apply the following
+ constraint to the Message property of the object being tested.
+
+
+
+
+ Returns a new ConstraintExpression, which will apply the following
+ constraint to the InnerException property of the object being tested.
+
+
+
+
+ Returns a new AttributeConstraint checking for the
+ presence of a particular attribute on an object.
+
+
+
+
+ Returns a new AttributeConstraint checking for the
+ presence of a particular attribute on an object.
+
+
+
+
+ Returns a new CollectionContainsConstraint checking for the
+ presence of a particular object in the collection.
+
+
+
+
+ Helper class with properties and methods that supply
+ a number of constraints used in Asserts.
+
+
+
+
+ Returns a ConstraintExpression that negates any
+ following constraint.
+
+
+
+
+ Returns a ConstraintExpression, which will apply
+ the following constraint to all members of a collection,
+ succeeding if all of them succeed.
+
+
+
+
+ Returns a constraint that tests for null
+
+
+
+
+ Returns a constraint that tests for True
+
+
+
+
+ Returns a constraint that tests for False
+
+
+
+
+ Returns a constraint that tests for a positive value
+
+
+
+
+ Returns a constraint that tests for a negative value
+
+
+
+
+ Returns a constraint that tests for equality with zero
+
+
+
+
+ Returns a constraint that tests for NaN
+
+
+
+
+ Returns a constraint that tests for empty
+
+
+
+
+ Returns a constraint that tests whether a collection
+ contains all unique items.
+
+
+
+
+ Returns a constraint that tests whether an object graph is serializable in binary format.
+
+
+
+
+ Returns a constraint that tests whether an object graph is serializable in xml format.
+
+
+
+
+ Returns a constraint that tests two items for equality
+
+
+
+
+ Returns a constraint that tests that two references are the same object
+
+
+
+
+ Returns a constraint that tests whether the
+ actual value is greater than the supplied argument
+
+
+
+
+ Returns a constraint that tests whether the
+ actual value is greater than or equal to the supplied argument
+
+
+
+
+ Returns a constraint that tests whether the
+ actual value is greater than or equal to the supplied argument
+
+
+
+
+ Returns a constraint that tests whether the
+ actual value is less than the supplied argument
+
+
+
+
+ Returns a constraint that tests whether the
+ actual value is less than or equal to the supplied argument
+
+
+
+
+ Returns a constraint that tests whether the
+ actual value is less than or equal to the supplied argument
+
+
+
+
+ Returns a constraint that tests whether the actual
+ value is of the exact type supplied as an argument.
+
+
+
+
+ Returns a constraint that tests whether the actual
+ value is of the exact type supplied as an argument.
+
+
+
+
+ Returns a constraint that tests whether the actual value
+ is of the type supplied as an argument or a derived type.
+
+
+
+
+ Returns a constraint that tests whether the actual value
+ is of the type supplied as an argument or a derived type.
+
+
+
+
+ Returns a constraint that tests whether the actual value
+ is assignable from the type supplied as an argument.
+
+
+
+
+ Returns a constraint that tests whether the actual value
+ is assignable from the type supplied as an argument.
+
+
+
+
+ Returns a constraint that tests whether the actual value
+ is assignable to the type supplied as an argument.
+
+
+
+
+ Returns a constraint that tests whether the actual value
+ is assignable to the type supplied as an argument.
+
+
+
+
+ Returns a constraint that tests whether the actual value
+ is a collection containing the same elements as the
+ collection supplied as an argument.
+
+
+
+
+ Returns a constraint that tests whether the actual value
+ is a subset of the collection supplied as an argument.
+
+
+
+
+ Returns a constraint that tests whether the actual value
+ is a superset of the collection supplied as an argument.
+
+
+
+
+ Returns a constraint that tests whether a collection is ordered
+
+
+
+
+ Returns a constraint that succeeds if the actual
+ value contains the substring supplied as an argument.
+
+
+
+
+ Returns a constraint that succeeds if the actual
+ value starts with the substring supplied as an argument.
+
+
+
+
+ Returns a constraint that succeeds if the actual
+ value ends with the substring supplied as an argument.
+
+
+
+
+ Returns a constraint that succeeds if the actual
+ value matches the regular expression supplied as an argument.
+
+
+
+
+ Returns a constraint that tests whether the path provided
+ is the same as an expected path after canonicalization.
+
+
+
+
+ Returns a constraint that tests whether the path provided
+ is a subpath of the expected path after canonicalization.
+
+
+
+
+ Returns a constraint that tests whether the path provided
+ is the same path or under an expected path after canonicalization.
+
+
+
+
+ Returns a constraint that tests whether the actual value falls
+ inclusively within a specified range.
+
+ from must be less than or equal to true
+ Inclusive beginning of the range. Must be less than or equal to to.
+ Inclusive end of the range. Must be greater than or equal to from.
+
+
+
+
+ When implemented by an attribute, this interface implemented to provide actions to execute before and after tests.
+
+
+
+
+ Executed before each test is run
+
+ The test that is going to be run.
+
+
+
+ Executed after each test is run
+
+ The test that has just been run.
+
+
+
+ Provides the target for the action attribute
+
+ The target for the action attribute
+
+
+
+ The Iz class is a synonym for Is intended for use in VB,
+ which regards Is as a keyword.
+
+
+
+
+ The List class is a helper class with properties and methods
+ that supply a number of constraints used with lists and collections.
+
+
+
+
+ List.Map returns a ListMapper, which can be used to map
+ the original collection to another collection.
+
+
+
+
+
+
+ ListMapper is used to transform a collection used as an actual argument
+ producing another collection to be used in the assertion.
+
+
+
+
+ Construct a ListMapper based on a collection
+
+ The collection to be transformed
+
+
+
+ Produces a collection containing all the _values of a property
+
+ The collection of property _values
+
+
+
+
+ The SpecialValue enum is used to represent TestCase arguments
+ that cannot be used as arguments to an Attribute.
+
+
+
+
+ Null represents a null value, which cannot be used as an
+ argument to an attriute under .NET 1.x
+
+
+
+
+ Basic Asserts on strings.
+
+
+
+
+ The Equals method throws an InvalidOperationException. This is done
+ to make sure there is no mistake by calling this function.
+
+
+
+
+
+
+ override the default ReferenceEquals to throw an InvalidOperationException. This
+ implementation makes sure there is no mistake in calling this function
+ as part of Assert.
+
+
+
+
+
+
+ Asserts that a string is found within another string.
+
+ The expected string
+ The string to be examined
+ The message to display in case of failure
+ Arguments used in formatting the message
+
+
+
+ Asserts that a string is found within another string.
+
+ The expected string
+ The string to be examined
+
+
+
+ Asserts that a string is not found within another string.
+
+ The expected string
+ The string to be examined
+ The message to display in case of failure
+ Arguments used in formatting the message
+
+
+
+ Asserts that a string is found within another string.
+
+ The expected string
+ The string to be examined
+
+
+
+ Asserts that a string starts with another string.
+
+ The expected string
+ The string to be examined
+ The message to display in case of failure
+ Arguments used in formatting the message
+
+
+
+ Asserts that a string starts with another string.
+
+ The expected string
+ The string to be examined
+
+
+
+ Asserts that a string does not start with another string.
+
+ The expected string
+ The string to be examined
+ The message to display in case of failure
+ Arguments used in formatting the message
+
+
+
+ Asserts that a string does not start with another string.
+
+ The expected string
+ The string to be examined
+
+
+
+ Asserts that a string ends with another string.
+
+ The expected string
+ The string to be examined
+ The message to display in case of failure
+ Arguments used in formatting the message
+
+
+
+ Asserts that a string ends with another string.
+
+ The expected string
+ The string to be examined
+
+
+
+ Asserts that a string does not end with another string.
+
+ The expected string
+ The string to be examined
+ The message to display in case of failure
+ Arguments used in formatting the message
+
+
+
+ Asserts that a string does not end with another string.
+
+ The expected string
+ The string to be examined
+
+
+
+ Asserts that two strings are equal, without regard to case.
+
+ The expected string
+ The actual string
+ The message to display in case of failure
+ Arguments used in formatting the message
+
+
+
+ Asserts that two strings are equal, without regard to case.
+
+ The expected string
+ The actual string
+
+
+
+ Asserts that two strings are not equal, without regard to case.
+
+ The expected string
+ The actual string
+ The message to display in case of failure
+ Arguments used in formatting the message
+
+
+
+ Asserts that two strings are not equal, without regard to case.
+
+ The expected string
+ The actual string
+
+
+
+ Asserts that a string matches an expected regular expression pattern.
+
+ The regex pattern to be matched
+ The actual string
+ The message to display in case of failure
+ Arguments used in formatting the message
+
+
+
+ Asserts that a string matches an expected regular expression pattern.
+
+ The regex pattern to be matched
+ The actual string
+
+
+
+ Asserts that a string does not match an expected regular expression pattern.
+
+ The regex pattern to be used
+ The actual string
+ The message to display in case of failure
+ Arguments used in formatting the message
+
+
+
+ Asserts that a string does not match an expected regular expression pattern.
+
+ The regex pattern to be used
+ The actual string
+
+
+
+ The TestCaseData class represents a set of arguments
+ and other parameter info to be used for a parameterized
+ test case. It is derived from TestCaseParameters and adds a
+ fluent syntax for use in initializing the test case.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The arguments.
+
+
+
+ Initializes a new instance of the class.
+
+ The argument.
+
+
+
+ Initializes a new instance of the class.
+
+ The first argument.
+ The second argument.
+
+
+
+ Initializes a new instance of the class.
+
+ The first argument.
+ The second argument.
+ The third argument.
+
+
+
+ Sets the expected result for the test
+
+ The expected result
+ A modified TestCaseData
+
+
+
+ Sets the name of the test case
+
+ The modified TestCaseData instance
+
+
+
+ Sets the description for the test case
+ being constructed.
+
+ The description.
+ The modified TestCaseData instance.
+
+
+
+ Applies a category to the test
+
+
+
+
+
+
+ Applies a named property to the test
+
+
+
+
+
+
+
+ Applies a named property to the test
+
+
+
+
+
+
+
+ Applies a named property to the test
+
+
+
+
+
+
+
+ Marks the test case as explicit.
+
+
+
+
+ Marks the test case as explicit, specifying the reason.
+
+
+
+
+ Ignores this TestCase, specifying the reason.
+
+ The reason.
+
+
+
+
+ Provide the context information of the current test.
+ This is an adapter for the internal ExecutionContext
+ class, hiding the internals from the user test.
+
+
+
+
+ Construct a TestContext for an ExecutionContext
+
+ The ExecutionContext to adapt
+
+
+
+ Get the current test context. This is created
+ as needed. The user may save the context for
+ use within a test, but it should not be used
+ outside the test for which it is created.
+
+
+
+
+ Gets a TextWriter that will send output to the current test result.
+
+
+
+
+ Get a representation of the current test.
+
+
+
+
+ Gets a Representation of the TestResult for the current test.
+
+
+
+
+ Gets the directory containing the current test assembly.
+
+
+
+
+ Gets the directory to be used for outputting files created
+ by this test run.
+
+
+
+
+ Gets the random generator.
+
+
+ The random generator.
+
+
+
+ Write the string representation of a boolean value to the current result
+
+
+ Write a char to the current result
+
+
+ Write a char array to the current result
+
+
+ Write the string representation of a double to the current result
+
+
+ Write the string representation of an Int32 value to the current result
+
+
+ Write the string representation of an Int64 value to the current result
+
+
+ Write the string representation of a decimal value to the current result
+
+
+ Write the string representation of an object to the current result
+
+
+ Write the string representation of a Single value to the current result
+
+
+ Write a string to the current result
+
+
+ Write the string representation of a UInt32 value to the current result
+
+
+ Write the string representation of a UInt64 value to the current result
+
+
+ Write a formatted string to the current result
+
+
+ Write a formatted string to the current result
+
+
+ Write a formatted string to the current result
+
+
+ Write a formatted string to the current result
+
+
+ Write a line terminator to the current result
+
+
+ Write the string representation of a boolean value to the current result followed by a line terminator
+
+
+ Write a char to the current result followed by a line terminator
+
+
+ Write a char array to the current result followed by a line terminator
+
+
+ Write the string representation of a double to the current result followed by a line terminator
+
+
+ Write the string representation of an Int32 value to the current result followed by a line terminator
+
+
+ Write the string representation of an Int64 value to the current result followed by a line terminator
+
+
+ Write the string representation of a decimal value to the current result followed by a line terminator
+
+
+ Write the string representation of an object to the current result followed by a line terminator
+
+
+ Write the string representation of a Single value to the current result followed by a line terminator
+
+
+ Write a string to the current result followed by a line terminator
+
+
+ Write the string representation of a UInt32 value to the current result followed by a line terminator
+
+
+ Write the string representation of a UInt64 value to the current result followed by a line terminator
+
+
+ Write a formatted string to the current result followed by a line terminator
+
+
+ Write a formatted string to the current result followed by a line terminator
+
+
+ Write a formatted string to the current result followed by a line terminator
+
+
+ Write a formatted string to the current result followed by a line terminator
+
+
+
+ This method adds the a new ValueFormatterFactory to the
+ chain of responsibility used for fomatting values in messages.
+ The scope of the change is the current TestContext.
+
+ The factory delegate
+
+
+
+ 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 compould function.
+
+ The type supported by this formatter
+ The ValueFormatter delegate
+
+
+
+ TestAdapter adapts a Test for consumption by
+ the user test code.
+
+
+
+
+ Construct a TestAdapter for a Test
+
+ The Test to be adapted
+
+
+
+ Gets the unique Id of a test
+
+
+
+
+ The name of the test, which may or may not be
+ the same as the method name.
+
+
+
+
+ The name of the method representing the test.
+
+
+
+
+ The FullName of the test
+
+
+
+
+ The ClassName of the test
+
+
+
+
+ The properties of the test.
+
+
+
+
+ ResultAdapter adapts a TestResult for consumption by
+ the user test code.
+
+
+
+
+ Construct a ResultAdapter for a TestResult
+
+ The TestResult to be adapted
+
+
+
+ Gets a ResultState representing the outcome of the test.
+
+
+
+
+ Gets the message associated with a test
+ failure or with not running the test
+
+
+
+
+ Gets any stacktrace associated with an
+ error or failure.
+
+
+
+
+ Gets the number of test cases that failed
+ when running the test and all its children.
+
+
+
+
+ Gets the number of test cases that passed
+ when running the test and all its children.
+
+
+
+
+ Gets the number of test cases that were skipped
+ when running the test and all its children.
+
+
+
+
+ Gets the number of test cases that were inconclusive
+ when running the test and all its children.
+
+
+
+
+ The TestFixtureData class represents a set of arguments
+ and other parameter info to be used for a parameterized
+ fixture. It is derived from TestFixtureParameters and adds a
+ fluent syntax for use in initializing the fixture.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The arguments.
+
+
+
+ Initializes a new instance of the class.
+
+ The argument.
+
+
+
+ Initializes a new instance of the class.
+
+ The first argument.
+ The second argument.
+
+
+
+ Initializes a new instance of the class.
+
+ The first argument.
+ The second argument.
+ The third argument.
+
+
+
+ Marks the test fixture as explicit.
+
+
+
+
+ Marks the test fixture as explicit, specifying the reason.
+
+
+
+
+ Ignores this TestFixture, specifying the reason.
+
+ The reason.
+
+
+
+
+ Helper class with properties and methods that supply
+ constraints that operate on exceptions.
+
+
+
+
+ Creates a constraint specifying an expected exception
+
+
+
+
+ Creates a constraint specifying an exception with a given InnerException
+
+
+
+
+ Creates a constraint specifying an expected TargetInvocationException
+
+
+
+
+ Creates a constraint specifying an expected ArgumentException
+
+
+
+
+ Creates a constraint specifying an expected ArgumentNUllException
+
+
+
+
+ Creates a constraint specifying an expected InvalidOperationException
+
+
+
+
+ Creates a constraint specifying that no exception is thrown
+
+
+
+
+ Creates a constraint specifying the exact type of exception expected
+
+
+
+
+ Creates a constraint specifying the exact type of exception expected
+
+
+
+
+ Creates a constraint specifying the type of exception expected
+
+
+
+
+ Creates a constraint specifying the type of exception expected
+
+
+
+
+ Env is a static class that provides some of the features of
+ System.Environment that are not available under all runtimes
+
+
+
+
+ The newline sequence in the current environment.
+
+
+
+
+ Path to the 'My Documents' folder
+
+
+
+
+ Directory used for file output if not specified on commandline.
+
+
+
+
+ PackageSettings is a static class containing constant values that
+ are used as keys in setting up a TestPackage. These values are used in
+ the engine and framework. Setting values may be a string, int or bool.
+
+
+
+
+ Flag (bool) indicating whether tests are being debugged.
+
+
+
+
+ Flag (bool) indicating whether to pause execution of tests to allow
+ the user to attache a debugger.
+
+
+
+
+ The InternalTraceLevel for this run. Values are: "Default",
+ "Off", "Error", "Warning", "Info", "Debug", "Verbose".
+ Default is "Off". "Debug" and "Verbose" are synonyms.
+
+
+
+
+ Full path of the directory to be used for work and result files.
+ This path is provided to tests by the frameowrk TestContext.
+
+
+
+
+ The name of the config to use in loading a project.
+ If not specified, the first config found is used.
+
+
+
+
+ Bool indicating whether the engine should determine the private
+ bin path by examining the paths to all the tests. Defaults to
+ true unless PrivateBinPath is specified.
+
+
+
+
+ The ApplicationBase to use in loading the tests. If not
+ specified, and each assembly has its own process, then the
+ location of the assembly is used. For multiple assemblies
+ in a single process, the closest common root directory is used.
+
+
+
+
+ Path to the config file to use in running the tests.
+
+
+
+
+ Bool flag indicating whether a debugger should be launched at agent
+ startup. Used only for debugging NUnit itself.
+
+
+
+
+ Indicates how to load tests across AppDomains. Values are:
+ "Default", "None", "Single", "Multiple". Default is "Multiple"
+ if more than one assembly is loaded in a process. Otherwise,
+ it is "Single".
+
+
+
+
+ The private binpath used to locate assemblies. Directory paths
+ is separated by a semicolon. It's an error to specify this and
+ also set AutoBinPath to true.
+
+
+
+
+ The maximum number of test agents permitted to run simultneously.
+ Ignored if the ProcessModel is not set or defaulted to Multiple.
+
+
+
+
+ Indicates how to allocate assemblies to processes. Values are:
+ "Default", "Single", "Separate", "Multiple". Default is "Multiple"
+ for more than one assembly, "Separate" for a single assembly.
+
+
+
+
+ Indicates the desired runtime to use for the tests. Values
+ are strings like "net-4.5", "mono-4.0", etc. Default is to
+ use the target framework for which an assembly was built.
+
+
+
+
+ Bool flag indicating that the test should be run in a 32-bit process
+ on a 64-bit system. By default, NUNit runs in a 64-bit process on
+ a 64-bit system. Ignored if set on a 32-bit system.
+
+
+
+
+ Indicates that test runners should be disposed after the tests are executed
+
+
+
+
+ Bool flag indicating that the test assemblies should be shadow copied.
+ Defaults to false.
+
+
+
+
+ Integer value in milliseconds for the default timeout value
+ for test cases. If not specified, there is no timeout except
+ as specified by attributes on the tests themselves.
+
+
+
+
+ A TextWriter to which the internal trace will be sent.
+
+
+
+
+ A list of tests to be loaded.
+
+
+
+
+ The number of test threads to run for the assembly. If set to
+ 1, a single queue is used. If set to 0, tests are executed
+ directly, without queuing.
+
+
+
+
+ The random seed to be used for this assembly. If specified
+ as the value reported from a prior run, the framework should
+ generate identical random values for tests as were used for
+ that run, provided that no change has been made to the test
+ assembly. Default is a random value itself.
+
+
+
+
+ If true, execution stops after the first error or failure.
+
+
+
+
+ If true, use of the event queue is suppressed and test events are synchronous.
+
+
+
+
+ If the package represents an assembly, then this is the CLR version
+ stored in the assembly image. If it represents a project or other
+ group of assemblies, it is the maximum version for all the assemblies.
+
+
+
+
+ True if any assembly in the package requires running as a 32-bit
+ process when on a 64-bit system.
+
+
+
+
+ True if any assembly in the package requires a special assembly resolution hook
+ in the default AppDomain in order to find dependent assemblies.
+
+
+
+
+ The FrameworkName specified on a TargetFrameworkAttribute for the assembly
+
+
+
+
diff --git a/PointCloud.Test/NUnit-net-4.0/nunit.testdata.dll b/PointCloud.Test/NUnit-net-4.0/nunit.testdata.dll
new file mode 100644
index 0000000..4c1baef
Binary files /dev/null and b/PointCloud.Test/NUnit-net-4.0/nunit.testdata.dll differ
diff --git a/PointCloud.Test/NUnit-net-4.0/nunitlite-runner.exe b/PointCloud.Test/NUnit-net-4.0/nunitlite-runner.exe
new file mode 100644
index 0000000..da349cc
Binary files /dev/null and b/PointCloud.Test/NUnit-net-4.0/nunitlite-runner.exe differ
diff --git a/PointCloud.Test/NUnit-net-4.0/nunitlite.dll b/PointCloud.Test/NUnit-net-4.0/nunitlite.dll
new file mode 100644
index 0000000..d016b65
Binary files /dev/null and b/PointCloud.Test/NUnit-net-4.0/nunitlite.dll differ
diff --git a/PointCloud.Test/NUnit-net-4.0/nunitlite.tests.exe b/PointCloud.Test/NUnit-net-4.0/nunitlite.tests.exe
new file mode 100644
index 0000000..302722f
Binary files /dev/null and b/PointCloud.Test/NUnit-net-4.0/nunitlite.tests.exe differ
diff --git a/PointCloud.Test/NUnit-net-4.0/slow-nunit-tests.dll b/PointCloud.Test/NUnit-net-4.0/slow-nunit-tests.dll
new file mode 100644
index 0000000..9c6f2d7
Binary files /dev/null and b/PointCloud.Test/NUnit-net-4.0/slow-nunit-tests.dll differ
diff --git a/PointCloud.Test/PCDReaderTest.cs b/PointCloud.Test/PCDReaderTest.cs
index 9d40355..d883e9b 100644
--- a/PointCloud.Test/PCDReaderTest.cs
+++ b/PointCloud.Test/PCDReaderTest.cs
@@ -95,5 +95,24 @@ public void FileReadCompleteTest()
Assert.AreEqual(0, cloud[0].Z, 0.000001);
}
+ [Test]
+ public void BinFileReadCompleteTest()
+ {
+ PCDReader reader = new PCDReader();
+ PointCloud cloud = reader.Read("testbin.pcd");
+
+ Assert.AreEqual(63940, cloud.Points.Count);
+
+
+ Assert.AreEqual(0, cloud[0].X, 0.000001);
+ Assert.AreEqual(1721.136, cloud[0].Y, 0.000001);
+ Assert.AreEqual(502.9354, cloud[0].Z, 0.000001);
+ Assert.AreEqual(0x00, cloud[0].R);
+ Assert.AreEqual(0x00, cloud[0].G);
+ Assert.AreEqual(0x80, cloud[0].B);
+ Assert.AreEqual(0x3f, cloud[0].A);
+ }
+
+
}
}
diff --git a/PointCloud.Test/PCDWriterTest.cs b/PointCloud.Test/PCDWriterTest.cs
new file mode 100644
index 0000000..8b946ef
--- /dev/null
+++ b/PointCloud.Test/PCDWriterTest.cs
@@ -0,0 +1,259 @@
+/*
+Pointcloud library for .NET
+Copyright (C) 2013 M. Hofman
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+*/
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using NUnit.Framework;
+using PointCloud.io;
+
+namespace PointCloud.Test
+{
+ [TestFixture]
+ public class PCDWriterTest
+ {
+ [Test]
+ public void BinaryFileWriteTest()
+ {
+ var pw = new PCDWriter();
+ List plist = new List(){
+ new PointXYZRGBA(0.93773f,0.33763f,0f, 0,0,0,0),
+ new PointXYZRGBA(0.90805f,0.35641f,0, 0,0,0,0),
+ new PointXYZRGBA(0.81915f,0.32f,0, 0,0,0,0),
+ new PointXYZRGBA(0.97192f,0.278f,0, 0,0,0,0),
+ new PointXYZRGBA(0.944f,0.29474f,0, 0,0,0,0),
+ new PointXYZRGBA(0.98111f,0.24247f,0, 0,0,0,0),
+ new PointXYZRGBA(0.93655f,0.26143f,0, 0,0,0,0),
+ new PointXYZRGBA(0.91631f,0.27442f,0, 0,0,0,0),
+ new PointXYZRGBA(0.81921f,0.29315f,0, 0,0,0,0),
+ new PointXYZRGBA(0.90701f,0.24109f,0, 0,0,0,0),
+ new PointXYZRGBA(0.83239f,0.23398f,0, 0,0,0,0),
+ new PointXYZRGBA(0.99185f,0.2116f,0, 0,0,0,0),
+ new PointXYZRGBA(0.89264f,0.21174f,0, 0,0,0,0),
+ new PointXYZRGBA(0.85082f,0.21212f,0, 0,0,0,0),
+ new PointXYZRGBA(0.81044f,0.32222f,0, 0,0,0,0),
+ new PointXYZRGBA(0.74459f,0.32192f,0, 0,0,0,0),
+ new PointXYZRGBA(0.69927f,0.32278f,0, 0,0,0,0),
+ new PointXYZRGBA(0.8102f,0.29315f,0, 0,0,0,0),
+ new PointXYZRGBA(0.75504f,0.29765f,0, 0,0,0,0),
+ new PointXYZRGBA(0.8102f,0.24399f,0, 0,0,0,0),
+ new PointXYZRGBA(0.74995f,0.24723f,0, 0,0,0,0),
+ new PointXYZRGBA(0.68049f,0.29768f,0, 0,0,0,0),
+ new PointXYZRGBA(0.66509f,0.29002f,0, 0,0,0,0),
+ new PointXYZRGBA(0.69441f,0.2526f,0, 0,0,0,0),
+ new PointXYZRGBA(0.62807f,0.22187f,0, 0,0,0,0),
+ new PointXYZRGBA(0.58706f,0.32199f,0, 0,0,0,0),
+ new PointXYZRGBA(0.52125f,0.31955f,0, 0,0,0,0),
+ new PointXYZRGBA(0.49351f,0.32282f,0, 0,0,0,0),
+ new PointXYZRGBA(0.44313f,0.32169f,0, 0,0,0,0),
+ new PointXYZRGBA(0.58678f,0.2929f,0, 0,0,0,0),
+ new PointXYZRGBA(0.53436f,0.29164f,0, 0,0,0,0),
+ new PointXYZRGBA(0.59308f,0.24134f,0, 0,0,0,0),
+ new PointXYZRGBA(0.5357f,0.2444f,0, 0,0,0,0),
+ new PointXYZRGBA(0.50043f,0.31235f,0, 0,0,0,0),
+ new PointXYZRGBA(0.44107f,0.29711f,0, 0,0,0,0),
+ new PointXYZRGBA(0.50727f,0.22193f,0, 0,0,0,0),
+ new PointXYZRGBA(0.43957f,0.23976f,0, 0,0,0,0),
+ new PointXYZRGBA(0.8105f,0.21112f,0, 0,0,0,0),
+ new PointXYZRGBA(0.73555f,0.2114f,0, 0,0,0,0),
+ new PointXYZRGBA(0.69907f,0.21082f,0, 0,0,0,0),
+ new PointXYZRGBA(0.63327f,0.21154f,0, 0,0,0,0),
+ new PointXYZRGBA(0.59165f,0.21201f,0, 0,0,0,0),
+ new PointXYZRGBA(0.52477f,0.21491f,0, 0,0,0,0),
+ new PointXYZRGBA(0.49375f,0.21006f,0, 0,0,0,0),
+ new PointXYZRGBA(0.4384f,0.19632f,0, 0,0,0,0),
+ new PointXYZRGBA(0.43425f,0.16052f,0, 0,0,0,0),
+ new PointXYZRGBA(0.3787f,0.32173f,0, 0,0,0,0),
+ new PointXYZRGBA(0.33444f,0.3216f,0, 0,0,0,0),
+ new PointXYZRGBA(0.23815f,0.32199f,0, 0,0,0,0),
+ new PointXYZRGBA(0.3788f,0.29315f,0, 0,0,0,0),
+ new PointXYZRGBA(0.33058f,0.31073f,0, 0,0,0,0),
+ new PointXYZRGBA(0.3788f,0.24399f,0, 0,0,0,0),
+ new PointXYZRGBA(0.30249f,0.29189f,0, 0,0,0,0),
+ new PointXYZRGBA(0.23492f,0.29446f,0, 0,0,0,0),
+ new PointXYZRGBA(0.29465f,0.24399f,0, 0,0,0,0),
+ new PointXYZRGBA(0.23514f,0.24172f,0, 0,0,0,0),
+ new PointXYZRGBA(0.18836f,0.32277f,0, 0,0,0,0),
+ new PointXYZRGBA(0.15992f,0.32176f,0, 0,0,0,0),
+ new PointXYZRGBA(0.08642f,0.32181f,0, 0,0,0,0),
+ new PointXYZRGBA(0.039994f,0.32283f,0, 0,0,0,0),
+ new PointXYZRGBA(0.20039f,0.31211f,0, 0,0,0,0),
+ new PointXYZRGBA(0.1417f,0.29506f,0, 0,0,0,0),
+ new PointXYZRGBA(0.20921f,0.22332f,0, 0,0,0,0),
+ new PointXYZRGBA(0.13884f,0.24227f,0, 0,0,0,0),
+ new PointXYZRGBA(0.085123f,0.29441f,0, 0,0,0,0),
+ new PointXYZRGBA(0.048446f,0.31279f,0, 0,0,0,0),
+ new PointXYZRGBA(0.086957f,0.24399f,0, 0,0,0,0),
+ new PointXYZRGBA(0.3788f,0.21189f,0, 0,0,0,0),
+ new PointXYZRGBA(0.29465f,0.19323f,0, 0,0,0,0),
+ new PointXYZRGBA(0.23755f,0.19348f,0, 0,0,0,0),
+ new PointXYZRGBA(0.29463f,0.16054f,0, 0,0,0,0),
+ new PointXYZRGBA(0.23776f,0.16054f,0, 0,0,0,0),
+ new PointXYZRGBA(0.19016f,0.21038f,0, 0,0,0,0),
+ new PointXYZRGBA(0.15704f,0.21245f,0, 0,0,0,0),
+ new PointXYZRGBA(0.08678f,0.21169f,0, 0,0,0,0),
+ new PointXYZRGBA(0.012746f,0.32168f,0, 0,0,0,0),
+ new PointXYZRGBA(-0.075715f,0.32095f,0, 0,0,0,0),
+ new PointXYZRGBA(-0.10622f,0.32304f,0, 0,0,0,0),
+ new PointXYZRGBA(-0.16391f,0.32118f,0, 0,0,0,0),
+ new PointXYZRGBA(0.00088411f,0.29487f,0, 0,0,0,0),
+ new PointXYZRGBA(-0.057568f,0.29457f,0, 0,0,0,0),
+ new PointXYZRGBA(-0.0034333f,0.24399f,0, 0,0,0,0),
+ new PointXYZRGBA(-0.055185f,0.24185f,0, 0,0,0,0),
+ new PointXYZRGBA(-0.10983f,0.31352f,0, 0,0,0,0),
+ new PointXYZRGBA(-0.15082f,0.29453f,0, 0,0,0,0),
+ new PointXYZRGBA(-0.11534f,0.22049f,0, 0,0,0,0),
+ new PointXYZRGBA(-0.15155f,0.24381f,0, 0,0,0,0),
+ new PointXYZRGBA(-0.1912f,0.32173f,0, 0,0,0,0),
+ new PointXYZRGBA(-0.281f,0.3185f,0, 0,0,0,0),
+ new PointXYZRGBA(-0.30791f,0.32307f,0, 0,0,0,0),
+ new PointXYZRGBA(-0.33854f,0.32148f,0, 0,0,0,0),
+ new PointXYZRGBA(-0.21248f,0.29805f,0, 0,0,0,0),
+ new PointXYZRGBA(-0.26372f,0.29905f,0, 0,0,0,0),
+ new PointXYZRGBA(-0.22562f,0.24399f,0, 0,0,0,0),
+ new PointXYZRGBA(-0.25035f,0.2371f,0, 0,0,0,0),
+ new PointXYZRGBA(-0.29941f,0.31191f,0, 0,0,0,0),
+ new PointXYZRGBA(-0.35845f,0.2954f,0, 0,0,0,0),
+ new PointXYZRGBA(-0.29231f,0.22236f,0, 0,0,0,0),
+ new PointXYZRGBA(-0.36101f,0.24172f,0, 0,0,0,0),
+ new PointXYZRGBA(-0.0034393f,0.21129f,0, 0,0,0,0),
+ new PointXYZRGBA(-0.07306f,0.21304f,0, 0,0,0,0),
+ new PointXYZRGBA(-0.10579f,0.2099f,0, 0,0,0,0),
+ new PointXYZRGBA(-0.13642f,0.21411f,0, 0,0,0,0),
+ new PointXYZRGBA(-0.22562f,0.19323f,0, 0,0,0,0),
+ new PointXYZRGBA(-0.24439f,0.19799f,0, 0,0,0,0),
+ new PointXYZRGBA(-0.22591f,0.16041f,0, 0,0,0,0),
+ new PointXYZRGBA(-0.23466f,0.16082f,0, 0,0,0,0),
+ new PointXYZRGBA(-0.3077f,0.20998f,0, 0,0,0,0),
+ new PointXYZRGBA(-0.3413f,0.21239f,0, 0,0,0,0),
+ new PointXYZRGBA(-0.40551f,0.32178f,0, 0,0,0,0),
+ new PointXYZRGBA(-0.50568f,0.3218f,0, 0,0,0,0),
+ new PointXYZRGBA(-0.41732f,0.30844f,0, 0,0,0,0),
+ new PointXYZRGBA(-0.44237f,0.28859f,0, 0,0,0,0),
+ new PointXYZRGBA(-0.41591f,0.22004f,0, 0,0,0,0),
+ new PointXYZRGBA(-0.44803f,0.24236f,0, 0,0,0,0),
+ new PointXYZRGBA(-0.50623f,0.29315f,0, 0,0,0,0),
+ new PointXYZRGBA(-0.50916f,0.24296f,0, 0,0,0,0),
+ new PointXYZRGBA(-0.57019f,0.22334f,0, 0,0,0,0),
+ new PointXYZRGBA(-0.59611f,0.32199f,0, 0,0,0,0),
+ new PointXYZRGBA(-0.65104f,0.32199f,0, 0,0,0,0),
+ new PointXYZRGBA(-0.72566f,0.32129f,0, 0,0,0,0),
+ new PointXYZRGBA(-0.75538f,0.32301f,0, 0,0,0,0),
+ new PointXYZRGBA(-0.59653f,0.29315f,0, 0,0,0,0),
+ new PointXYZRGBA(-0.65063f,0.29315f,0, 0,0,0,0),
+ new PointXYZRGBA(-0.59478f,0.24245f,0, 0,0,0,0),
+ new PointXYZRGBA(-0.65063f,0.24399f,0, 0,0,0,0),
+ new PointXYZRGBA(-0.70618f,0.29525f,0, 0,0,0,0),
+ new PointXYZRGBA(-0.76203f,0.31284f,0, 0,0,0,0),
+ new PointXYZRGBA(-0.70302f,0.24183f,0, 0,0,0,0),
+ new PointXYZRGBA(-0.77062f,0.22133f,0, 0,0,0,0),
+ new PointXYZRGBA(-0.41545f,0.21099f,0, 0,0,0,0),
+ new PointXYZRGBA(-0.45004f,0.19812f,0, 0,0,0,0),
+ new PointXYZRGBA(-0.4475f,0.1673f,0, 0,0,0,0),
+ new PointXYZRGBA(-0.52031f,0.21236f,0, 0,0,0,0),
+ new PointXYZRGBA(-0.55182f,0.21045f,0, 0,0,0,0),
+ new PointXYZRGBA(-0.5965f,0.21131f,0, 0,0,0,0),
+ new PointXYZRGBA(-0.65064f,0.2113f,0, 0,0,0,0),
+ new PointXYZRGBA(-0.72216f,0.21286f,0, 0,0,0,0),
+ new PointXYZRGBA(-0.7556f,0.20987f,0, 0,0,0,0),
+ new PointXYZRGBA(-0.78343f,0.31973f,0, 0,0,0,0),
+ new PointXYZRGBA(-0.87572f,0.32111f,0, 0,0,0,0),
+ new PointXYZRGBA(-0.90519f,0.32263f,0, 0,0,0,0),
+ new PointXYZRGBA(-0.95526f,0.34127f,0, 0,0,0,0),
+ new PointXYZRGBA(-0.79774f,0.29271f,0, 0,0,0,0),
+ new PointXYZRGBA(-0.85618f,0.29497f,0, 0,0,0,0),
+ new PointXYZRGBA(-0.79975f,0.24326f,0, 0,0,0,0),
+ new PointXYZRGBA(-0.8521f,0.24246f,0, 0,0,0,0),
+ new PointXYZRGBA(-0.91157f,0.31224f,0, 0,0,0,0),
+ new PointXYZRGBA(-0.95031f,0.29572f,0, 0,0,0,0),
+ new PointXYZRGBA(-0.92223f,0.2213f,0, 0,0,0,0),
+ new PointXYZRGBA(-0.94979f,0.24354f,0, 0,0,0,0),
+ new PointXYZRGBA(-0.78641f,0.21505f,0, 0,0,0,0),
+ new PointXYZRGBA(-0.87094f,0.21237f,0, 0,0,0,0),
+ new PointXYZRGBA(-0.90637f,0.20934f,0, 0,0,0,0),
+ new PointXYZRGBA(-0.93777f,0.21481f,0, 0,0,0,0),
+ new PointXYZRGBA(0.22244f,-0.0296f,0, 0,0,0,0),
+ new PointXYZRGBA(0.2704f,-0.078167f,0, 0,0,0,0),
+ new PointXYZRGBA(0.24416f,-0.056883f,0, 0,0,0,0),
+ new PointXYZRGBA(0.27311f,-0.10653f,0, 0,0,0,0),
+ new PointXYZRGBA(0.26172f,-0.10653f,0, 0,0,0,0),
+ new PointXYZRGBA(0.2704f,-0.1349f,0, 0,0,0,0),
+ new PointXYZRGBA(0.24428f,-0.15599f,0, 0,0,0,0),
+ new PointXYZRGBA(0.19017f,-0.025297f,0, 0,0,0,0),
+ new PointXYZRGBA(0.14248f,-0.02428f,0, 0,0,0,0),
+ new PointXYZRGBA(0.19815f,-0.037432f,0, 0,0,0,0),
+ new PointXYZRGBA(0.14248f,-0.03515f,0, 0,0,0,0),
+ new PointXYZRGBA(0.093313f,-0.02428f,0, 0,0,0,0),
+ new PointXYZRGBA(0.044144f,-0.02428f,0, 0,0,0,0),
+ new PointXYZRGBA(0.093313f,-0.03515f,0, 0,0,0,0),
+ new PointXYZRGBA(0.044144f,-0.03515f,0, 0,0,0,0),
+ new PointXYZRGBA(0.21156f,-0.17357f,0, 0,0,0,0),
+ new PointXYZRGBA(0.029114f,-0.12594f,0, 0,0,0,0),
+ new PointXYZRGBA(0.036583f,-0.15619f,0, 0,0,0,0),
+ new PointXYZRGBA(0.22446f,-0.20514f,0, 0,0,0,0),
+ new PointXYZRGBA(0.2208f,-0.2369f,0, 0,0,0,0),
+ new PointXYZRGBA(0.2129f,-0.208f,0, 0,0,0,0),
+ new PointXYZRGBA(0.19316f,-0.25672f,0, 0,0,0,0),
+ new PointXYZRGBA(0.14497f,-0.27484f,0, 0,0,0,0),
+ new PointXYZRGBA(0.030167f,-0.18748f,0, 0,0,0,0),
+ new PointXYZRGBA(0.1021f,-0.27453f,0, 0,0,0,0),
+ new PointXYZRGBA(0.1689f,-0.2831f,0, 0,0,0,0),
+ new PointXYZRGBA(0.13875f,-0.28647f,0, 0,0,0,0),
+ new PointXYZRGBA(0.086993f,-0.29568f,0, 0,0,0,0),
+ new PointXYZRGBA(0.044924f,-0.3154f,0, 0,0,0,0),
+ new PointXYZRGBA(-0.0066125f,-0.02428f,0, 0,0,0,0),
+ new PointXYZRGBA(-0.057362f,-0.02428f,0, 0,0,0,0),
+ new PointXYZRGBA(-0.0066125f,-0.03515f,0, 0,0,0,0),
+ new PointXYZRGBA(-0.057362f,-0.03515f,0, 0,0,0,0),
+ new PointXYZRGBA(-0.10653f,-0.02428f,0, 0,0,0,0),
+ new PointXYZRGBA(-0.15266f,-0.025282f,0, 0,0,0,0),
+ new PointXYZRGBA(-0.10653f,-0.03515f,0, 0,0,0,0),
+ new PointXYZRGBA(-0.16036f,-0.037257f,0, 0,0,0,0),
+ new PointXYZRGBA(0.0083286f,-0.1259f,0, 0,0,0,0),
+ new PointXYZRGBA(0.0007442f,-0.15603f,0, 0,0,0,0),
+ new PointXYZRGBA(-0.1741f,-0.17381f,0, 0,0,0,0),
+ new PointXYZRGBA(-0.18502f,-0.02954f,0, 0,0,0,0),
+ new PointXYZRGBA(-0.20707f,-0.056403f,0, 0,0,0,0),
+ new PointXYZRGBA(-0.23348f,-0.07764f,0, 0,0,0,0),
+ new PointXYZRGBA(-0.2244f,-0.10653f,0, 0,0,0,0),
+ new PointXYZRGBA(-0.23604f,-0.10652f,0, 0,0,0,0),
+ new PointXYZRGBA(-0.20734f,-0.15641f,0, 0,0,0,0),
+ new PointXYZRGBA(-0.23348f,-0.13542f,0, 0,0,0,0),
+ new PointXYZRGBA(0.0061083f,-0.18729f,0, 0,0,0,0),
+ new PointXYZRGBA(-0.066235f,-0.27472f,0, 0,0,0,0),
+ new PointXYZRGBA(-0.17577f,-0.20789f,0, 0,0,0,0),
+ new PointXYZRGBA(-0.10861f,-0.27494f,0, 0,0,0,0),
+ new PointXYZRGBA(-0.15584f,-0.25716f,0, 0,0,0,0),
+ new PointXYZRGBA(-0.0075775f,-0.31546f,0, 0,0,0,0),
+ new PointXYZRGBA(-0.050817f,-0.29595f,0, 0,0,0,0),
+ new PointXYZRGBA(-0.10306f,-0.28653f,0, 0,0,0,0),
+ new PointXYZRGBA(-0.1319f,-0.2831f,0, 0,0,0,0),
+ new PointXYZRGBA(-0.18716f,-0.20571f,0, 0,0,0,0),
+ new PointXYZRGBA(-0.18369f,-0.23729f,0, 0,0,0,0)
+ };
+
+ var result = pw.WriteBinData(plist, "write_test.pcd");
+
+ Assert.AreEqual(true, result);
+ }
+
+
+ }
+}
diff --git a/PointCloud.Test/PointCloud.Test.csproj b/PointCloud.Test/PointCloud.Test.csproj
index ed7d55e..afce7b3 100644
--- a/PointCloud.Test/PointCloud.Test.csproj
+++ b/PointCloud.Test/PointCloud.Test.csproj
@@ -31,9 +31,9 @@
4
-
+
False
- ..\packages\NUnit.2.6.2\lib\nunit.framework.dll
+ NUnit-net-4.0\nunit.framework.dll
@@ -44,6 +44,7 @@
+
@@ -53,6 +54,9 @@
PreserveNewest
+
+ PreserveNewest
+
diff --git a/PointCloud.Test/PointTypeTest.cs b/PointCloud.Test/PointTypeTest.cs
index 028b748..fb1415e 100644
--- a/PointCloud.Test/PointTypeTest.cs
+++ b/PointCloud.Test/PointTypeTest.cs
@@ -42,5 +42,21 @@ public void PointConvertToTest()
Assert.AreEqual("1 2 3", TypeDescriptor.GetConverter(point).ConvertTo(point, typeof(string)));
}
+
+ [Test]
+ public void PointRGBAConvertFromTest()
+ {
+
+ var bytes = new byte[] { 0x00, 0x00, 0x00, 0x00, 0x5a, 0x24, 0xd7, 0x44, 0xbc, 0x77, 0xfb, 0x43, 0x00, 0x00, 0x80, 0x3f };
+ PointXYZRGBA point = (PointXYZRGBA)TypeDescriptor.GetConverter(typeof(PointXYZRGBA)).ConvertFrom(bytes);
+
+ Assert.AreEqual(0, point.X, 0.000001);
+ Assert.AreEqual(1721.136, point.Y, 0.000001);
+ Assert.AreEqual(502.9354, point.Z, 0.000001);
+ Assert.AreEqual(0x00, point.R);
+ Assert.AreEqual(0x00, point.G);
+ Assert.AreEqual(0x80, point.B);
+ Assert.AreEqual(0x3f, point.A);
+ }
}
}
diff --git a/PointCloud.Test/testbin.pcd b/PointCloud.Test/testbin.pcd
new file mode 100644
index 0000000..c82aec9
Binary files /dev/null and b/PointCloud.Test/testbin.pcd differ
diff --git a/PointCloud.sln b/PointCloud.sln
index 28680ad..8d307b8 100644
--- a/PointCloud.sln
+++ b/PointCloud.sln
@@ -1,6 +1,8 @@
-Microsoft Visual Studio Solution File, Format Version 11.00
-# Visual Studio 2010
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 2013
+VisualStudioVersion = 12.0.21005.1
+MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PointCloud", "PointCloud\PointCloud.csproj", "{F08FC0D5-2719-4EDB-B5E8-241C54903EBD}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PointCloud.Test", "PointCloud.Test\PointCloud.Test.csproj", "{2D4A485B-BFDC-46E8-AF2E-9E995763B938}"
@@ -8,17 +10,33 @@ EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
+ Debug|Mixed Platforms = Debug|Mixed Platforms
+ Debug|x86 = Debug|x86
Release|Any CPU = Release|Any CPU
+ Release|Mixed Platforms = Release|Mixed Platforms
+ Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{F08FC0D5-2719-4EDB-B5E8-241C54903EBD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F08FC0D5-2719-4EDB-B5E8-241C54903EBD}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {F08FC0D5-2719-4EDB-B5E8-241C54903EBD}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
+ {F08FC0D5-2719-4EDB-B5E8-241C54903EBD}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
+ {F08FC0D5-2719-4EDB-B5E8-241C54903EBD}.Debug|x86.ActiveCfg = Debug|Any CPU
{F08FC0D5-2719-4EDB-B5E8-241C54903EBD}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F08FC0D5-2719-4EDB-B5E8-241C54903EBD}.Release|Any CPU.Build.0 = Release|Any CPU
+ {F08FC0D5-2719-4EDB-B5E8-241C54903EBD}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
+ {F08FC0D5-2719-4EDB-B5E8-241C54903EBD}.Release|Mixed Platforms.Build.0 = Release|Any CPU
+ {F08FC0D5-2719-4EDB-B5E8-241C54903EBD}.Release|x86.ActiveCfg = Release|Any CPU
{2D4A485B-BFDC-46E8-AF2E-9E995763B938}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{2D4A485B-BFDC-46E8-AF2E-9E995763B938}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {2D4A485B-BFDC-46E8-AF2E-9E995763B938}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
+ {2D4A485B-BFDC-46E8-AF2E-9E995763B938}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
+ {2D4A485B-BFDC-46E8-AF2E-9E995763B938}.Debug|x86.ActiveCfg = Debug|Any CPU
{2D4A485B-BFDC-46E8-AF2E-9E995763B938}.Release|Any CPU.ActiveCfg = Release|Any CPU
{2D4A485B-BFDC-46E8-AF2E-9E995763B938}.Release|Any CPU.Build.0 = Release|Any CPU
+ {2D4A485B-BFDC-46E8-AF2E-9E995763B938}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
+ {2D4A485B-BFDC-46E8-AF2E-9E995763B938}.Release|Mixed Platforms.Build.0 = Release|Any CPU
+ {2D4A485B-BFDC-46E8-AF2E-9E995763B938}.Release|x86.ActiveCfg = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/PointCloud/Exceptions/PCDReaderException.cs b/PointCloud/Exceptions/PCDReaderException.cs
new file mode 100644
index 0000000..28d629b
--- /dev/null
+++ b/PointCloud/Exceptions/PCDReaderException.cs
@@ -0,0 +1,14 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace PointCloud.Exceptions
+{
+ public class PCDReaderException : Exception
+ {
+ public PCDReaderException() {}
+
+ public PCDReaderException(String message) : base(message) { }
+ }
+}
diff --git a/PointCloud/PointCloud.csproj b/PointCloud/PointCloud.csproj
index ada8f8e..275eaaa 100644
--- a/PointCloud/PointCloud.csproj
+++ b/PointCloud/PointCloud.csproj
@@ -33,6 +33,7 @@
+
@@ -47,11 +48,14 @@
+
+
+
diff --git a/PointCloud/PointTypes/Converters/PointXYZRGBAConverter.cs b/PointCloud/PointTypes/Converters/PointXYZRGBAConverter.cs
new file mode 100644
index 0000000..d554e92
--- /dev/null
+++ b/PointCloud/PointTypes/Converters/PointXYZRGBAConverter.cs
@@ -0,0 +1,111 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Globalization;
+using System.Linq;
+using System.Text;
+using System.Runtime.InteropServices;
+
+namespace PointCloud.PointTypes.Converters
+{
+
+ struct PointPosColor
+ {
+ public float x;
+ public float y;
+ public float z;
+ public byte r;
+ public byte g;
+ public byte b;
+ public byte a;
+ }
+
+ ///
+ /// Class that converts between PointXYZ objects and string objects.
+ ///
+ class PointXYZRGBAConverter : TypeConverter
+ {
+ public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType)
+ {
+ if(sourceType == typeof(byte[]))
+ {
+ return true;
+ }
+
+ return base.CanConvertFrom(context, sourceType);
+ }
+
+ public override object ConvertFrom(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value)
+ {
+ if (value is byte[])
+ {
+ byte[] bytes = (byte[]) value;
+ PointPosColor ppc = (PointPosColor)BytesToStruct(bytes, typeof(PointPosColor));
+ return new PointXYZRGBA(ppc.x, ppc.y, ppc.z, ppc.r, ppc.g, ppc.b, ppc.a);
+ }
+
+ return base.ConvertFrom(context, culture, value);
+ }
+
+ static object BytesToStruct(byte[] bytes, Type strcutType)
+ {
+ int size = Marshal.SizeOf(strcutType);
+ IntPtr buffer = Marshal.AllocHGlobal(size);
+ try
+ {
+ Marshal.Copy(bytes, 0, buffer, size);
+ return Marshal.PtrToStructure(buffer, strcutType);
+ }
+ finally
+ {
+ Marshal.FreeHGlobal(buffer);
+ }
+ }
+
+ static byte[] StructToBytes(object structObj)
+ {
+ int size = Marshal.SizeOf(structObj);
+ IntPtr buffer = Marshal.AllocHGlobal(size);
+ try
+ {
+ Marshal.StructureToPtr(structObj, buffer, false);
+ byte[] bytes = new byte[size];
+ Marshal.Copy(buffer, bytes, 0, size);
+ return bytes;
+ }
+ finally
+ {
+ Marshal.FreeHGlobal(buffer);
+ }
+ }
+
+ public override bool CanConvertTo(ITypeDescriptorContext context, Type destinationType)
+ {
+ if(destinationType == typeof(byte[]))
+ {
+ return true;
+ }
+
+ return base.CanConvertTo(context, destinationType);
+ }
+
+ public override object ConvertTo(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, Type destinationType)
+ {
+ if (destinationType == typeof(byte[]))
+ {
+ PointXYZRGBA point = (PointXYZRGBA)value;
+ PointPosColor ppc;
+ ppc.x = point.X;
+ ppc.y = point.Y;
+ ppc.z = point.Z;
+ ppc.r = point.R;
+ ppc.g = point.G;
+ ppc.b = point.B;
+ ppc.a = point.A;
+ byte[] bytes = StructToBytes(ppc);
+ return bytes;
+ }
+ return base.ConvertTo(context, culture, value, destinationType);
+ }
+ }
+}
diff --git a/PointCloud/PointTypes/PointXYZRGBA.cs b/PointCloud/PointTypes/PointXYZRGBA.cs
new file mode 100644
index 0000000..0751c61
--- /dev/null
+++ b/PointCloud/PointTypes/PointXYZRGBA.cs
@@ -0,0 +1,40 @@
+using System.ComponentModel;
+using PointCloud.PointTypes.Converters;
+
+namespace PointCloud
+{
+ [TypeConverter(typeof(PointXYZRGBAConverter))]
+ public class PointXYZRGBA : PointXYZ
+ {
+ public PointXYZRGBA() : base()
+ {
+ R = 0;
+ G = 0;
+ B = 0;
+ A = 0;
+ }
+
+ public PointXYZRGBA(float x, float y, float z, int r, int g, int b, int a)
+ : base(x, y, z)
+ {
+ R = (byte)r;
+ G = (byte)g;
+ B = (byte)b;
+ A = (byte)a;
+ }
+
+ public PointXYZRGBA(float x, float y, float z, byte r, byte g, byte b, byte a)
+ : base(x, y, z)
+ {
+ R = r;
+ G = g;
+ B = b;
+ A = a;
+ }
+
+ public byte R { get; set; }
+ public byte G { get; set; }
+ public byte B { get; set; }
+ public byte A { get; set; }
+ }
+}
diff --git a/PointCloud/io/PCDReader.cs b/PointCloud/io/PCDReader.cs
index ce7b6f3..e657026 100644
--- a/PointCloud/io/PCDReader.cs
+++ b/PointCloud/io/PCDReader.cs
@@ -23,6 +23,7 @@ You should have received a copy of the GNU Lesser General Public
using System.IO;
using System.Linq;
using PointCloud.Exceptions;
+using System.Text;
namespace PointCloud.io
{
@@ -61,7 +62,11 @@ public PointCloud Read(String filename, int offset)
if(line.Contains("ascii"))
{
- pointList = readData(sr);
+ pointList = readData(sr);
+ }
+ else if (line.Contains("binary"))
+ {
+ pointList = readBinData(sr);
}
else
{
@@ -89,6 +94,56 @@ private List readData(StreamReader sr)
return points;
}
+
+
+
+ public List readBinData(StreamReader sr)
+ {
+ sr.BaseStream.Seek(0,0);
+ BinaryReader readInfo = new BinaryReader(sr.BaseStream);
+
+ StringBuilder headerRow;
+ char currentSymbol;
+ Int64 Count = 0;
+
+ do
+ {
+ headerRow = new StringBuilder();
+ do
+ {
+ currentSymbol = readInfo.ReadChar();
+ if (currentSymbol == '\r')
+ {
+ continue;
+ }
+ headerRow.Append(currentSymbol);
+ } while (currentSymbol != '\n');
+
+ string s = headerRow.ToString();
+
+ if (s.StartsWith("POINTS "))
+ {
+ Count = Convert.ToInt64(s.Substring(7, s.Length - 8));
+ }
+ } while (headerRow.ToString() != "DATA binary\n");
+
+ List points = new List();
+ var bytes = readInfo.ReadBytes(16);
+ while(bytes != null && bytes.Length==16)
+ {
+ points.Add((T)TypeDescriptor.GetConverter(typeof(T)).ConvertFrom(bytes));
+ bytes = readInfo.ReadBytes(16);
+ }
+ return points;
+
+ }
+
+
+
+
+
+
+
///
/// Reads a poincloud from the specified *.pcd file. Supports different version of the pcd file format.
///
diff --git a/PointCloud/io/PCDWriter.cs b/PointCloud/io/PCDWriter.cs
new file mode 100644
index 0000000..3565fe5
--- /dev/null
+++ b/PointCloud/io/PCDWriter.cs
@@ -0,0 +1,49 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.IO;
+using System.Linq;
+using System.Text;
+
+namespace PointCloud.io
+{
+ public class PCDWriter
+ {
+ public bool WriteBinData(List pointList,string filePathAndName)
+ {
+ System.IO.FileStream fs = null;
+ try
+ {
+ using (fs = System.IO.File.Create(filePathAndName))
+ {
+ BinaryWriter writeInfo = new BinaryWriter(fs);
+ string s = "# .PCD v0.7 - Point Cloud Data file format\n" +
+ "VERSION 0.7\n" +
+ "FIELDS x y z rgba\n" +
+ "SIZE 4 4 4 4\n" +
+ "TYPE F F F U\n" +
+ "COUNT 1 1 1 1\n" +
+ string.Format("WIDTH {0}\n", pointList.Count) +
+ "HEIGHT 1\n" +
+ "VIEWPOINT 0 0 0 1 0 0 0\n" +
+ string.Format("POINTS {0}\n", pointList.Count) +
+ "DATA binary\n";
+
+ writeInfo.Write(Encoding.ASCII.GetBytes(s));
+
+ foreach (PointXYZRGBA pointXYZRGBA in pointList)
+ {
+ var bytes =TypeDescriptor.GetConverter(typeof(PointXYZRGBA)).ConvertTo(pointXYZRGBA, typeof(byte[]));
+ writeInfo.Write((byte[])bytes);
+ }
+
+ }
+ return true;
+ }
+ catch (Exception)
+ {
+ }
+ return false;
+ }
+ }
+}
diff --git a/testpoint/Program.cs b/testpoint/Program.cs
new file mode 100644
index 0000000..f5daecb
--- /dev/null
+++ b/testpoint/Program.cs
@@ -0,0 +1,26 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using PointCloud;
+using System.ComponentModel;
+using PointCloud.io;
+
+namespace testpoint
+{
+ class Program
+ {
+ static void Main(string[] args)
+ {
+
+ PCDReader reader = new PCDReader();
+ PointCloud cloud = reader.Read("testbin.pcd");
+
+
+ Console.WriteLine("count:{0},x:{1} Y:{2} Z:{3}, R:{4} G:{5} B:{6} A:{7}", cloud.Points.Count, cloud[0].X, cloud[0].Y, cloud[0].Z,
+ cloud[0].R, cloud[0].G, cloud[0].B, cloud[0].A);
+ Console.ReadKey();
+
+ }
+ }
+}
diff --git a/testpoint/Properties/AssemblyInfo.cs b/testpoint/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..83c615f
--- /dev/null
+++ b/testpoint/Properties/AssemblyInfo.cs
@@ -0,0 +1,36 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// 有关程序集的常规信息通过以下
+// 特性集控制。更改这些特性值可修改
+// 与程序集关联的信息。
+[assembly: AssemblyTitle("testpoint")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("Microsoft")]
+[assembly: AssemblyProduct("testpoint")]
+[assembly: AssemblyCopyright("Copyright © Microsoft 2016")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// 将 ComVisible 设置为 false 使此程序集中的类型
+// 对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型,
+// 则将该类型上的 ComVisible 特性设置为 true。
+[assembly: ComVisible(false)]
+
+// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID
+[assembly: Guid("6797a6b9-e1f7-4e6e-9ba8-af5c6f0fa41b")]
+
+// 程序集的版本信息由下面四个值组成:
+//
+// 主版本
+// 次版本
+// 内部版本号
+// 修订号
+//
+// 可以指定所有这些值,也可以使用“内部版本号”和“修订号”的默认值,
+// 方法是按如下所示使用“*”:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/testpoint/testpoint.csproj b/testpoint/testpoint.csproj
new file mode 100644
index 0000000..96f417e
--- /dev/null
+++ b/testpoint/testpoint.csproj
@@ -0,0 +1,63 @@
+
+
+
+ Debug
+ x86
+ 8.0.30703
+ 2.0
+ {E1A0E807-55D6-4E2F-864E-DF75EE0712C5}
+ Exe
+ Properties
+ testpoint
+ testpoint
+ v4.0
+ Client
+ 512
+
+
+ x86
+ true
+ full
+ false
+ bin\Debug\
+ DEBUG;TRACE
+ prompt
+ 4
+
+
+ x86
+ pdbonly
+ true
+ bin\Release\
+ TRACE
+ prompt
+ 4
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {F08FC0D5-2719-4EDB-B5E8-241C54903EBD}
+ PointCloud
+
+
+
+
+
\ No newline at end of file