From 4de00e5a1b814298ffdbf0b9ff8c30e02b92bfd8 Mon Sep 17 00:00:00 2001 From: lanybass Date: Wed, 30 Mar 2016 15:35:51 +0800 Subject: [PATCH 1/7] fix issue #3 :PCDReaderException.cs missing. --- .../NUnit-net-4.0/mock-assembly.exe | Bin 0 -> 20480 bytes .../NUnit-net-4.0/nunit.framework.dll | Bin 0 -> 289280 bytes .../NUnit-net-4.0/nunit.framework.tests.dll | Bin 0 -> 814592 bytes .../NUnit-net-4.0/nunit.framework.xml | 17337 ++++++++++++++++ .../NUnit-net-4.0/nunit.testdata.dll | Bin 0 -> 93696 bytes .../NUnit-net-4.0/nunitlite-runner.exe | Bin 0 -> 5632 bytes PointCloud.Test/NUnit-net-4.0/nunitlite.dll | Bin 0 -> 75264 bytes .../NUnit-net-4.0/nunitlite.tests.exe | Bin 0 -> 52224 bytes .../NUnit-net-4.0/slow-nunit-tests.dll | Bin 0 -> 5120 bytes PointCloud.Test/PointCloud.Test.csproj | 5 +- PointCloud/Exceptions/PCDReaderException.cs | 14 + 11 files changed, 17353 insertions(+), 3 deletions(-) create mode 100644 PointCloud.Test/NUnit-net-4.0/mock-assembly.exe create mode 100644 PointCloud.Test/NUnit-net-4.0/nunit.framework.dll create mode 100644 PointCloud.Test/NUnit-net-4.0/nunit.framework.tests.dll create mode 100644 PointCloud.Test/NUnit-net-4.0/nunit.framework.xml create mode 100644 PointCloud.Test/NUnit-net-4.0/nunit.testdata.dll create mode 100644 PointCloud.Test/NUnit-net-4.0/nunitlite-runner.exe create mode 100644 PointCloud.Test/NUnit-net-4.0/nunitlite.dll create mode 100644 PointCloud.Test/NUnit-net-4.0/nunitlite.tests.exe create mode 100644 PointCloud.Test/NUnit-net-4.0/slow-nunit-tests.dll create mode 100644 PointCloud/Exceptions/PCDReaderException.cs 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 0000000000000000000000000000000000000000..7e2f45a043bc0efb3a6d53dbcc89809f7ba5fbaf GIT binary patch literal 20480 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 Gf&T?!WKP!r literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..ce04dc460021e719c892cb9558819ee7fa6c8269 GIT binary patch literal 289280 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
LXYY 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 + + + 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 0000000000000000000000000000000000000000..4c1baef87f6ec7e880a7535b3645596a4570ba70 GIT binary patch literal 93696 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 Mt>=H#ERqBN2aqPp%K!iX literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..da349ccc707c4596c9ce641ebf4ed1f693ecac1a GIT binary patch literal 5632 zcmeHL+ix6K8UJQ|sqNOzy-Gq_PS&|NEgoMLCB{zH@!IJY-|((oC>F`=?Ai4+voqT> zvyK;4C7@E&2c-0^`~^rnAyJ@eilBW1DLnO|5`C~x1PFvGq#_|6D8KK_jJ=Lsn#Uq? zocZQ_m-F4ucjkPXx#w?F3lX*A`Q#I#xA5kX(eS^6TVVHm@$DXZv-9rBw~X1lCkty% zAZp65D61-L%k%tD6s1sgPdJ{)F62ekFG;hzyX#b}dU2X))@Y$ygTG%%tZh=79yJDu zxeq*Nn=QrKL13Hfu%6yM#zy7!Vj?qYjK0Zsd!1D}|+a42} zU)PBq1OCn#q7%*Z&zcLOjwYE7;LkMSW+*p8;Ik|Qo{ls28<-w~=(?!_WdqZ`WiVlR zcBpA&;JvA&>qAhpu7kO=m!o_aFXcYxn?CI9RdLu-$GT^}_E&5^;8p^L1rjakx(IR5F zji)ysD#xn?EU}3~LRSSKb+bG-%WMWSjs>=OgjeHMdtwb(~yQ2HJsEir{PyM{JMsg zhK_~}z;^nMhOg0k#t~}JOU7|}QBzEMl*Y-VLo^Ne1u6mdQWfxNtTAbXZUcUqehxTA ze*pXn{TVP%{{Z}krr5O4XuZYfG|D&vz-R%&JDiMDaTzyD_0vGY9-s3|byr@Zd?N^D z)yyqWHL!isnnGf?#a%|z*bIe zCv(cL)*M%_Sdy-_p=ZHv-HQr&vBTYrDZkcGPGxORR<&k%jqNo{buVncBRd6M_XsY zfhv#!zL`rBo1mhpwzkVWw%zqry!X#3Y__85jZk_eSz-+_$+SaXB^I-eRq^~FbnGA@ zC7wqKmntvSx?{^At{g;y$^(iD2xy`B0vwKO^5r9I?e8DEH}`h!*FSo9^T(H|RTxG` ziy)&7lLH4B?Lmnj%yo*Ej)QXtb5Hbi{Nh`yE5}ARU+Xw?;clDtNcOL7WORUT#Mj7^ zeEJKi$DdPHZQl2$H*BdZqp+s@n}Gqj=nx$;s7Kek$ou8+rllkX6R{y&P0oFr&}USieLC;ale5!{keL~phrf`VSLbG z zxb}2Qcf{b&L|oCUe({A>95-nNa@CVzKOEg9WY$W>xB@=kuM_c|&t9JAx!~FEk@N-; z=h~F7aN_kj)n8aC&63OaH9E)BBr4>C3JdJCSMDlB3@Mh*8(*F-=Yw5KCo!~q;(u- z4EPj6$^pHyho+-iW{{G4672&w;?=bM2BNjJ9NV6! zWym{NAzdK9=8{Nr2*#LnvyuLg1T zZ0lSBPl3CwYXqI#FrGpE5Iw7X;EaY^)`MoZDGHD3aSX1GL{dLAGR@QSCg27h9%VWS z+q1wbS_@~Uh7OdoUZFKuAf2t9G(ml!oSh8&J)|@7&&TR$IEus>Ff?W z(e9TZS=Fm<#5>fSHwQEUu7DR@E6vgZy361+%YXWQEyVF~C2_8j{bP(Pgg}4roQ>l5 z1AZYurw^a%*#EF8`#Woh_l|3FRPXW5HTUoI{rh}DubD&^0-YzWo(5w6taUHp0RF|` ztViRcJHHygyis+h2o1;%;3)g%?bu>&hDo>@{@gL4Vb;l^>u1>bL#sm=#pb^`W$=TAouz6O!~B+8&e% zv860ml4yCu#txsjqe%-7O~^!gt}$7wxsI*-ZqusO(gTr(P}PGl=au~j^k+D&*THsx zHX3beBgR2d^2Iv*l%+-Gtm79%MFtP3btKU$Ft+tXtvVX&S-CD<;WC^^TS3lS_isp* z7IkORMstfamMu4saZp;xz#iTtt`F?+eSBam2@n_`NOtH_vf~fmpSui*=>I*Q!KMCi I{QqU(KMsjQGXMYp literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..d016b652b6eecf0b7e61fe549b02783bf157c4d0 GIT binary patch literal 75264 zcmd4433yf2^*6ltIp>}`XU@GD2pPz5xkEw{Kn6h&5Sc+lK~z9MMUjgq;6Mx}if9#3 z)T&Tz0c#b9S`}-ZrJ|Km73);0B3OrNYg?=TwpfMlx7OZwNEqJtectbTo-caW*=yKq zuRX0jp2MUwZW5*t!ou&+At8Q+C;g3Jcx=!Kc24C}Ibxgl)#_i#iLX|ldj6ues-;fy zJZIiTRrBX9S(02871zMT^J8gUJY(*K#KMwPVq zDfCXEF!WZXm1rhC=1LL3WAP9vdS#LSm%*yE=`892esWf%#$^jHTL%2Qa@Y$V=M{Em z|5YLNMyJi043Ax5M@2%lkgK(7^TF(MJ55g>MSywOg?wzGhkk-0=V zC5vRa%*Z?bQZ5g;mx+T~QLQ2c4rw?aO<5?-YE$5Rr>Y`1j&M4aJA z;7|ejqNMwu(2HtE|D(!x+@{tY83Bn1O2C(D3zcBmNjRy)(-{g@1Z8FX(h&>s> z<(0@)+zrLONii3*GT@h4hz?@3)5V=crKf_^5LA8ECGJO`#W0hvl>2N}?{~+~(G~bS z@|)c_-UjYYo&pWo;yIW-kCRVvb8Mxm>~<)B`cM$VuVX9Hv_x)vNWc_sAGDyk|yqh35O0H+UxVgZI2?mL(O`uQ>7u{aSSnA z%-SX}R#3Q1JoAq5QTSVJ*1bK zsTdX~FS$xI*o zIHrrfmR(Uh)LfVnOrD>T(SE?>2sHhLGqusT41swd&H3}&7D1M#ZWrKb*^vwJ@SEY} zVm#f+ivaif+;Q8jauF5E_F|D+t86ca?U>9SU6*0HF}01L1KHg*p-1IW`zRK{np8QM z0uEXPsoy9Qe6G01c14!Jj(R(iqz6VTGB`=#j zXcQO+Ll|ZCB!Xl#mt5(}al_zJ+k)zYb5C&j3=2v3VJYT z&TA$~R}aP{W>8u^7@5(n2je$nfBRt(q9-{Y66XqV!fhRZYVCw#=QiaW09Vzwkz5IO z!fT-AUx`pX&1b1CqdkdSv<)j1=>)y43xJk1v^;|d+Hj^%1J`XhD1v3F{$L8Y^dss> z#tv7Y`alo{tN7@n4M>v5Kg=v?3j*WvRUpNi&E(a1CRdS3v0OWO4Fd2v7VFhc=kvXx zjDeP!p1{nJiaAO> z#xV0VC9Fgcg%w0WC1Hc+_oPV4B3V0?EC)cq^hVji0T3{+Py`NufWcZ3H~@k#Mc@Dk zaL-DD10cYEDgp;Ufa6jG4uAkJqX--T0ZmI0H~<3bR}nY>0%j13zyYq45nLmvlTf6E zvKxwEa!C)=1U-&dkKyWZqI#eriH9~s52zr&Z;IjYebB7u=&E709&IqAT1*XQAGi@S z)3l68Gti*n4bNnwvYc5U%k33f`4&$nA4DDs@PiV8Igp5|rl1s1cA_4h1oCV$p0BD@ zaVaO@y4~p7akMewQcWu^Wf01!9Vi0jAL8lxC5cnRQrr=Wo1VB5ml~7eQb|JD;530s z7zApeN`eYG8cp@3QcTr^0xzv+YKt*){=0zdLdh!ZEw;YeexE z1?*%6#i>ZeAuJOo;EAk6u;@}6jaa5+XF_T(IQREKFR9_v{OzZ4t7RAtd*f^qwk{cixgXt74vJnX8Kus#) z@Y?CCj4N7<>+2)8&aa>+91FVxOESVuZ(UMORs zTaLwP4K&e0ms)?mixnsD0xh*}eSdEtA4@u*RiI+MMOq@~L1C)UF-g~j9yuRD>;u_#7I^3f#Ht~?mrdt9MgGu&!% z&5S#Pds79;`A%hZoDW&O6j9O8MQBqxPRrL#Rm6 zCun*j=%k0}Cn2x^KMKt=E@FmeJ5VU4bpzSI)7fF5cdr%B`z z+JX>4QF7(5%-xU)#PU7KpCS-++g?mJb0DO43KE}XZxa}iv%%rLa~&KC98)$XpFrVM zpPwo!E>iPTnvY^(#D9j#2LX{e5Y@404xoc0vy_dZaHtv8OEqOCuK=DkV3xL~IqjrC zbx0(mgIeQdAdo+yIn(8MqU_QCsnnA9aG9xsh^7iFQP9?eC^pXmctRcm*gK;RK@BaZ?UTDDs0g-X^ghSB7y>caWfmbS;hjT!lt&(`Nt z^`df2s@+)v?UE)``MXi8GJ@P;CWd2CyDnkZJO4w45P2NLdx%Z@@BNL)1*kt76~oO{ zd??`Nv9MQ3N!u?W+4clLz!OgX3Qvz6c@hs)EX|4FIR)A(+84PZ?U-A1>&bG=Zs&U> z9D~p2PMC4dk*A<62KPeolTQOlJ_F!$^8J`IKTG&?09>E8Glq!I1IPNQ9eK3isrhLp zUm)u0p49E2rh3yQ)Gx49Yap7dqZ-jMj8@Xa>Zrm4N3*6C;$eY@=?L129X$tY!kZE0 zFb3tn3;Blz%*1~Uk;sbx$sGW75%g;xAM5y>NwC`QtOpF#(Xnt0+p%tM@?}W)BXD*x zT57}#oLeA)LEtx_^C@e`px{4L0+4xS^Of+w<) zZ#XX^X5<=3nLHHvV!biffh7DO#VU37K)@Z@1yXV*T8CaN{V{u&pnC$U9~X$|@v5zn zfB78QspjO%>>uxrBZat@>9X=#3vq+ z`azoNoK$$y4ZSeh;;Hd+m0sWcMc z>NGOLSylng%J2iQA=DI%yaqE$BCi9|gqL*^OO1qCQE$marGb=2g_XOzXTf3_ektSp_q&nW1bZB>4tp z{8)gvoxzY($8^2z#3(n%Q(Gwm&E)UN?DGJ4H9>}yI3p1u>yS0$;EZqwtiY@)E7m|| zZJ8#Lhv+8e&~iHYCQ_jFPuklm{mU_lk?}I4oz&7gD9txQoK*CBqrHlFrHa?f)Fnj3 z<6X^nG!MSx(g0^MjK8Y3k?RERy2=ELy6?qx-VtY30b6UWt2py zc?3oh7K10TD}6fVE+&luNoVB~CX7rIGKy5SI0sl@90a-_KxB2Aa4*W)gky;eV3A1> zDWro6KKXtdb?i(BLp8&ULgnnvRR);3245$MyaVy%EK~?hWT-WD<5;17W<^Z8l4p>F z+Ao-b_CtSYakY>)oQ0Ga*RmPuge^)BC#O3YPlvINCH<9NXDuQe)^Tr3>w7OtUsrd1 z(cxMN=9e^sNaMKVz&Pxp^SU^mRou4gkUu_hMDye$$Cc2S+NI5QyLw*h7G>3`xrQO` zf*xct+mFOobXy)BuRA8PCN<+-N|G;XIRB=sz!+b`gC1kqC9QOQ}P1cX9jA zcd3PfI_%_?0yjmyYfNR3=%rdME_zG^x)NU3O1_7X7DNa3abaZ%60L_IZe6k^A>GzB z8t#skbVtiIdPd3Gb5VwMp~~Q0b>T|iU7ch_6kDS2Bc%>hp57(J`lOyX&`w0tO6EfV zS49}AP1t5tb@l~xM2oUA_!lDR%5M8>7LxpukTaYw zsTU~Yh!Xi5kuT6oT(ctzs|};=I;7YULzuSK8|X>Lnj8Qjk|J;bguW>P2S6Y-6qQxr z@W%?%E(PzO6!xIgaRsKQUVa^t#WSpBI5P@fkg<6g?+KIGoQMlEkl@z5(&7}tIpkTKo z&$$h8vhqd6L^+`+*-TF|jhEelWrp(^ccx+LAr-f+8@T0In&s!s#IflC;tm6Gs(^U`E(Fhs$WFe ztnl&}F2p=h&?b&UZAcUWWu1y*06pnG%Q&r4c`5ls_&6DEB*-E*`8^R9CLXfxMT*LMP`5s8CKNa%DBF=B2%U*LXOiEE1 z;r*5DH1aKXW)O^VMsNz zOrzHknom&?61|NQeFot?fSB0ba~`H=2Nh2&uB5`PVQe6hYfweuHHs8JV7S>0FlJW{ zYc#^q5_DCpCtLy*Mtk!4#Xb|)@nTm(mdYXEscdg_dn!8`Yhsh_;>M8k7@6GDP-wHrV(RmQ&dsHCfDhP1^0V z&7$N3>amp`v~6l9*8-sJ(B7yW&5WSKXapT{S0}XxVhafuI2?W!$4@?Zj^l`aqG7rs zMi$`$dV2!9khmY?6xN_gV}rn_WYIi14vWCI;Z_?-C~DFMA-d66xgKik65;xlHz9D) z{xRmiZP=3V)pZgl@;fqeh2iu?%r>mxeI0{AHX>dG;d=)Gp?<*6*T`jVCPD2opG4$% zftjS|y0}*bLK~yb!zA<>$`tP~7@`Vw3>Tf>J-R^FeMrT(*HvHS+Y2*jj!3t9e5JxQ z4vij#VMY98h!uI0>;#w29*@TpVY;)8jRT(%2?F9=gp`H-u@WPai=fSBxi=IWhICq5ECEm&7nze0UTSh3i9tCEJKD< z_daVn=xQDP^%BQT7egAssz+gj5!HxB4YSCi6`C$DmlzJoIP%l>6I8y>c6Hp0TD98= zqC)p%D%1+w2klMNLa=AzYr~l)9sG9F`-dKS6Qp;u)_V)Nm}3r(SL* z@e&`FTy!_UM*{_Rqw)Hh&pCw1$x4Kh*yQp}L*|%F*EO@qn(FP7qLP~USWTvD&`Oxe z{c=*uGxDrFC#5|Tf$3qouj3IIuLb5QC`&4>IJ&D9!SvP+qiqz30$E@bn2~)T@IdE| zP&LQrqR~?Q7Fw3APY%dUWBlc^!($szT8#1f&OjQy^eF~T>FW_C)`-q5&4A0~AsDTQx`m5-iYg-@)VIP> z)juqO>85C<@^>yp79(?!N*t{|2EC^bWzrykbcf=H2mv7s&xW^bRs(AWeEZig?H7uqhj%8!S0XTTLv z36cXt*rmIG^D2^6%GY4*G$MVFni_YZ$%h6(kxr<=WG0L~UR6@?DpXPimz2e=$z^a! z!Hw|Q-0OJuM>!c0?5X>FgV1--BI_t8A-tI5#whg}DEtZu!##i z+$QO!n<`VKPLpZoj;=;s*;0l71%hhdmurBeEp|Y0uX?UaxOtZ>=23WPV;~$v2h=Hf zAa-nZxWO9KLM=NFx0Ej7Wh@OxSHxUc4dhAFShuJt*DyD#AsllUU*c0UI@vVgK&dKb zo@%H@fi;@VXI7Y9=Ua&iGu&9{l%pz)@J!{fsB1)-6g9)GrRfDt1B7Tn(?m~StTN?{ znP6~SUi3sFP_TuZ@%&H_!^%c4zdaK0gj!5*!VJaoEic|E3Wl|lYdW_!nQwV!r4Y4HiKcz~?Z?c8^0j+V^;iYu8ws0VaEPh}OdDovOO7vczv-yw!$51x&+Hee{3m2LlIK? z8iNMH%6)e<<~zqx(Q=zn?uJ&LHfJ=6n{&SUSToN4J#M}9ViL6X!mBp4NcG1GpgqUd zW~tOk1y=Ozu_n^;i+66L!z&NA-HoYZozZazS~=!~kvLKa9hAI>HVwH$YsXq(rfL$A zgvvQ8J`k(3RK_cPtrql0H5&O6O*~E%Kc{N9yz4G*^lE?EYS>XXuEeVQ7m-Hj>%ftZ zWk&u%9i<7ly2p>Xqrf~0e)20Ye35?O_-%Ki&#nx#2HlmxR*#zon95wd9uHaC^FwSg z1aVjxg1%W}Y_QHa!p{ZTpsfJLm;gciFiYl_1}pF^#jhMcFMfXfXi1QdUlD#G{9@%8 z+M<iHh*sttNhjIv#t;6P zr&hi3^x;SPXq8up9~nuRh*hG1Dx#JCC>fc{Fr^n{(0Ff=sz4QfjS-G~gMx@o))&Gj zpnYJmdOWocD5NzfJrM(kwM4~v0>kUFqUtMZG{ozybCIWq~r~{{vf8iY8Jtb&A+~mJc3fn0T5=V2pm8juozC|;mj0|1K?rJmExV1 z;&I?aqy20U(w8aVPnn<#V@^t#15iY_Dl~6yipPPEjP?m2;NJ9Fcq0R9sG%iW(Bu-u z3UPiy&1w!bBwImNL@HcrhxDXIh|Q<=@pvZOxX?fWBZA>V-)lr&psmr`=>j~_lk-h= zK3J}#oM(}O<+$oFqxvJ7HLsV$c%iZ0wJu&0^0_bo#){muKWmmp`jc&jH_ATWO^YWx z5!QGuv$gp`7=2>J8^<(4E&6 z6UE-0xvBxon*k6Lh2NcdLIlid0AQj}x-%aq=61zIUb-_I`hqza05M@pcjoy~FgpRj zJgz763u1nwn1gyUr^diM696#>_hj~sgE!! z%&Qf1SWhO7sh2u&0K^>LlR2pg%sBvHp3sxIftXtrb3{+(=zd_H0)Ut!dosTwrrFHQ z6MHgef$rcNFcfoCPv$4Y{9Z9f_he3J0do!jVvgy_+)m8b74xK?%wQ{+)c}Y&wkMM| z)j&TvO@Et5h%H70JJj|v%tXquWj!0Q)o~Hc%k0Rx07tyRx1n znvpNQJNpv!-qKWueYm^+y&|gCjVFr!`hFbEEXH0XN->zoa}8MjUU$nQ*n6kR2{?ZN zhh~sAkI#yBC{5!*hUJ3&Q*u1SG-40;ph?@9i!+&1ZjKCBpQQ!&x+eA>(o8WW-~ zlbH*lr!;kJM7OzVm31kITk1+29FQ*EqM8J@%HSAjuWuZCJ@`Guz6Juldd8+V3Mn>S zD%(<5>im$kl{r7*XSwrmMk{tJ(ix<=OsW{Md7lnr|2-YX-g!DKvcd+1VHce{jMet3 z{i7s2iZ2l|ou`p1Bk`)0a3sFUrp8oTeI6`REv>n&8g!I{BLYSyJD-3ZfqPN+IB4d9 zPh_113CtxHQbA&>K~FOYH^WyF6h_-186M9%arjQWBwP;9mKlMIq00(-iA({O#qDw4 zNdb?jI6$z}l`h(a=a8O&GG}(W99&|W6m+J5M$mxhG=Iz=fPo%93+L$RgYlv2 zU>w~T+avQ3J?tNZeAC%TT4tD%33%2mDrvOa;MjaCJfV%c3p?YWR$YWD@H(fbk&%NQ zg&t2>$zdlcat_qv+ABZvt;k%M70-7rL=2PnE zQ2!hN0qbE!-~b5crwAON`S=i&#tEnoKJTC%iYf!&NjMKF20Za1Pu7PI+<5ur0~C%v z=4^S_Ru?qX91C?SMzAj)A2}bfu>;mpYMA3~bG%;2lWX;x*jqd`76LIS-0ysaI&W)7c!d$U5D%XbURwiqR2O2gEs-`5 z@f8DF7yb~2o|rCkyd$+3JTBWabW}R{e6Lgi8{ju zB4rHD*gnwbgL$d*LAO`!sHBbtKkIok=yt{;wh~fr#*x2LYtYk0#WHnPcto2oI+D$4 zqOo$tv233He`WKW{|%d|{>WpDqWUXIRmBA`3PZ`tW%T3{#Ybi$7b7cC)K@jvSNO*f zbSpIAl4|_93S~iUxyWZypH}TQ z5j0m`l0xDhX9EoN#b%f*FU=x8!Nd{f%FD8de_>+GTzPpGF?<|F4>_~&#J4bzxN{ML z>UyM&jew>9hxS~<3VYb|EE9X!;~zvx_poOg6GP5Jcxrq0AlSp6bKnxlR*PZeG6Z=k zr+fhUqS41_LsV}*n;VpJ1;v?;&#g^$eB~7U8Qz5`x0F-JikE#`mZB7Xc4DpQZ67jQ>52Ct038U!dYIWt_fbpzw=X{@-bN zhw<;zcpJ-`LsIhOsY?0Al!{M%x72Z``P6+&onRWLo?Ge^rg7@DrA}!Yr~X=&a)*>T za)*>D%#Bx4W-vEiNtxKvNgg~cO8FpBvY$lBZW1MXw{+3~m3FdZB8ie|TRO?1m8TNy z#)1~Imb8$STk6W#n{4SMhZt&GN!3F`EKOSPoQCr_z7evF0^FRj z72aY*$ay5O0OoZmwPB3y^xa+bRbpXBD?(k=N3Xh&M^|SPMH}Nq%K57tTRLt)>15{cmDIlej)Go++2^&y3UypZ z<%d^1*5FyBdVc`dT5m*AbP!E(@a8E?)Fs?lL=zKN|A@_Ys&9;r=d%1E@glcUNgC~> z+;3O*9WcPgpjufyYm66}8G+xA@Y|C0OVOZ@H}(hJg@9ezG;|$5hc!0Zl~*+O9fVpI zs?pWCldF*mHZX6&qrTK`yAsbHRHL0rAP@@1hI+gk@ftI}NX0YN)&^x{z7*?W`5p0~`*dDulp{Nr>5t|Wgnc(<}zkiHx1;OMA zD4RB1Fr{}wxlm$3loBPVPR3B;RAiBx01}_z-s~{cQa3xOJ(vR92{hmBu1hHj#Hv*Q zM}TLxdUZHvc|DDJ_~IcS|EW|G@8Z3~!xNxA*cRw7qxjr0b8+;MZR4FH?kjMo_`z@3UZH>~AoJuS#O_Ve2xD^sc z1Z#1;H3ZOc8!1FPumm<{X$(d^k&MqyUvi@UgIh}iwNk4Y~@ZUIl5R=noT6wS)FQ!q6XDXo8 z4~NN>;)}UMd}i&#TWxnhsDskrJHcB~_0bcjkH=n#n#cs8_mcjN{Tf^QwKfk1g0B%T z23&>(eIJaR`|$j(3E}C>oJC8{!%!{6`xx7g9|GEp>7wL*b)ed3?2K`kj9%>nYQY^9S|N}aqXH3^gre^>ZX5OWbmzWLDhZiGn=`R0@5 z)9{2ze8SuZPvTklp>6Yp8hT>279u(-QJh;)Ty2Zb7}n(PugVnzs)_zu!KWp*Sk3S! z4Cmw%<=+gSW7x{E268yWGAr`?7ujNC{S>U_o^K@it9z}qZ1HGsg0Z6861I4%U`p60 z<}`d;WsAI~+*+SF(EGk(pV$%qwkk(7^`0Nf5f1~};;J0dGc$+u)L0a2SpBzEKJkw{ zlD{gC!d4OKIk_sg))pHABtKt{a^;Ah*31tAh^4vqmM1#%O`kd9!Z|qK=86+f`!ID$oDrW z?v%!}Au}nT=zB{?xgHQtRZ$%clf-?hh`4|2MP>Ul)SxXkSCZr;UxGGUj4l6hiBCLIK_ze~!ji~^Pkaz3%2IG`aSxaCOTCD` zw-?pI5R{}(e2E(Li7}NV`PXWaEN7W~=B{V>T`wy0E1JljTgq2jKJi&^D$h-v%Im#9 zMSIxG@FhT7JjiL?5hD5i0fL=%1aHVC_#o&$Q5LwbxIk>K+mF>h03~RXze_utlv#^|6+E_^?KLV|yK)hLgcAo-KR!Z=bTq@^< zwNxg5=eWlQ$%d~{hG^lg5L*7D2vff*r7nlQNB`yFl;!cfVQH*S@5l4Tp})JBcWUk9 zd2{iFe?MdK3X(K&1%u)(g=7_aZysZ-8FPth(FMwlz=lBwy`qpOW@}!8v2Pm{uODNR zS!aQm#+bucA-=Oq@y@nLvQk{cm{nR+I}C4oUdPz31Yr&0ULoNu%5rOJzr+poUvTQz zvSdGCvMNuUR#sE{ByKouXGzPbsrAZ1xamwOJW*d$TYzoDU5t$kzE?I3Co_L%%a^=$&wF;Dc&lLO|2yCTCql&u&k?;_ASV9N+;T!7hd$F#HL_lNkP*;R1$5EPtpgt zVVGceJj1Pk%93hvMfFUCw^qypys7qFz)ejT04}uXJ4*}vZGg}Az7%j>uXaEsb6Vm` zU$gk$x(bwrM$)#VW;NiMu62NKmE8=uFo$wCj=3Mz-^SdHKHK)W$g02R{21^j#RN;; zKL)oem*ih5BN(XJ0?O)KqJI}7{Y&e%AjNnUrT7-h46Xbba=N_qVc)dQ#$uBBdF3{r zExxy}OsA6U^(6GyF&x2gNCQz;CkXB;C-_z|!HI5yASZC!u+m`%1u$ z27)s^1Q&Y=4q&*yn)2>T5WL<)_76yqJ>MdyQoLA8@JW`e_ff3X9Nxt6V%FB-C%T{G z{?knw-tiKg&n;vh(=C?&rq8pa4G_Ky=}znPaXCNBEoui#=J+UX8EZJB@@16UQfn9B zr3^n86y7BX{=gvkI>Y}k{f|sv&y;r=Zs1s7G51a8UdNQ17_MXZnzb8xK4G|*;X4c` zgPW>xQS=VV^L;c)B=pE$ceK*0$ezN(1m&$5%g2E@G-?+L$EX%h zS=1`-bnOECu;e|4hujpd^b8c=njiZ@SnvM~CG%m)=M2As%*H&@>5G!i%eh9VjoIQw zZbfC1xZla??x|Jirebx;OH~IznUltB`1ZvL6RyHTK0{oY#$0|=+{)N(p2EbH(E1=_ zFN?i-r@6DSJj~cqyccrv@csXvD@jj7(QLO@Jg#&ibsHA}pG{-Aey@0$v8%x=_WQ){ zG%pV`zB=>{H?~TnSK5F;v2?Z2G;Dy8nT9XFGF&$zgQg4SeICo7~?M$ zXKHMJAa0cltCl3Y#EIoL=A?5q_AM4@!0HqaoB38R@u9|c2W;$;=hZ9T&%vt@uVBqY zTBbBi^7j^VBMQ5&I&M{pUVRmIFR&`npC-hR{IVfWREuRA+tYA2O#WD7TkGO5Yhp}E zmbmgTu5DwCYRne(;u*$NZtI07PLe9O5pgPGUE;FDss6b5mBvJ5uD_r7VIxVd7r$;e z-`_0m)7YTM5@6XWw1~Huw;CmQiN8gZV1=N{y30S1g7|ycMWs7PA;75Qj~6ppauwS- zT+C%m**RS7&=|!V(Jj5v;w_Z|;>E4eqP8EYUF~@-HcgHZamKnl@5dzew+CpR1n(q) z%PuUL!&p*d)luSIqp=~(`;o?0GIlp(U7j`2d6IZg^V$$^tk|Y`tD+M7)X!?(B*Z&e zyrg+&BHqd3HO>1C;*AsUXx;~iH%@%0dClOB7oTa~iQtVF|IobN&^bZ;NAu#)IYG!~ zm80p1H<9jf;jhaxAMqxN0?pfqc#}k#<~@jblSCiQTas5GCySWot<1a5KUwtGyc=@f z!oPTSyyk7lxzRsGjM2Ocz?&*2Y2GE^O%2HNRs(y~zd+oP#-8z?Cw`U2 zUiM!g9^^ImYEe`Fnt!oafK@g1quuD?OT?cU>k`HF(_~U~4kg}gVtLIw{-g-dh5)dy zdw=9#D&A)dGseK@{)@%Q*ghj4vMRV+IN~M7RCzk$J&jR$wu$c2dMIKP)IR){}n?1^f3V1+mtdjw?l4*1A+F?FQE_Q6NCi%lAHqZPD^ z%T83hYibBvjDuB*N4B(!3q~vKt%^MSOK3M~?BV!>{tj{dNyO_CU&QhQE5%RKSUAur zUSVvtxG5gDt`>d9DlJz4TP4P6Y;sYaxJJy|bGjqO3n z-y;64vDQ8V56HH}>Woj(=tGu9=3iy6^9qJ1Klg!hZk4*4^&Nn?TV$$@*t!;GyK|B6ozY!%OF zY)0ehz;-hBvRGBLTWl5k6c06aCV2lwzfGE<~ z?}K^3Dm3;@Vw!wV)M?DZ6}<;VqsAVqzbNpK7^tzcY8+t08KZIYZt;+qn8q#*JS@(l z4Kk!YC3m-YR4mlkPs<3qNMoVgm4Qdaa*f@KdVf@OC`_0&r-OH+#?GoE>=%sPD(dsD z26ovLO5tkHf$Gx(+eD|v#zAtMxQ?+daTZe8CiYDw$@OAr-5OvUrxCVVBm;@S6BNYX z4%a<-iNLSKGt5(^`=r>xnCcx*iuY7JRk3}GjjS7A$dNH;`zLc0A{9M#(UVYw7 zVBayeUNpPU3w|Nur;(Ob;=8&_f`1bjj`6ocqV)v77QbT*qjur-!T%B4W)iPUtPZUY z{##6(rLcy=^}%n&-*Sv*@wF3!C>XvhO+D#@b8hk`Cy za+bpO=4}hQWn5!}bDj;>1z4Ne}DoYrnc!X7_v0cChF-9w* zKLx|GQ)4gW{3%!}U(wj>#n&6<@=cBXHs^YyLheoTz6e&z|4H+{2-Zl?Ih49u5!K0C z8Kcy5{SDHZPrTKhyK*Z;L*Saiiun zmFxm`oaX($`k%p=JV9gM#|ay&v3TBY5tCDNyyNrofX&pr#dd{=%lR6sfgg;^3pMsK z^DfueUtGlN(pZ#vH)`y)TH@WVv3rAQZeSC%v?fSsy&Lz{Ms0dk?nK0>?!a;e6OL&UpG$BT#ZfOTo! zHIN)A*Jx}S{+-N$@>VT*MraqXyEO0ZKK~6KC*RT72FCVkY&zP@aq?4ziHUg?;yCG9 zNF}jK3@&u#949+9c6~!IXNdfmu`cmu(H?QU{D!d|a#Ssy4QxA~;&q9+*drY#_i5}9 zu;KEjixdyDDRF{)PGff%dH83Xf3LB@i>y=fCdu{&VPbh$=j z7a_e<<%f)Y>ZR5?L#j2p@?bOM*UTgAaqx`AWQ*F3Dw%o*}2C8pv z;oahLS+04Phx35dGIks0V1+p=7Rlc@c{?^I7lN9vJ)e<)o!cd{}-Hc>6TA z$3Ht~i;S;OytPGytwt&5)%(NpBj#O=-K0IDJMS0r6V1C<+?(@@ zZt)(G2eNpN$f7G!R!i}ye6WhJ{nC%Q+hejn^Y+WNi3(tsbTH3*SKr;h=(03PZm%cF z6z{{n)xfUPyi>7CeoXGx7_FcmgV&Ja=|+OTtVuxwr(U!gxv>{fPATjOmE_yt8amee zCX%_bfhfaW6!#8jv+!kNqJI=m(Nkg4pORN;Wy>o)gVQofG6mP=rQ)V2QvyUGh_hV| zlLnkuBnYb1|94aDZn@H$`~$T)qa#Es%=n?3~oQBZXwx}^|ciDT#IB> zm`d2-Hj}bS(G|Rj<+E)*Tw8`Bx%J|FvYJv+xmGR2!>#m>s3`+ymBh`2O|h5Ts*+bw zwI2oBva}sdCR_eY^a3f)LeDaAvP$8R;S5ytVOjLU>ycs^-FlzWlYuF&(yZh&VLH*J z6f-a-|4}{B4^Ocxmr{I%>pBxQ#goyLyn%CL3R7z_#6x~+30t{#6kS2p6ZZ#6G7~n% zxvY6}ImO+>EvH);RvF^=&?&{Tth{H!*dIaNSzV?mz2DLjg(>?GWD8ctk46ZwqwOKfyrxbsRSPB~AUDogiZmR+K za6>rk*+?d(Z3>saD(C*FDO0x@)p8V6E#Wly8AFVLhLp^5ZWY<^piQY0CDlH&!>WfW zJC7VT#bnl*;if1*&l;hWUplV~aimlN?^p`x!#8hfZQ9ImFvF1y z$1$A7a2CUP3>PuHnBitX+#i($w*uygM{tr<4EO|2r5=&va2mB8r$TjNC(fc`fUSM{ z0e*wipPh0!PJMRDi*eesQ__jdPWelm?(CFbghl`c!UKfYc&X|P+)pLVrMz>R&$I5h zIN0}MkuUdQmYpvTVs_n2JW+LtxEPW){*^w0UE-R?PMk3fY`6xiRidmnKFe7zHW>Fe z-41w5{as=++>JfC zo#L#byTx`xo%_(4_#T`A?GZbT-{63wH%YHNzi|NI!}UX;jZWpiGP=q~$pgsC zI8dI$y#Og+D&8%;sEhLuRygc-tY?hw#k7T|%Ir2Bat0MGpl=m)`(dk~yA##sd#-w8kMWBf zFSNZ>6*Zm||G+NHlj4$4v#~)uWnLo&gFe#OE~vC0##7+Z}{6~PVR*Nnj?wYrgj z-x|}*SiLj>oA5bqK_{wR;+IW9Ga$YQ6`OAurN!lDm$)C4H;gA;)#jO84zuKwt_Bmg zu2JKA#3zXn<}7KIk1-dphQ)08GPZn{d=o9<3byA85eQ#zt~Wj|y4ieE{Hy6fa~0Ds zh9!Ao6>DC_8dh=YtHg}PUzwMK`<&SXt@Xy|;hSN9b55bPU$r#z_PP>lyLmQt=c%vtw#M;Yjd7CB@h=xc za)(&9UOOoMRkGO?M6rada)j< zQ}{IOP3vPXdxSn+Zw1}OrU)iV`A|D`2(!=cMEFUd$_l*x1@YN z?_O)GcqLo`nU9*JNt&OsHW*v{+pRTRR%^JF)(AQ?Un5%kyaswx`CEV&7gCsNa1F}; zeT2U${1R|^{A)n+V_$JOA7FSVPN@vn8ZPHGs27rXsmcoqmH7ta<8YBnT2wC^46C8s z^(1^_4Z)mh>>@;SD*!Eq(NYSZR5~0bc7M}Y*M7OTZkj9KDy^L9`dm6iLu9E%{e6S+ zZsQWy2II-vWv(LCn@sXW7jwB0%;WHtE(%}k`bw@v$y_Yy{PQc>yYPDBPFT3!HJJTj zEtf_u>^EGsIG4N=kj^8w32&cAT+eX6YDKT67hOBJWNJktWVW#kq1EI^AxzZm6pe^NgR@o^21dz6dR_M_NUNl)H}l zOKd8us{uReH`&{`7ksRJ(Mwf3?DaS~qw?&if6rcoTu8CVxZnR5gzxwN({47usXt)v zG53Yrt*yqwO3S^~xV+K_xEA5R!V=uw=lcCC+quE`VeSAo_4?uNZ`kHF;`D&mHOrzN z-NmKUW!#PPjs;qN23p;E^CknUMBc_S~;He@XaHa?Wo+-)!w=wruq6*<>L>=ItMHKKqO#hDQ z_{ViXv1AjVNA?E{$iaYlayVd-90gb+PX_EICjnN;Qvhq_>3EsvCV3{p_{YBiErU|= z7^E#=G{)#9W4{T!ACYhbwDr0}0`BdN-3x(N1RIErDFO_UJ~_c0W1qEs;)!Ei3aPKKKp zzQAxFL*Ze0h9elxW!TAZ6T=r6?qevtEYENR!?_GQ8Fn$;#Beji7Z`45SnZ>@n;C9r zxSyf)6TO<@NQUzmb}`({@CAnZ8182%0~BjJ!~G0pkSJYwoC?G34EL4(S3Hxysgmd~ zFx|Uvya0cb6C`|WIe$V4CgZJWVngp3k>%$6b&rTu(pA;jo|QHhMf#I zF?@mHK87N~u^5hEIG153!%YldV7QN==u7e<&aoJdU^tgyC&Nt)tNM}52!?YRb~4<= z@CAmo&1C0jhN~FP?cXY^yqyeRV7QN=7(nzYh9ekag<;dAs?xnTs3jE!KtBa;wW)ZQWr# zWVO2Hxh{9z?z-Fc2iNDW1Fj+VRQp2v3VW@6tNk=S1_h`=~5B5*7W->(pZwu18DHrRAeB7um zz*|2>c(bSktD{oPN6K*9wioWocqDKMu#hw5x zW>~y7hp5qT#$GV-HmW7Xa+tWV^%!vt z+*(Zlt`|*!HzQAm_z`kr;AZ9kNZti#;PVH^A$&KWA?`yy@Lm+4A?`;$BGE(G+; z^8f>K5nxbW2$&=3O~7101GAeX!ufy({tb_d5iSHYFyCoIxERpDZLQ@9hXD=DfG$P2 z6wnZ5@^XaB0S(NF+5szM2PnM(4N)nt1gyduP>O0mL)2iNVTeBR8o*k4E$DTC_{t5| zFNSE4H-HiWG;r@~EnrmM2pE&=0mtDUuYp@0KLk7*H+2m$S8jm(JU~O7BY%YOd_Y4i zkar=x5YQ0I+nv^yc^+FfQGn6-h=RJKtrsR_X6IERkk61CLaL2Pd)^H zSs?oW7RfrmkZb^~mwf@FG6ooz3BX3#1lUhD1GeC$?i}1S8UQ#@9tSu`4h9?|hr*Md zY>osRZ;k?-XpRA#Y>ow-YK{Xu#hd_ms@WIqWg^gC{l-CJ$`CLDMAk`LQb%) zhrfC;A9s4`8N~U6Kp*vRniDmBqNZOg75y>&d|W@DkShKYQpJB#<4*#=L7rjVAm>GpFAi1RCcrOFE>5v7@P{81v`M8NH}&>Ed~pk6Jvh zt*yB~ML&!>kf>qp^|msl+syMUapi~H(xTtLzp39D5 zZga~qveF_@q?asomYw7zFPgFJ+}0K`Zpku0mBSX5!xq6gJeDGH{CvtEB)Q^sW?ICA zg_kc}kd+~5=A7varPE*N%tg|p7cq05b2+eO$4IZa^%$9I)z-HvvyUNq3|4c0t);)x z(*NiQ9)s09;ONng!D=3O^k~OmH6M5MXvbhR4-)4sTsCLMsV5COdi-Os@c9mO*rP`U zYf^H-^2G~>i>Zs}{Xgw}dyr&TdEdG7>YiOq?{+Vn)ruX_0wnE%c9{1Ac7+DHo$r0VbNhC4y;iT_l^qwe zmolr1OZnA{ODl`azCFLP94^T$T{PLn$7U~O=T~Q!A2xaKR&yn5R-1ZXdemIHJiDA( zG|PI+Z8w@;WhlF37Bi4Xv$(V{o1c3`lX>1S;_BQZv&&{>G4uAznYnysel@eaytHiQ zmsTzS99FL89$&bybSdYPKWCORm(V$cqJ>MX=KjJfn_k_6wr@4|w1y7z>Q&&P?iRdD-VLuD9c{5y zS@Y^k>jd;lt$y9BH=+&Zy>+)$ZstoBuhwct>)2twR0j=f_3fZ)wNNY9>X|Cld9Yv? zD=C^~@5vT=w2QMF)f%%a)vbE1;58aZgJnuZw;41N4Cb0{JzVBzJJBlOnW1bWw_Po4 z)@#+$J2BwPv?ek3^q2)m_2y#)NdYtG9xcIyU0+?j;1;gqg*+EaUKxz%6Kj8kPq6(J znQD<}-CrR~?Oc_)wFTUE=<}FYU#m4bRD@V#|4hqX1H{FA%?>>Q_*ScV*==s_@3^0@ z_P4nR1HZo%oLFs8^X;$7ZPspL9SvCj{gv~rx=X)ce+|1m;+41d*DTf^fy8_DPBmZ> z_*47Hm}}OymZ~6Tr%K>N;e5%LD_^MKlHwNR@T%B@D}#z9ST*GpRm^cL(KPr~pai zYuCN1q#)!)Q}LRc_yI4B0If$o2LHO?nQY_ACe(Xwiy5j9$Wr0DXj{_=l36tv&_NNw z;c$<*jm^1Q(KFQQ@D4naU*wg8EkGf{ykT;^!~Vclpa77AHvplz;BAzuej1}?sy9kd zb`@B($J}~}Dmd(2)3I!9)f!ShUu&^?8O#MWl;7U+9)a;f3C3ZLp0Hn%_v)2W6$i9+!7+#H30YE9}KoGJg#9;e!y+;4X_Otid`UW;b)pj{?)vkjzs;rf_C12$# zxh!x4t%ai9Ps6M7q>v5T21S|#xn*ca?lxtVxf;Z&s(B%j)M$#zF33{ZN)BDt*nP2v z%UqdPutTO%aJO{KY{U22$WJnhVh8rLB^)PZ*+!5D0^4o5@^%K;YSx+@=CWIFctKVm z)M10dt#)fNKyK5m1Hf8ki+4ep+EGQBpY~OzB165xmFyhsBlKvv&=$?PTkR^}{K|MX z4TLm2>vDtyZ%Ad(Uxl z8}wCzI@{4kXT)LIUp?N zC8)GZ(dhUkc7G76*W?Xq3@c1f`hHxfF{C@QWv^1Zahv*V<6`NS zSIog+9Xtr-DBLhGaz=fP+xE^@i{7oJbyM`#O{TVPvOxP5_72+@+zqo{#>L-#=vEUu z2SG^&u2_*7zt+d;kk5Fm@!ifVZoSH^h+msJ`c}|z^vW;E*Zc%H-%sUQYYlmcs40pY zz|m;f)IV)9yWlnpn^HL2YSu2oMcicBrh)ec>yWR}W^zwJFQJ_#=7Q~lbPr`~?TrLG zwYidmZ1JMX`%0;ZG)KDRRX30<>kZbeaixU3*ey+psv2rb`OxfE$<)?<-pn?z+naOC zegGj z(W8ufMjO`(U}ThwWPoO0 zmXH@*@>@+mxr$=eXMI0X`KST^yOVM~v<_3h82YoyTFfva&C(CV7Ahf~) z04`*iI1J(0{qohi*4yT!HkykPFXCJQNW4;a5hJP_2J3(kZuMoq!#%i4nPhWO$%8|N z_@W=d5ONEBfG0mAn-4z?eEO+d?UWMJFJ6UV@snJ{oZIjeZGNFFZxqAqFCE)k8eJO< zZJnETU8&?&Z}OC;Zf2`RwL!+lN&M^*k0sbbNZ_Y+cS`8|f^}^}i3S>Oz_OzUrJ2;yzPq*QsdTC0n6>@8zE#_GfEe8Om_ z)fzTI2yc}&%l3=4U_6_Cn6Pt_f?U}w6fIWe5k!v>B7+lIf=33gLL#Onhxi-=%T{bP zLq5v;@io+8mbLvDH@kW{u2@XK9-zc$Ox8slyy2}mq zTj+>U)o4}_=5tKLc*JEpSJ4=0!>qa*Mkt|^h{v4U^fo|Ze-M9L)~*ia{f(B-#Ax4C zcJ_N_t2hqAw84T_is>Kp3V2JT*#(HZEw zO|OAo!b;-c=p3r6{Q^|B&}PBC?g6>rGWyKznZiZTcI|2iy=sqk2|_0gQ{HTtIzEj5 zUnslP>kX56vgMX_-VlcL1Vq?=e`(QcVqMxN3tt|nq#U%F0D`n<2M>uv7qlR!iH@Sv z+rXAigF>MqpT()NhL*jJR@sH4W8LKT6gE&Zbh#a=QFzc6QtT_xh&v6Qx=kGgUc+jt zW%qQ|C|k!WAK=iUeL3+>E(2vY_8JsLA0W~m4A0pXD&jdDs#w#l{I2y@SOtlzHF4f_ z{Wzi$s_A`83&k(jBt4XdfzsglE{@|w5|zs%2gRLb9cpw)EkK(C1EbIg9URD64~LIP z1h=Yf{ijn4mxszAS$m5b*5#rYH5#(doh|S@SslEVrqRl;S1X65B6Ys&NskrfpmH zwrK%Nmv4)-Q|S1~R!CckrP&h65L{cpp?$NsZOfz^F+yzlNXPPM%0rV_Jho3EZ9#Fq zRuBQv0-3U1WQC^_+wJvn;Ee3`aeSHX)Z2PD=rwekX0KopGUshZ2u~DldhWr|)zyNY zCW#n`+Ed|_M`D7!?=WfsLFX$-tNkWF67k?u zNz1ibXGI%m-64X~Zrk89PaV0O+u$LUcq^OMfYET-vVBgc+BIA4KTzQpijr-wT@rjc zj+^2}Q#@mR>J}ljqDKIrU*$%a*+w!=n_wxNBW{9tW7Y-*ph9XW^1~23wPqHN@xk4e zhUmZ~9(V-zBA9^~onIvAZ|`tbw;-#k&~LMVlOaZ4EavDp`s+eM$;n!Yp1_3C6J-;f zNo}Gn1J_F(RGtj6(kv|2Zo*pJQb5Jcl9M1ASUYR}VU0D1ix8M0d9)s)rwNy*Z<+)S zaHs?$wt*{71X%-DgV#L#0-Abpnwh?i53y<;X4z}w1cXk3??balPvydeq*c3x;JBUR zc-aQSNK4i7Hk>y(;+n1MOg_J;1gi)DRC%Jz&o%se=y_&=F?hV$$8tM(Ce?I2gA$)j zqJ^tBBW(z%ubqRAEVQvBpUxUcA}9H&+SaOUZ*X#n2q&~1`~_^=kz15NXFDDx`&ER> z^^_Cd4x_e9^-N_8Z52s`I{AGd8!#quYguU>WWX>wu5q?6s zg@0TVdvM)r_&zrKZz7+@_oP;QjEy1}Uj2|UPv+4|M_k99zs;4#NFGMym8+>@B;vr1 zr{w`|Y8aD!NEcEDhcn2#(t{&dC`mI9Kd@%kb=IH3j^y-L(W}BX__YSEj+8V59@^Dq zeZXsS9i@b`<@Yv66cZec5I83ZK>_V~Wjh2EgkI)I36QZhS5U-{F(R&lI$}@r>>2Qn z=`Ug~f%*70Fv@>t!BGpi7V*#NZ=$!rn|uV{SbH{&n=Zt1*kZ+#1W_p~{|zBf=#yi^4SQpw;2t5!PB%9;_hLo2p%P7oV)z)s!` zl^;i}et&6_oXFK%elf9vxk;>@q~sKYYpNLOEXG!n$2KQyikPYaKGF;@91mzu zzEzGO9=C-CCOL}{I7S6LTt=xm7WA;v<(!yDiw0n*V}vchs4Fxlik-`o9wdu$P5Bo} z_vg{Kg|rz6b2B-jg?0rQ2UI+K5s>3tm@V=9K||0K{AZ3(&ULMn4Ra(H?RPSZ)pq2; z!x_x1+-#1`VRW|hFb5@%JjodY{x(Oldw7;3hj{eFBJhiy80M$+xq>%93y31To#b3x z{RZ0CiCMfLJzP>k9px)p%68NQHK7kRjBOV!MZ3caRe)9Eh@5ARP)3L^7qb(#s0^DE z)Dh&V>)@s)W@Fkj&XF)}09)*uxyD~~P6j;T%X}~Oz3GMxfPSDfl?4|fo3FO5xiZp> zbRo7NFZfLwVvP7V#}x{$kx-~)JKZgeNogyFOOr*6KsejHmkhYW=aGRenU6C9wgJ0l z$(>+dj!D@#D^RiAf!1INc(ApE59wZ;Ug43;9vxM^VB&WX;ddNFJ~3?tVg2xOQKY6t33-Tu}z-Q@jZlh}w}J z1vQeDzBFWrB~^?~&nM82*566vJKLFe@ zI1eo=eWRiF#~fb9plWS7w0ITzprx#X}PEg)Z*vSg0xou)SMtc zb6raqHDo7ZOX#x>TNrq9mjnyYrDL=Q3OgmaY-rh3e-8Qb%scs$cT&>C=woi+r=*FK zEv%MybOZ8Byq*T8=;e}PBlxcT14z%IjuJ*~L>yd3KgA=yf_ymejm_)!LzwoV;9b1r z<9Uohos`Bm{>f#`nf^5L{AV6rL0&Dzn~~>;i}-$h9-cg}8I(PN`lz39O-jQ&(SXdG zRke%sUg?ig7c1}3W9L!sm3Cp5O2v2xZ+$%a+oScjpbzxX)0VPAy3D7MKP2aW<&ARJB%RQi3-d5jC^#%Dn zSZ{bz>sbU-cUl5vlUObTd#oq_+r0q+JqR6U=YwIa?Z=I7QS1f{KLjkSNOPkOzA6a2 z=KcMxnIk*jL|?X4u_KsO5qTPHmQ$6~AueX;6Jel;4I-0TL_JQfD2p;`RD!`2y@@pH z!+0b=Q_c@AFQP|OS15LGPYd&wFnk1BwP4Uoy|gufhZ@u_5sOPMg*0db`xY~xz9boo zeEhr}{0-=6MKv&46cIWqRJgimss|!LSt+~;t)QGt!L3I_xYN>r%hV00ZZ~wR767WW zfLhr3fCY#5Fwsdq4zq@#sg=~r4~DROM?i_=gC7OqeL_Wb>RytQzi81)vcn?Ilwd`1Vv>=6`+lag(u^_f-6=%XLS+r73}hckekIP2Y(;~ zA0glkJE=+#u|^QhghhhlSEEymFVJX_U&ljIFy{S`a(#c}NZ(48dG>1%VuJ ze5)n zZQ0PSkE2pPR22q3R~qqK##5ZY&UBt`)Sr&T-2hPvVsSc8ql*vJ5VynDZKc{#_0LiY zHf2rG6M*FeqPiFRwEyAw>|Y!Hqo&Sc#fC2kwQhJQj#Nr?ONe3>fHVlKcG!wjKzt32 zL~XcYfSQOZlH;i(6U;XRB1PP@EGAQq+=~;np#d4JncwSb-A>o+=TSOsT&!J~lFeDM zsNua6;54O5$bVd4)b3wHYCyBQu9`MvZmVbyy`@Eb7SxT!UC6u+U5UU}CeN#3kI%BZ3I(9JzvV z>VQMBW$p>q7~qqbpdFBS>Ai$$DP*__cUU6}0mU-jQGi!EhS#sY635(&FSC#luUF3%tf!=WT@k*b z?bDrv3yrBYs;DXFTm{$Xp9Z|zat-ODJF&DM*Ea)s!3AXxk@f)#3CA{v=}tBgB|#i5 z$uWo_ZZd8H7p5D$J{X)`Y78bVIQ64JZ&?cY5#(2uO&XOUP$BGNs5Yf1Kw|;F_AsS~ zUi>X%-nM`>ldn~xR5s{)TmL@nI|d#>)QSc%Xc(Pd@_{*~PA|1~`>R@&5YQ2bIw6cy) z7;(XLc>u-3#vu?^Hzomc)IoZ=e&Kp90*iX;uL`%a$18`O%*jIu%-wsA2Qn39PYoWg z1G$}DRBqtNF7)K+jopveg+AzS5yRx9QVkd<%r*_o>1->}xL>9xqb#7}tGg<)M40et z{E(_W+6c_QQo@EMgVjeFl07y2jhP?Kgjg%u&Tb7Tyc9rkjD?LZd-RANm|Ia%TL(6% z{H)m~FNH zkQAAI1I$d(qkt=&qq7GL49bnIVCL&0CbU(w`2p+iSDIq2W3=+b4e$1!VC(Q>h(=t3 z9n8SX4r0-5hD>jIS)h7ga#W0f_Gt0n^HUW3+# zFQb>;sSm;8RKSJi;r}xh(&@dQe1FX<-GCQW8R*kYcJE`AP z;V2#TOLVVDHNOb{SO9nAa0X^4v_q<9Ufcyc7X^9A??_9sI|YXbX68rp+6MKoi^ zWKGUWsJX@ktc&~0EZ|`*lzYy3qYr|euQ|?lg6i{e+GStAyhY;xVsR)q3 z+>BT}kh#JSdD%5_Zru!mg#GqW2lE6&6%2O-Oi4W3usvy@dY25zFaaOvv*M(B#2#4_ z2dvQp9XFl$gr>zVJMyk zN@#W{e+MaCT}xE$D#X{Pim-G2g~dHebL3WQuUq^5tf<&%GJE zfmnCE_Gr-tebpvW9LP!sg?-t|dM>h-$WwS^lMkzB5CxBlOOJu5xU3(bk4jr!v;?%M ziiXcP*`c4>yz(KvaCjch-|lPnMh{hWC{PrZ01$#mpa~L%SR+qtp_^7K?guHgC5R&} z2nAk4=@j_AAp|Ody>$KQ5NF|~Ld}a>qmul|JQ91}(4wIzkkUM8ji(cs&fJ>%Ihn zu8TEU!jh=}XT^mu19}L@a535W!cR5Jv##9J+Gje=N*;9_Pbp50 zvKlyu)<y_H2>a`fz({VUqo^&c14Ew0uiHoqTjnG=Mwlm@ z!z^LjI=&IXbXb$=K3#i-^_hb+q^g`DaSvhy(m*#j{Z^jMk*GAA!+|WD?l&28FI$Fp z;(H@JiZwpv$i3-a4% z@&@&%!8ccQ|78ZxVHe0C$Ah>tio%g>i5WWwOp*={qTH75Z^u5ioq3~escsUV#2&$? z)A-Kp{_$VFS9mt(STGyC2+ro5IAFG^b7Bp28)OZ%J}ItYo-m9`tu4UqEQF!7oOwAY4#t3;8!$cb%3*pX<3%6@1?^0oSE+n2xIP)hwe1H8!K-ba5dLiE-c9Yg zKM2R24CDOt41#zobw2d~H>I=~)}k?bL4H*k>m)fg3TExUT0;1I-Sp(Ve|L1@_WG(PZmdhf$;N|~6-AW!WXM=`yW zRi5N8qt!h~ou}*8dyibtn_rMLu5uo!dcq8xH}@dQe+J_{ZTNTdJI%@>U zI?-#o5(!>$leEm1Nc5R*CvoajPs~Y`2x=;;6I_eOdQzw3@nnUd6I@OqISyb_yIxjh4V)zssohKW+{cw-rVinriexUehs+`K=2iC|E94`zQdiRN#I&!u+0K=w)Pej4L-fw_?UEa&J-&5}ic0uGr#8dbB2I9BbV z>hU9(aV7OCT|_h0#Ei+xA=IvenB0(2{VmrQEUp zWB83iE)aauo4SSykc2m3mTTR8scZhquYqcV$4m@s7{siEf9D0jkLF19$GVd{Uj%!7 zT&Vp0sG{Y2LQv6|fdT5|X6$=!deNce-efxu_c2k58xq@EO}{$|YdB$Nce zl?$|h{e(5X4CWn7-3ur%s7`_ed(Os=I?mk`>O)Ryke7QQx*Vn7=Wd84nen$F-ElB) z43d5*)(e42UIn)SB8pLhOZd7hozj4bki8?;$3|$m^Yyrlim}jsu$#)|R~=@$h?On} z$cd8;le=et)jqkiI*tsgaRVlIPlB^B;W0EhgvDWyud+2&&>$-YF?9b?rz<{qx4GMN z9|ETjCXP}zzAyiOh=uNaq3dq`Oen;Hg?%6lZi15^B5_Bow_AY|d3EB0-H_LA=!ouk zyqlncPG5jj0VRK)-1!TN!KpjRyz>gE1Mx`BljWaDqR`5gEC5aB4&)kcG)O-SJFc#;%JNXbaI7H+W=8_3g^T0$GC7P4jGNP;-3b2Qx#pAJF-0?>S zf%>3**qs2b1*QrAmgs@pcMB09=q9;)9x?=bbv_Q=y?Y-2!KAp75P41nNo-;YfQmUx zcRT@r&tQ-^%^olcr36_??an5;`bc317g#kc8a)QN@I$dSBT$9I+H}RcQ&*4Aux$|6N0E^gpZZNs?Y#bjyhmtrx7#AETNy5DIEJdmdXz0egm;0$@xgYgPZZ;r$X-)sQ2rfup7cR&z=VnJ}{~i1r`Q9hDUi#>x zKdRjQD?j(mfBkdbzxm_4?z;bDe}DXgZ~e~A7eDga2NJLP^KbvXcRlvr;j5K*r}{qg zj@(z?|Kibj?1kU^-k-U@{kOk(=Z#zU|A*c`{O{{w0JV|Ndv{TG6tA0Ha#zX#I(8;{Rd zy;igCmLEu8#&7hL3V6SZyhrr>+SHUgQJ9z~{AhD_wm9;uAt;Xb}dXfha2QBQh)p(0kUe%eL!Q zQXVu6#CF%O^0bPU83xS2QoIloJDs|ANCr-@0hN5prNTtRUCytb?11<~Fo*QI#3r8> zkWUj>f~sIMl{yNb;;C`}el7L*VLTD!dp$?#8(d2rmCi@e*=cu?l$4kIF)w<+ZI@}| z;?>2ISN(E0_h5WS+MXlCAc=ad(8E+P(hZ7HJXsJDx^GZXd>P5qy!4!BQu5QfEO@Ra z`A{4N_HL6%ojYu>Ryt|l!A;f;%LsoZwL3uDmfB685;W}&sIeA~5PK*o%mL$qD{P0D zPFheWb(t2jD|H!GgY<`qL)y>S3Nl2yf|-F~r`-jx4Ld<6W?}3(-X$@MM~1unTFrBn z=Mrh+6PQq}CZI!fVK8CmFjsF^;;8=*u)<;sT5$vBF@Ne@zX9)^qqzjly5P{yAB9DO zCj!g^PpRxtSRPooI1H#z8?<8qG_fE)c@@k?OLmpGNL~d~1G}dnG(sa#)Or%+X*g&w z!Js|t8jLgS73NALj>0x_pK%8!f>`PQL&*3!um{R$mi!cQah81niC*Ag=Q+5jT@*=D z4(%vDxQXL~JEnwV_pG{493RZo)r~z=xA>{#1`%Q5pJ^yr`1q$`Rgi)^xj z>;TJ8BhiJ=sh-o=mg17Y1?-2S1QVBenZ_mg5H66Q({P=HdE!iQ6DvjZtC}+YbGQ=T z)4;4_sN@ZNB3LYFMZUKiKTOqr;XQtKrFOI7pdIZ6g6ob+$UC0Wx!QX3rd#*0$8=1; zmW>S!BNpnIbo&LD>C|f(eYvajZe#MMsvf% zlf$D@;MY%#PK=F@jE%6Rlrx3T*of!3V^hOxBQw+EYwPZ0al~_{CWpO|f;%}pIZ^Pu z@ey~#9i5sfxT9m^Gh<`x-V6-R@XX}s=x6~A$Jb}P33p_wI59arGd4U?m@H1MkBkma zy3-Tx#8_c`y5MrE>EWrFnc}49dFzuSg_&u0tvE70H90jsI#nzTPZV9xom`t-Un`D! z)05NVBg4g+HP4&CY@;rqE*6WEGowYXFum@M509_8;}bI@-t_pCJ6%{Gn<#ptBZbl8 z*wpCQT4B04H8tT*POeSNj05p&Gm}#jV^dS3Gwa@{J3fwb09Blrawml~P6|c%8r?MB zPl#8;rvq~I(wi_3JLWEywcq^pfVI*$Ks2yc;#KV`|2>#|(eqImr(KgCC-dNC@oCuZ z@DD!^H8)F*CmQlIJl7Cxa!e0jkZjDIcfRZFYjU6XPs`u9{}=yJ@3)@)!H2Hg^`$T0 zIr>j)|M}PN9DLs&|I9D{kJ>Mt`t0hl!H>j0_gnMLAAYX?%5Nm+?|Sjf^PtuJea~P1%;&%R`>%70pB(>%AOHGGR~}ybU(>7K zd*eqof9FrWF!|PyBK!Nx+3pd1-u{qdzC!2N|NBb!I8u+99L{NY zUc8KyeoJ)~_eDITyCf~Y*z;#U<`$sKXlHwWt3OT;?y61w0^H{DaWE>+jqH;p?b9dJ zy`H-YoDkX59G+CzNG~ez_m6vCPk#n5@f@avDDg(8k)(~j$%xl+oF4%P<}UPfTPS+WwqLpgl3m z6CV3SK(HE~qw!ggrkswk%@EFp}GNjkqe)9-z9nkSN>ZgaB47y>|pJe zgY=;PJ9Up}8@^N5vnQSm4;%V!BRUlBizX6!D!eNeHbxTRcp|*6t2;cT_s5zG3j=dZ z(VNi8xy^#|A`AT6;=s&$# zL%Y_zkEmGwXRanH%tZZ=+r{ZqM0-3YG3%nyv@HA#kuZ_Z#_9upp$%_N#SWx^fAui{ z}%{z?}+XbG60K}p$-kg6rC(1`($UX4qn z2B7SQi$M11vyj$n0R)ePky=2di@kKIQoqE&b=VoHLq?~TU zv z^zXvUS$|7MgWcF~Y=g}r&8WrH*j2kgjo}iPIWkz9kPP-_ztL-zu=!zH#gC!K*#|d6 zN4Q~$Rh!e;%f)!StBTC1Vdx;6g1EDcF93HMf3WKC=!-xt(=lTN%rGK-hC!Mo-_RU1 zoF!S}QTgQYNJ^+kl`UT6uRk;SR=i^+Gx5%-gEBVjh)rBHLFe~O(76S2ESFg=w37^_+zg6Y4RpO;gM59l~Si>|A?&Z$h0s zKg=-eY(-jmah1g^AjF3c$HY>)i@BSx{hC+}1$cK9gj z^5nBaOWwLHzseS9YzMQ=R}D7igkj;)&th$LbaSA<;I?@6bC6bE`B#E3vv9AzoRcd6 zFdw;SQax|`AJ+4Qsr5WDnLU5`Kdk3kH`_ODPvc_2#i(I6D)eN#ZpSt6IEaHkD;63D zL9s8qjb8m+AekuORqi!S+{>5aUcQVud>QxhmWxLg8h?X&{I(+8)Ba2mzpY4x6v5Q} z1j>}SY=zkDAY|1tGu{QCX>ZH2+|Hc#Wsji}?|*6xL8i!YIp?ng_8)sG?z{V4sZ*7j4$d~!knZc8iEkl7RHD`5+njo|`p zzfYU?n^1g9y10E$VVU$#i(Bc+J^Cu>@h60^sdc{kFQ@YpsM;1L>|s}Q{=3QS{Jp=N z&bgs&zK`3G8DZ=nAISA}E8et&IV-M-S9vlH_Fr)o<1>(McaltG5WjU&40`zx2a~Je zNDVSk>gORDa5ffrjCWC7&>}}<4XBMXkywjF@)1na9v!QeK(Y;>VBs_qefi#3c|(>o&V;176=8UD;h*l|w;E7pK#!7NAQ0wfl^*P(Xk z5eV?;82N!n2h)GyNJp*hD1VRSH$)s*Uq!HIT$sWlRns?s)fh*91pDSd1e>FUVgon* z6#DR=qtcoTKEh%Uh`uS;3gbeP;H^90rf1$k^^e1>hs zKx|duNC*17wu0|4-TR-lVYOO1h==}#e5m0xPSjAD<8&s$=5^mg(=(&2VPP3YIp;sd{zKMYDfX{Emf?GYQD zWA&wqh0;-_0oAD(-5^_c*%hm}Y#Z*9Wn9jxb@QM>SX~(DLF&jBMx{?V9NFX5{Vdsx zR|tt_V0mvkUi~nuq3~Hghp2?U{5N^LvWrEFO|iY%@k(vRYz;8OkLV%s$_zh~sbd8= zi3nUk1-w*FT%1tPe>pCmCM+&!b;?3dj4w8G5he;gYtHPit##th(tR7*if+Oj^hZ#1 zv_Z`-wXJHKt;leV^pTCMM=-18ms>T>@)=9+a!@jIjV(YU*zTZ4$;pUjADmQfY=Ydw zS#rbQ$IND`EID?$Zh8><7V_L1g)_)`TI2x7eoy2wsFHjSK!G>81D9#Z%UL>bTs4`-F@R{-iF?A>f(kTaFM%DnO_ zZ1PG9vy}U~vTXSZ%!=xy*y>%3hX|amKxq* zdRGqrUbtX2v|$#d_*`}#C~PlrUQP+Djl2XKP?2g2v#Zj9=>?w1mC(81CFk6i$ZM;1 z6hbP}-`q5mqj50B!Uepx;2FkWNzVE3FjUVzY%BS>oazUlFteyCU0F7EiH#wWZOlwY z+D_q5qn_y@iWqF?pJ#-MjXf9=@G&o8%Sa{o@6?mvbLlBS4EnUE7^Ov-hPbfyb&A8> z6M-=ndh`*nFKA8f!^IKV&xpu%&>UPtte1q2!@`rNDKRQ|Ye^TWgMrkn|y`LAh zxplW7CvV-bpOX*~3EPzty98Dt;5l-bH8}#{nSJT<2cO>e_rE<)zgiUI)_Nu=`SfHJ zaXlDWlhre3)uY-nQSkbb$y&fZ;FRw#CTYVsWE&?@UcY7v&0n9q0$!I4PpakYTO9z^c%UR2&P_-;79z( z$sHV4fd{z2O_>6W=Pkhfg#N;ymOoWrdh^T0c=P)MxmFl&@KyiowA^ZImuxah75CuC zR28T+@tLY%LzTiKH$#A}(?ka+VOq55pdXW3cA~irvdGSz;j!dg3>L#X9mDt*mWU|5 z5F2NqR%KBu6mby~F|5*CerY>qeOtZhwzq(p+uknM3S&24^;^?gRatF+pUL zRvNF!b*90!-lM98U-G)aNeDZ(I`t2wrK+~h%-#E$t@6%518%b#fbE&IwI+*NDa6R_ z7MHA3mY}vWiCJecGe^DT9pHeYvx9l`4~qukT)9?a{}`OCyhpziC5O&L!NUgTvg|Wl#%?FfldPNmk&J5Zf+f?}3sfw_Y)9p2Tk@mKD8pI*7?Lvr zM+#A%zuE5MZ-&*_@#}XZk8dg{lQor5SBA56`LML@@1vJ3;vAM@1k9( zzXJ8wSPn6YV%#w4cr@%b!7Gi@a;BRO(NJZy2wtuD%$_jy{~K;fgw5r#c@DSNMVLjU zzFNOk;TJ_vx$zHjtuO)=Tv4TQOs+GHKgzYrh*vVb+W4GYYmDE^bygk)lEi2hBsfD|swQEKYtLtq#bU>9mDjpI6RE zJ^Cj=Z767Z!?)neYD(g0opybz!`MFJ`s^WN?5zvx9nK_1n@19Rtpt4116`7zgxE-o zkrfVSqz?&~LeDnQ$bib!KLt*wi+3QN1!p@H8bPR&l7hM-QqN@$r_)utQvWmxB>$G> z-wR-lt@&u{Om6EzEM;8*Pl4ANxewW?6_`J#ISw(^=ZzF2t_3{aB`>3xtS|DF`@5;i zt%m;hgTdj7e3q-fLeFlD1^AFq2o4G#T5rm;b= zI`yQ^g{BK`u`Ix(k?TNeh+qx8FcRW9!z{APEYc7ui6n7#C`@eTpjuq3MSdiO z%;^XKSL52`bws`d5m=&2S=iS>tHE0XUU7(k$EkmrD^#aTUqQ0K>(SYcUj3_p3q9qL zM+N(Pz=|brdiBSUkalI&yDxveSkZbcBReC^0bkAoMs|lXD!R1 zXBFb!FVN;$Y#;dwz!`ahIfEE3-$3FpdegPABJxe7VR>idNhC5k4&w^+kXkMshPS#L zWmgtL2oQDk?*k$%MUXTf?&CRRNV1dF8Tp; z>xtpZ2S5;nExWTI_-_(jEATcEhVKQ;IBcFDXH%9VTs zi-ZXa_8+NI6{?CKoM|zv^Q9U842=!XEVSjhoT6b6ZEblnx4 ztcW8PE9XSYZLD?KtcWreE9cl)-!V4AjLDyHjq-h|;2EyWZqlR4lt?uNx&GQUV21?u|} zL}FVV9uev_g<|W*b$H9oIw-tk>@zb98Ucd zD|nD883*wsce02E5IygBFe9pa6(g^Jy5PPf=0&Ws4o8sP;5%>ZwX)26Ax&G?z4mHW@oj(Qto%pTYsfd%)I$jt2Cxho>ehtFZ!7rbm8-31Y#K$QLos3dI-zS*ZH!JcZ%NAS+*X zT(@V@rQOoxaF%kk=*-S+>ai2Dl&a zAg@PcQR6tsYZCpGh)!Y??iu6d2UpDlWWo8}7oD&1ox=E=hR?pG&5N6tEMC&GoGI$8 zdrz2X_7S4za6N!U$?Wcw5l`$+GRKBCqGfYI+tN+f#nrt-voF}vu?~430{*u!$?Wq7 zSuy!@V3oJ6_KSYpsYLW2+7dp9=h{Dn4;DX!r4V6dMBDHIFTwiqOz3O4qH5t~ey2(I z;>vn6&5aM2@!*4A!Qa;lRm(hNOmmcbNGoLcc;LCRBC5wG$V2})tt;fATLgYa;N1mG z2}=4+N&h;)lqOIDbdzs&QGlKctS<7eP+yHefp$S+pPD3;&;B{57MR?%S!`P2ugt3p>2R(7M;(V&eFam(r&EaR&Ne7 z&u;`)dN^HOTn3%rn$E30C&1e7K}$XKpoeuxma>GO7cqPVFhFl>znmGQG1Tax6VNS4 zPldSc_m{B_7m3|26+7$*vdmA_vQ?WMEG;BGD$BNI8?^g`&;N4AXf#K+6$f_EfiaQKzPD{Xk#$q zETfhF{_-IGGjfCU79c#Nj9d5Px{p?dXh)d)?A?}xrrQ9zR{$*K!zUyb$S@(90hn{qEyF9Rrhc=)uU}2H-Puk^3S5>mMv!z8x zMCb3+v7EDKaKG#><#yfgXZyVA3QJjr#C^Lb;5HLJdlH4gQp4o?i%jFaqtJ| zaeodJlb|j{DSI%F^Z)GVDQ*1nIB6tlO)zm~s@o8K48z?D_rZ-yl`O+k^B2 z_i~&$5naqf662Hq71M?)XH|O|3sx&EEO|>z3@2sa{H@8^jMByQ>mug#;8|wQyG8Om zv`(-!g8A|M_c(4Z`Rnq7q*lk!yd_#QsLGADP%ag3YPsax>{uq(PT`RdWUV0=a>$M$l?U zWO{_0b;Yz@uxk2>4Vy)OPfl>wB5bu&13f9&Qo-iY(>Biecqm+>1I|Z18tw9Y9qjZ8R7^;5?^rynlcv@(dbG=hRw7_{1^hc&Y1GsV4^T^%i_%YHycD)REcHyglpY^VH zYILadmq=F>{TlFGC-Ya9z2UiJtOC+58LJcc2S-No-^}ng@9@((6f z# z{$M&|!zT9W8I1kJ#6F2JTS(Vo24~JShzEt#IA38p#v3?IY`18(j;Bm;Uf|-qo`nkg zQ3+#Do7mHWO>0znODZ{Ur-?l;^?k_1J}B6QO^UNdYJc0rI;8doc|fARUXi(Bk;0y+ zSmrIH#|1k^50|!ii|KbNui_hsNG0^P$$6(>(-*69DQI0nn@lV!*cz<7xQ0S_LJ93? zRoJJ{(3f20G_g;?*0`s~#GbC%xFh6-AAuBzc>jE4$ZD%d#f4{Y^TWZ82j z9g@7;=~E@|_0G)7tD+lBDIR!v6@Asjj-jWk=-*82f1$^!=$w_RzI!AuWnxPN`-zF2 zz^JOCWvdkDEXn(@i3J2xT91?0!<_d1tD@-oXx$pcc^kYHk>13fmm2s9A@=JBuwtvC zJtlUiV3yV|VoX=jDKqZ}m}RTTb-pU+5zgyOtWvPwnOM7E2ig?pe8FP82&Zx1{k8R4 z6{QqLzc0T4GPCXSY00zf^1NWTQ<-NEtn_jkyV6@j|7c>B#Rt5#^ky2n)>}vKq_Gcr z>#4AvYrmZ;i|_C@5T-#BJMNuF3)0wq-UYNwu%n0*4|p5tf;9H9x0!Y-%=eV*G4Epf zu!%hftcAXl=6urIN-qlbB-O%0mYTl%4Qj=@W-0x<JW_HD!c&Lg9`J#?%CkmNM9A~NxCdpuWh9NBiJ{z z_xm>^&v_A-`vou$)>0wCj?z=`!7e(>#C|V%Q4>odLU++$n^+WaqKm$1V(TRDZ4(@p3vE1jzUkg6I3F@O&!?F0QhLL-l%g~jWpcNLIqkqoUL#Ixl;L!m^bAF#Oj#>8L$T-DN;i9rELo%X z_%ro>9F|cO2dT8GJ%2i1*|h;~(XBXjv~-v#Q|XZ5!R`(9I_Ps!`x{brD993&#rPRo zJa+@AVV}h5r^Qw(ty)nkJ#~9wA^jdJ!y!Cj{Eae=*UnhWR00NQK43Am2wX03t-ua} zmk8W0Fe>m$z!@|u>2W|09TRv0u!!{Lg^?$+GVQdTL%pEo)HAboyPI7@qkBZKc$^PINozc-C95y(Y8x3y#l} zysEwC7%ls)_9hL~{|C}{RZMqmpsVU4fWIqhc4*GO51!@daQq$gpRf7?aJ{3%$vsl( z{GF%MQRln{^S)nlua~uhUwf>mm`b!Io*j-7t);xr(ch^Lpop zXI4Ao+Wc8{fK8zYD4#8?23+V;^d_X=^r`e&PWFV=&STCazV%MF#u4cDjj}G3ZT9T| zYy%vX8m|Q0>%3CCI9Nlh@$OUEe9a6X`Gd?*??BUpibjmwv)^ zLK~@JZ~vonHEGW4Twiv*DXq|)-wreo9@I)F@C+v8ebLe2S7nwa^320b+2_a7B6#`NRN~_ZuMW}?r>aE z*X7=kF15qmZ>B#MO1S5PvzX>PW|WM%?}X+@1>TCfKIZv|d%1&0`f`yL#PgV2JVDI# zR{-vyYXSGrEuJtPq%XqW1$2$C87Gh*1gxU_0B6$|02k6zfJ^9kz;o$sz&472|6)2D zu$$Td-$T8CeG~)SO9}rPtQ@`~@cRPa5Eu+FeZIi;0=EU)@RZOO{X6M{G#p^~ae+S* zSW&=~c7gi~#&8;XQlMknameWuxL4pc(;laf&?g0cLEsYtzc275fv-7PlOoGi`hWS+33XG?mGq<0F83S~^v$DOy*Thkc23KgJ+ zj|u#|z$XeHmr|z$l2;^qKSIwJh5>&i@NI#GL8ep-oGWm-z;(ejQfeo1w+0yw2FHYQ z+1nv|#Ch)kx#|54eNCmaf7Z)8b6rT}DB~n+3 zND#PF;F!SU0#6B~5cBL5I41D8z{dri5=f=Y6Bf8e;7);K0*?zkRr(S7U=hR534BiA z+X5SknSQarYXsge@FzI@yO!J~3@;LRv%r^2)=X#pcY@v=Vz^o0eu1AB_(OrgQqH|h z;D-dhD6o1u(+33JD)4E6>t-tFj~fx?+RRA&gokO{#syL1yk-4II~jH0&8ZD zf&O;_XH{|fZh`gHk56Y?of1eh#BKuD2;3=fOyF^Wj|)5{kjjK#;LfriK+c$?k1KjP z_wO2kOK2zEO^?wFcw_NGZJn0X{y}?D3piFdKIC}7@lD6`j^8`VoE^?S=O>&GJHP2X z>HK%+PS>dGI@kTKU$|Dg+uc{W3$O|&e2elL-W;Uigx!G^r3;j|YKMJzyFgJ2aE|u? zpuhfz&xf@*zhxx>=%8NgsT_0-zQcCVb$A1tgT927x<+3H?4sAHN?WOI)GpH=)xNET z9Rc?icg*b?+c-?np&*53(ttCQ0f7pL!YZ^S+;m-f1!Y1w5T%)@sp zc4X?0YitCz3|CGEke&{0X5dqXZ`I1N$Ed)k5~td6eE)SD-KgC`AH(Nfr0>V|NqoMK z&+EY7!N=vegGTVV$?=MO9>euD$2P6TbsKGT-GR?-)Pw6~u7|Xc`(bUK`ys6n*L$^x zwUql6y3u_HK2T-l>gBz?EsJ{>)5;zrnn(`l#?ZESYR^VJu_YNZ)&q^EHtMOhgM<41 zSpVu>7B`oZV%@{BzRu_e*xH`;+Yl`eMVWxSmKeNYyP; zb$lqMPhjjA=#l~#Mw1)$tJ?k(NHW!?CsNUPqW#K|=wNqzx73y9 zZ=IC?A{6aP#IlMB_v*gh-gWWh@L+VbZ7`Zl<|Qs+xvbDKPIQh8rsBhcF=aYdFFp{D z8EAsth{DQcmfOpuyI`_n!rc=~rZzca_WC5ZyHx+u1@L z?TL}0m|W+gwXmk6fuFXBY-R+lbY2Vn^PThO-k-`4Wu~bhiI@A_Vjjm1h z7$dQ5dtwQ6ZhK;1+|Uz4u|#TX)QGcsy*=$~JKH*Xw)bw@+;vfVTTk!CwViq8td9;R zEkQ8xnak>F@9yc?cmcH;F|@n~?YeZQMXzn|eCBHd6O!G8G$Y z?&zYSWS?#f#&=P27p;p8MA6&I{gRsueP6skW^|`UcEKWjR-ueRlg$^z5-}s*NBwxa z$>vzJpD;G~vbG;dH3&MAo$HA_C+!~Nm4lc5|CLgwx7BEGCq_r@}(5}JJ zwSzi(FbQ4b+4kYWh;{2>;f)wo9Z7S@@-S9|WA)zN-t(hejS^F@KIudO|{j`o97~XSnJOPXAdt(Vnb&jr&?u~WEP+vcFBFSc7Z|FlN>4I3w zOfes4W-@G;8Xz5sWGb5Ii;?QbZYYNa;HM3!4_!ZEsC1G&Q>d2?4azm856d-{*eBO* zy3vm&Z%M@axNw3&n?5ugHDZ_{_CyoAV{p=aXas7?H=L=11G1jvFhT3|5x#65Nu<#J zp3&jhh0#PmC}|qiJGvS8OnEPJUK9mDOecpdsl$N%k7Cq&{NwiQ|yj z1W%a$zaU!x58EB4rV|)$8L2 z*vDlQrPGL_%6C*AoY0OA*orW{Et(WZO{Zn%qP9UDbmh`e*cg?Wog{8xSeuGUORQO1 z)P%{Ai_x^V12dDtR3lZInZd9T0}Wn`RAL0FK~Bj4kfyM~;a`}Nu8Q@m!7pPQUey_nE9$F3ZSW3E`6!riaC5R}R0fB6|W1i*<6nIO?JTiJAF+^sT& zWaO@k?Hbv=n?pf{W_eNks%*OD+&wUZjXfhCnv2=lku%~rUl}&Zs^{TQGh=oM(@C<4 z>;l=8T*2$m^bAK@VtB|?Pav<5 zW!zhfJ1p+|^hDp_NHV^ULo6?IGQ%1_uY*-qbL;>n&XM6^BbH2}AeJ9jK?(w6*MJId zh!#k84GbWzA<>cOj~&4E{K05quew_u>+}&Lk!;rotR<{krDDpr2&UPZO&8)E4q@0P zZHpQSMtgK649e_E%1!X3tR|UI)tXw(MID(jTP=8bk;E>_D?_w2v%1X6fWdgO6DFj4 zVnf4{o*)W+AsO6LT_Y*%Nz>?tSYkKo;2f^dM0;sK`bNo^d;5~V3Nxe zV5{)5W)sFzhI+n^6<#z!8?gtJB_5WSeOS#TQXKeYbtnsPBbJcHBuF`42(2?`1uGC-fag^>#wZSRo4h$TU>+gxx-A`rGaF%E z;q%5wS&-PRQ3l&pY%tR2MB-sgk4_zGZN=*&8Ih8Z z7$d0;j?a?9uuG?Hiz+pYW!zhA*1}hCnPaJYFcurO;_!vB!C`dL&@O$@+^(p-Qrn)W zkxf_o2t`*QK9D z=q@KE)&UB4AFquhxImIwT2`1AO;u%K*a`90-$GeHI<4m3Ha_=Awi||SbPUL}DiM@J z@NQJmz7NA%?F`XyLVWXvEr3^c3=;q8+3hdazlJCrb=@yZ}y6;@(me8 z81N=0+ksXLN)-c4YPQzcA{exvH^~MeFr#ixS-VOTD5Jku6#;BR!J~W)N(mnbHoIS(Pe6oS%3>-wQHKcc`xi6&~fO6?b zT9Ij8Jc<*mWGdd5%s-$9qJ6P6x3!?*c42Zbx?{$^IOnS!2BI~NH-YX(43tTL4>J@h zT67{1M|ZP484}!4-8eAb1B%$ZncJRhHrJu?Eb^8VFFTpWGcu}Ftuw6!LU;Ut6z6%j zM;-84t0$#`gg01@#p-rsWM~)K!Y2|*LP>VRB(E0K$r*3HQJoHuQCo!x8S!?qiV`N7 zt&k4uN!k@vD`6<3>sAuKg{k9^$2?(9Qd=~!Io7A|<{p&(vsRk?}c9O93N#cBUX>V@|zrAUmErZV*wp@N~A5LjmSdY$S;KnMZ zB(0f;BX=~>&lbSI83Mf@0YOgcRk*a~Ti6Z3Sw;xYv~1wqsTSXj0e7Lcp}h%8}E{-Sl#{ z*$lmwet9_5s8&t3()K|N`zQI_BHkxovtZNEhryS`(x1b;G7@{Lxg5ift{VL^3_EZX zn%qULaA+vH7P(V^%E}GOrX(xuDl}(cDk6;1iQ_P9o2`iH z6DPGbmDt&S0JAK{lzb&f`~^^VEY^?CH@_$A@3jqj>~{x8`ePj_VKg_@XT-~UmvuOT z;yGdTv?bsUSQu6aKm}8*VGVvztj60HTy1|Xi;%L)x8Xhw;nabO7m_qm-1(jpFf%!%` zy0llx79kvzO;mYUlS3A!<*B&<-tgO+PBBMUq!g~gz)IB!R+qUc^&pM!fQ8c+vXq7Uw~lhWrG zHa0mDNb)3aBg$gmhV#C|h9b#dO{2@K{Ts<5$A+_GNbgY}_o4I+cK!05lA%x)5Umy> z6OGKK$#R5eJoBgncnD~rQlPH~OM%nJzl_R_XV_%dm+GLm(~>LTLvUIeeT7ER>3rzj;}{$;-p?(UCk+z zqcSFXtf}Pqi!IL-RxQ1Qvxt3Wri8`JG$8TaT4c30r%-$<4qmikV01>0EpRZf5nXZ?`#zziK3XxK~`9(_)Lv$ro>ghcSDr z^HZr#d|Of-NtM1Jma;ajcw1Kwem5*hDctXppxqQETD}QSm+N=~d<@qV?wJqcjkyPD zF&)M=48A1be&JCin1{JFXA@qBwhkQqkTnlw!{EaAl909=lsH`lEKJ~XH!+-dCcNNt zE+RSuxr<0EWw}b%6}YxQXKi*j?ork8hV((`6~^11S%-ZT1bX@JH(%Dt?kX6{kVJ&&46t4*LJ_e}~I>&m{6M7kgL8H6`*?+xK!6kIHu zt(M56Z>}Avr3qz{;2eUD2H_(sP;RQaG~Dlzu=PwB<*{!@nIT9?KrimA|FqQkO_0Ho zb^-2&q!qY}S+#RL+QNM^B9_zUDcRXNTf7;YXq{)K=NZ;|@tH|uTb@?4(mXv_)r1zt z#fCfz*otRiH1j{La$;T-cEWoo%Gs-u;2%T@Zuj&n)*Hv49ZR@uC(6>rVSNW?hYex?#rXb*dOGA(-*WarY@8cDH? z<{v?dBPG>L#YZK%8ff#*ES}K9wa_Olb#PqfvAiETaunvs!jZQRI>sjkbU3SaGmR=k$c+IkSFc$F}Wo<7}5$eO47 zQDQ*a#UqjDl1v*`P$%Rzr{|q!+9)+*%~UyA4#A5iO5hpGfR(s!EKk)I=Hu*!K0J5x ztZn1XE0x>Ja=95Zwmew0kBe#R)bC2`tL)J;<_SW!fgSl2< z9XDCY)=XJbuk~m*&*>?&E7NvMFRpQ5lDux@u@+h7&dIOQ4p~w3gIld8EL{i87HM5u zV11rXxqV^q>3|$1c*JrkyjR`i<(19p{y z%<=3;_7%V?SpjG@JpKlti<;$ovUsRQ)yC0oFKV#IJVc$UZDctu=EG zC@QWs@kMB*7SN6Zms+0WvrZ>G5-(Xt_87I( zA-~nT6D3$Vr;%_@?w%sQoq5HeG6lvdp4ehWNqy; z&3lBx-qW4-&2C`4TVY<_Z&_Zq3VXJUym@pvXfZ~#9(-80 zPFy)6>ZqT_ZaZD2ldC_KU_M&lu*jQKHHeiVI6Sa9aJxF_DdaO`WAJd`jkB2I@YGsO zZGhA1#b)O%0J{ixIM;3kF{yp*`l+k$fFD`w#@s$VUFAI1*c;W}m8)iNRx^7aMkDV( z;)sc+Au2Btighx`1;C75IyNad>EIbiaX$#%y>!En5X zrnWKLQLQBY>lU6|J$6%G>9Lb@ZAo#4{3=UR7v@_7u;X&v;Mw0c6JUkI>oDHgDHuhH z_j(4nRWzcyi9Ff6L#pEaBA-pEbpl62%h*(|1_GabWzkDBGa9eUIQCF!8>9>)cJZvU z8`3b(YLq@(Sv*rCujEwZNORP1OF5Da%33WacZL;d!s*pulBg;S9r>Rn z%~s=lEAO;5H&~ogYtV%V9LBqR*j7BAc$iap8-BZa^F+F=*{yM#6&>fZebxHhep05R zr+Kc(1TbpK?Im74s&lnG+}l>+7o)=1HCXEotCupXTi(&L9oe6@AVyd=Wje3c^Xgl- z1+BGC#gzPwQg(yDcAUFzhD>YE$FmXlGkY$#hJ&-5pSEOksg`n!x!t_-*-fxLzf7v&f{wEqK367#d_pO)i(QKz7Ujl$BR=Rt=UuRAa976UlhER`wOjSwG)5%~m5 z$-_zAUTeJCrDpWv*w}=Rm8+HtNt-sA*lnk>HrZ$XI3rBgm95Fd+Uy=-Z+UJ9W!lyS zyQ%ogG@P`ybGy_$!D~B?YHCNu`K{n+f!&&9S_ zL$;?`K9(~@)@8gY|Kv?eI%P=l;gs?Xj_#b|Kx{}mR0v@c^EMJ+T-Ij3447DNGmc`o zo!naGbu@#Q0%0s`_*jZJ^X%tTnf>KpW-Crj`S>U07U{eMQU`kGAxn!|eq>W~541B! z#h3)}6(=uPa!cepvYtrG99mQFpGQuvuIaCQCXvrQZ=ip8$G8f8$6?f<{9lnwslT%k z@7=J1HO;UuF54hozM#c^DHEi_ICwYdSX5hwx;E-^mewJIQpKAASedos;d=ld_4S|H z-7?l9RQO1F{!-*TfUocDrO2yFQ4?=nc@*-&K^T@;1z7G{>RRJk>}qwbb)65`=30*H zSuU;6&P{ISrpigVhw8rj?C)w4Q=2y4E~(RoJ!qc+F6QKt zxzac$_ajfM&6k_0iyFAEPgjptl~0PQgNEki)gV&`Ydmk#_HY~eU}~#?Qy0c)q%* zB)0}C$(2NYOA0OQ!Q8nP+oLwblOEcR*8y$9eAPu4f!+p6FV;_-k4>a^t@JE^32rTW z)fQ31oOfoC-WJs_Iny$$;1%j?`l-Lfr_THmv*WmZhRU50GI_Xt;c$Lw6C-^-t@x0` z()vti4E_SlDnotwYoDquXQr904!j?#^`3{n^}gFK{>n?A@ZNIpwR^}F)-<0pjN6Kk zC@EnyD9N+jVTV>-&FPwIPuPicHRo2lyjrMJ$U&5IxJc6+-Z0GwU9JT^GeYA{8qRZgf=$^?UM(GZH4 zLOE_*g|}GKW>ILw9neDKYdu~^s57+Pr|(5Ub#c-Zen_Sm>1SdDj!nW<1GqzVoCI!Xz)Ek)B@qy>Zc zMf%X#vC!CUp|LwbM?c;c47+eS78=L@+n_nxICeeEfwtT!9eh1t$@mFW3#hW;C&>P! zFx|`gj9m}4gC%1h^AX-hT8zZBV$G!t!k&Rl?qxJ$?1Wfk?1a;+6;8t|y@Dm<4}``a zDlT-R^<(#n%r8kb_bN`1G+#|nvX#=~$3*w>uZeyS2{Lv}7#?zYLgU|5+23T(FO(h} z|7OsK(SWQV`p*T24h9__mdUE(H(`A8S2F$`E()3#y)gD@sIx#yoeYitFx2TomUM<2 zrmT@J8Gj*&H&cQ-{-Wxm@tGQhL4qwm*y?pFZkb%OX@!v?d zd?zT5h<8?o#@>W2e~1(;auS$g`@OKe78>LK1>^{gzoq`e*3MZ}Jd60BbjNF|;uqBA zMHuB8jSW$atD>DmYeHkc30+gj1+FQPVy_5%L3Dr9kFG@B_%Ez4gvNi5KEn^2Kng}Z z8|cN**w0y!v7d*=zXmskk7*dDRB}z73KC$P=5?d*|5)P=jcYzIID&ZNocPx@^Pvi| zl(RuUr?1BC^Wm!T6;Vja1%L!t`I2jvgVmu0tGO?O)xdc)yD{FS4Qqou2!)a!iIOw+ zN%U9^f(fEbjT6pT<5VMh2YLczXdN2iDCpLLtoL{)H&BTlpCSFJhWQM(3@8{J*L1QS zORl*@s_s#{CF?J@|~^bE!{t7-GFAv<{zsze(W!;ZDG-RRJ+!1=*uG6~GlQ-bI9WpwAJ? z+5binT9_Yx$3Y6Ak2u`GNi_tsPz0`kp^ii~e*4T3Y7C9N0LS;DJSPjt$=8!8`69DR z+RwylCUHTeWafezGM?3-AA3y=Zx$wF zp31RYl{%(MF|K%!`VFRBls{&c2jvAGz95~%1Q~$y2b}E7V{akJ>j9VndE)RjE@W)y z-0>M$n+Nd;xFgJql*6at6_)%ri(R+JQO1w`;_Zp)hsxEXP8#^w)$#q7MnSoKKHRMj zr1nSgRv`*%z%293h$*PMhSZS%vei(AeP^8?s}@mP2hzo!7dC#}(3RVbbe zN5goSNWCN`tPg~9E5MIC`kFVk_k{7AmG~7%jl4^mTk-RiK&mt<6Lx<1A&loe@Pu=i zAC*Z7A9IBoSx1ypTXg07mB6kbWV7wi^by2 z`avIF47i`4R1bRg03O;yR1Im7g#kvymKuWM62?Q@%gu`m;IxFkM;=-~gam#w59M6^fOF6_0EnM! zXWgtvB7#1CBtjm6pjKsyV1e!BdO`Poe$!qJIuXYvc#v$>s`b%iss=wkz<=kNMM`Xs z^={zTU?qbdyqFPJ8DiwbD_I;}2`8Q=Ria!MZP|D+(NeR#7tgxz!(_pLdf4RO#%a?qy5Z7(7+c|)Lk6MCx27)kgrW#CUpcnK?pV!xd$xi^j%C-kdYO)m955ML%l z7RuA3P3GWN+7VAfP8R1hFLEK_sud!cauMvu{88h!vSO6z$uCr@fmJh)80H zpbKw^fR(x31)OX`*Ww91q8XqR^^M@s%0#NE&wMu=am!0A>PS3`?n>b~!e9aSzx8@J z4y-{J*A^_|XJfPS=5U>Ofq?ZMtzZd1`Y&NOoE9)0Og_BNNnUFibjkamL^qEbjzO>W zHalWgZ&E!p9dxTV%Sl-C@{?pnDjC!e>JeMZS&eW4uA2-G>HT=%9RZ79Xu@&Ife7x! z#KjNYx)JBw*7pQGc%?^DPt@U&$G*Mdd|~u*ctGCr5bF=)IeUHrb#QbxRH$L;%^dTS z!w3S+W>cEg3p23L1JA4}d2sSP4@`AovBjjK!eOEa`07u~2Z5MQgSAuE8o_bf+2C3{ zHCH{J*u^^q8u1jZyp*OM#TKC0oT-boG`2P_0c$f@BU7@jj3-i!_^f7yqS2Y`imPAA zhGG{D@C3aDk3lC=!IG6gRx4!XB2Ft8EnuFhm=-}0Gu2s4)hjV5R!n!sNO z{_v_JVYBWEW)2&%Rr6Zr<*2aC;;u_`&rZwFSH!C3VicSy)tI$}4;>0C{6f4jFF1dt zZsbuC9IH8BnPBB2FyR3_$SU4s#C5y~W;DENRahj{tsKS+H^Us&R?V|==b5EB3nec^ z$&i&7u3KfbxLLI!uK=qLM1<9x)euyKcPj1C4L00GSmz~!^XwX^%z2hggk$9*Q;!Z? zaad9nZ=ImT6f!JDu$l@MsWx}(c+D(=+`Qn7l}uS}5x~o+tk;4iL-NwrRm`bkU$APW zqOH!*RxUD0LaI&c(^d02 zN9DQaoVXoX+B$z849`5PCudo?NEnEALg1V!1=b%Jy{aBEmrf~j?v;4$)VW|)iTUXY zu0RFzrmi5mt8d4=B-e578Poypxlz2&=-gy(RfDK%?$lKsm^(UGTC@5LYC14CIy8Ll zsKC7KI!$FOVUE?@td(a_+1x>8zTK&FbK7+(+Et5zZ-u$=+__mFb4PyVr4#bD0EJg`Nh@*-ryA80>d(``>FFV>ei6cwt)R^5EN{#1 zbD8z*T8LT4#$kZPD4KQzC=kgtY>o!=VS@bC^Tc&VCSXR>6~}Ib3N1M*)SX_3o=J3& zDgHmFh!io^xf0sEyD4tIqXMs`n)qVF#<2DC0*ztw{9_ePR`_3I*nCmSszhuA>+r$G z@Fu+bJl=;FNXQ$jR_!|HoakA7XPw=$e96+-;$`>+Z1w@#v|mnl%y$(^e9w6=Q2MB< zF`Ry7Po{qJpy>4Vx1POZSzrHRD6sgPrAuSGh{mpg0?u$a{Fl_>I_TgIhyDJ)q!!KC z4rAt&mupHF6b68*m)B%)d99U+@&+1P27I_2Ug?_JlVMyRAF!i%KU^A>V)WJLAKh~A zqaRuOdC%+1$8Y`W{h!nZZP?>=(Ca*Pbe_eX78_W9c2&zPxf%Xw7reci!>u58s?R z8Q9d>GIYz<#Qn~X-u?MSuT|7NQr*{d_F325`|5e&6RBgJH@vL$VE8FchdDLz@544e zBE0+t@9m7q>rQ1L#A40;d>)6tcN-|YMpA!Xz`rXb>Wx+4x(QC3EuT+y<(GRV(3vlX z2#Vszp<+&!I#Jok__4 zU2nX@@*Vh%BL1_k=Lx2Mkx12I5^!0Ej|QoHgN}7$8{cBcU(55~9D+i)X@c*@<)@$r zakXv-6$bjeYZY3Ww+Go?w~tin3lZoABqW8DB5 zPTyt9x1fd5es!~=(rmH(CY9C3oM$s2ZwW>v-}L z-jc=j#ei>uB=vkds=@u}^Rntuz0dc{^6g~&Y^}0`-Ts;9g49hLc5dr=3p;XIJX4b7CDEITu%dj3r9gLp* zKAgnwtn^3u=VMmYkH(Vq=dCUb6b4pWuY?LiL?XGW9vi7188S^S+k)FkWyeuLQSN5>g+8g~MrK>aCa9;M;ZL~xX6D$Jo_~XSh$xHe_HCjMapy5D`1!C6@$e%b4bumMH;;X&F5Wy= zUUx#>3j9W3H+9YSJU`M^qk|1kJDx6HF6pLUH`cy=Lnji`i*rO5RS&(K|NTnp?G_!^ zdsLoi2%LeK`}!#E8rL)~q60F|#Bno&@|rSlnhO@Y6W3X10}Id zW73C<1L_*nh~5f}>qAjQs}QoS`*3xQX`4=D+b4wpjgU2R*gGH5$a0CEz?_eD-tsDJg{6ni$fd4g#Mu>>Hc_M z2SN7Y;yn)IVmmyCSnjM2_ZWXw%;%&Jspm6&^qSx~%4PP`OHk`0R}F!GQm`QSGBM{< z!S@B%1V0m8qNgBzn?6u|^j@YXGekd7pJM(^dRJT>5`UZ}g}C0zT+f`9c?J~M-&yRc z2Uq+6Fx4;AiA1)Cp4raPleDPW(9h^b<}}tkuDf*n3Pkto=n?qh(XExEKS<3mFN>=;wNN%;G){~Yf|GRS zl3(9&%{iKxnW5R)St=9?RGhmw^Bgt9njg4MmCEaZvFlVc)s05OuDWI>!n0T1hzu3{ z=86+KJ9sl;Xqr`btL#MGs%>^)*G8VA#1qHvg6*!IcE)l2o zZi>y8?QL}gOB-I~Gz~`puT{r&qAqD^D~wFjic^mF8zqcnm6c?HB@4@*6It!7k+;G0 zTAD=)U4L^-m}3z_3$42ACg$2!&6;a!oEj>*#@@`FIoN$ zW%>qyYCt7z#KZhrEobh3Hn3X@zBhNRW~5?p4*q7ydhs)ONYStauS@<~v}p$hUkXKo zF>lh!6FsU(x2r?v3Zr@=KmMdHtlM~)j9&D87mFTO^jN$IjghUR^r6uHn!eLPuRP3q z74=VA6ZkU1$zgm1cBP9hC^}*-%$3_U@kCNCXZeeY4Gw>;Eh;);3u#@zGk1X3=(a>p zW#f;Vq&)4vc>hPi*XVaN`md!@vGj`{eLer1Pkz1d)6wQb|Jr}MhnE$gYf(%X;12Dc+$(BPhf=mDbbodLvM8wzq4pY^zR{N6Ot@8YJ3 zS(r}&SExiU0Ox24vw3vd3!vwL=i{!MKFd8yG*62?MtxE(NPL z1+e3wZ#1y!(Hi-pbV9zIWk_vsL&$B4pyz{%$9vf+elH-V2wD#Kjk{PnAUb(Uf2OF4 zInfcUROkhKYU0OWbp$W*I7j>2vX=PY!ftKRV~qt`hQ5Op8s2@x9MLA^0qpR28vTxH z$5I40q?*Lof@WtAyel6o$6#$Eu{Z_|)=#6!Re?$&ZVb2J|8<`S23w>neR?hoAV=>yS2O)s^IAy7TUUryKV>${=|9{B!Eg*%bZ=RM=mD80t9H8sh6@e`oFR*>NpS$ra(DDBa-jKh+zigZPYCreNz<&Vnp0kYr literal 0 HcmV?d00001 diff --git a/PointCloud.Test/PointCloud.Test.csproj b/PointCloud.Test/PointCloud.Test.csproj index ed7d55e..f7b8501 100644 --- a/PointCloud.Test/PointCloud.Test.csproj +++ b/PointCloud.Test/PointCloud.Test.csproj @@ -31,9 +31,8 @@ 4 - - False - ..\packages\NUnit.2.6.2\lib\nunit.framework.dll + + NUnit\net-4.0\nunit.framework.dll 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) { } + } +} From 3b064c9ba091ab0ca77a13f6dd38dd02cddfeda0 Mon Sep 17 00:00:00 2001 From: lanybass Date: Tue, 5 Apr 2016 18:41:30 +0800 Subject: [PATCH 2/7] resolve issue #2: add Support for reading binary pcd files. --- PointCloud.Test/PCDReaderTest.cs | 19 +++++++++++++++++++ PointCloud.Test/PointCloud.Test.csproj | 8 ++++++-- PointCloud.Test/PointTypeTest.cs | 16 ++++++++++++++++ PointCloud.Test/testbin.pcd | Bin 0 -> 1023220 bytes 4 files changed, 41 insertions(+), 2 deletions(-) create mode 100644 PointCloud.Test/testbin.pcd 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/PointCloud.Test.csproj b/PointCloud.Test/PointCloud.Test.csproj index f7b8501..f5bbc9b 100644 --- a/PointCloud.Test/PointCloud.Test.csproj +++ b/PointCloud.Test/PointCloud.Test.csproj @@ -31,8 +31,9 @@ 4 - - NUnit\net-4.0\nunit.framework.dll + + False + NUnit-net-4.0\nunit.framework.dll @@ -52,6 +53,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 0000000000000000000000000000000000000000..c82aec9676f1639848eb667f9d05c4b391d8f536 GIT binary patch literal 1023220 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 B$)W%N literal 0 HcmV?d00001 From 8d523871ceb2aa85f893611988461e4ecb822d49 Mon Sep 17 00:00:00 2001 From: lanybass Date: Mon, 11 Apr 2016 13:44:40 +0800 Subject: [PATCH 3/7] forgot some file.. --- PointCloud.sln | 16 ++++++++++ PointCloud/PointCloud.csproj | 3 ++ PointCloud/io/PCDReader.cs | 57 +++++++++++++++++++++++++++++++++++- 3 files changed, 75 insertions(+), 1 deletion(-) diff --git a/PointCloud.sln b/PointCloud.sln index 28680ad..2fa62dc 100644 --- a/PointCloud.sln +++ b/PointCloud.sln @@ -8,17 +8,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/PointCloud.csproj b/PointCloud/PointCloud.csproj index ada8f8e..1866adf 100644 --- a/PointCloud/PointCloud.csproj +++ b/PointCloud/PointCloud.csproj @@ -33,6 +33,7 @@ + @@ -50,8 +51,10 @@ + + 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. /// From ef97bd910b703d1b7a174d6cc8ab8bb4969e5c47 Mon Sep 17 00:00:00 2001 From: lanybass Date: Wed, 20 Apr 2016 13:42:26 +0800 Subject: [PATCH 4/7] forgot some files... --- .../Converters/PointXYZRGBAConverter.cs | 111 ++++++++++++++++++ PointCloud/PointTypes/PointXYZRGBA.cs | 31 +++++ testpoint/Program.cs | 26 ++++ testpoint/Properties/AssemblyInfo.cs | 36 ++++++ testpoint/testpoint.csproj | 63 ++++++++++ 5 files changed, 267 insertions(+) create mode 100644 PointCloud/PointTypes/Converters/PointXYZRGBAConverter.cs create mode 100644 PointCloud/PointTypes/PointXYZRGBA.cs create mode 100644 testpoint/Program.cs create mode 100644 testpoint/Properties/AssemblyInfo.cs create mode 100644 testpoint/testpoint.csproj 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..1a222af --- /dev/null +++ b/PointCloud/PointTypes/PointXYZRGBA.cs @@ -0,0 +1,31 @@ +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, 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/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 From 81d6cb5862b0e95788a5a3d4392cdf4746f972f7 Mon Sep 17 00:00:00 2001 From: lanybass Date: Wed, 20 Apr 2016 15:16:11 +0800 Subject: [PATCH 5/7] add binary pcd file writer --- PointCloud.Test/PCDWriterTest.cs | 259 +++++++++++++++++++++++++ PointCloud.Test/PointCloud.Test.csproj | 1 + PointCloud.sln | 18 +- PointCloud/PointCloud.csproj | 1 + PointCloud/PointTypes/PointXYZRGBA.cs | 10 +- PointCloud/io/PCDWriter.cs | 49 +++++ 6 files changed, 331 insertions(+), 7 deletions(-) create mode 100644 PointCloud.Test/PCDWriterTest.cs create mode 100644 PointCloud/io/PCDWriter.cs 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 f5bbc9b..afce7b3 100644 --- a/PointCloud.Test/PointCloud.Test.csproj +++ b/PointCloud.Test/PointCloud.Test.csproj @@ -44,6 +44,7 @@ + diff --git a/PointCloud.sln b/PointCloud.sln index 2fa62dc..bd1122f 100644 --- a/PointCloud.sln +++ b/PointCloud.sln @@ -1,10 +1,14 @@  -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}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ConsoleTest", "ConsoleTest\ConsoleTest.csproj", "{6A87BC9D-44A9-4345-B876-359970FF6C3D}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -35,6 +39,16 @@ Global {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 + {6A87BC9D-44A9-4345-B876-359970FF6C3D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {6A87BC9D-44A9-4345-B876-359970FF6C3D}.Debug|Any CPU.Build.0 = Debug|Any CPU + {6A87BC9D-44A9-4345-B876-359970FF6C3D}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {6A87BC9D-44A9-4345-B876-359970FF6C3D}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {6A87BC9D-44A9-4345-B876-359970FF6C3D}.Debug|x86.ActiveCfg = Debug|Any CPU + {6A87BC9D-44A9-4345-B876-359970FF6C3D}.Release|Any CPU.ActiveCfg = Release|Any CPU + {6A87BC9D-44A9-4345-B876-359970FF6C3D}.Release|Any CPU.Build.0 = Release|Any CPU + {6A87BC9D-44A9-4345-B876-359970FF6C3D}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {6A87BC9D-44A9-4345-B876-359970FF6C3D}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {6A87BC9D-44A9-4345-B876-359970FF6C3D}.Release|x86.ActiveCfg = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/PointCloud/PointCloud.csproj b/PointCloud/PointCloud.csproj index 1866adf..275eaaa 100644 --- a/PointCloud/PointCloud.csproj +++ b/PointCloud/PointCloud.csproj @@ -48,6 +48,7 @@ + diff --git a/PointCloud/PointTypes/PointXYZRGBA.cs b/PointCloud/PointTypes/PointXYZRGBA.cs index 1a222af..02bcac0 100644 --- a/PointCloud/PointTypes/PointXYZRGBA.cs +++ b/PointCloud/PointTypes/PointXYZRGBA.cs @@ -14,13 +14,13 @@ public PointXYZRGBA() : base() A = 0; } - public PointXYZRGBA(float x, float y, float z, byte r, byte g, byte b, byte a) + public PointXYZRGBA(float x, float y, float z, int r, int g, int b, int a) : base(x, y, z) { - R = r; - G = g; - B = b; - A = a; + R = (byte)r; + G = (byte)g; + B = (byte)b; + A = (byte)a; } public byte R { get; set; } diff --git a/PointCloud/io/PCDWriter.cs b/PointCloud/io/PCDWriter.cs new file mode 100644 index 0000000..025a7ec --- /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 >> 1) + + "HEIGHT 1\n" + + "VIEWPOINT 0 0 0 1 0 0 0\n" + + string.Format("POINTS {0}\n", pointList.Count >> 1) + + "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; + } + } +} From 55fed580cff90eccda49d7f01ac61ece8982244b Mon Sep 17 00:00:00 2001 From: lanybass Date: Wed, 20 Apr 2016 15:25:04 +0800 Subject: [PATCH 6/7] add binary pcd file writer --- PointCloud/PointTypes/PointXYZRGBA.cs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/PointCloud/PointTypes/PointXYZRGBA.cs b/PointCloud/PointTypes/PointXYZRGBA.cs index 02bcac0..0751c61 100644 --- a/PointCloud/PointTypes/PointXYZRGBA.cs +++ b/PointCloud/PointTypes/PointXYZRGBA.cs @@ -23,6 +23,15 @@ public PointXYZRGBA(float x, float y, float z, int r, int g, int b, int a) 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; } From 017d510d2d622a7aa0242418575b8c2dd0b07d7c Mon Sep 17 00:00:00 2001 From: lanybass Date: Wed, 20 Apr 2016 18:16:58 +0800 Subject: [PATCH 7/7] little bug fix.. --- PointCloud.sln | 12 ------------ PointCloud/io/PCDWriter.cs | 4 ++-- 2 files changed, 2 insertions(+), 14 deletions(-) diff --git a/PointCloud.sln b/PointCloud.sln index bd1122f..8d307b8 100644 --- a/PointCloud.sln +++ b/PointCloud.sln @@ -7,8 +7,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PointCloud", "PointCloud\Po EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PointCloud.Test", "PointCloud.Test\PointCloud.Test.csproj", "{2D4A485B-BFDC-46E8-AF2E-9E995763B938}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ConsoleTest", "ConsoleTest\ConsoleTest.csproj", "{6A87BC9D-44A9-4345-B876-359970FF6C3D}" -EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -39,16 +37,6 @@ Global {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 - {6A87BC9D-44A9-4345-B876-359970FF6C3D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {6A87BC9D-44A9-4345-B876-359970FF6C3D}.Debug|Any CPU.Build.0 = Debug|Any CPU - {6A87BC9D-44A9-4345-B876-359970FF6C3D}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {6A87BC9D-44A9-4345-B876-359970FF6C3D}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {6A87BC9D-44A9-4345-B876-359970FF6C3D}.Debug|x86.ActiveCfg = Debug|Any CPU - {6A87BC9D-44A9-4345-B876-359970FF6C3D}.Release|Any CPU.ActiveCfg = Release|Any CPU - {6A87BC9D-44A9-4345-B876-359970FF6C3D}.Release|Any CPU.Build.0 = Release|Any CPU - {6A87BC9D-44A9-4345-B876-359970FF6C3D}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {6A87BC9D-44A9-4345-B876-359970FF6C3D}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {6A87BC9D-44A9-4345-B876-359970FF6C3D}.Release|x86.ActiveCfg = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/PointCloud/io/PCDWriter.cs b/PointCloud/io/PCDWriter.cs index 025a7ec..3565fe5 100644 --- a/PointCloud/io/PCDWriter.cs +++ b/PointCloud/io/PCDWriter.cs @@ -23,10 +23,10 @@ public bool WriteBinData(List pointList,string filePathAndName) "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 >> 1) + + 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 >> 1) + + string.Format("POINTS {0}\n", pointList.Count) + "DATA binary\n"; writeInfo.Write(Encoding.ASCII.GetBytes(s));